linux/arch/x86/kernel
Dimitri Sivanich 8191c9f692 x86: UV: Address interrupt/IO port operation conflict
This patch for SGI UV systems addresses a problem whereby
interrupt transactions being looped back from a local IOH,
through the hub to a local CPU can (erroneously) conflict with
IO port operations and other transactions.

To workaound this we set a high bit in the APIC IDs used for
interrupts. This bit appears to be ignored by the sockets, but
it avoids the conflict in the hub.

Signed-off-by: Dimitri Sivanich <sivanich@sgi.com>
LKML-Reference: <20101116222352.GA8155@sgi.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
___

 arch/x86/include/asm/uv/uv_hub.h   |    4 ++++
 arch/x86/include/asm/uv/uv_mmrs.h  |   19 ++++++++++++++++++-
 arch/x86/kernel/apic/x2apic_uv_x.c |   25 +++++++++++++++++++++++--
 arch/x86/platform/uv/tlb_uv.c      |    2 +-
 arch/x86/platform/uv/uv_time.c     |    4 +++-
 5 files changed, 49 insertions(+), 5 deletions(-)
2010-11-18 10:41:25 +01:00
..
acpi Merge branch 'stable/xen-pcifront-0.8.2' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen 2010-10-28 17:11:17 -07:00
apic x86: UV: Address interrupt/IO port operation conflict 2010-11-18 10:41:25 +01:00
cpu perf, amd: Use kmalloc_node(,__GFP_ZERO) for northbridge structure allocation 2010-11-10 22:58:40 +01:00
.gitignore
alternative.c Merge branches 'perf-fixes-for-linus' and 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2010-10-30 11:43:26 -07:00
amd_iommu_init.c
amd_iommu.c
amd_nb.c
apb_timer.c
aperture_64.c
apm_32.c
asm-offsets_32.c
asm-offsets_64.c
asm-offsets.c
audit_64.c
bootflag.c
check.c
cpuid.c
crash_dump_32.c mm: stack based kmap_atomic() 2010-10-26 16:52:08 -07:00
crash_dump_64.c
crash.c
doublefault_32.c
dumpstack_32.c
dumpstack_64.c
dumpstack.c
e820.c
early_printk_mrst.c
early_printk.c
early-quirks.c
entry_32.S x86, asm: Fix binutils 2.15 build failure 2010-11-18 09:25:11 +01:00
entry_64.S
ftrace.c
head32.c
head64.c
head_32.S
head_64.S
head.c
hpet.c workqueues: s/ON_STACK/ONSTACK/ 2010-10-26 16:52:14 -07:00
hw_breakpoint.c
i386_ksyms_32.c
i387.c
i8237.c
i8253.c
i8259.c
init_task.c
io_delay.c
ioport.c
irq_32.c x86-32: Restore irq stacks NUMA-aware allocations 2010-10-29 08:17:07 +02:00
irq_64.c
irq_work.c
irq.c
irqinit.c
jump_label.c
kdebugfs.c
kgdb.c debug_core,x86,blackfin: Clean up hw debug disable API 2010-10-29 13:14:41 -05:00
kprobes.c
kvm.c
kvmclock.c
ldt.c
machine_kexec_32.c
machine_kexec_64.c
Makefile x86: Move olpc to platform 2010-10-27 17:22:16 +02:00
mca_32.c
microcode_amd.c x86: Remove unnecessary casts of void ptr returning alloc function return values 2010-11-10 09:13:00 +01:00
microcode_core.c
microcode_intel.c
mmconf-fam10h_64.c x86: Adjust section annotations in AMD Fam10 MMCONF enabling code 2010-11-10 10:08:26 +01:00
module.c
mpparse.c
msr.c
paravirt_patch_32.c
paravirt_patch_64.c
paravirt-spinlocks.c
paravirt.c
pci-calgary_64.c
pci-dma.c
pci-gart_64.c
pci-iommu_table.c
pci-nommu.c
pci-swiotlb.c
pcspeaker.c
probe_roms_32.c
process_32.c
process_64.c
process.c
ptrace.c ptrace: cleanup arch_ptrace() on x86 2010-10-27 18:03:10 -07:00
pvclock.c x86, pvclock: Remove leftover scale_delta() function 2010-11-10 10:32:15 +01:00
quirks.c
reboot_fixups_32.c
reboot.c
relocate_kernel_32.S
relocate_kernel_64.S
rtc.c
setup_percpu.c
setup.c Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 2010-10-28 11:59:52 -07:00
signal.c
smp.c
smpboot.c Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2010-10-27 18:38:55 -07:00
stacktrace.c
step.c
sys_i386_32.c
sys_x86_64.c
syscall_64.c
syscall_table_32.S
tboot.c
tce_64.c
test_nx.c
test_rodata.c
time.c
tls.c
tls.h
topology.c
trampoline_32.S
trampoline_64.S
trampoline.c
traps.c
tsc_sync.c
tsc.c
verify_cpu_64.S
vm86_32.c
vmlinux.lds.S
vsmp_64.c
vsyscall_64.c
x86_init.c
x8664_ksyms_64.c
xsave.c