This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


Re: [Xen-devel] [PATCH 1/9] Add cpu idle pwr mgmt to xen

To: "Wei, Gang" <gang.wei@xxxxxxxxx>, <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: Re: [Xen-devel] [PATCH 1/9] Add cpu idle pwr mgmt to xen
From: Keir Fraser <keir.fraser@xxxxxxxxxxxxx>
Date: Fri, 25 Apr 2008 14:00:33 +0100
Delivery-date: Fri, 25 Apr 2008 06:01:17 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <094BCE01AFBE9646AF220B0B3F367AAB02FE2C6E@xxxxxxxxxxxxxxxxxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: AcimklJCPOH/MtO7S+K/FieFl7t35AAQgZa+
Thread-topic: [Xen-devel] [PATCH 1/9] Add cpu idle pwr mgmt to xen
User-agent: Microsoft-Entourage/
On 25/4/08 06:07, "Wei, Gang" <gang.wei@xxxxxxxxx> wrote:

> Add basic acpi C-states based cpu idle power mgmt in xen for x86.
> It includes:
>  1. hypercall definition for passing ACPI info.
>  2. C1/C2 support.
>  3. Mwait support, as well as legacy ioport.
>  4. Ladder policy from Linux kernel.
> A lot of code & ideas came from Linux.

 1. In the idle loop you can just replace default_idle() with (*pm_idle)()
 2. Do not modify common/keyhandler.c. Instead add an __initcall() in
cpu_idle.c to register your keyhandler. The initcall function and your
keyhandler can both be 'static' functions.
 3. I don't like ifdef COMPAT all over new files. Define a separate compat
shim file, built only for x86_64, which converts compat structures to native
64-bit structures. Then cpu_idle.c need know nothing about compat issues and
will be cleaner for it.
 4. Don't define placeholders for Px and Tx info in the platform hypercall
header. They should be introduced when they are actually implemented.

That's it. I haven't looked at the other patches yet, but you can probably
make the above fixes and resubmit just this one patch without affecting the
others. I'll look at them after this one goes in.

 -- Keir

Xen-devel mailing list