linux/arch/x86_64
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
..
boot Remove all inclusions of <linux/config.h> 2006-10-04 03:38:54 -04:00
crypto [CRYPTO] api: Get rid of flags argument to setkey 2006-09-21 11:41:02 +10:00
ia32 [PATCH] ptrace32 trivial __user annotations 2006-10-10 15:37:23 -07:00
kernel [PATCH] x86-64: Only look at per_cpu data for online cpus. 2006-10-25 01:00:23 +02:00
lib Remove all inclusions of <linux/config.h> 2006-10-04 03:38:54 -04:00
mm [PATCH] x86-64: x86_64 hot-add memory srat.c fix 2006-10-21 18:37:01 +02:00
oprofile [PATCH] Move Kprobes and Oprofile to "Instrumentation Support" menu 2005-11-07 07:53:35 -08:00
pci [PATCH] x86-64: Fix for arch/x86_64/pci/Makefile CFLAGS 2006-10-21 18:37:01 +02:00
defconfig [PATCH] x86-64: Update defconfig 2006-10-21 18:37:00 +02:00
Kconfig more misc typo fixes 2006-10-03 22:34:14 +02:00
Kconfig.debug [PATCH] lockdep: irqtrace subsystem, x86_64 support 2006-07-03 15:27:03 -07:00
Makefile [PATCH] x86: Use -maccumulate-outgoing-args 2006-10-21 18:37:01 +02:00