android_kernel_xiaomi_sm8350/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
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
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
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
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
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
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
module.c
ns87312.c
osf_sys.c [PATCH] fdtable: Make fdarray and fdsets equal in size 2006-12-10 09:57:22 -08:00
pci_impl.h
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
semaphore.c
setup.c [PATCH] alpha_ksyms.c cleanup 2006-10-11 11:17:07 -07:00
signal.c
smc37c93x.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
smc37c669.c
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
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