Commit 1cb68487 authored by Ravikiran G Thirumalai's avatar Ravikiran G Thirumalai Committed by Ingo Molnar

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: default avatarRavikiran Thirumalai <kiran@scalex86.org>
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
parent 9f6d8552
...@@ -1209,7 +1209,7 @@ __cpuinit int apic_is_clustered_box(void) ...@@ -1209,7 +1209,7 @@ __cpuinit int apic_is_clustered_box(void)
* will be [4, 0x23] or [8, 0x27] could be thought to * will be [4, 0x23] or [8, 0x27] could be thought to
* vsmp box still need checking... * 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; return 0;
bios_cpu_apicid = x86_bios_cpu_apicid_early_ptr; bios_cpu_apicid = x86_bios_cpu_apicid_early_ptr;
...@@ -1249,6 +1249,12 @@ __cpuinit int apic_is_clustered_box(void) ...@@ -1249,6 +1249,12 @@ __cpuinit int apic_is_clustered_box(void)
++zeros; ++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. * If clusters > 2, then should be multi-chassis.
* May have to revisit this when multi-core + hyperthreaded CPUs come * May have to revisit this when multi-core + hyperthreaded CPUs come
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment