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

[Xen-devel] Regression - Xen ACPI CPU hotplug processor causes the Xen ACPI P and C-states to stop working.

The reason is that the Xen CPU hotplug (xen-acpi-cpuhotplug.c)
registers itself as the "processor" type object. That means the
generic processor (processor_driver.c) stops working and it does
not call (acpi_processor_add) which populates the
         per_cpu(processors, pr->id) = pr;

structure. Previous to the population (acpi_processor_add) also calls
'acpi_processor_get_info' which does the job of finding the C-states and
figuring out PBLK address and all of that ends up in the 'pr' structure.

The 'processors->pr' is then used by Xen ACPI Processor (the one that
uploads C and P states to the hypervisor) to gather the data. Since it
is NULL, it skips the gathering of _PSD, _PSS, _PCT, etc and we never
end up uploading said data.

The end is that enabling the CONFIG_XEN_STUB means that xen-acpi-processor
is not working anymore.

This temporary patch:

diff --git a/drivers/xen/Kconfig b/drivers/xen/Kconfig
index 5a32232..67af155 100644
--- a/drivers/xen/Kconfig
+++ b/drivers/xen/Kconfig
@@ -182,7 +182,7 @@ config XEN_PRIVCMD
 config XEN_STUB
        bool "Xen stub drivers"
-       depends on XEN && X86_64
+       depends on XEN && X86_64 && BROKEN
        default n
          Allow kernel to install stub drivers, to reserve space for Xen 

fixes the regression, but this problem needs to be fixed long-term.

Xen-devel mailing list



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