diff options
author | john stultz <johnstul@us.ibm.com> | 2005-09-28 00:45:36 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-09-28 10:46:41 -0400 |
commit | 6c132b5fe6579ed4b4892c02fe6c05f7e3afc579 (patch) | |
tree | 4dd6236d24fdd9aec545b8feb51516bbf052c12e /arch/x86_64/kernel/time.c | |
parent | a9d014afc3609e3094fd06176380ed057edd4a1b (diff) |
[PATCH] x86-64: Fix bad assumption that dualcore cpus have synced TSCs
This should resolve the issue seen in bugme bug #5105, where it is assumed
that dualcore x86_64 systems have synced TSCs. This is not the case, and
alternate timesources should be used instead.
For more details, see:
http://bugzilla.kernel.org/show_bug.cgi?id=5105
Andi's earlier concerns that the TSCs should be synced on dualcore systems
have been resolved by confirmation from AMD folks that they can be
unsynced.
Acked-by: Andi Kleen <ak@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch/x86_64/kernel/time.c')
-rw-r--r-- | arch/x86_64/kernel/time.c | 3 |
1 files changed, 0 insertions, 3 deletions
diff --git a/arch/x86_64/kernel/time.c b/arch/x86_64/kernel/time.c index 2373cb8b8625..703acde2a1a5 100644 --- a/arch/x86_64/kernel/time.c +++ b/arch/x86_64/kernel/time.c | |||
@@ -959,9 +959,6 @@ static __init int unsynchronized_tsc(void) | |||
959 | are handled in the OEM check above. */ | 959 | are handled in the OEM check above. */ |
960 | if (boot_cpu_data.x86_vendor == X86_VENDOR_INTEL) | 960 | if (boot_cpu_data.x86_vendor == X86_VENDOR_INTEL) |
961 | return 0; | 961 | return 0; |
962 | /* All in a single socket - should be synchronized */ | ||
963 | if (cpus_weight(cpu_core_map[0]) == num_online_cpus()) | ||
964 | return 0; | ||
965 | #endif | 962 | #endif |
966 | /* Assume multi socket systems are not synchronized */ | 963 | /* Assume multi socket systems are not synchronized */ |
967 | return num_online_cpus() > 1; | 964 | return num_online_cpus() > 1; |