Graphics and notebooks
A great number of changes in 2.6.30 improve the emerging GEM and KMS technologies that have so far only been used in Intel GPUs. A patch of almost 650Â Kbytes in size integrates the microcode for the Radeon R600 and R700 GPUs used in the Radeon-HD models of the 2000, 3000, and 4000 series. The newly integrated support of these GPUs in the kernel's Direct Rendering Manager (DRM) uses this microcode to provide recent graphics drivers with Xvideo functionality and 2D acceleration. Also newly supported in the DRM is the chip-set for RS600 motherboards. The Intel drivers are now capable of TV output on some of the boards and can handle the G33 and G41 chip-sets.
New in Linux 2.6.30 is the dell-wmi driver, although it currently only forwards hotkey events in Dell notebooks. The sony-laptop and thinkpad-acpi have undergone major restructuring â the former now supports more notebook models and event types than before, whilst the latter offers improved brightness control for ThinkPads.
Staging
A whole host of changes was introduced in the staging area. The staging area is a special kernel section used for collecting and improving drivers which don't (yet) match the kernel developers' quality standards â some distributions don't even include the staging drivers for this reason.
The Git pull request lists all the major changes â all of the Comedi framework drivers, for instance, have now been included. Another first timer is the rt3070 driver for recent RaLink Wi-Fi chipsets. The staging area now also includes a file system, POHMELFS (Parallel Optimized Host Message Exchange Layered File System). Also new to the staging area is DST (Distributed (Network) Storage) by the same developer â find details about this in the articles "Distributed storage" and "CRFS and POHMELFS" were released on LWN.net some time back, as well as on the POHMELFS and DST home pages.
Information from the source code management system
Many of the links in this article point to the relevant commits in the web frontend of Linus Torvalds' Git source code management system for Linux, because these commits tend to contain a lot more information about the respective changes. The commit comment in the mid section of the web page displayed by the Git web front end is often a particularly helpful source of further information. This is where the author of a patch usually describes the background and intended effects of the changes.
The bottom section of the Git web front end lists the files that are affected by the patch. The "diff" link behind each file name shows how the patch modifies the respective file; if you want to view the complete patch in its raw form, click on the commitdiff link. Even if you don't have any programming skills the patches are often a good source of information, because they also contain changes to the documentation and comments within the code.
Dates and figures pertaining to the most recent Linux kernel versions
Linux version |
number of files¹ |
lines of source code² |
development time |
number of commits³ |
diffstatâ´ |
2.6.25 | 23810 | 9232484 (8396250) |
83 days | 12243 | 9738 files changed,  777371 insertions(+),  404514 deletions(-) |
2.6.26 | 24270 | 9411724 (8535933) |
88 days | 9941 | 8676 files changed,  595393 insertions(+),  416143 deletions(-) |
2.6.27 | 24354 | 9709868 (8690888) |
88 days | 10628 | 15127 files changed,  1131171 insertions(+),  912939 deletions(-) |
2.6.28 | 25255 | 10195507 (9128690) |
76 days | 9048 | 11090 files changed,  975689 insertions(+),  490047 deletions(-) |
2.6.29 | 26668 | 11010647 (9871260) |
89 days | 11718 | 10933 files changed,  1347290 insertions(+),  532055 deletions(-) |
2.6.30 | 27879 | 11637173 (10419567) |
78 days | 11989 | 10259 files changed,  1086737 insertions(+),  460298 deletions(-) |
¹ find . -type f -not -regex '\./\.git/.*' | wc -l ² find . -type f -not -regex '\./\.git.*' | xargs cat | wc -l (find . -name *.[hcS] -not -regex '\./\.git.*' | xargs cat | wc -l) ³ git-log --no-merges --pretty=oneline v2.6.(x-1)..v2.6.(x) | wc -l â´Â git diff --shortstat v2.6.(x-1)..v2.6.(x) |
Next: Conclusion and the outlook for 2.6.31