xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
* Regression - Xen ACPI CPU hotplug processor causes the Xen ACPI P and C-states to stop working.
@ 2013-03-22 13:58 Konrad Rzeszutek Wilk
  0 siblings, 0 replies; only message in thread
From: Konrad Rzeszutek Wilk @ 2013-03-22 13:58 UTC (permalink / raw)
  To: jinsong.liu; +Cc: xen-devel


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.

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2013-03-22 13:58 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-03-22 13:58 Regression - Xen ACPI CPU hotplug processor causes the Xen ACPI P and C-states to stop working Konrad Rzeszutek Wilk

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).