xen-devel
Re: [Xen-devel] expose MWAIT to dom0
>>> On 15.08.11 at 07:35, "Tian, Kevin" <kevin.tian@xxxxxxxxx> wrote:
> There're basically two methods to enter a given C-state: legacy (hlt + I/O
> read),
> and native(using mwait). MWAIT is always preferred when both underlying CPU
> and OS support, which is a more efficient way to conduct C-state transition.
>
> Xen PM relies on Dom0 to parse ACPI Cx/Px information, which involves one
> step to notify BIOS about a set of capabilities supported by OSPM. One
> capability
> is about mwait support, which if true ACPI Cx entry contains entry
> parameters
> for mwait, or else I/O port information is provided. Xen PM later decides
> entry
> method (i/o or mwait) based on parsed ACPI information from dom0.
>
> However Xen doesn't expose MWAIT capability to dom0 due to changeset 17573:
>
> This then brings a problem to Dom0 which thinks underlying CPU
> doesn't report mwait, and thus notify BIOS to use old I/O based method.
>
> Later a trick is integrated in Jeremy's pvops tree:
>
> --- a/arch/x86/kernel/acpi/processor.c
> +++ b/arch/x86/kernel/acpi/processor.c
> @@ -60,7 +60,7 @@ static void init_intel_pdc(struct acpi_processor *pr,
> struct cpuinfo_x86 *c)
> /*
> * If mwait/monitor is unsupported, C2/C3_FFH will be disabled
> */
> - if (!cpu_has(c, X86_FEATURE_MWAIT))
> + if (!cpu_has(c, X86_FEATURE_MWAIT) && !xen_initial_domain())
> buf[2] &= ~(ACPI_PDC_C_C2C3_FFH);
>
> obj->type = ACPI_TYPE_BUFFER;
>
> Above trick is ugly and error-prone, since it always enable mwait regardless
> of actual CPU capability.
3.x (and later 2.6.3x) don't look at the CPUID flag anymore, they just
check boot_option_idle_override, which is being controlled from the
command line or enforced for some particular systems based on DMI
data.
> It's unlikely to make into upstream, and also get lost in
> into some distro such as SLES11.
We can certainly fix it there.
Jan
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
<Prev in Thread] |
Current Thread |
[Next in Thread>
|
- [Xen-devel] Re: expose MWAIT to dom0, (continued)
- [Xen-devel] Re: expose MWAIT to dom0, Keir Fraser
- [Xen-devel] RE: expose MWAIT to dom0, Tian, Kevin
- [Xen-devel] Re: expose MWAIT to dom0, Keir Fraser
- [Xen-devel] RE: expose MWAIT to dom0, Tian, Kevin
- [Xen-devel] RE: expose MWAIT to dom0, Jan Beulich
- [Xen-devel] Re: expose MWAIT to dom0, Keir Fraser
- [Xen-devel] RE: expose MWAIT to dom0, Tian, Kevin
- [Xen-devel] Re: expose MWAIT to dom0, Keir Fraser
- [Xen-devel] RE: expose MWAIT to dom0, Jan Beulich
- RE: [Xen-devel] RE: expose MWAIT to dom0, Tian, Kevin
Re: [Xen-devel] expose MWAIT to dom0,
Jan Beulich <=
- RE: [Xen-devel] expose MWAIT to dom0, Tian, Kevin
- RE: [Xen-devel] expose MWAIT to dom0, Jan Beulich
- RE: [Xen-devel] expose MWAIT to dom0, Jan Beulich
- RE: [Xen-devel] expose MWAIT to dom0, Tian, Kevin
- RE: [Xen-devel] expose MWAIT to dom0, Jan Beulich
- RE: [Xen-devel] expose MWAIT to dom0, Tian, Kevin
- RE: [Xen-devel] expose MWAIT to dom0, Jan Beulich
- RE: [Xen-devel] expose MWAIT to dom0, Tian, Kevin
- RE: [Xen-devel] expose MWAIT to dom0, Jan Beulich
- RE: [Xen-devel] expose MWAIT to dom0, Tian, Kevin
|
|
|