On Thursday 03 January 2008 11:45:26 Ingo Molnar wrote: > > * Andi Kleen <[EMAIL PROTECTED]> wrote: > > > +static int mwait_usable(const struct cpuinfo_x86 *c) > > +{ > > + if (force_mwait) > > + return 1; > > + /* Any C1 states supported? */ > > + return c->cpuid_level >= 5 && ((cpuid_edx(5) >> 4) & 0xf) > 0; > > +} > > + > > void __cpuinit select_idle_routine(const struct cpuinfo_x86 *c) > > { > > - if (cpu_has(c, X86_FEATURE_MWAIT)) { > > + if (cpu_has(c, X86_FEATURE_MWAIT) && mwait_usable(c)) { > > printk("monitor/mwait feature present.\n"); > > hm, why not clear FEATURE_MWAIT if it's "not usable"? That's the > standard approach we do for CPU features that do not work.
Well it works, just in a unexpected way not useful to the kernel. At least on AMD there is a bit to enable it for ring 3 too, so in theory someone could use it anyways. -Andi -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/