|
|
Subscribe / Log in / New account

The conclusion of the 3.10 merge window

By Jonathan Corbet
May 12, 2013
By the time Linus announced the 3.10-rc1 kernel, he had pulled just short of 12,000 non-merge changesets into the mainline kernel. That makes 3.10 the busiest merge window ever, by over 1,000 patches. The list of changes merged since the previous 3.10 merge window summary is relatively small, but it includes some significant changes. The most significant of those changes are:

  • The bcache caching layer has been merged. Bcache allows a fast device (like an SSD) to provide fast caching in front of a slower device; it is designed for fast performance given the constraints of contemporary solid-state devices. See Documentation/bcache.txt for more information.

  • The on-disk representation of extents in Btrfs has been changed to make the structure significantly smaller. "In practice this results in a 30-35% decrease in the size of our extent tree, which means we COW less and can keep more of the extent tree in memory which makes our heavy metadata operations go much faster." It is an incompatible format change that must be explicitly enabled when the filesystem is created (or after the fact with btrfstune).

  • The MIPS architecture has gained basic support for virtualization with KVM. MIPS kernels can also now be built using the new "microMIPS" instruction set, with significant space savings.

  • New hardware support includes Abilis TB10x processors, Freescale ColdFire 537x processors, Freescale M5373EVB boards, Broadcom BCM6362 processors, Ralink RT2880, RT3883, and MT7620 processors, and Armada 370/XP thermal management controllers.

Changes visible to kernel developers include:

  • The block layer has gained basic power management support; it is primarily intended to control which I/O requests can pass through to a device while it is suspending or resuming. To that end, power-management-related requests should be marked with the net __REQ_PM flag.

  • A lot of work has gone into the block layer in preparation for "immutable biovecs," a reimplementation of the low-level structure used to represent ranges of blocks for I/O operations. One of the key advantages here seems to be that it becomes possible to create a new biovec that contains a subrange of an existing biovec, leading to fast and efficient request splitting. The completion of this work will presumably show up in 3.11.

  • The dedicated thread pool implementation used to implement writeback in the memory management subsystem has been replaced by a workqueue.

If this development cycle follows the usual pattern, the final 3.10 kernel release can be expected in early July. Between now and then, though, there will certainly be a lot of bugs to fix.

Index entries for this article
KernelReleases/3.10


to post comments


Copyright © 2013, Eklektix, Inc.
This article may be redistributed under the terms of the Creative Commons CC BY-SA 4.0 license
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds