linux/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 [ACPI] merge acpi-2.6.12 branch into latest Linux 2.6.13-rc... 2005-07-12 17:21:56 -04:00
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 [PATCH] Add emergency_restart() 2005-07-26 14:35:41 -07:00
asm-cris [PATCH] CRIS update: new subarchitecture v32 2005-07-27 16:26:01 -07:00
asm-frv [PATCH] Add emergency_restart() 2005-07-26 14:35:41 -07:00
asm-generic [PATCH] x86_64: Some cleanup in setup64.c 2005-07-28 21:45:58 -07:00
asm-h8300 [PATCH] Add emergency_restart() 2005-07-26 14:35:41 -07:00
asm-i386 x86: fix new find_first_bit() 2005-07-29 11:01:22 -04:00
asm-ia64 [IA64] inotify: ia64 syscalls. 2005-07-27 10:46:12 -07:00
asm-m32r [PATCH] Add emergency_restart() 2005-07-26 14:35:41 -07:00
asm-m68k [PATCH] Add emergency_restart() 2005-07-26 14:35:41 -07:00
asm-m68knommu [PATCH] Add emergency_restart() 2005-07-26 14:35:41 -07:00
asm-mips [PATCH] Add emergency_restart() 2005-07-26 14:35:41 -07:00
asm-parisc [PATCH] Add emergency_restart() 2005-07-26 14:35:41 -07:00
asm-ppc [PATCH] ppc32: fix dma_map_page() to use page_to_bus() 2005-07-27 16:25:56 -07:00
asm-ppc64 [PATCH] ppc64: remove another fixed address constraint 2005-07-27 16:25:58 -07:00
asm-s390 [PATCH] s390: atomic64 inline functions 2005-07-27 16:26:04 -07:00
asm-sh [PATCH] Add emergency_restart() 2005-07-26 14:35:41 -07:00
asm-sh64 [PATCH] Add emergency_restart() 2005-07-26 14:35:41 -07:00
asm-sparc [SPARC]: Add inotify syscall entries. 2005-07-27 14:14:39 -07:00
asm-sparc64 [SPARC]: Add inotify syscall entries. 2005-07-27 14:14:39 -07:00
asm-um [PATCH] uml: vm86 compile fix 2005-07-28 21:46:03 -07:00
asm-v850 [PATCH] v850: Define L1_CACHE_SHIFT and L1_CACHE_SHIFT_MAX 2005-07-27 16:26:03 -07:00
asm-x86_64 [PATCH] Fix sync_tsc hang 2005-07-29 15:01:13 -07:00
asm-xtensa [PATCH] Add emergency_restart() 2005-07-26 14:35:41 -07:00
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 Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
media [PATCH] drivers/media/video/tveeprom.c: possible cleanups 2005-07-27 16:26:15 -07:00
mtd [MTD] NAND: Honour autoplacement schemes supplied by the caller 2005-05-23 13:20:45 +02:00
net [NET]: Make ipip/ip6_tunnel independant of XFRM 2005-07-19 14:03:34 -07:00
pcmcia [PATCH] pcmcia: fix pcmcia-cs compilation 2005-07-12 16:00:59 -07:00
rxrpc Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
scsi [SCSI] fix function prototype warning 2005-07-14 11:54:17 -05:00
sound [ALSA] version 1.0.9b 2005-07-28 15:50:42 +02:00
video [PATCH] Clean-up and bug fix for tdfxfb framebuffer size detection 2005-05-01 08:59:25 -07:00