linux/arch/alpha/kernel
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_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
irq.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_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
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
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