The saga continues: Wi-Fi ahoy!
Following the inclusion of seven new Wi-Fi drivers in Linux 2.6.24, a multitude of important improvements for Wi-Fi hardware have been made in kernel version 2.6.25. For instance, the developers have integrated the ath5k driver for Atheros hardware into the kernel – some Linux users like this manufacturer's chips, since for a number of years the Madwifi Project has provided quite a good Linux driver for them.
Linux kernel development lines – Kernel hackers are constantly developing the 2.6 series Linux kernel. They are not afraid to make comprehensive changes in the process. That is why we are unlikely to see a 2.7 developer branch in the near future, from which Linux 2.8 or 3.0 might evolve the way Linux 2.6 came from 2.5. Instead, developers are maintaining several kernel series in parallel for different groups of users. Versions with three numbers separated by points – 2.6.x, such as 2.6.24 – make up the main development line. Simultaneous to the main development, the administrators maintain the stable kernel series of the two most recent versions of the main development line, indicating the updates with an additional number – 2.6.x.y, for instance 2.6.22.10 or 2.6.23.8 |
The Madwifi driver is under an open source license, but like the kernel modules of the proprietary AMD and Nvidia graphic drivers, uses a core that is not open; the code is built into the module and executed on the system's processor. For many open source developers, that is the decisive difference between it and the non-open source firmware that many other Wi-Fi drivers require, which is loaded onto the Wi-Fi chip and executed, not running in context in the Linux Kernel.
Linux kernel developers and Linux distributions based exclusively on open source software did not integrate the Madwifi driver due to its proprietary core. Initiated by the OpenBSD project and currently carried on the MAC80211 Wi-Fi stack, the Ath5k driver on the other hand was accepted by developers because of its fully open source license; but the Madwifi driver does provide support for some newer Atheros Wi-Fi chips that Ath5k, as yet, doesn't. Madwifi development is on the back burner, however, since the project and its developers are concentrating mainly on Ath5k.
The rtl8180 is another Wi-Fi driver for popular Wi-Fi hardware that has been added to the Linux kernel. The driver is suited to the Realtek RTL8180 and RTL8185 Wi-Fi chips that a number of manufacturers use. Developers also updated the network driver for the Playstation 3 (PS3) so that it supports the Wi-Fi chip in those consoles that have Wi-Fi hardware fitted – 1, 2. A new addition is the rndis_wlan driver for Rndis Wi-Fi chips, like the Broadcom 4320 found in Wi-Fi hardware made by Asus, Linksys, U.S. Robotics and others. Another driver, which is also on the MAC80211 Wi-Fi stack and has been significantly overhauled, is zd1211rw for ZyDAS Wi-Fi chips; it is also used by various hardware manufacturers. There have been numerous improvements to the still relatively new Wi-Fi stack, as well as to the seven Wi-Fi drivers integrated into Linux 2.6.24. Some of them provide support for the 802.11n transfer mode in the Wi-Fi stack, – 1, 2, 3, 4, 5, 6 – and in the drivers for Intel's IPW4965 Wi-Fi module. Support for this mode is no longer described as experimental. – 1, 2, 3, 4, 5, 6, 7.
Ext4 on-disk format prior to completion
The Ext4 file system, designated successor to Ext3 and integrated into Linux 2.6.19 for test and development purposes, got a number of new features for 2.6.24. The multi block allocator is supposed to improve performance, while the kernel uses checksums to ensure the integrity of the journal so that no corrupt data end up on the hard drive in the event of a system crash.
Ext4's on-disk format with these and other changes integrated into 2.6.25 – such as support for larger files, support for block sizes up to PAGESIZE, 48 bit inode i_blocks and inode version support – is supposed to remain unchanged. That means that users experimenting with the file system no longer have to occasionally temporarily swap data, in order to reformat the volume for updated Ext4 variants. But Ext4 maintainer Theodore Ts'o does not want to rule out changes completely. That is why Ext4 programmers are still advising against using it on productive systems, but in the Fedora 9 Linux distribution due to be released in late April the new data system will be available for test purposes if the parameter "s/iamanext4developer/ext4/" is given in the installer.
Even after these changes Ext4 development is not yet complete. Further improvements are on the to-do list of the still developing file system, such as an on-line de-fragmenter and delayed allocation, but these are unlikely to result in changes to the data structures on-disk.
Completely Fair Scheduler, Part 3
The Completely Fair Scheduler (CFS), which was integrated into Linux 2.6.23 and improved in 2.6.24 was also reworked and expanded with new functions . Many of the updates are not noticeable on desktop systems, since a number the problems that were fixed – some of them performance related – only show up in unusual configurations. Among the other improvements are better handling of real-time tasks – 1, 2, 3, 4 –, more accurate scheduling thanks to the more precise high resolution timer, and optimisation of the new group scheduling – 1, 2, 3, 4.
The CFS contained in Linux 2.6.25 also supports for the first time the LatencyTop program, introduced at the beginning of this year. In the near future, that program and Linux 2.6.25 will allow the user to follow roughly which code ranges the Linux kernel spends the most time in while completing a task. This allows users to perform targeted optimisation of the system by adjusting settings that can be changed during runtime or by making changes to the source code itself; it can be useful if, for example, server software does not react quickly enough when performing certain tasks or if video skips during playback or editing. Another program that Intel programmers developed last year, Powertop showed how useful having such diagnostic software available can be. With its help some distributions were able to enhance performance by combing through their complete software inventories to find and correct software programs that created make-work for CPUs.
[More: Massive infrastructure improvements]