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

[Xen-devel] [RFC PATCH 00/13] xen_cpufreq implementation in Xen hypervisor



Hi to all.

Next series of patches implements xen-cpufreq driver in Xen hypervisor.

Cpufreq core and registered cpufreq governors are located in xen. Dom0 has CPU
driver which can only change frequency of the physical CPUs. In addition this
driver can change CPUs regulator voltage. At start time xen-cpufreq driver
in kernel uploads to Xen information about physical cpus.
Xen notifies Dom0 kernel using VIRQ_CPUFREQ interrupt. Then xen-cpufreq driver
in kernel uses XEN_SYSCTL_cpufreq_op operation from HYPERVISOR_sysctl hypercall
to get some parameters from Xen (frequency, relation and cpu number).
Then xen-cpufreq changes frequency on physical cpu and uses the same
XEN_SYSCTL_cpufreq_op operation ti give the result to Xen.

Oleksandr Dmytryshyn (13):
  cpufreq: move cpufreq.h file to the xen/include/cpufreq location
  pm: move processor_perf.h file to the xen/include/cpufreq location
  pmstat: move pmstat.c file to the xen/drivers/pm location
  cpufreq: use turbo settings only for x86 architecture
  pmstat: make pmstat functions more generalizable
  cpufreq: make cpufreq driver more generalizable
  xen/arm: enable cpu hotplug
  xen/dts: make the dt_find_property function to be global
  arch/arm: create device tree nodes for Dom0 cpufreq cpu driver
  xen: arm: implement platform hypercall
  cpufreq: add xen-cpufreq driver
  xen: arm: implement XEN_SYSCTL_cpufreq_op
  xen/arm: enable cpufreq functionality for ARM

 xen/Rules.mk                                 |   3 +
 xen/arch/arm/Makefile                        |   1 +
 xen/arch/arm/Rules.mk                        |   3 +
 xen/arch/arm/domain_build.c                  |  58 +++
 xen/arch/arm/platform_hypercall.c            |  98 +++++
 xen/arch/arm/traps.c                         |   1 +
 xen/arch/x86/Rules.mk                        |   1 +
 xen/arch/x86/acpi/cpu_idle.c                 |   2 +-
 xen/arch/x86/acpi/cpufreq/cpufreq.c          |   2 +-
 xen/arch/x86/acpi/cpufreq/powernow.c         |   2 +-
 xen/arch/x86/acpi/power.c                    |   2 +-
 xen/arch/x86/cpu/mwait-idle.c                |   2 +-
 xen/arch/x86/platform_hypercall.c            |   2 +-
 xen/common/device_tree.c                     |   2 +-
 xen/common/sysctl.c                          |  10 +-
 xen/drivers/Makefile                         |   1 +
 xen/drivers/acpi/Makefile                    |   1 -
 xen/drivers/acpi/pmstat.c                    | 528 --------------------------
 xen/drivers/cpufreq/Makefile                 |   1 +
 xen/drivers/cpufreq/cpufreq.c                |  48 ++-
 xen/drivers/cpufreq/cpufreq_misc_governors.c |   2 +-
 xen/drivers/cpufreq/cpufreq_ondemand.c       |   4 +-
 xen/drivers/cpufreq/utility.c                |  13 +-
 xen/drivers/cpufreq/xen-cpufreq.c            | 267 +++++++++++++
 xen/drivers/pm/Makefile                      |   1 +
 xen/drivers/pm/pmstat.c                      | 539 +++++++++++++++++++++++++++
 xen/include/acpi/cpufreq/cpufreq.h           | 258 -------------
 xen/include/acpi/cpufreq/processor_perf.h    |  63 ----
 xen/include/asm-arm/config.h                 |   3 +
 xen/include/cpufreq/cpufreq.h                | 272 ++++++++++++++
 xen/include/cpufreq/processor_perf.h         |  70 ++++
 xen/include/public/sysctl.h                  |  19 +
 xen/include/public/xen.h                     |   1 +
 xen/include/xen/device_tree.h                |   9 +
 34 files changed, 1420 insertions(+), 869 deletions(-)
 create mode 100644 xen/arch/arm/platform_hypercall.c
 delete mode 100644 xen/drivers/acpi/pmstat.c
 create mode 100644 xen/drivers/cpufreq/xen-cpufreq.c
 create mode 100644 xen/drivers/pm/Makefile
 create mode 100644 xen/drivers/pm/pmstat.c
 delete mode 100644 xen/include/acpi/cpufreq/cpufreq.h
 delete mode 100644 xen/include/acpi/cpufreq/processor_perf.h
 create mode 100644 xen/include/cpufreq/cpufreq.h
 create mode 100644 xen/include/cpufreq/processor_perf.h

-- 
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®.