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

From: Ingo Molnar
Date: Fri Mar 21 2008 - 05:16:19 EST



* Ravikiran G Thirumalai <kiran@xxxxxxxxxxxx> wrote:

> >> - 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;

> 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.

i suspect there are two questions here: firstly, your change only flips
the condition around which should not have any effect _normally_. But
the thing is that is_vsmp_box() has side-effects: it reads the PCI
config space and sets a flag. It would be cleaner if there was a
separate, explicit detect_vsmp_box() call early during bootup which did
the PCI config space access, and is_vsmp_box() would only return the
current state of the vsmp flag. Then your above change would be
unnecessary.

Ingo
--
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/