In order to better support device hotplug (cpu, memory, and pci) in the PowerVM and PowerKVM environments, the handling of device hotplug could be updated so that the act of hotplugging a device occurs entirely in the kernel. This patch set begins to address this by moving memory hotplug to the kernel. Patches to follow will do the same for cpu and pci devices.
To provide background, the current handling of memory hotplug is handled by the drmgr command. This command is invoked when memory add/remove requests are made at the HMC and conveyed to a partition through the RSCT framework. The drmgr command then performs parts of the hotplug in user-space and makes requests to the kernel to perform other pieces. This is not really ideal, we can do everything in the kernel and do it faster. In this patchset, hotplug events will now be communicated to the kernel in the form of rtas hotplug events. For PowerKVM systems this is done by qemu using the ras epow interrupt. For PowerVM systems the drmgr command will be updated to create a rtas hotplug event and send it to the kernel via a new /proc/powerpc/dlpar interface. Both of these entry points for hotplug rtas events then call a common routine for handling rtas hotplug events. -Nathan Patch 1/5 - Add definition of hotplug rtas event sections. Patch 2/5 - export the dlpar_[acquire|release]drc() routines. Patch 3/5 - Create the new /proc/powerpc/dlpar interface Patch 4/5 - Implement memory hotplug add in the kernel. Patch 5/5 - Implement memory hotplug remove in the kernel. include/asm/rtas.h | 26 ++ platforms/pseries/dlpar.c | 63 ++++++- platforms/pseries/hotplug-memory.c | 332 ++++++++++++++++++++++++++++++++++++- platforms/pseries/pseries.h | 12 + 4 files changed, 431 insertions(+), 2 deletions(-) _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev