Various memory compaction options (core, tunable configuration as well as triggers for Proc and Sysfs) allow the kernel to de-fragment the working memory to create large, coherent areas of free memory if required. Modern CPUs with large memory pages (for instance 2-MByte pages instead of 4-KByte pages) can use such areas to reduce the processor's management overhead, which improves performance especially in the fields of virtualisation and large databases. Further background information about the memory de-fragmentation function can be found in in an article on LWN.net.The SLAB allocator now offers memory hot plug support. It has become unlikely that the SLQB allocator, which caused a stir about a year ago, will make it into the kernel; Linus Torvalds quite strongly opposed the idea of adding another memory allocator. However, main SLUB developer Christoph Lameter was working on various improvements to the SLUB allocator that were discussed in two articles on LWN.net (1, 2) – the stated long-term aim seems to be to improve SLUB or SLAB in such a way that one of the two becomes redundant and can be removed.
Error interface, "make nconfig"
Kernel version 2.6.35 will support the APEI (ACPI Platform Error Interface) and Error Record Serialisation Table (ERST) described in the ACPI 4.0 specification (for instance 1, 2, 3, 4, 5, 6, documentation). These interfaces allow the hardware to inform the operating system of hardware issues such as chip-set or memory problems.
To improve scalability, the kernel developers have further reduced the need for the Big Kernel Lock (BKL) (for instance 1, 2, 3, 4, 5). Numerous further changes in this area already in preparation for 2.6.36 are to modify the kernel in such a way that the drivers on modern systems no longer use the BKL at all; various related background details were already discussed on LWN.net in April.
The new "nconfig" make target in 2.6.35 gives access to a ncurses-based text interface for kernel configuration said to offer a slightly more modern operating concept than "menuconfig". As an alternative to submitting it when calling make, the prefix for the cross-compiler commands can also be set in the configuration file.
In early June, Jon Masters released v3.12 of the module-init-tools, which allows modprobe to use the devnames introduced with Linux 2.6.35. This enables udev to automatically load certain modules which weren't available via previous auto-load mechanisms when accessing a device node.