Open SourceLinus Torvalds after 69 days of development announced the release of the kernel Linux 3.9.

In the new version: KVM hypervisor is adapted to work on systems with the architecture of ARM, the caching system of appeals to the slow hard drives in the fast SSD-drives, driver PowerClamp to control idle time CPU, support for RAID5 / 6 in FS Btrfs, the ability to bind to multiple listening sockets one port, support cores Meta ATP, the use of namespaces for CIFS and NFS, support resource constraints IO through cgroups, lightweight implementation of hibernation.

The new version 11.7 thousand fixes made from the 1364 developers, patch size – 42 MB (11120 changes affected files, added 609,300 lines of code removed – 339233 rows). About 39% of all the changes in 3.9 are associated with device drivers, approximately 29% of the changes are related to updating the code for specific hardware architectures, 12% related to the network stack, 5% – file systems, and 5% c internal kernel subsystems. In the development of release 3.9 was attended by 219 companies, the largest contribution provided staff Intel (10.2% change), Red Hat (9%), SUSE (5.3%), Google (3.5%), Linaro (3.4%), Texas Instruments (3.1% ), IBM (2.9%), Samsung (2.9%), NVidia (1.8%), Oracle (1.5%). Unconnected with the companies enthusiasts is 10.1% change (in addition to 7.3% of the developers are not able to determine the degree of relatedness with the companies).

The most interesting features

The disk subsystem, I / O and file systems:

– In the Btrfs filesystem added built-in support for RAID5 and RAID6. Integrating support for RAID directly into the file system code allows the use of different RAID levels for metadata and data stored. In addition, you can initiate a partial rebuild RAID in case of non-compliance checksums in the process of the FS, it is possible to perform operations such as permutation of data between disks (restriping), or adding / removing disks in relation to transactions in the file system. In the future we plan to provide the binding logic of the RAID metadata file system to the state, for example, when using RAID, you can safely skip the read operation for units not involved in the FS.

The performance of the implementation of RAID5 / 6 in Btrfs is well ahead of the system of MD raid, mainly due to the elimination of certain bottlenecks and integrate such features as recycled cash distribution of data across disks (Stripe cache), support for merging the partial stripe-operation and calculating checksums without delay, synchronously. In evaluating the performance of the system with 4 drives and two drives fusionio, RAID5 / 6 in the linear Btrfs copy a large file has demonstrated the capacity of 604MB / s, while the capacity of the MD raid amounted to 162MB / s. Speed ​​reading Btrfs was 380MB / s, and the MD – 174MB / s (noteworthy that for the MD recording and reading speed of the same, and for different Btrfs approximately twice). The test for the creation of 12 million files was performed for Btrfs raid5 for 226 seconds, and on the basis of the MD spent 485 seconds.

– Among the other changes associated with Btrfs, there is the addition of a code of accounting snapshot defragmenter, improved work with snapshots and the acceleration of the system call fsync ();

– In the Ext4 file system enabled the realization of the possibility of “punch hole” for the inode and file, which is used in the mapping of blocks that can be used “punch hole” not only for files with the map extents. “Punch hole” allows you to mark a region of the file as an optional, which can be clean if necessary. Also, included in the Ext4 developments to increase the effectiveness of caching extent, resolved earlier observed performance problems logging subsystem (JBD2) and accelerated implementation of the system call fsync ();
– In the Device Mapper module adds support for dm-cache to the implementation layer Bcache for caching block device on SSD-drives. BCache caching allows you to organize access to the slower hard disks on fast SSD-drives, while being at the level of caching block device, which allows faster access to the drive regardless of the file system on it. One SSD-drive can be used for several different cache block devices. A block device can be attached on the fly to the cache and off of it without unmounting and temporarily stop working. Supported both through caching (writethrough), and the write-mode (writeback) at which data is recorded on the original media at once, that gives an acceleration of write operations. Additionally supported mode readahead, in which the cache is filled not only with writing, but also for reading;
– Added a series of fixes, optimizations and improvements to F2FS, Samsung has developed a high-performance file system for Flash-drives.

Virtualization and Security:

Provided support of the KVM hypervisor on processors Cortex-A15 architecture ARMv7. In the implementation of the ARM interface provides support for the coordination of state energy that allows you to turn the power of virtual CPU;
– In sub-system adds support for Xen virtualization use of ACPI for hot-add memory and CPU. Further optimizations to run Xen on ARM-systems;
– In the filtering mechanism socket option added SO_LOCK_FILTER, allowing block changes to the filter. For example, the privileged program can set up a filter and block it before proceeding to the implementation of the code is not credible. If an attacker would be able to exploit a vulnerability in the application, it will not be able to change the filter set;
– In the block I / O controller, added support for resource control input-output with block devices using hierarchical control groups (cgroups);
– In sub-system NFS and CIFS added support for namespaces for non-privileged users (user namespaces), which allows the use in insulated containers separate CIFS-and NFS-Server. In this case, a certain user can get in this container special privilege to work with CIFS and NFS, which are absent in him outside of the container.

The network subsystem:

For TCP and UDP sockets added a new option SO_REUSEPORT, allowing to multiple listening sockets to connect to the same port to accept connections. In order to prevent attacks on the organization of listening socket side of the process, make a call SO_REUSEPORT possible sockets only processes with a single UID. Incoming connections and packets are distributed simultaneously to all connected through SO_REUSEPORT sockets. This technology allows us to simplify the distribution of connection handlers for various processes of getting rid of the individual link that distributes requests to work processes;
– In connection tracking code netfilter subsystem adds support for tagging compounds to affix a label to monitor the connections and take into account the marked connections in the rules netfilter;
– In the wireless stack integrated support functions “radar” (radar) for the detection of transmitters operating in a given frequency range. – Added subsystem is a necessary step to provide support for dynamic frequency selection in the range of 5GHz, which is necessary when using Linux for running such systems as base stations;
– Integrated subsystem VM Sockets, developed by VMware for the organization of communication between the hypervisor and virtual machines, as well as interface “Virtual Machine Communication Interface” for interaction between the host and guest system environments;
– Added support for protocol MVRP (Multiple VLAN Registration Protocol), which allows to manage the registration and review VLAN on a switch.

Memory and system services:

– Integrated Intel engineers created the driver PowerClamp, implementing tools used for general limit power consumption processor, which complements the previously available mechanisms to regulate the parameters affecting the energy consumption in different situations. The principle of operation is based on the change in PowerClamp prescribed CPU time spent in the idle state by force the CPU in idle-mode (Idle Injection). PowerClamp may be useful not only to extend the operation of the devices in stand-alone mode, but also in situations such as the need to reduce power when the cooling system is unable to cope, or a desire to reduce the level of noise from the cooler at night. Management of work done by setting the interest of finding the CPU in idle-mode through a variable in sysfs;
– In the scheduler has some minor corrections, will significantly improve the efficiency of work in situations where the number of processors exceeds the number of active processes running. By reducing the migration process that prevents optimal use of CPU cache after making changes in the performance of some of the tests has increased by 15 times;
– The system trace ftrace added support for snapshots of the trace buffer with control via debugfs. Snapshots allow you to fix the state buffer to study it without stopping the trace, which will continue with a separate working buffer;
– Many improvements to energy efficiency. Made improvements and developments relating to sub cpuidle and cpufreq and ACPI power management through and ASPM. Supports optical drives with zero energy (zero power optical disc drive) – a special mode in which the optical drive can hardly consume energy during periods when not in use;
– Implementation of a lightweight sleep (lightweight suspend mode), if enabled, all existing hardware is put on the minimum energy consumption. The key difference from sleep and hibernation is that the power is not turned off completely, but used the deepest power-saving modes, allowing you to almost instantly go to work at any time, without waiting for the system recovery after sleep;
– The structure of the nucleus is included modified version of the algorithm compression LZO, presented by Marcus Oberhammer (Markus Oberhumer), the author of LZO (Lempel-Ziv-Oberhumer). The new version allows several times faster data compression and decompression using contemporary processors i386/x86_64/ARM;
– In configurator menuconfig added buttons to save and load individual files with the settings.

