Messages in this thread Patch in this message | | | Date | Thu, 26 Jan 2012 19:47:17 +0400 | From | Michael Tokarev <> | Subject | Re: [67/90] intel idle: Make idle driver more robust |
| |
26.01.2012 18:45, Kirill A. Shutemov wrote:
>> From: Thomas Renninger<trenn@suse.de> >> >> commit 5c2a9f06a9cd7194f884cdc88144866235dec07d upstream. >> >> kvm -cpu host passes the original cpuid info to the guest. >> >> Latest kvm version seem to return true for mwait_leaf cpuid >> function on recent Intel CPUs. But it does not return mwait >> C-states (mwait_substates), instead zero is returned. >> [] >> drivers/idle/intel_idle.c | 3 ++- >> 1 file changed, 2 insertions(+), 1 deletion(-) >> >> --- a/drivers/idle/intel_idle.c >> +++ b/drivers/idle/intel_idle.c >> @@ -321,7 +321,8 @@ static int intel_idle_probe(void) >> cpuid(CPUID_MWAIT_LEAF,&eax,&ebx,&ecx,&mwait_substates); >> >> if (!(ecx& CPUID5_ECX_EXTENSIONS_SUPPORTED) || >> - !(ecx& CPUID5_ECX_INTERRUPT_BREAK)) >> + !(ecx& CPUID5_ECX_INTERRUPT_BREAK) || >> + !mwait_substates) >> return -ENODEV; > > It breaks build for me. [] > CC drivers/idle/intel_idle.o > /home/space/kas/git/public/linux-3.0-mid/drivers/idle/intel_idle.c: In function ‘intel_idle_probe’: > /home/space/kas/git/public/linux-3.0-mid/drivers/idle/intel_idle.c:508:7: error: ‘mwait_substates’ undeclared (first use in this function) > /home/space/kas/git/public/linux-3.0-mid/drivers/idle/intel_idle.c:508:7: note: each undeclared identifier is reported only once for each function it appears in > make[3]: *** [drivers/idle/intel_idle.o] Error 1 > > Variable 'substates' hasn't renamed to 'mwait_substates' in 3.0. > See c423628 intel_idle: delete substates DEBUG modparam
I wonder why in my 3.0.18 this variable is properly defined in the same file, in line 77:
... 74 /* intel_idle.max_cstate=0 disables driver */ 75 static int max_cstate = MWAIT_MAX_NUM_CSTATES - 1; 76 77 static unsigned int mwait_substates; 78 79 #define LAPIC_TIMER_ALWAYS_RELIABLE 0xFFFFFFFF ...
> Signed-off-by: Kirill A. Shutemov<kirill.shutemov@linux.intel.com> > --- > drivers/idle/intel_idle.c | 2 +- > 1 files changed, 1 insertions(+), 1 deletions(-) > > diff --git a/drivers/idle/intel_idle.c b/drivers/idle/intel_idle.c > index 15d72ca..a1aecc3 100644 > --- a/drivers/idle/intel_idle.c > +++ b/drivers/idle/intel_idle.c > @@ -505,7 +505,7 @@ static int intel_idle_probe(void) > > if (!(ecx& CPUID5_ECX_EXTENSIONS_SUPPORTED) || > !(ecx& CPUID5_ECX_INTERRUPT_BREAK) || > - !mwait_substates) > + !substates)
With this patch my build of 3.0.18 fails with "substates undeclared" message...
> > if (substates == 0) /* can over-ride via modparam */
And I don't have this context line in my version.
It is 3.0 from kernel.org patched by patch-3.0.18.xz
Thanks,
/mjt -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |