Linux 2.6.0 veröffentlicht
Wie angekündigt, wurde Linux 2.6.0 noch vor Weihnachten, nämlich heute Morgen um 5:14 Uhr unserer Zeit, veröffentlicht. Knapp drei Jahre nach der Freigabe des Kernels 2.4.0 gibt es zahlreiche Verbesserungen, sodass man zwischenzeitlich sogar überlegt hat, diesen Kernel 3.0 zu taufen.
Der Patch von Version 2.6.0-test11 umfasst komprimiert lediglich 11 KB und besteht nahezu ausschließlich aus einzeiligen Bugfixes, da man nicht riskieren wollte, in letzter Minute noch Fehler in den Kernel einzubauen. Linus Torvalds beurteilt den derzeitigen Zustand des Kernels in der unten zitierten Ankündigungs-E-Mail als "ziemlich gut", der neue Maintainer des 2.6-Kernels, Andrew Morton, äußerte sich gar wie folgt:
The 2.6.0 kernel has undergone several weeks of stabilization and we expect it to run well on server-class machines.
Wir werden versuchen, die Verbesserungen an Linux 2.6 kurz zusammenzufassen. Zum einen gibt es Unterstützung für mehrere neue CPU-Architekturen wie AMD64, IA64, SParc64, Hitachi H8/300, NEC v850 und Motorola m68k, welche zwar teilweise auch schon in den späteren Linux 2.4 Versionen vorhanden war, in Linux 2.6 aber angeblich besser implementiert wurde. Zudem werden die CPU-Ressourcen durch einen neuen Scheduler deutlich besser verteilt, sodass es z.B. nicht mehr zu Aussetzern des Audio-Players kommt, wenn man gleichzeitig einen neuen Kernel kompiliert oder ein großes Archiv entpackt. Auch Hyper Threading, dessen Unterstützung in Linux 2.4 nicht optimal war, soll jetzt wesentlich besser eingesetzt werden.
Ein weiteres, sich direkt für den Endanwender positiv auswirkendes Feature ist die DMA-Unterstützung für CD- und DVD-Recorder. Es mag seltsam klingen, aber bisher waren diese Geräte unter Linux nur per SCSI-Emulation anzusprechen, sodass es oft zu Performance-Einbrüchen kam. Desweiteren wurde die Advanced Linux Sound Architecture (ALSA) in Linux 2.6 integriert, welche im Gegensatz zum bisher verwendeten Open Sound System selbst für ungeschulte Ohren eine deutlich bessere Sound-Qualität und zudem mehr Features und Soundkarten-Unterstützung bietet. Ein weiteres Features, von dem der Endanwender direkt profitiert, sollte die robustere ACPI-Unterstützung sein, welche in Linux 2.4 auf einigen Systemen gar nicht funktioniert hat. Zudem kann Linux 2.6 mit den AMD- und Intel-Techniken zum dynamischen Heruntertakten der CPU, Power Now und Speedstep, umgehen.
Verbesserungen, welche der durchschnittliche Anwender nicht sofort wahrnehmen wird, die aber mindestens genauso wichtig wie die bisher aufgezählten sind, umfassen unter anderem die Unterstützung der neuen Thread-Bibliothek NPTL, welche das Verwalten von Prozessen und Threads beschleunigt, ein neues auf hohen Datendurchsatz optimiertes Input/Output-System, eine deutlich verbesserte Skalierbarkeit für Highend-Server in den verschiedensten Bereichen, einen schnelleren TCP-Stack sowie komplette IPv6-Unterstützung. Wer sich genauer informieren will, sollte sich das Dokument The Wonderful World of Linux 2.6 auf jeden Fall durchlesen.
"The beaver is out of detox" - Anon
This should not be a big surprise to anybody on the list any more, since
we've been building up to it for a long time now, and for the last few
weeks I haven't accepted any patches except for what amounts to fairly
obvious one-liners.
Anyway, 2.6.0 is out there now, and the patch from -test11 is a swelte
11kB in size. It's not the totally empty patch I was hoping for, but
judging by the bugs I worked on personally, things are looking pretty
good.
To give you an example, one of the nastier bugs that we chased for the
last five weeks was a bug that could only be reproduced reliably on a
16- or 32-way system, and only when the system had flaky disks. Putting in
known-good disks made the problem disappear. Similarly, compiling the
kernel with another compiler made the problem disappear.
It turned out to be a really subtle bug wrt SMP ordering and stack
allocation, and lots of thanks to Ram Pai for gathering all the
information that eventually led to it being fixed. The fix was a one-liner
and a big comment - but my point is that the quality of bugs has been
pretty high lately, and we feel that we're in pretty good shape.
Andrew has written up some caveats and pointers to information about 2.4.x
vs 2.6.x changes, and I'll let him post that. Some known issues were not
considered to be release-critical and a number of them have pending fixes
in the -mm queue. Generally they just didn't have the kind of verification
yet where I was willing to take them in order to make sure a fair 2.6.0
release.
NOTE! I'll continue to keep track of the 2.6 BK tree until we're closer to
the time when we literally split it for 2.7.x, because both Andrew and I
are pretty comfortable with our respective toolchains. But Andrew is the
stable tree maintainer, so everything should be approved by him at this
point. Think of the -mm tree as the staging area, and mine as a release
tree. We'll work together, but Andrew is boss.
(BK merging will have to go through some approval format, we'll see how
that works out exactly).
Linus