Die Neuerungen von Linux 2.6.36
Seite 6: Staccato & Statistik
Staccato
- Die Kernel-Hacker haben die Nutzung des Big Kernel Lock (BKL) im Infrastruktur-Code und zahlreichen Treibern weiter reduziert. Damit nähern sich die Entwickler weiter dem Ziel, dass der Kernel auf Standard-Systemen ohne diesen sperrigen Locking-Mechanismus arbeitet, der die Skalierbarkeit und die System-Performance verschlechtert.
- Der Prozess-Scheduler reduziert in bestimmten Situation nun den Wettbewerb zwischen Kernel-Threads, die eine exklusive Kontrolle über eine belegte Ressource erlangen wollen. Dadurch kann der aktive Thread ungestörter arbeiten, was den Datendurchsatz teilweise erheblich steigert (Commit, LWN.net-Artikel)
- Fast einen Monat nach dem Ende des Merge Window haben die Kernel-Hacker eine weitere Änderung am Prozess-Scheduler vorgenommen, durch den der Scheduler die maximalen Wartezeiten insbesondere auf Desktop-Systemen reduzieren soll, wenn parallel andere Prozesse CPU-Zeit fordern – das verspricht eine bessere Reaktionsgeschwindigkeit, wodurch sich das System flotter anfühlen soll. Die der Änderung vorausgegangene Diskussion und der Commit-Kommentar erläutern Hintergründe und liefern Messwerte, laut denen sich die maximale Latenz im Test-Szenario beinahe halbiert hat.
- Die Kernel-Hacker wollen mit 2.6.36 das Problem beseitigt haben, durch das sich Systeme mit 2.6.35 und einigen früheren Kernelversionen unter bestimmten Bedingungen extrem langsam anfühlten oder zeitweise gar nicht mehr reagierten, während der Kernel größere Datenmengen auf ein langsames Medium (etwa einen USB-Stick) schrieb (u. a. 1).
- Über neue Schnittstellen lässt sich ab 2.6.36 auslesen, welche PCI/PCIe-Devices die zur Laufzeit nutzbaren Stromsparmodi von I/O-Geräten wie weit nutzen; einige diese Daten kann die kürzlich erschienene Version 1.13 von PowerTop bereits auslesen und aufgearbeitet ausgeben.
- Zum Plattform-Subsystem stieß der Treiber ideapad für die gleichnamigen Netbooks von Lenovo.
- Die neue Nutzer manchmal verwirrende Scroll Acceleration im Treiber für die Magic Mouse ist nun standardmäßig deaktiviert und muss über einen Modul-Parameter eingeschaltet werden.
Daten und Zahlen zu den jüngsten Versionen des Linux-Kernels
Linux- Version | Anzahl Dateien¹ |
Zeilen Quelltext² (Ohne Dokum.) |
Entwick-lungs- zeitraum | Anzahl Commits³ | Diffstat⁴ |
2.6.30 | 27879 |
11637173 (10419567) |
78 Tage | 11989 | 10259 files changed, 1086737 insertions(+), 460298 deletions(-) |
2.6.31 | 29111 |
12046317 (10778469) |
92 Tage | 10883 | 8938 files changed, 914135 insertions(+), 504980 deletions(-) |
2.6.32 | 30485 |
12610030 (11242136) |
84 Tage | 10998 |
10315 files changed, 1092987 insertions(+), 530428 deletions(-) |
2.6.33 | 31565 |
12990041 (11564768) |
83 Tage | 10871 |
9673 files changed, 859458 insertions(+), 479452 deletions(-) |
2.6.34 | 32297 |
13320934 (11861616) |
82 Tage | 9443 |
11154 files changed, 609854 insertions(+), 278958 deletions(-) |
2.6.35 | 33316 |
13545604 (12250679) |
77 Tage | 9801 |
8889 files changed, 691927 insertions(+), 467252 deletions(-) |
2.6.36 | 34301 |
13499457 (12539782) |
80 Tage | 9501 |
9202 files changed, 582139 insertions(+), 628362 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) |