|
Linux 2.6.38 speeds group scheduling, VFS
2011-03-15
Linus Torvalds announced the release of the 2.6.38 Linux kernel, featuring both an overhaul of the Virtual File System and an "automatic process grouping" patch touted as greatly improving performance. Other Linux 2.6.38 changes include support for AMD Fusion processors, AMD and Nvidia GPUs, and additional Wi-Fi chips, plus Btrfs file-system enhancements and "transparent huge-page" support for speeding database and virtualization applications.
Many kernel releases come and go with relatively few features that would make the average end-user sit up and take notice. Linux 2.6.38 might be different, however, thanks to the addition of a sched: autogroup patch announced by Linux creator Linus Torvalds (pictured) back in November.
Now referred to generally as the "automatic process grouping" patch, the enhancement is said to change "substantially how the process scheduler assigns shares of CPU time to each process," according to the KernelNewbies.org write-up that we use as our primary source here. The patch automatically creates task groups per TTY in an effort to improve the desktop interactivity under system strain. In addition, it is said to allow the automated per TTY task grouping to be done dynamically on the kernel in real-time. According to Phoronix testing done on the Mike Galbraith-developed patch in November, the patch can reduce latency by a factor of 10, with noticeable improvements in 1080p video playback. At the time, Torvalds wrote, "It is a huge improvement" and makes group scheduling "a killer feature." VFS gains faster lookups The new feature that now enthuses Torvalds is an overhaul of the Virtual File System (VFS), which mediates between the file-system and user space. "As to the 'big picture', i.e. all the changes since 2.6.37, my personal favorite remains the VFS name lookup changes," writes Torvalds. "They did end up causing some breakage, and Al has made it clear that he wants more cleanups, but on the whole I think it was surprisingly smooth." Essentially, the VFS dcache (directory cache) and path lookup mechanisms have been reworked to be more scalable, explains KernelNewbies.org. VFS improvements are not only said to make multi-threaded workloads more scalable, but -- somewhat surprisingly -- also make some single-threaded workloads much faster. This is said to be due to the removal of atomic CPU operations in the code paths. According to Torvalds' tests, a hot-cache "find . -size" operation on the home directory runs about 35 percent faster with the VFS enhancements. Meanwhile, a single-threaded "git diff" operation on a cached kernel tree is said to run 20 percent faster, and any operation that calls "stat()" are also said to be a lot faster. The following are some other major additions to Linux 2.6.38:
Among other changes, The H calls out enhanced DRM/KMS graphics drivers that now support new graphics chips by AMD (ATI) and Nvidia, as well as improved Wi-Fi drivers for Atheros, Broadcom, Intel, Ralink, and Realtek chips. The story also notes the planned availability of Linux 2.6.38 on Fedora 15 and Ubuntu 11.04. Linux 2.6.38 follows the early January release of the 2.6.37 kernel which offered improved symmetric multiprocessing (SMP) scalability and the addition of many new hardware drivers. Other 2.6.37 highlights included security, power management and memory management enhancements, plus an I/O throttling speed boost and an option to disable the Big Kernel Lock. Availability The announcement of Linux kernel 2.6.38 may be found here. More information may found on the KernelNewbies.org summary, as well as an extensive write-up on The H. Related Stories:
|