Jiang, Yunhong
2009-Sep-24 15:31 UTC
[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@lists.xensource.com http://lists.xensource.com/xen-devel