[PATCH] xen/acpi-processor: C and P-state driver that uploads said data to hypervisor. [v7]

From: Konrad Rzeszutek Wilk
Date: Sat Mar 10 2012 - 11:10:16 EST


The problem this patch is trying to solve is to provide ACPI power management
information to the hypervisor from the initial domain. The hypervisor lacks the
ACPI DSDT parser so it can't get that data without some help - and the initial
domain can provide that. One approach (https://lkml.org/lkml/2011/11/30/245)
augments the ACPI code to call an external PM code - but there were no comments
about it so I decided to see if another approach could solve it.

It also solves the other problem of CPUfreq scaling drivers running in
the initial domain, changing frequencies without consulting the hypervisor for
the appropiate load information. This means that both the hypervisor and the
initial domain might be changing the P-states at the same time.

This module (xen-acpi-processor) collects the information the same way that
the cpufreq drivers would utilize ACPI processor code and save everything in
the 'struct acpi_processor' and then uploads it to the hypervisor.

The driver can be either an module or compiled in. If compiled in, it will
launch itself before the CPUfreq scaling drivers to inhibit them. If as a module
then further work is needed in the init script to allow this driver to be loaded
before powernow-k8 or acpi-cpufreq.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/