Hotplug Memory Redux
Memory Hotplug is one of the most anticipated features in the Linux Kernel. The purposes of memory hotplug are memory replacement, dynamic workload management, or Capacity on Demand of Partitioned/Virtual machines. In this paper we discuss the history of Memory Hotplug and the LinuxVM including mistakes made along the way and technologies which have already been replaced. We also discuss the current state of the art in Memory Hotplug including user interfaces, CONFIG_SPARSEMEM, the no bitmap buddy allocator, free area splitting within zones, and memory migration on PPC64, x86-64, and IA64. Additionally, we give a brief discussion on the overlap between Memory Hotplug and other areas including memory defragmentation and NUMA memory management. Finally, we gaze into the crystal ball to the future of Memory Hotplug.