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

[Xen-devel] [PATCH 0/2] Add physical CPU hotplug support



The followed two patches add physical CPU hotplug support to xen/dom0, so that 
a physical CPU can be added to the system dynamically.

I send xen/dom0 changes together, hope it will not cause confusing.

Some background:
Two confusing terminology is logical CPU online/offline (O*L) and physical 
hotplug (or physical CPU O*L) . For example, in Linux kernel, 
CONFIG_HOTPLUG_CPU enables the logical CPU O*L to turn a logical CPU for 
schedule, while physical O*L means physical addition/removal, 
CONFIG_ACPI_HOTPLUG_CPU enables ACPI support for physical add/remove of CPUs.

The logical CPU O*L is supported in Xen hypervisor already, firstly for 
suspend/resume purpose by Kevi and extended later by Haitao. These patches are 
mainly for physical CPU O*L.

Basic idea:
The basic workflow in the patch is two step physical hotplug. After a hotplug 
event is triggered through ACPI to dom0, dom0 will notify Xen hypervisor of new 
CPU added. Xen hypervisor will mark the CPU present but still offline. An extra 
hypercall needed to online the CPU into scheduler. The two step method is 
because we try to hold the policy to OS to determine if a new added CPU will be 
used or not.

The main challenges comes from dom0, because the potential conflict between 
vcpu/pcpu for dom0. We utilize power management's processor external controller 
idea to add some hooks to dom0's ACPI code, and also make sure there will be no 
conflict between vcpu hotplug. 
We add a /sys entry under /sys/device/system/xen_pcpu to present the physical 
CPU in the system, currently this entry is only for CPU online/cpu hotplug, but 
later it maybe useful for other purpose.

Please check the patch for more information.
Any feedback is welcome.

Thanks
Yunhong Jiang 
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

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