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