All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFC PATCH] xen_cpufreq implementation in kernel
@ 2014-10-07 14:20 Oleksandr Dmytryshyn
  2014-10-07 14:20 ` [RFC PATCH 1/7] PM / OPP: make cpufreq functions dependent on CONFIG_CPU_FREQ_TABLE Oleksandr Dmytryshyn
                   ` (7 more replies)
  0 siblings, 8 replies; 16+ messages in thread
From: Oleksandr Dmytryshyn @ 2014-10-07 14:20 UTC (permalink / raw)
  To: Ian Campbell, Stefano Stabellini, Tim Deegan, xen-devel

Hi to all.

Next series of patches implements xen-cpufreq driver in kernel.

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.

Next configs should be enabled to use xen-cpufreq driver:
CONFIG_GENERIC_CPUFREQ_CPU0
CONFIG_XEN_CPUFREQ

Oleksandr Dmytryshyn (7):
  PM / OPP: make cpufreq functions dependent on CONFIG_CPU_FREQ_TABLE
  xen/arm: implement HYPERVISOR_sysctl
  xen/arm: implement HYPERVISOR_dom0_op
  xen/arm: add XEN_SYSCTL_cpufreq_op definition
  cpufreq: cpufreq-cpu0: change cpus data path in devtree for Dom0
    kernel
  cpufreq: make CPU Frequency scaling drivers visible for XEN_DOM0
    config
  xen/arm: cpufreq: add cpufreq driver

 arch/arm/include/asm/xen/hypercall.h |   2 +
 arch/arm/include/asm/xen/interface.h |   2 +
 arch/arm/xen/enlighten.c             |   2 +
 arch/arm/xen/hypercall.S             |   2 +
 drivers/Makefile                     |   2 +
 drivers/base/power/opp.c             |   4 +-
 drivers/cpufreq/Kconfig              |  10 +-
 drivers/cpufreq/cpufreq-cpu0.c       |   4 +
 drivers/xen/Kconfig                  |  20 +
 drivers/xen/Makefile                 |   1 +
 drivers/xen/xen-cpufreq.c            | 882 +++++++++++++++++++++++++++++++++++
 include/linux/opp.h                  |   2 +-
 include/xen/interface/sysctl.h       | 664 ++++++++++++++++++++++++++
 include/xen/interface/xen.h          |   7 +
 14 files changed, 1600 insertions(+), 4 deletions(-)
 create mode 100644 drivers/xen/xen-cpufreq.c
 create mode 100644 include/xen/interface/sysctl.h

-- 
1.9.1

^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2014-10-09 13:01 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-10-07 14:20 [RFC PATCH] xen_cpufreq implementation in kernel Oleksandr Dmytryshyn
2014-10-07 14:20 ` [RFC PATCH 1/7] PM / OPP: make cpufreq functions dependent on CONFIG_CPU_FREQ_TABLE Oleksandr Dmytryshyn
2014-10-08 13:52   ` Stefano Stabellini
2014-10-09 10:23     ` Oleksandr Dmytryshyn
2014-10-07 14:20 ` [RFC PATCH 2/7] xen/arm: implement HYPERVISOR_sysctl Oleksandr Dmytryshyn
2014-10-07 14:20 ` [RFC PATCH 3/7] xen/arm: implement HYPERVISOR_dom0_op Oleksandr Dmytryshyn
2014-10-07 14:20 ` [RFC PATCH 4/7] xen/arm: add XEN_SYSCTL_cpufreq_op definition Oleksandr Dmytryshyn
2014-10-07 14:20 ` [RFC PATCH 5/7] cpufreq: cpufreq-cpu0: change cpus data path in devtree for Dom0 kernel Oleksandr Dmytryshyn
2014-10-07 15:49   ` Julien Grall
2014-10-09  6:22     ` Oleksandr Dmytryshyn
2014-10-07 14:20 ` [RFC PATCH 6/7] cpufreq: make CPU Frequency scaling drivers visible for XEN_DOM0 config Oleksandr Dmytryshyn
2014-10-07 14:20 ` [RFC PATCH 7/7] xen/arm: cpufreq: add cpufreq driver Oleksandr Dmytryshyn
2014-10-07 15:57   ` Julien Grall
2014-10-09 13:01     ` Oleksandr Dmytryshyn
2014-10-07 15:44 ` [RFC PATCH] xen_cpufreq implementation in kernel Julien Grall
2014-10-09  6:21   ` Oleksandr Dmytryshyn

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.