Re: [RFC -tip] x86,apic -- reduce disable_apic usage

From: Maciej W. Rozycki
Date: Tue Jul 07 2009 - 19:49:23 EST


On Sun, 5 Jul 2009, H. Peter Anvin wrote:

> > How do you set cpu_has_apic for systems with discrete local APICs? The
> > CPUID flag is not set in this case.
> >
>
> Well, should it be? We do set flags when they're appropriate to us, and
> if the semantics are such as that is inappropriate we can set a custom bit.

Hmm, that might simplify things here and there and the less special cases
in code -- and thus effort needed -- for the discrete APIC, the better.
I think there is no reason why it couldn't be done -- all the places which
need version-specific APIC features have to check the LVR register anyway.
And the availability of the APICBASE MSR has to be validated separately
too as it comes with P6+ only.

The only place which could care I believe is code to set X86_FEATURE_11AP
-- this should obviously be disabled for the discrete APIC as it is now,
as the chip does not suffer from the erratum and the workaround is costly
performance-wise. That piece of code would have to be checked -- I don't
know what the order of setting of these bits would be and thus if one
could affect the other. The dependency would better be well documented
then too -- my observation is the knowledge about the APIC subsystem among
people typically only covers a narrow subset of implementations.

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