Kernel Log: Linus resolves to apply a strict policy over merging changes
by Thorsten Leemhuis
It would appear that Linus Torvalds has resolved to apply a strict policy of accepting only bug fix changes to the kernel after the merge window has closed. Torvalds has also stuck his oar into the debate over the Android suspend block API and made the situation even more complicated.
For years, major changes for each new Linux kernel version have been merged into the main development tree during the merge window, which usually lasts about two weeks and concludes with the release of the first pre-release version of the next kernel (2.6.x-rc1). Thereafter, changes are theoretically restricted to patches which fix existing bugs without giving rise to new ones. In practice, RC2 and RC3 have included the odd major change and some clean up work, such as resolving compiler warnings, has found its way in at an even later stage.
This was certainly the case for kernel version 2.6.35, the second pre-release version included a number of changes which were anything but negligible. However, on releasing that version, Torvalds hinted that from now on he would only accept changes which resolved bugs. Various emails from Torvalds on LKML over the following days, in which he firmly rejected a number of git pull requests and asked subsystem maintainers to submit only bug fixes, show that he means this to be taken seriously (e. g. 1, 2, 3, 4, 5, 6, 7, 8, 9). Even some minor, supposedly risk-free clean up work has been rejected.
One reason for this change of approach appears to be a bug in RC2 caused by an apparently innocuous change which resulted in TTY subsystem code overwriting memory pages used by other kernel code – with the result that testers observed a range of poorly reproducible problems in various parts of the kernel. The second reason for tightening up the procedure is more prosaic – Torvalds went on holiday following the release of RC3 and was keen to leave testers with as sound a kernel as possible. This is unlikely to be a one-off, as Torvalds has indicated in a number of emails that in future he intends to be strict about only merging bug fixes into the main development tree after the merge window has closed. How fastidious he will be in practice will become apparent over the next few months.
Linux version status
The most recent of Rafael J. Wysocki's roughly weekly regression reports lists 26 bugs in Linux 2.6.35-rc3 which were not present in 2.6.34 – the latest pre-release version of 2.6.35 also still contains 28 bugs which appeared during Linux 2.6.34 development.
Only one new stable kernel, Linux 188.8.131.52 has been released since the last Kernel Log. It contains just two changes which fix bugs in the previous version – users using the latter without having experienced problems do not need to upgrade.
- The debate over the suspend block API (formerly Wakelocks) developed by Google for Android (covered in the last Kernel Log) continued for a further few days. Linus Torvalds eventually got involved, criticising a solution proposed by Ingo Molnar. Thanks to this and other objections from Linux' founding father, a rapid solution to the situation looks less likely than ever. A solution involving the addition of some compatibility code to make it much easier to merge Android drivers, which rely on the suspend block API, into the Linux main development tree may be implemented as an interim measure until a better solution can be found. LWN.net has recently published a series of articles detailing the complex issues involved (1, 2).
- Christoph Hellwig's XFS Status Update for May 2010 provides an overview of the latest changes in the XFS file system world.
- Edward Shishkin, who used to work on Reiser4 and is now employed by Red Hat, has discovered a problem in Btrfs when using inline extents. He states that only a major redesign of the file system can resolve the problem and has some harsh words for some of the file system code (1, 2). Btrfs main developer Chris Mason takes a more relaxed view of the problem, Red Hat developer Josef Bacik, who has added a whole host of enhancements to Btrfs in recent months, has not yet responded to the criticism expressed by his colleague.
- The kernel patches for supporting NVIDIA's ARM core-based Tegra system-on-a-chip (SOC) family, which are being driven forward by Android developer Erik Gilling, have now been merged into linux-next and may find their way into Linux 2.6.36.
- James Morris has released the programme for August's Linux Security Summit 2010 and gives a broad outline of the event on his blog.
- Following a major revamp, the Ramzswap, formerly Compcache, framework for indirectly compressing areas of memory will be renamed Zram in 2.6.36.
- Valerie Aurora continues to work on developing a union mount solution which is good enough to be merged into the standard kernel (1, 2).
- Dell's HPC specialist Jeffrey B. Layton has published an article summarising storage related changes to the Linux kernel over the last year.
- MD and Mdadm developer Neil Brown is writing code to improve the way the kernel's MD code handles defective disk sectors on RAID 1. He is also working on patches to allow the MD RAID5 code to be used with the device mapper. This will enable a host RAID 5 to be addressed by Dmraid – something which can currently only be achieved using kernel patches which, although they have been around for several years, have never been merged into the official kernel.
- Peter Hutterer has been particularly active in recent weeks and has recently released the second X-Server version 1.8.2 release candidate. He has also released a pre-release version of the xf86-input-synaptics 1.3.0 X.org touchpad driver which utilises a different acceleration detection metric. Details can be found on his blog, where he has also recently posted a detailed explanation of the functionality offered by the touchpad driver, including edge scrolling, two finger scrolling, multi-finger tapping and circular scrolling. He also reports on new standard procedures for emulating the middle mouse button.
- Keith Packard has released the first pre-release version of X-Server 1.9, which is scheduled for release in late August. As the Linux kernel development is at the end of the merge window, development of the next major X Server revision now enters a stabilisation phase. Packard stresses that the next version of X Server will not include a lot of new functionality, but will resolve many long-standing issues and make the code cleaner and easier to understand.
- *AMD has released version 10.6 of its Fglrx (aka Catalyst) Linux graphics driver. It includes official support for OpenGL 4.0 on Radeon HD 5000 series graphics cards and for OpenGL 3.3 on older Radeon HD graphics hardware. A "new architecture for 2D acceleration" should improve 2D performance and, among other things, accelerate adjustment to window size. Red Hat Enterprise Linux 5.5 also becomes a fully supported operating system. Further details of the changes can be found in the release notes for the new version.
- The new version of the R5xx 3D Programming Guide offers more detail in some areas than the previous version.
- The Mesa development team has released version 7.8.2 of Mesa 3D. This follows Intel developer Eric Anholt's release of libdrm 2.4.21.
- The release of version 256.35 as a release candidate means that the main development phase for NVIDIA's 256 series graphics driver is drawing to a close.
- Intel has released the first release candidate of the intel 2.12 X.org graphics driver. The release email stresses numerous performance enhancements, which should improve scroll speed in Firefox.
- Intel intends to stop supporting its ipw2x00 WLAN drivers, a move which has come in for criticism from, among others, kernel developer David Miller, as Intel's failure to release documentation for the WLAN chips supported by the drivers makes driver maintenance very difficult.
Kernel plumbing layer, userland drivers, developer tools
- Karel Zak has released a pre-release version of util-linux-ng 2.18. His release email for the first of two release candidates lists numerous changes, and in future the tool collection, which is used by all the mainstream distributions, will include the findmnt, fsfreeze and swaplabel programs and the libmount library. The ramsize, rdev, rootflags and vidmode commands have been removed.
- Lennart Poettering has made his LinuxTag presentation on systemd, an alternative to Initrd and Upstart, available online.
- On his blog, GNOME developer John (J5) Palmieri reports on progress in multitouch support in X.org and the GTK toolkit.
- Jon Masters has released module-init-tools v3.12, the major changes in which are listed on the wiki. Softdeps should improve modprobe's handling of implicit dependencies; the new version also supports devnames, introduced in Linux 2.6.35, which allow udev to automatically load some modules, for which the standard loading automation did not previously work, when a device node is accessed.
- Earlier this month, Kay Sievers released udev version 157, which is primarily a bug fix release.
Older Kernel Logs can be found in the archives or by using the search function at The H Open Source. New editions of Kernel Logs are also mentioned on Identi.ca and Twitter via "@kernellog2". The Kernel Log author also posts updates about various topics on Identi.ca and Twitter via "@kernellogauthor".