WARNING - OLD ARCHIVES

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/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

[Xen-devel][PATCH 0/5] Add cpufreq pwr mgmt to Xen

To: <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: [Xen-devel][PATCH 0/5] Add cpufreq pwr mgmt to Xen
From: "Liu, Jinsong" <jinsong.liu@xxxxxxxxx>
Date: Tue, 13 May 2008 11:09:37 +0800
Cc: "Tian, Kevin" <kevin.tian@xxxxxxxxx>, "Nakajima, Jun" <jun.nakajima@xxxxxxxxx>
Delivery-date: Mon, 12 May 2008 20:10:11 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
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: Aci0psbAJyAAXqNnQsOQlsmPt5l5Eg==
Thread-topic: [Xen-devel][PATCH 0/5] Add cpufreq pwr mgmt to Xen
Hi,

The following patchset is to add processor P state power management
support to Xen X86.

Basic Description:
==============
Cpufreq is a fundemantal feature of prosessor power management. In X86,
It is defined as processor P state in ACPI spec, and supported by most
x86 processors. Linux supports cpufreq related features by ACPI P state
lib, cpufreq drivers, and cpufreq policies. This patchset intend to add
this feature to Xen.
 
Basically following things need to be done to support P state
- get P state info from ACPI table;
- setup cpufreq infrastructure at hypervisor;
- setup cpufreq ondemand policy at hypervisor;

Considering dom0 kernel already has provided ACPI CA and perflib, the
first task is done in dom0 kernel, and transfer Px related info to
hypervisor via hypercall. The second task, to setup cpufreq
infrastructure, is done in hypervisor, including cpufreq drivers and
policy data structure. The third task, to setup cpufreq policy, is also
done in hypervisor based on the infrastructure, implementing the goal to
manage processor P state according to processor domain dependency and
workload, keeping balance between processor performance and power
consumption.

Currently Px patch provide user to choose processor P state controlled
by the new hypervisor control model by adding xen grub cmdline
"cpufreq=xen-cpufreq" option, or, keep original dom0 kernel control
model (still) by adding xen grub cmdline "cpufreq=dom0-kernel" option.

In this version, Px algorithm is ported from Linux cpufreq ondemand
policy, and some other features like user governor and power aware
schedule is our next plan.

Patch Description:
=============
This patchset is based on cset xen-linux-535/xen-staging-17602
[Patch 1/5] [dom0] Fix a bug related to parse named objects
[Patch 2/5] [dom0] Basic framework of getting and notifying Px info
[Patch 3/5] [xen] Get ACPI Px from dom0 and chose Px controller
[Patch 4/5] [xen] Setup cpufreq infrusturcture, driver and tools
[Patch 5/5] [xen] Implement cpufreq ondemand policy

Special notes on get_measured_perf( )
============================
get_measured_perf( unsigned int cpu ) is a function to measure
processor's average frequency over a period of time according to
IA32_MPERF and IA32_APERF MSRs. Currently this function just test
average frequency of the processor which runs the process. We plan to
expand handle query on non-current cpu later.
-------------------------------------------------------
 

Thanks,
Jinsong
____________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

<Prev in Thread] Current Thread [Next in Thread>