kernel-ark/include
Eric W. Biederman 3d483f4757 [PATCH] Fix sync_tsc hang
sync_tsc was using smp_call_function to ask the boot processor to report
it's tsc value.  smp_call_function performs an IPI_send_allbutself which is
a broadcast ipi.  There is a window during processor startup during which
the target cpu has started and before it has initialized it's interrupt
vectors so it can properly process an interrupt.  Receveing an interrupt
during that window will triple fault the cpu and do other nasty things.

Why cli does not protect us from that is beyond me.

The simple fix is to match ia64 and provide a smp_call_function_single.
Which avoids the broadcast and is more efficient.

This certainly fixes the problem of getting stuck on boot which was
very easy to trigger on my SMP Hyperthreaded Xeon, and I think
it fixes it for the right reasons.

Minor changes by AK

Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-29 15:01:13 -07:00
..
acpi
asm-alpha Revert broken "statement with no effect" warning fix 2005-07-28 10:34:47 -07:00
asm-arm [ARM SMP] Fix another ARMv6 bitop problem 2005-07-28 20:36:26 +01:00
asm-arm26
asm-cris
asm-frv
asm-generic [PATCH] x86_64: Some cleanup in setup64.c 2005-07-28 21:45:58 -07:00
asm-h8300
asm-i386 x86: fix new find_first_bit() 2005-07-29 11:01:22 -04:00
asm-ia64
asm-m32r
asm-m68k
asm-m68knommu
asm-mips
asm-parisc
asm-ppc
asm-ppc64
asm-s390
asm-sh
asm-sh64
asm-sparc
asm-sparc64
asm-um [PATCH] uml: vm86 compile fix 2005-07-28 21:46:03 -07:00
asm-v850
asm-x86_64 [PATCH] Fix sync_tsc hang 2005-07-29 15:01:13 -07:00
asm-xtensa
linux [PATCH] PCI: fix up errors after dma bursting patch and CONFIG_PCI=n -- bug? 2005-07-29 13:12:52 -07:00
math-emu
media
mtd
net
pcmcia
rxrpc
scsi
sound
video