linux/arch
Eric W. Biederman 70a0a5357d [PATCH] x86-64: Only look at per_cpu data for online cpus.
When I generalized __assign_irq_vector I failed to pay attention
to what happens when you access a per cpu data structure for
a cpu that is not online.   It is an undefined case making any
code that does it have undefined behavior as well.

The code still needs to be able to allocate a vector across cpus
that are not online to properly handle combinations like lowest
priority interrupt delivery and cpu_hotplug.  Not that we can do
that today but the infrastructure shouldn't prevent it.

So this patch updates the places where we touch per cpu data
to only touch online cpus, it makes cpu vector allocation
an atomic operation with respect to cpu hotplug, and it updates
the cpu start code to properly initialize vector_irq so we
don't have inconsistencies.

Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: Andi Kleen <ak@suse.de>
2006-10-25 01:00:23 +02:00
..
alpha [PATCH] fixing includes in alpha_ksyms.c 2006-10-12 12:25:27 -07:00
arm Merge git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog 2006-10-23 15:56:26 -07:00
arm26 [PATCH] remove bogus arch-specific syscall exports 2006-10-11 11:17:07 -07:00
avr32 [PATCH] IRQ: Fix AVR32 breakage 2006-10-11 11:14:14 -07:00
cris more misc typo fixes 2006-10-03 22:34:14 +02:00
frv IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
h8300 Remove all inclusions of <linux/config.h> 2006-10-04 03:38:54 -04:00
i386 [PATCH] x86: Revert new unwind kernel stack termination 2006-10-21 18:37:02 +02:00
ia64 [IA64] Count resched interrupts 2006-10-17 15:03:08 -07:00
m32r [PATCH] m32r: more __user annotations 2006-10-11 11:17:06 -07:00
m68k [PATCH] clean m68k ksyms 2006-10-11 11:17:06 -07:00
m68knommu [PATCH] m68knommu: sync syscalls with m68k 2006-10-13 08:35:39 -07:00
mips [MIPS] Fix aliasing bug in copy_to_user_page / copy_from_user_page 2006-10-21 23:17:35 +01:00
parisc [PATCH] remove bogus arch-specific syscall exports 2006-10-11 11:17:07 -07:00
powerpc [PATCH] Reintroduce NODES_SPAN_OTHER_NODES for powerpc 2006-10-21 13:35:06 -07:00
ppc [POWERPC] ppc: Add missing calls to set_irq_regs 2006-10-16 15:52:14 +10:00
s390 [S390] update default configuration 2006-10-18 18:30:59 +02:00
sh sh: Convert INTC2 to IRQ table registration. 2006-10-20 15:30:55 +09:00
sh64 fix file specification in comments 2006-10-03 23:01:26 +02:00
sparc [SPARC]: Sparc compilation fix with floppy enabled 2006-10-17 19:28:54 -07:00
sparc64 [SPARC64]: Fix of_ioremap(). 2006-10-19 17:20:31 -07:00
um [PATCH] uml: mmapper - remove just added but wrong "const" attribute 2006-10-20 10:26:36 -07:00
v850 Remove all inclusions of <linux/config.h> 2006-10-04 03:38:54 -04:00
x86_64 [PATCH] x86-64: Only look at per_cpu data for online cpus. 2006-10-25 01:00:23 +02:00
xtensa fix file specification in comments 2006-10-03 23:01:26 +02:00