linux/fs/proc
Yinghai Lu 0b8f1efad3 sparse irq_desc[] array: core kernel and x86 changes
Impact: new feature

Problem on distro kernels: irq_desc[NR_IRQS] takes megabytes of RAM with
NR_CPUS set to large values. The goal is to be able to scale up to much
larger NR_IRQS value without impacting the (important) common case.

To solve this, we generalize irq_desc[NR_IRQS] to an (optional) array of
irq_desc pointers.

When CONFIG_SPARSE_IRQ=y is used, we use kzalloc_node to get irq_desc,
this also makes the IRQ descriptors NUMA-local (to the site that calls
request_irq()).

This gets rid of the irq_cfg[] static array on x86 as well: irq_cfg now
uses desc->chip_data for x86 to store irq_cfg.

Signed-off-by: Yinghai Lu <yinghai@kernel.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2008-12-08 14:31:51 +01:00
..
Kconfig proc: move PROC_PAGE_MONITOR to fs/proc/Kconfig 2008-10-10 04:18:57 +04:00
Makefile proc: remove fs/proc/proc_misc.c 2008-10-23 18:54:05 +04:00
array.c Switch to a valid email address... 2008-10-27 08:40:17 -07:00
base.c [PATCH] introduce fmode_t, do annotations 2008-10-21 07:47:06 -04:00
cmdline.c proc: switch /proc/cmdline to seq_file 2008-10-23 14:29:04 +04:00
cpuinfo.c proc: move /proc/cpuinfo code to fs/proc/cpuinfo.c 2008-10-23 15:05:11 +04:00
devices.c proc: move /proc/devices code to fs/proc/devices.c 2008-10-23 15:02:18 +04:00
generic.c proc: use WARN() rather than printk+backtrace 2008-10-23 13:34:38 +04:00
inode-alloc.txt
inode.c proc: proc_init_inodecache() can't fail 2008-10-23 13:27:50 +04:00
internal.h proc: move /proc/kmsg creation to fs/proc/kmsg.c 2008-10-23 14:35:08 +04:00
interrupts.c proc: move /proc/interrupts boilerplate code to fs/proc/interrupts.c 2008-10-23 15:15:46 +04:00
kcore.c proc: move all /proc/kcore stuff to fs/proc/kcore.c 2008-10-23 18:32:38 +04:00
kmsg.c proc: move /proc/kmsg creation to fs/proc/kmsg.c 2008-10-23 14:35:08 +04:00
loadavg.c proc: switch /proc/loadavg to seq_file 2008-10-23 13:45:28 +04:00
meminfo.c proc: switch /proc/meminfo to seq_file 2008-10-23 13:52:40 +04:00
mmu.c fs/proc/mmu.c: headers butchery 2007-10-17 08:42:48 -07:00
nommu.c /proc/self/maps doesn't display the real file offset 2008-08-20 15:40:30 -07:00
page.c proc: move pagecount stuff to fs/proc/page.c 2008-10-23 18:48:31 +04:00
proc_devtree.c proc: spread __init 2008-10-23 13:32:31 +04:00
proc_net.c netns: make get_proc_net() static 2008-07-22 14:19:19 -07:00
proc_sysctl.c Fix broken ownership of /proc/sys/ files 2008-11-16 15:09:52 -08:00
proc_tty.c tty: Ldisc revamp 2008-07-20 17:12:34 -07:00
root.c proc: remove fs/proc/proc_misc.c 2008-10-23 18:54:05 +04:00
stat.c sparse irq_desc[] array: core kernel and x86 changes 2008-12-08 14:31:51 +01:00
task_mmu.c proc: fix vma display mismatch between /proc/pid/{maps,smaps} 2008-10-23 13:21:29 +04:00
task_nommu.c proc: remove kernel.maps_protect 2008-10-10 04:24:51 +04:00
uptime.c proc: revert /proc/uptime to ->read_proc hook 2008-10-27 22:56:56 +03:00
version.c proc: switch /proc/version to seq_file 2008-10-23 14:19:58 +04:00
vmcore.c proc: move /proc/vmcore creation to fs/proc/vmcore.c 2008-10-23 18:51:22 +04:00