From mboxrd@z Thu Jan 1 00:00:00 1970 From: Konrad Rzeszutek Wilk Subject: Regression - Xen ACPI CPU hotplug processor causes the Xen ACPI P and C-states to stop working. Date: Fri, 22 Mar 2013 09:58:34 -0400 Message-ID: <20130322135834.GA7007@phenom.dumpdata.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Content-Disposition: inline List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: jinsong.liu@intel.com Cc: xen-devel@lists.xensource.com List-Id: xen-devel@lists.xenproject.org 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 help Allow kernel to install stub drivers, to reserve space for Xen drivers, fixes the regression, but this problem needs to be fixed long-term.