[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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |