question regarding intel_idle inside kvm
Hi all,
I recently did some modification in the cpuidle core and the patches were merge to linux-next. Someone reported a problem with the intel_idle cpuidle driver.
I tried to reproduce the problem with kvm but the kernel fails to intialize the driver because of intel_intel_init function fails in the processor probe.
After digging a bit, I found it fails at:
drivers/idle/intel_idle.c
static int intel_idle_probe(void)
{
...
if (boot_cpu_data.cpuid_level < CPUID_MWAIT_LEAF)
return -ENODEV;
^^^^^...
}
I assumed the virtualized processor does not support this, so I specified the "-cpu host" because the host was running the intel_idle driver. But the driver still fails in kvm.
I was wondering why that happens ? Does anyone have an idea of this problem ?
Thanks in advance
-- Daniel
Quoted 27 lines · Daniel Lezcano
Hi all,
I recently did some modification in the cpuidle core and the patches were merge to linux-next.
Someone reported a problem with theintel_idlecpuidle driver.I tried to reproduce the problem with kvm but the kernel fails to intialize the driver because of
intel_intel_initfunction fails in the processor probe.After digging a bit, I found it fails at:
drivers/idle/intel_idle.cstatic int
intel_idle_probe(void)
{...
if (boot_cpu_data.cpuid_level < CPUID_MWAIT_LEAF) return -ENODEV; ^^^^^...
Quoted 8 lines
}
I assumed the virtualized processor does not support this, so I specified the "-cpu host" because the host was running the
intel_idledriver. But the driver still fails in kvm.I was wondering why that happens ? Does anyone have an idea of this problem ?
intel_idle() uses mwait, which kvm does not virtualize (it's very expensive to do so and brings no benefits).
Signature · 1 line
error compiling committee.c: too many arguments to function
Quoted 30 lines · Avi Kivity
Quoted 29 lines · Daniel Lezcano
Hi all,
I recently did some modification in the cpuidle core and the patches were merge to linux-next.
Someone reported a problem with theintel_idlecpuidle driver.I tried to reproduce the problem with kvm but the kernel fails to intialize the driver because of
intel_intel_initfunction fails in the processor probe.After digging a bit, I found it fails at:
drivers/idle/intel_idle.cstatic int
intel_idle_probe(void)
{...
if (boot_cpu_data.cpuid_level< CPUID_MWAIT_LEAF) return -ENODEV; ^^^^^...
}
Quoted 8 lines
Quoted 6 lines
I assumed the virtualized processor does not support this, so I specified the "-cpu host" because the host was running the
intel_idledriver. But the driver still fails in kvm.I was wondering why that happens ? Does anyone have an idea of this problem ?
intel_idle()uses mwait, which kvm does not virtualize (it's very expensive to do so and brings no benefits).
Ok, thanks for the information. I was afraid of that :/ I will go to for a real host then :)
Thanks !
-- Daniel