linux/init
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
..
calibrate.c x86: remove stray <6> in BogoMIPS printk 2008-07-28 14:22:26 +02:00
do_mounts_initrd.c Freezer: Fix s2disk resume from initrd 2007-11-20 22:22:42 -05:00
do_mounts_md.c init/do_mounts_md.c: remove duplicated #include 2008-11-01 10:35:51 -07:00
do_mounts_rd.c identify_ramdisk_image(): correct typo about return value in comment 2008-10-16 11:21:30 -07:00
do_mounts.c init: DEBUG_BLOCK_EXT_DEVT requires explicit root= param 2008-10-09 08:56:11 +02:00
do_mounts.h make init/do_mounts.c:root_device_name static 2008-07-26 12:00:12 -07:00
initramfs.c initramfs: add option to preserve mtime from initramfs cpio images 2008-10-16 11:21:31 -07:00
Kconfig Merge branch 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2008-11-18 08:06:21 -08:00
main.c sparse irq_desc[] array: core kernel and x86 changes 2008-12-08 14:31:51 +01:00
Makefile kbuild: fix make V=1 2008-02-11 17:43:54 +01:00
noinitramfs.c [PATCH] disable init/initramfs.c 2007-02-11 10:51:25 -08:00
version.c init/version.c: define version_string only if CONFIG_KALLSYMS is not defined 2008-07-25 10:53:29 -07:00