[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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |