Vadim Lobanov
bbea9f6966
[PATCH] fdtable: Make fdarray and fdsets equal in size
...
Currently, each fdtable supports three dynamically-sized arrays of data: the
fdarray and two fdsets. The code allows the number of fds supported by the
fdarray (fdtable->max_fds) to differ from the number of fds supported by each
of the fdsets (fdtable->max_fdset).
In practice, it is wasteful for these two sizes to differ: whenever we hit a
limit on the smaller-capacity structure, we will reallocate the entire fdtable
and all the dynamic arrays within it, so any delta in the memory used by the
larger-capacity structure will never be touched at all.
Rather than hogging this excess, we shouldn't even allocate it in the first
place, and keep the capacities of the fdarray and the fdsets equal. This
patch removes fdtable->max_fdset. As an added bonus, most of the supporting
code becomes simpler.
Signed-off-by: Vadim Lobanov <vlobanov@speakeasy.net>
Cc: Christoph Hellwig <hch@lst.de>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: Dipankar Sarma <dipankar@in.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-12-10 09:57:22 -08:00
..
alpha_ksyms.c
[PATCH] fixing includes in alpha_ksyms.c
2006-10-12 12:25:27 -07:00
asm-offsets.c
[PATCH] alpha: Fix getxpid on alpha so it works for threads
2006-02-01 08:53:21 -08:00
console.c
Remove obsolete #include <linux/config.h>
2006-06-30 19:25:36 +02:00
core_apecs.c
[PATCH] alpha pt_regs cleanups: machine_check()
2006-10-08 12:32:36 -07:00
core_cia.c
[PATCH] alpha pt_regs cleanups: machine_check()
2006-10-08 12:32:36 -07:00
core_irongate.c
[PATCH] alpha_ksyms.c cleanup
2006-10-11 11:17:07 -07:00
core_lca.c
[PATCH] alpha pt_regs cleanups: machine_check()
2006-10-08 12:32:36 -07:00
core_marvel.c
[PATCH] Don't pass boot parameters to argv_init[]
2006-03-31 12:18:53 -08:00
core_mcpcia.c
[PATCH] alpha pt_regs cleanups: machine_check()
2006-10-08 12:32:36 -07:00
core_polaris.c
[PATCH] alpha pt_regs cleanups: machine_check()
2006-10-08 12:32:36 -07:00
core_t2.c
[PATCH] alpha pt_regs cleanups: machine_check()
2006-10-08 12:32:36 -07:00
core_titan.c
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
core_tsunami.c
[PATCH] alpha pt_regs cleanups: machine_check()
2006-10-08 12:32:36 -07:00
core_wildfire.c
[PATCH] alpha pt_regs cleanups: machine_check()
2006-10-08 12:32:36 -07:00
entry.S
[PATCH] rename the provided execve functions to kernel_execve
2006-10-02 07:57:23 -07:00
err_common.c
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
err_ev6.c
[PATCH] alpha pt_regs cleanups: machine_check()
2006-10-08 12:32:36 -07:00
err_ev7.c
[PATCH] alpha pt_regs cleanups: machine_check()
2006-10-08 12:32:36 -07:00
err_impl.h
[PATCH] alpha pt_regs cleanups: machine_check()
2006-10-08 12:32:36 -07:00
err_marvel.c
[PATCH] alpha pt_regs cleanups: machine_check()
2006-10-08 12:32:36 -07:00
err_titan.c
[PATCH] alpha pt_regs cleanups: collapse set_irq_regs() in titan_dispatch_irqs()
2006-10-08 12:32:36 -07:00
es1888.c
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
gct.c
Remove obsolete #include <linux/config.h>
2006-06-30 19:25:36 +02:00
head.S
fix file specification in comments
2006-10-03 23:01:26 +02:00
init_task.c
[PATCH] nsproxy: move init_nsproxy into kernel/nsproxy.c
2006-10-02 07:57:20 -07:00
io.c
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
irq.c
[PATCH] alpha pt_regs cleanups: handle_irq()
2006-10-08 12:32:35 -07:00
irq_alpha.c
[PATCH] alpha_ksyms.c cleanup
2006-10-11 11:17:07 -07:00
irq_i8259.c
[PATCH] alpha pt_regs cleanups: handle_irq()
2006-10-08 12:32:35 -07:00
irq_impl.h
[PATCH] alpha pt_regs cleanups: handle_irq()
2006-10-08 12:32:35 -07:00
irq_pyxis.c
[PATCH] alpha pt_regs cleanups: handle_irq()
2006-10-08 12:32:35 -07:00
irq_srm.c
[PATCH] alpha pt_regs cleanups: handle_irq()
2006-10-08 12:32:35 -07:00
machvec_impl.h
fix file specification in comments
2006-10-03 23:01:26 +02:00
Makefile
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
module.c
[PATCH] alpha: process_reloc_for_got confuses r_offset and r_addend
2005-09-09 13:57:30 -07:00
ns87312.c
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
osf_sys.c
[PATCH] fdtable: Make fdarray and fdsets equal in size
2006-12-10 09:57:22 -08:00
pci-noop.c
[PATCH] alpha_ksyms.c cleanup
2006-10-11 11:17:07 -07:00
pci.c
[PATCH] alpha: switch to pci_get API
2006-12-07 08:39:26 -08:00
pci_impl.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
pci_iommu.c
[PATCH] alpha_ksyms.c cleanup
2006-10-11 11:17:07 -07:00
process.c
[PATCH] alpha_ksyms.c cleanup
2006-10-11 11:17:07 -07:00
proto.h
[PATCH] fallout from alpha pt_regs patches
2006-10-09 14:19:07 -07:00
ptrace.c
[PATCH] alpha: task_pt_regs()
2006-01-12 09:08:50 -08:00
semaphore.c
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
setup.c
[PATCH] alpha_ksyms.c cleanup
2006-10-11 11:17:07 -07:00
signal.c
[PATCH] fix incorrect SA_ONSTACK behaviour for 64-bit processes
2006-06-23 07:43:05 -07:00
smc37c93x.c
Remove obsolete #include <linux/config.h>
2006-06-30 19:25:36 +02:00
smc37c669.c
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
smp.c
[PATCH] alpha_ksyms.c cleanup
2006-10-11 11:17:07 -07:00
srm_env.c
Update for the srm_env driver.
2006-11-07 23:50:37 +01:00
srmcons.c
[PATCH] const struct tty_operations
2006-10-02 07:57:14 -07:00
sys_alcor.c
[PATCH] alpha pt_regs cleanups: handle_irq()
2006-10-08 12:32:35 -07:00
sys_cabriolet.c
[PATCH] alpha pt_regs cleanups: handle_irq()
2006-10-08 12:32:35 -07:00
sys_dp264.c
[PATCH] alpha pt_regs cleanups: handle_irq()
2006-10-08 12:32:35 -07:00
sys_eb64p.c
[PATCH] alpha pt_regs cleanups: handle_irq()
2006-10-08 12:32:35 -07:00
sys_eiger.c
[PATCH] alpha pt_regs cleanups: handle_irq()
2006-10-08 12:32:35 -07:00
sys_jensen.c
[PATCH] alpha pt_regs cleanups: machine_check()
2006-10-08 12:32:36 -07:00
sys_marvel.c
[PATCH] alpha pt_regs cleanups: handle_irq()
2006-10-08 12:32:35 -07:00
sys_miata.c
[PATCH] alpha: switch to pci_get API
2006-12-07 08:39:26 -08:00
sys_mikasa.c
[PATCH] alpha pt_regs cleanups: machine_check()
2006-10-08 12:32:36 -07:00
sys_nautilus.c
[PATCH] alpha: switch to pci_get API
2006-12-07 08:39:26 -08:00
sys_noritake.c
[PATCH] alpha pt_regs cleanups: machine_check()
2006-10-08 12:32:36 -07:00
sys_rawhide.c
[PATCH] alpha pt_regs cleanups: handle_irq()
2006-10-08 12:32:35 -07:00
sys_ruffian.c
[PATCH] arch/alpha: Use ARRAY_SIZE macro
2006-07-31 13:28:38 -07:00
sys_rx164.c
[PATCH] alpha pt_regs cleanups: handle_irq()
2006-10-08 12:32:35 -07:00
sys_sable.c
[PATCH] alpha pt_regs cleanups: handle_irq()
2006-10-08 12:32:35 -07:00
sys_sio.c
[PATCH] tty: Remove include of screen_info.h from tty.h
2006-07-10 13:24:16 -07:00
sys_sx164.c
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
sys_takara.c
[PATCH] alpha pt_regs cleanups: handle_irq()
2006-10-08 12:32:35 -07:00
sys_titan.c
[PATCH] fallout from alpha pt_regs patches
2006-10-09 14:19:07 -07:00
sys_wildfire.c
[PATCH] alpha pt_regs cleanups: handle_irq()
2006-10-08 12:32:35 -07:00
systbls.S
Remove all inclusions of <linux/config.h>
2006-10-04 03:38:54 -04:00
time.c
[PATCH] alpha_ksyms.c cleanup
2006-10-11 11:17:07 -07:00
traps.c
Remove obsolete #include <linux/config.h>
2006-06-30 19:25:36 +02:00
vmlinux.lds.S
[PATCH] vmlinux.lds: consolidate initcall sections
2006-10-27 15:34:51 -07:00