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

Re: [Xen-devel] [PATCH v2 0/9] Porting the intel_pstate driver to Xen



Appologies if you received multiple emails of this patch. Just couldn't see it 
showing up in the mailinglist.

Best,
Wei

On 28/04/2015 16:37, Wei Wang wrote 
> Changes:
> *NO.1 The intel_pstate driver can be controlled via two ways:
> A. min_perf_pct and max_perf_pct
>    The user directly adjusts min_perf_pct and max_perf_pct to get what
>    they want. For example, if min_perf_pct=max_perf_pct=60%, then the
>    user is asking for something similar to a userspace governor with
>    setting the requested performance=60%.
> B. set-scaling-governor
>    This one is functionally redundant, since A. can achieve all the
>    governor functions. It is remained to give people time to get
>    familiar with method A.
>    Users can choose from the four governors: Powersave, Ondemand,
>    Powersave, Performance. The driver achieves the functionality of
>    the selected governor via adjusting the min_perf_pct and max_perf_pct
>    itself.
> 
> *NO.2 The xenpm "get-cpufreq-para" displays the following things:
> cpu id               : 10
> affected_cpus        : 10
> cpuinfo frequency    : max [3700000] min [1200000] cur [1400000]
> scaling_driver       : intel_pstate
> scaling_avail_gov    : performance powersave userspace ondemand
> current_governor     : ondemand
> max_perf_pct         : 100
> min_perf_pct         : 32
> turbo_pct            : 54
> turbo mode           : enabled
> 
> *NO.3 Changed "intel_pstate=disable" to "intel_pstate=enable".
> If "intel_pstate=enable" is added, but the CPU does not support the
> intel_pstate driver, the old P-state driver (acpi-cpufreq) will be loaded.
> 
> *NO.4 Moved the declarations under xen/include/acpi to an x86-specific
> header.
> 
> ** Basic Description **
> 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 needs to be enabled by adding "intel_pstate=enable" 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. 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. If the intel_pstate driver is not enabled, xenpm will work in the 
> old
> style.
> 
> 
> Wei Wang (9):
>   x86/acpi: add a common interface for x86 cpu matching
>   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            |  14 +-
>  tools/libxc/xc_pm.c                      |  17 +-
>  tools/misc/xenpm.c                       | 104 +++-
>  xen/arch/x86/acpi/cpufreq/Makefile       |   1 +
>  xen/arch/x86/acpi/cpufreq/cpufreq.c      |   9 +-
>  xen/arch/x86/acpi/cpufreq/intel_pstate.c | 869
> +++++++++++++++++++++++++++++++
>  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                | 106 +++-
>  xen/drivers/cpufreq/cpufreq.c            |  27 +-
>  xen/drivers/cpufreq/utility.c            |   5 +
>  xen/include/acpi/cpufreq/cpufreq.h       |  45 +-
>  xen/include/asm-x86/acpi.h               |   4 +
>  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              |  16 +-
>  xen/include/xen/cpu.h                    |   1 +
>  xen/include/xen/kernel.h                 |  30 ++
>  21 files changed, 1300 insertions(+), 106 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


 


Rackspace

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