In association with heise online

File systems

From 2.6.35, the Btrfs file system will support Direct I/O – which bypasses the kernel cache when accessing files and is, for instance, relevant for database software with integrated cache functions. In 2.6.32, the developers already made numerous changes to the Btrfs code to prevent problems which occurred when systems approached their maximum storage capacity; however, the problems persisted in certain relatively rare conditions. The current patches (such as 1, 2, 3, 4) are intended to be a finally solution.

As before, the kernel will activate write barriers, enhancing data security while weakening performance by default in Ext4 but will disable them in Ext3 – however, some modifications to the module parameters and documentation are designed to reduce the confusion created by this historically caused inconsistency. SquashFS can now handle extended attributes, which allows it to be used with SELinux. The kernel's Fuse code can now use Splice to exchange data with the userspace, which eliminates one data copy transaction in the working memory and enhances the performance of the "File System in Userspace" (1, 2, 3).


This article provides an overview of the most important changes of Linux version 2.6.35. More detailed information can be found in the Kernel Logs of the "Coming in 2.6.35" mini series, released over the past few weeks on The H Open, which form the basis of this article.

In these articles, you will find the main sections that make up this article and an "In Brief" section which details important changes. There is also the "Minor gems" section which lists the many other changes not mentioned in the main article but which, for many users, are still of great significance.

For example, in the article on Drivers, "Minor gems" lists the numerous patches to support the video hardware on different PCs, notebooks and motherboards, and lists the changes to the V4L/DVB subsystem, which includes the addition of product names for TV hardware that the Linux kernel now recognises.

LAN, WLAN, Network Stack, etc.

Google developer Tom Herbert submitted two major improvements to the network subsystem of Linux 2.6.35: Receive Packet Steering (RPS) and Receive Flow Steering (RFS). RPS distributes the processing steps for handling received network packets across the available processor cores so that these can work in parallel from the protocol layer onwards. RFS, together with other functions, is said to offer a software emulation of the multi-queue functionality found in network cards (NICs).

RFS, the second technology, is based on the first and tries to assign the processing of layer 3 and 4 of the network protocol directly to the processor core which runs the userspace application that will eventually accept and process the network data. The kernel hacker gives a rough overview of how this is done in his commit comment in the source code management system. This comment also contains various test results which show that the throughput is increased a little further with RFS; the benchmark results also show considerably shorter latencies. Further details about these technologies can be found in an article about RPS and RFS on

The kernel now automatically loads module-compiled drivers for chips which handle the physical layer ("Ethernet PHYs") when the network driver needs them – users therefore no longer need to ensure manually that the PHY module is loaded before the MAC module. The be2net driver now supports Single Root I/O Virtualisation (SR-IOV), which is relevant for virtualisation – this means that it can provide virtual network cards which directly use guest systems, decreasing host loads and, in some cases, considerably improving network throughput.

Another new kernel addition is the ath9k_htc Wi-Fi driver for Wi-Fi hardware with Atheros AR7010 or AR9271 chip sets.An Adaptive Noise Immunity (ANI) implementation is designed to allow the ath5k driver suitable for older Atheros Wi-Fi chips to achieve higher transmission rates in high noise environments; in tests in such environments, the patch is said to have almost doubled the transmission rate.

Next: Power management, Architecture code & Memory subsystem

Print Version | Permalink:
  • Twitter
  • Facebook
  • submit to slashdot
  • StumbleUpon
  • submit to reddit

  • July's Community Calendar

The H Open

The H Security

The H Developer

The H Internet Toolkit