Kernel Log: First release candidate concludes the hot development phase of 2.6.27
With the release of Linux 2.6.27-rc1, Linus Torvalds has concluded the first phase (merge window) of the current development cycle and has integrated all the major changes for Linux version 2.6.27, which is expected for release towards the end of September. Therefore, all major improvements of the next kernel version are now already included in the source code management system of the main development branch and in the first release candidate of 2.6.27. We have previously discussed some of the changes in previous editions of the kernel log – for example the first steps towards removing the Big Kernel Lock (BKL), the new procedures for firmware or the inclusion of the gscpa and iwl-5000 webcam and WLAN drivers. In the last few days, Torvalds and his fellow developers have integrated many other changes.
Major changes were made to the infrastructure surrounding the system standby states. These changes allow drivers to carry out different tasks when changing into or out of ACPI S3/Suspend to RAM than before or after a Hibernate/Suspend to Disk and are intended to alleviate some of the general problems with standby states. As already mentioned in the heise open article "In-depth insights – Linux information from the OLS", the presentation titled Suspend-to-RAM in Linux - State of the Union Address gives into detail about these changes.
The "block layer data integrity support" newly integrated into 2.6.27 (commit, documentation, background article) is also explained in detail in one of the OLS presentations – this technology is to allow storage controllers for servers with suitable drivers to improve their verification of whether the data has arrived correctly on the storage medium. For the first time, the Ext4 file system can now also handle delayed allocations 1, 2). This is said to improve performance and minimise data fragmentation; a detailed description of this topic can again be found in one of the OLS presentations. However, the successor of Ext3 continues to be classified as a development file system not suitable for productive use.
2.6.27 will be the first version to offer the Ubifs (commit, documentation, background article) file system based on UBI (Unsorted Block Images) and intended for flash storage media without wear levelling. Also new are the mmu notifiers, which are particularly interesting for virtualisation solutions like KVM, and the Tracehooks tracing infrastructure planned as a future basis for Utrace, which has been vying for inclusion into the kernel for a long time.
2.6.27 will offer the atl1e driver for the Atheros AR8121, AR8113 and AR8114 gigabit LAN chips frequently found, for example, in the latest Asus hardware. In addition, a large patch provides support for Broadcom's BCM57711 and BCM57711E LAN chips in the bnx2x driver. Also incorporated were the infrastructure and the HFC driver of the mISDN project. In the long term, the project's code is to replace the kernel's current ISDN infrastructure. However, there is controversy around the integration of the mISDN patches because it is unclear whether the changes have been sufficiently examined by kernel developers not involved in mISDN; in addition, the patches did not spend the customary few weeks in linux-next before being integrated. Therefore, we cannot completely rule out that mISDN may temporarily be excluded again only to be re-introduced with 2.6.28.
After several years of development, the lockless pagecache patches by Novell developer Nick Piggin have finally found their way into the main development branch (1, 2, 3); these patches speed up certain processes in the memory subsystem, which is said to be particularly beneficial for the performance of large systems. In addition, several changes mainly contributed by SGI developers are intended to allow Linux to operate smoothly on systems with more than 4000 CPUs. The newly integrated support for the gigabyte pages of recent Opteron CPUs is also likely to be of primary interest for large systems with HPC or database applications.
In his e-mail concerning the release of 2.6.27-rc1, Linus Torvalds comments that the number of changes since 2.6.26 is considerably higher than with the previous 2.6.26-rc1, noting that the volume is similar to that of the first pre-release versions of 2.6.24 and 2.6.25. Torvalds says he is nervous about this flood of changes and wonders if too many changes find their way into the kernel in each development cycle. However, he doesn't elaborate on the subject and suggests to discuss it at another event – probably hinting at this year's Kernel Summit being held in Portland in September.
As in the previous few weeks, Torvalds uses Git to provide some statistics in his release e-mail – according to his figures, just over 50 per cent of the changes were made in the driver directory. The architecture directory was next with 25 per cent – this was probably predominantly caused by a large patch which removed the arch/ppc/ directory.
Further background and information about developments in the Linux kernel and its environment can also be found in previous issues of the kernel log at heise open:
- Kernel Log: Practical Practices - Ottawa Linux Symposium Notes
- Kernel Log: Centrino 2 WLAN driver iwl 5000 and webcam driver gscpa in Linux 2.6.27
- Kernel Log: ath9k driver for new Atheros WLAN chips, discussions of Nvidia drivers
- Kernel Log: No unstable series; Linux 2008.7, dealing with security fixes
- Polish and add-ons; What's new in Linux 2.6.26
- Kernel Log: Linux-staging branch will help with integration; Linux kernel 184.108.40.206 and 2.6.26-rc6