Linux Kernel 3.13 Release
Linus Torvalds announced the release of Linux Kernel 3.13 yesterday:
The release got delayed by a week due to travels, but I suspect that’s just as well. We had a few fixes come in, and while it wasn’t a lot, I think we’re better off for it. At least I hope so – I’ll be very disappointed if any of them cause more problems than they fix..
Anyway, the patch from rc8 is fairly small, with mainly some small arch updates (arm, mips, powerpc, s390, sparc, x86 all had some minor changes, some of them due to a networking fix for the bpf jit). And drivers (mainly gpu and networking). And some generic networking fixes. The appended shortlog gives more details.
Anyway, with this, the merge window for 3.14 is obviously open.
Kernel 3.12 brought new features to BTRFS and XFS file systems, PC’s GPU drivers improvements, better memory handling, and more. The key changes made in Linux 3.13 are as follows:
- Scalable block layer for high performance SSD storage – This release includes a new design for the Linux block layer, based on two levels of queues: one level of per-CPU queues for submitting IO, which then funnel down into a second level of hardware submission queues. The mapping between submission queues and hardware queues might be 1:1 or N:M, depending on hardware support and configuration. Experiments shown that this design can achieve many millions of IOs per second, leveraging the new capabilities of NVM-Express or high-end PCI-E devices and multicore CPUs, while still providing the common interface and convenience features of the block layer. Read Linux Block IO: Introducing Multi-queue SSD Access on Multi-core Systems for details.
- nftables, the successor of iptables – nftables is a new packet filtering framework that solves iptables problems and limitations, while providing backwards compatibility for current iptable users. A new user-space tool called nftables, and a new library (libnftables) are available. How-to of the new utility and syntax is available here. Video talk about nftables: http://youtu.be/P58CCi5Hhl4 (slides). Project page and utility source code: http://netfilter.org/projects/nftables/
- Radeon: power management enabled by default, automatic GPU switching, R9 290X Hawaii support
- Power capping framework – This release includes a framework that allow to set power consumption limits to devices that support it. It has been designed around the Intel RAPL (Running Average Power Limit) mechanism available in the latest Intel processors (Sandy Bridge and later, many devices will also be added RAPL support in the future). Documentation can be found here.
- Support for the Intel Many Integrated Core Architecture – This release adds support for the Intel Many Integrated Core Architecture or MIC. Tianhe-2 at the National Supercomputing Center in Guangzhou, China, utilizes this architecture to achieve 33.86 PetaFLOPS.
- Improved performance in NUMA systems – Modern multiprocessors (for example, x86) usually have non-uniform memory access (NUMA) memory designs. Linux 3.8 included a new NUMA foundation that would allow to build smarter NUMA policies in future releases, many of which are implemented in 3.13. Artcile: NUMA scheduling progress
- Improved page table access scalability in hugepage workloads – The Linux kernels tracks information about each memory page in a data structure called page table. In workloads that use hugepages, the lock used to protect some parts of the table has become a lock contention. This release uses finer grained locking for these parts, improving the page table access scalability in threaded hugepage workloads.
- Squashfs performance improvement – Squashfs, the read-only filesystem used by most live distributions, installers, and some embedded Linux distributions, has got important improvements that dramatically increase performance in workloads with multiple parallel reads. One of them is the direct decompression of data into the Linux page cache, which avoids a copy of the data and eliminates the single lock used to protect the intermediate buffer. The other one is multithreaded decompression.
- TCP Fast Open enabled by default – TCP Fast Open is an optimization to the process of stablishing a TCP connection that allows the elimination of one round time trip from certain kinds of TCP conversation, which can improve the load speed of web pages. It was added in Linux 3.6, improved in Linux 3.7, and Linux 3.13 enables TCP Fast Open by default.
- NFC payments support – This release implements support for the Secure Element. A netlink API is available to enable, disable and discover NFC attached (embedded or UICC ones) secure elements. With some userspace help, this allows to support NFC payments, used to implement financial transactions. Only the pn544 driver currently supports this API.
- Support for the High-availability Seamless Redundancy protocol – High-availability Seamless Redundancy (HSR) is a redundancy protocol for Ethernet. It provides instant failover redundancy for such networks. It requires a special network topology where all nodes are connected in a ring (each node having two physical network interfaces). It is suited for applications that demand high availability and very short reaction time.
Further details on Linux 3.13 are available on Kernelnewbies.org.