Messages in this thread | | | Date | Thu, 3 Jan 2008 11:45:26 +0100 | From | Ingo Molnar <> | Subject | Re: [PATCH] [11/20] x86: Use the correct cpuid method to detect MWAIT support for C states |
| |
* Andi Kleen <ak@suse.de> 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.
Ingo
| |