Yasunori Goto posted some documentation for memory hotplugging which can be used to increase or decrease the amount of memory available to a live kernel. The documentation explains that this functionality is useful for virtualization and capacity on demand solutions, as well as for physically adding and removing RAM from NUMA-nodes. The document itself, "is about memory hotplug including how-to-use and current status. Because Memory Hotplug is still under development, contents of this text will be changed often."
It goes on to explain that there are two phases of memory hotplug, the physical memory hotplug phase, and the logical memory hotplug phase. "The first phase is to communicate [the] hardware/firmware and make/erase environment for hotplugged memory. When memory is hotplugged, the kernel recognizes new memory, makes new memory management tables, and makes sysfs files for new memory's operation." The second phase "is to change memory state into available/unavailable for users. [The] amount of memory from [the] user's view is changed by this phase." Hotplugging memory requires it to be brought online or offline using the sysfs files created during the physical memory hotplug phase, though the process can be automated with udev scripts. Setting memory as offline is not guaranteed to work as it's not always possible to free memory, such as if it contains nonmigratable pages. The documentation also notes that support for physically removing memory from a node is not yet completed.
Linux creator Linus Torvalds announced the first release candidate for the upcoming 2.6.18 kernel, "the merge window for 2.6.18 is closed, and -rc1 is out there". He noted that the changes are extensive, "the changes are too big for the mailing list, even just the shortlog. As usual, lots of stuff happened. Most architectures got updated, ACPI updates, networking, SCSI and sound, IDE, infiniband, input, DVB etc etc etc." Find the shortlog here. Linus went on described additional changes:
"There's also a fair amount of basic infrastructure updates here, with things like the generic IRQ layer, the lockdep (oh, and priority-inheritance mutex support) stuff by Ingo &co, some generic timekeeping infrastructure ('clocksource') stuff, memory hotplug (and page migration) support, etc etc."
Dave Hansen announced a new kernel tree focused on the development of support for hot-pluggable memory in the Linux kernel. The latest patchset is 2.6.9-rc1-mm1-mhp1, about which Dave explains:
"The main aim of this patch set (other than having the longest possible version name) is to give the memory hotplug developers a common base to work from. It is hopefully split up in such a way that it is easy to replace an implementation in the middle of the stack without disturbing too much other stuff."
Future discussion of and this tree will be found on the lhms-devel mailing list, part of the lhms project. The latest patches are against Andrew Morton [interview]'s -mm tree [story].