[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH 0/9] Porting the intel_pstate driver to Xen
Hi, This patch series ports the intel_pstate driver from the Linux kernel to Xen. The intel_pstate driver is used to tune P states for SandyBridge+ processors. It can be disabled by adding "intel_pstate=disable" to the booting parameter list. The intel_pstate.c file under xen/arch/x86/acpi/cpufreq/ contains all the logic for selecting the current P-state. It follows its implementation in the kernel. Instead of using the traditional cpufreq governors, intel_pstate implements its internal governor in the "setpolicy()". In order to better support future Intel CPUs (e.g. the HWP feature on Skylake+), intel_pstate changes to tune P-state based on percentage values. The xenpm tool is also upgraded to support the intel_pstate driver. If intel_pstate is used, "get-cpufreq-para" displays percentage value based feedback. An example is shown below: cpu id : 0 affected_cpus : 0 cpuinfo frequency : max [3700000] min [1200000] cur [1200000] scaling_driver : intel_pstate scaling_avail_gov : internal current_governor : internal num_pstates : 26 max_perf_pct : 100 min_perf_pct : 32 turbo_pct : 54 turbo mode : enabled Wei Wang (9): x86/acpi: add a common interface for matching the current cpu against an array of x86_cpu_ids x86/intel_pstate: add some calculation related support x86/cpu_hotplug: add the unregister_cpu_notifier function to support CPU hotplug x86/intel_pstate: add new policy fields and a new driver interface x86/intel_pstate: relocate the driver register/unregister function x86/intel_pstate: the main boby of the intel_pstate driver x86/intel_pstate: add a booting param to select the driver to load x86/intel_pstate: support the use of intel_pstate in pmstat.c x86/intel_pstate: enable xenpm to control the intel_pstate driver tools/libxc/include/xenctrl.h | 20 +- tools/libxc/xc_pm.c | 26 +- tools/misc/xenpm.c | 101 +++- xen/arch/x86/acpi/cpufreq/Makefile | 1 + xen/arch/x86/acpi/cpufreq/cpufreq.c | 9 +- xen/arch/x86/acpi/cpufreq/intel_pstate.c | 859 ++++++++++++++++++++++++++++++ xen/arch/x86/cpu/common.c | 39 ++ xen/arch/x86/cpu/mwait-idle.c | 30 +- xen/common/cpu.c | 7 + xen/drivers/acpi/pmstat.c | 57 +- xen/drivers/cpufreq/cpufreq.c | 27 +- xen/drivers/cpufreq/utility.c | 5 + xen/include/acpi/cpufreq/cpufreq.h | 44 +- xen/include/acpi/cpufreq/processor_perf.h | 3 + xen/include/asm-x86/cpufeature.h | 1 + xen/include/asm-x86/div64.h | 68 +++ xen/include/asm-x86/msr-index.h | 3 + xen/include/asm-x86/processor.h | 10 + xen/include/public/sysctl.h | 22 +- xen/include/xen/cpu.h | 1 + xen/include/xen/kernel.h | 30 ++ 21 files changed, 1261 insertions(+), 102 deletions(-) create mode 100644 xen/arch/x86/acpi/cpufreq/intel_pstate.c -- 1.9.1 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |