linux/arch/x86_64/kernel
James Cleverdon 6004e1b7ef [PATCH] i386/x86-64: Share interrupt vectors when there is a large number of interrupt sources
Here's a patch that builds on Natalie Protasevich's IRQ compression
patch and tries to work for MPS boots as well as ACPI.  It is meant for
a 4-node IBM x460 NUMA box, which was dying because it had interrupt
pins with GSI numbers > NR_IRQS and thus overflowed irq_desc.

The problem is that this system has 270 GSIs (which are 1:1 mapped with
I/O APIC RTEs) and an 8-node box would have 540.  This is much bigger
than NR_IRQS (224 for both i386 and x86_64).  Also, there aren't enough
vectors to go around.  There are about 190 usable vectors, not counting
the reserved ones and the unused vectors at 0x20 to 0x2F.  So, my patch
attempts to compress the GSI range and share vectors by sharing IRQs.

Cc: "Protasevich, Natalie" <Natalie.Protasevich@unisys.com>

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-11-14 19:55:13 -08:00
..
acpi [PATCH] x86-64: more gratitious linux/irq.h includes 2005-09-12 10:50:58 -07:00
cpufreq Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
Makefile [PATCH] x86_64: Support for AMD specific MCE Threshold. 2005-11-14 19:55:13 -08:00
aperture.c [PATCH] x86-64: Don't allocate aperture when swiotlb is enabled and no AGP found 2005-09-12 10:49:56 -07:00
apic.c [PATCH] x86_64: Support for AMD specific MCE Threshold. 2005-11-14 19:55:13 -08:00
asm-offsets.c [PATCH] x86-64: Some cleanup and optimization to the processor data area. 2005-09-12 10:49:58 -07:00
crash.c [PATCH] x86-64: more gratitious linux/irq.h includes 2005-09-12 10:50:58 -07:00
e820.c [PATCH] x86_64: e820.c needs module.h 2005-09-17 11:50:00 -07:00
early_printk.c [PATCH] x86-64: Add simnow console 2005-09-12 10:49:58 -07:00
entry.S [PATCH] x86_64: Support for AMD specific MCE Threshold. 2005-11-14 19:55:13 -08:00
genapic.c [PATCH] x86-64: Use physflat on Intel for < 8 CPUs with CPU hotplug 2005-09-12 10:50:56 -07:00
genapic_cluster.c [PATCH] x86-64: Remove obsolete APIC "write around" bug workaround 2005-09-12 10:49:55 -07:00
genapic_flat.c [PATCH] x86-64: Delivery mode should be APIC_DM_FIXED when using physical mode. 2005-09-12 10:50:56 -07:00
head.S [PATCH] x86_64: Drop global bit from early low mappings 2005-10-04 15:56:52 -07:00
head64.c [PATCH] reorganize x86-64 NUMA and DISCONTIGMEM config options 2005-06-23 09:45:06 -07:00
i387.c [PATCH] x86_64: Change init sections for CPU hotplug support 2005-06-25 16:24:30 -07:00
i8259.c [PATCH] x86_64: Support for AMD specific MCE Threshold. 2005-11-14 19:55:13 -08:00
init_task.c [PATCH] x86-64: Set the stack pointer correctly in init_thread and init_tss 2005-09-12 10:50:57 -07:00
io_apic.c [PATCH] i386/x86-64: Share interrupt vectors when there is a large number of interrupt sources 2005-11-14 19:55:13 -08:00
ioport.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
irq.c [PATCH] Remove unnecessary BUG_ON in irq.c 2005-09-12 10:50:55 -07:00
kprobes.c [PATCH] utilization of kprobe_mutex is incorrect on x86_64 2005-09-30 12:41:20 -07:00
ldt.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
machine_kexec.c [PATCH] x86_64 machine_kexec: Use standard pagetable helpers 2005-07-29 13:12:49 -07:00
mce.c [PATCH] x86_64: Support for AMD specific MCE Threshold. 2005-11-14 19:55:13 -08:00
mce_amd.c [PATCH] x86_64: Support for AMD specific MCE Threshold. 2005-11-14 19:55:13 -08:00
mce_intel.c [PATCH] x86_64: Change init sections for CPU hotplug support 2005-06-25 16:24:30 -07:00
module.c [PATCH] uml: kludgy compilation fixes for x86-64 subarch modules support 2005-05-05 16:36:33 -07:00
mpparse.c [PATCH] i386/x86-64: Share interrupt vectors when there is a large number of interrupt sources 2005-11-14 19:55:13 -08:00
nmi.c [PATCH] x86_64: NMI watchdog frequency calculation adjustments 2005-09-13 08:22:33 -07:00
pci-dma.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pci-gart.c [PATCH] gfp_t: dma-mapping (amd64) 2005-10-28 08:16:48 -07:00
pci-nommu.c [PATCH] gfp_t: dma-mapping (amd64) 2005-10-28 08:16:48 -07:00
pmtimer.c [PATCH] x86_64: Add pmtimer support 2005-05-17 07:59:15 -07:00
process.c [PATCH] x86-64: more gratitious linux/irq.h includes 2005-09-12 10:50:58 -07:00
ptrace.c [PATCH] x86_64: TASK_SIZE fixes for compatibility mode processes 2005-06-21 18:46:12 -07:00
reboot.c [PATCH] x86_64 sync machine_power_off with i386 2005-07-26 14:35:45 -07:00
relocate_kernel.S [PATCH] kexec: x86_64 kexec implementation 2005-06-25 16:24:50 -07:00
setup.c [PATCH] x86: vmx cpu feature detection 2005-10-30 17:37:13 -08:00
setup64.c [PATCH] x86_64: Allocate cpu local data for all possible CPUs 2005-10-10 16:33:25 -07:00
signal.c [PATCH] convert signal handling of NODEFER to act like other Unix boxes. 2005-08-29 10:03:11 -07:00
smp.c [PATCH] x86-64: more gratitious linux/irq.h includes 2005-09-12 10:50:58 -07:00
smpboot.c [PATCH] x86_64: Allocate cpu local data for all possible CPUs 2005-10-10 16:33:25 -07:00
suspend.c [PATCH] swsusp: rework memory freeing on resume 2005-10-30 17:37:14 -08:00
suspend_asm.S [PATCH] x86_64: Set up safe page tables during resume 2005-10-10 08:36:46 -07:00
sys_x86_64.c [PATCH] Avoiding mmap fragmentation 2005-06-21 18:46:16 -07:00
syscall.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
time.c [PATCH] hpet-RTC: cache the comparator register 2005-10-30 17:37:30 -08:00
trampoline.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
traps.c [PATCH] x86_64: Support for AMD specific MCE Threshold. 2005-11-14 19:55:13 -08:00
vmlinux.lds.S [PATCH] x86_64 linker script cleanups for debug sections 2005-09-10 12:00:17 -07:00
vsyscall.c [PATCH] x86-64: Prevent gcc 4 from optimizing away vsyscalls 2005-09-12 10:50:56 -07:00
x8664_ksyms.c [LIB]: Consolidate _atomic_dec_and_lock() 2005-09-14 21:47:01 -07:00