There were no significant changes relating to the md code, used for software RAID arrays and primarily administered via mdadm. md maintainer Neil Brown appears to be concentrating on the code for hot replacing devices running RAID levels 4, 5 and 6 and 1 and 10, which he describes as "almost certainly the most requested feature over the last few years". He hopes to be able to submit it for merger into Linux 3.3.
A patch enabling disks to be assigned aliases which are preserved on rebooting was merged into the kernel via the SCSI subsystem. Background information can be found in this LWN.net article. It was, however, subsequently reverted, after several key kernel developers spoke out against the concept, being of the opinion that a userspace solution represented a better approach. The developer behind the change has since come round to their way of thinking and intends to work on an implementation.
Userspace tools are now, with the assistance of the kernel code for loop devices, able to ensure that device files are generated for partitions if an image mounted using loop contains a partition table. The loop code also now supports discards, allowing unused space within an image to be released.
- With the help of the new CFS bandwidth controller and the control groups (cgroups) infrastructure, it is now possible to cap process group CPU time. One effect of this is to permit cloud operators to ensure that users are not able to consume more CPU resources than they have paid for (see e.g. 1, documentation).
- The kernel now marks itself as TAINT_OOT_MODULE (tainted: out of tree module) when it loads modules which are not part of the official Linux kernel. This will enable developers looking at bug reports to quickly recognise that they are dealing with such an environment. Out of tree modules have a bad reputation in kernel circles and can occasionally cause problems in areas which at first glance appear to have little to do with them. The patch was produced after discussions about marking the kernel as tainted on loading the VirtualBox driver (1, 2).
- There is a revised TUI interface for perf commands top and report (e.g. 1).
- In combination with a TPM, the extended verification module (EVM) (merged in Linux 3.2) is now able to detect modifications to system files, thus ensuring that malicious code is not loaded on booting.
- Sysfs is now able to report whether a system is a desktop, laptop, server or one of five other system classes – as long as this information is correctly entered in the ACPI tables.
- The power management maintainer has merged DVFS (dynamic voltage and frequency scaling) into the kernel. DVFS, also known as devfreq has its origins in the embedded field. Like cpufreq, it regulates the frequency and voltage supply to system components in order to try to reduce chip power consumption without affecting performance, but while cpufreq does this for processors, devfreq does it for other devices. There is also a new API for configuring device-specific power management quality of service (device PM QoS). LWN.net gives some background on those changes in its article Better Device Power Management for 3.2.
- The code for backing up memory to a non-volatile disk on hibernating/software suspend now uses threads. According to the commit comments, this has improved read and write speed twofold.
- A change has been merged which enables the kernel to regularly poll PCIe devices to determine whether a power management event (PME) has occurred. This can occasionally be necessary to circumvent hardware errors. Causes are varied and are discussed in the commit comments, which open by stating that, "The land of PCI power management is a land of sorrow and ugliness, especially in the area of signaling events by devices." before going on to detail some of the hardware problems in this area.
- The PCI code now supports process address space identifiers (PASIDs). This technique, which is based on an IOMMU (input/output memory management unit), allows PCI devices to access multiple I/O address ranges simultaneously.
- Security framework TOMOYO is now able to check environment variables and block specific socket operations.
- The cryptographic subsystem has a new configuration API for configuring cryptographic algorithms using userspace programs (e.g. 1). This can be used by crconf, which has been developed in parallel with the new interface.
- The script directory for kernel 3.2 contains a script for extracting a kernel image compressed using bzip2.
- Files in the sysctl directory (/proc/sys/) can now be monitored for changes using the poll function.
- The init code is now able to interpret commands for selecting a root device of the form "root=PARTUUID=UUID/PARTNROFF=%d", for specifiying a partition ("PARTNROFF=%d") on a specific disk (PARTUUID=UUID).