kernel-ark/arch
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
..
alpha [PATCH] new alpha syscalls 2005-07-27 18:24:24 -07:00
arm [ARM SMP] Ensure secondary CPUs see their pen release 2005-07-29 16:36:48 +01:00
arm26
cris [PATCH] CRIS update: new subarchitecture v32 2005-07-27 16:26:01 -07:00
frv
h8300
i386 [PATCH] mm: Ensure proper alignment for node_remap_start_pfn 2005-07-29 15:01:13 -07:00
ia64
m32r [PATCH] m32r: add missing Kconfig help text 2005-07-27 16:25:59 -07:00
m68k
m68knommu
mips [PATCH] mips: remove obsolete GIU driver for vr41xx 2005-07-27 16:25:58 -07:00
parisc [PATCH] Add pcibios_bus_to_resource for parisc 2005-07-27 16:25:51 -07:00
ppc [PATCH] ppc32: 8xx remove BROKEN Kconfig entry 2005-07-27 16:35:39 -07:00
ppc64 [PATCH] turn many #if $undefined_string into #ifdef $undefined_string 2005-07-27 16:26:08 -07:00
s390 [PATCH] s390: cpu timer reset in machine check handler 2005-07-27 16:26:05 -07:00
sh
sh64
sparc
sparc64
um [PATCH] uml: implement hostfs syncing 2005-07-28 21:46:05 -07:00
v850 [PATCH] v850: Update PCI support 2005-07-27 16:26:03 -07:00
x86_64 [PATCH] Fix sync_tsc hang 2005-07-29 15:01:13 -07:00
xtensa