[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.