Re: [patch 4/4] x86: apic_is_clustered_box to indicate unsynched TSC's on multiboard vSMP systems

From: Ravikiran G Thirumalai
Date: Thu Mar 20 2008 - 15:03:15 EST


On Thu, Mar 20, 2008 at 12:53:25AM -0700, Yinghai Lu wrote:
>On Thu, Mar 20, 2008 at 12:45 AM, Ravikiran G Thirumalai
><kiran@xxxxxxxxxxxx> wrote:
>> Indicate TSCs are unreliable as time sources if the platform is
>> a multi chassi ScaleMP vSMPowered machine.
>>
>> Signed-off-by: Ravikiran Thirumalai <kiran@xxxxxxxxxxxx>
>>
>> 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;
>
>why?
>
>>
>> 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;
>
>you still call that for intel box.

Yes. The first call is to state that TSC's are synced if it is an AMD box
and if it is _not_ a vSMPowered box (for the apic id lifting case on Sun
boxes), the second call is for _any_ vSMPowered system with more than one
board -- TSC's are not guaranteed to be synched in that case. Both these
calls are needed.

Thanks,
Kiran
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/