Messages in this thread Patch in this message | | | Date | Thu, 20 Mar 2008 00:45:08 -0700 | From | Ravikiran 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
| |