lkml.org 
[lkml]   [2008]   [Mar]   [20]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
DateThu, 20 Mar 2008 00:45:08 -0700
FromRavikiran G Thirumalai <>
Subject[patch 4/4] x86: apic_is_clustered_box to indicate unsynched TSC's on multiboard vSMP systems
Indicate TSCs are unreliable as time sources if the platform is
a multi chassi ScaleMP vSMPowered machine.

Signed-off-by: Ravikiran Thirumalai <kiran@scalex86.org>

Index: linux.git.trees/arch/x86/kernel/apic_64.c
===================================================================
--- linux.git.trees.orig/arch/x86/kernel/apic_64.c	2008-03-19 20:42:28.187659497 -0700
+++ linux.git.trees/arch/x86/kernel/apic_64.c	2008-03-19 21:24:17.705515003 -0700
@@ -1208,7 +1208,7 @@ __cpuinit int apic_is_clustered_box(void
 	 * will be [4, 0x23] or [8, 0x27] could be thought to
 	 * vsmp box still need checking...
 	 */
-	if (!is_vsmp_box() && (boot_cpu_data.x86_vendor == X86_VENDOR_AMD))
+	if ((boot_cpu_data.x86_vendor == X86_VENDOR_AMD) && !is_vsmp_box())
 		return 0;
 
 	bios_cpu_apicid = x86_bios_cpu_apicid_early_ptr;
@@ -1248,6 +1248,12 @@ __cpuinit int apic_is_clustered_box(void
 			++zeros;
 	}
 
+	/* ScaleMP vSMPowered boxes have one cluster per board and TSCs are
+	 * not guaranteed to be synced between boards
+	 */
+	if (is_vsmp_box() && clusters > 1)
+		return 1;
+
 	/*
 	 * If clusters > 2, then should be multi-chassis.
 	 * May have to revisit this when multi-core + hyperthreaded CPUs come

\
 
 \ /
  Last update: 2008-03-20 08:49    [from the cache]
©2003-2008