On 03/31/2011 02:26 PM, Len Brown wrote:
>>>>> xen_arch_setup() does this:
>>>>> pm_idle = default_idle;
>>>>> boot_option_idle_override = IDLE_HALT;
> What happens on a Xen kernel if these lines are not there?
> Does Xen export the C-states tables to Dom0 kernel, and the Dom0
> kernel has an acpi processor driver, and thus it would try to
> use all the C-states?
If they're no there it tries to use the Intel cpuidle driver, which
fails (just hangs forever in idle, I think).
> If yes, must Xen show those tables to Dom?
> If it did not, then the lines above would not be necessary,
> as in the absence of any C-states, the kernel should
> use halt by default.
The dom0 kernel gets all the ACPI state so it can get all the juicy
goodness from it. It does extract the C state info, but passes it back
to Xen rather than use it itself. We don't generally try to filter the
ACPI state before letting dom0 see it (DMAR being the exception, since
dom0 really has no business knowing about that).
(We have this basic problem that neither Xen nor dom0 are the ideal
owners of ACPI. In principle Xen should own ACPI as the most privileged
"OS", but it really only cares about things like power states, interrupt
routing, system topology, busses, etc. But dom0 cares about lid
switches, magic keyboard keys, volume controls, video output switching,
etc, etc. At the moment it seems to work best if dom0 do all ACPI
processing then pass Xen the parts it needs, which are generally
fixed-at-startup config info items.)
Xen-devel mailing list