Messages in this thread | | | Date | Wed, 8 Jul 2009 18:44:52 +0400 | From | Cyrill Gorcunov <> | Subject | Re: [RFC -tip] x86,apic -- reduce disable_apic usage |
| |
[Maciej W. Rozycki - Wed, Jul 08, 2009 at 12:49:11AM +0100] | 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 |
Thanks a lot for hints, Maciej! I've had an idea to set this bit in verify_local_APIC (or something like that) since at this point if discrete APIC happens -- we already complained in case of APIC related BIOS problems. So that check-point should be safe. Anyway, will recheck and put a big comment into patch.
-- Cyrill
| |