|
[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 |