Hardware architecture:

– Support for processor cores Meta ATP (Meta 1) and HTP (Meta 2), produced by Imagination Technologies and notable supporting an additional set of DSP-software instructions and hardware multi-threading (virtual processors).
– Support for the new family of embedded 32-bit RISC-CPU – Synopsys DesignWare ARC700, used in Flash-memory controllers, digital cameras and a variety of consumer devices. A distinctive feature of the ARC processor SoC manufacturers is to provide an opportunity to prepare their own processor configuration before producing optimized for a particular application or a particular application. For example, turn on the optional units DSP, MMU and FPU, integrate different hardware decoders, add instructions and registers;
– Supports Google Goldfish. Goldfish – a virtual processor, aimed at ensuring the emulation platform Android, used in the design under this platform.

Enhancements to support architecture ARM:

– Increased the number of SoC, support multi-platform ARM-assembly (the ability to build a single core, which will include support for various ARM-platforms);
– Initial support Soc Tegra 4, which will be released in a few months. Supports NVIDIA Tegra114, several new boards for developers Tegra 3 and Tegra 4, support NVIDIA Tegra114, Marvell Armada XP, ARM “dummy virtual machine”;
– To Marwell Kirkwood platform supports hot plug for bus PCI-E;
– Added support for Ralink processors based on the architecture MIPS;

Equipment:

– Removed a large portion of older drivers, including 3c501, 3c505, 3c507, Intel i825xx and drivers to support the parallel port. Also removed from the kernel subsystem “WAN router”. The reason there is removal of the existence of problems with their capacity for work.

Improvements in the subsystem DRM (Direct Rendering Manager):

– Integration of trained developers of NVIDIA helper functions gem_prime_ * and gem_drm_ *, provides an abstract set of simple calls, independent of the low-level implementation support PRIME, which allows you to organize the interaction of free drivers from the NVIDIA proprietary drivers with no direct reference to the API DMA-BUF and avoid associated with this interaction violation of the license GPL;
– These helpers can use Optimus technology in the latest test release of proprietary drivers, NVIDIA;
– Initial support for a series of video cards AMD HD8000;
– In the Nouveau driver for GPU NV40 and NV50 (GeForce 6xxx-9xxx) added experimental tools for automatic and manual rotation of the cooler. The work to increase driver performance Nouveau;
– A number of improvements in DRM-driver Radeon: revised logic reset, the use of rings DMA to update VM PT, etc. In addition, support for switching video modes at the user level (UMS) finally declared obsolete and more will not be supported;
– Improved support for chips Intel Haswell, mainly dealing with power management;
– Support for page flipping in DRM-driver Tegra;
– Improved Driver Ti OMAP, including OMAP5 platform support and tools for power management;
– Changed the mechanism locking subsystem KMS;
– Optimizing (no reloc) for DRM-driver Intel, which may give some increase speed;
– Added a driver for the wireless chip Intel 7000 series;
– Many improvements in the audio subsystem ALSA: Recycled support Intel HDA audio (added a new universal parser, which is involved in many drivers). Interfaces support NVIDIA Tegra20 AC97. Many drivers have been unified and consolidated, thereby greatly reducing the cost of their continued support. A number of enhancements and support for new chips in the ALSA SoC (ASoC);
– New driver for Gigabit Ethernet Controller Interface USB – ASIX AX88179_178A;
– Supports SBC Technologic Systems TS-5500 and systems SGI Ultraviolet System 3;
– Support touchpads Cypress PS / 2, trackpads Cypress APA I2C and input devices Steelseries SRW-S1;
– Support for SATA-controller Renesas R-Car, SD / MMC controllers and Broadcom BCM2835 USB-Controller SMSC USB3503;
– In Video4Linux added support for video processors SuperH VEU mem2mem, media controller TI DM365 VPFE, tuners Montage Technology TS2020-based, FM-receiver Masterkit MA901 USB FM, sensor OmniVision OV9650/OV9652 and Samsung S5C73M3;
– Support for notebook components Google Chromebook Pixel.

Main link to news:
https://lkml.org/lkml/2013/4/28/69