Kernel-Log: Erste Vorabversion von Linux 3.1
Die in knapp zwei Monaten erwartete Kernel-Version bringt Optimierungen für die Virtualisierung, Bad-Blocks-Management im Software-RAID-Code und einen ausgebauten Nouveau-Treiber für Nvidias Fermi-Grafikchips mit.
Linus Torvalds hat die erste Vorabversion von Linux 3.1 veröffentlicht [1] und dabei erwähnt, diese Version werden ein "ziemlich normales Release" . Damit hat er 17 Tage nach der Freigabe von Linux 3.0 [2] das Merge Window [3] der Ende September oder Anfang Oktober erwarteten Version geschlossen. Die erste Phase im Entwicklungszyklus [4] war damit 3 Tage länger als gewohnt. Das war Torvalds' Tauchurlaub auf Hawaii geschuldet, in dem er seit einigen Tagen weilt; Impressionen liefert er über Google Plus [5].
Nun beginnt die Stabilisierungsphase [6], in der Torvalds und seine Mitstreiter vorwiegend Fehler beseitigen und normalerweise keine größeren Änderungen mehr integrieren; die größten Neuerungen von Linux 3.1 sind daher bereits jetzt absehbar. So wird der Code für Software-RAIDs bei einigen RAID-Leveln jetzt mit Medien umgehen können, die defekte Blöcke aufweisen.
Einen ganzen Stoß Verbesserungen gab es im Bereich Virtualisierung. KVM etwa bietet jetzt grundlegende Funktionen, um auch auf Intel-Prozessoren Gastsysteme aus einem anderen Gastsystem heraus zu starten (Nested Virtualization). Der XEN-Dom0-Code unterstützt nun die Textausgabe über die VGA-Console oder das Weiterreichen von PCI-Geräten an Gäste. Zero-Copy-Support für macvtap und vhost-net soll die Netzwerkperformance beim Virtualisieren verbessern.
Wie immer gab es hunderte von Änderungen, welche die Hardware-Unterstützung verbessern; neu ist etwa der WLAN-Treiber rtl8192de für Realteks PCIe-WLAN-Chips RTL8192DE und RTL8188DE. Der Nouveau-Treiber erzeugt sich jetzt selbst eine Firmware für Fermi-Grafikchips, die bei GeForce-Hardware der Serien 400 und 500 zum Einsatz kommt; in Kombination mit aktuellen Mesa-3D- und X.org-Treibern lassen sich dadurch einige 3D-Funktionen dieser Grafikchips nutzen.
Das im Frühjahr vorgestellte [7] "Native KVM Tool" musste draußen bleiben, folgt aber vielleicht bei Linux 3.2; das ebenfalls im Userspace agierende Diagnose-Werkzeug Cpupower [8] schaffte hingegen die Aufnahme. Über Hintergründe zu diesen und anderen Änderungen wird das Kernel-Log in den kommenden Wochen im Rahmen einer "Was 3.1 bringt" genannten Mini-Serie berichten.
Versionsstatus, Staccato
Kernel-Versionsstatus
Bereits vor einigen Tagen hat Andi Kleen den Longterm-Kernel 2.6.35.14 [9] veröffentlicht. Wenig später folgte Greg Kroah-Hartman mit dem Stable-Kernel 2.6.39.4 und erklärte bei der Freigabe [10], dies werde die letzte Version auf Basis von Linux 2.6.39 sein; alle Anwender sollten auf Linux 3.0 wechseln. Auf die Frage, ob 2.6.39 ein Longterm-Kernel werde, antwortete [11] Kroah-Hartman, es gäbe keine solchen Pläne. Er sehe auch keine Gründe, warum gerade 2.6.39 zu einem Longterm-Kernel werden solle, schließlich habe der Versionssprung auf 3.0 keine konzeptionell anderen Änderungen gebracht als 2.6.39 zuvor.
Zum Ende der ersten Augustwoche folgte mit Linux 3.0.1 [12] der ersten Stable-Kernel auf Basis von Linux 3.0. Er bringt rund hundert Änderungen; die Freigabe-Mail enthielt die übliche Aufforderung, die zum Wechsel auf die neue Version drängt, ohne Gründe dafür zu erläutern. In Kürze sollten die Longterm-Kernel 2.6.32.44 [13] und 2.6.33.17 [14] erscheinen.
Kernel-Log-Staccato
Kernel
- Die Entwickler der Echtzeit-Erweiterungen für Linux [15] arbeiten weiter an der Stabilisierung ihrer Realtime/RT-Patches für Linux 3.0 [16]; mit der siebten Version [17] kehrte kürzlich die Unterstützung für Highmen auf i386/x86-32-Prozessoren zurück, die achte brachte einige Korrekturen [18].
- GlusterFS-Entwickler Jeff Darcy zählt in seinem Blog einige Posix-Funktionen auf, die FUSE (File System in Userspace) nicht unterstützt [19].
- Stephen Rothwell hat den Git-Zweig von Linux-Next umorganisiert [20], wodurch dieser nur mehr die Versionen aus den der letzten drei Monate enthält; ältere finden sich von nun an im Zweig "linux-next-history".
- Mit dem Versionssprung auf Linux 3.0 schien es, als würde es den Kernel 2.6.40 nicht geben; Anwender von Fedora 15 erhalten aber seit einigen Tagen einen solchen im Rahmen der regulären Aktualisierungen angeliefert. Bei diesem Kernel handelt es sich um Linux 3.0, dem die Fedora-Entwickler allerdings die Version 2.6.40 gaben [21] – das soll Probleme mit Programmen vermeiden, die eine führende "3" in der Versionsnummer verwirrt.
- Luis R. Rodriguez hat "Compat-Wireless [22] for Linux 3.0" veröffentlicht [23], mit dem sich die WLAN-Treiber von Linux 3.0 unter älteren Kernel-Versionen nutzen lassen.
Unterstützung für Grafikhardware
- Keith Packard hat die zweite Vorabversion des X-Server 1.11 von X.org freigegeben [24]; die finale Version ist für den 19. August geplant.
- Rudolf Polzer hat die Verfügbarkeit von S2TC [25] (Super Simple Texture Compression) bekannt gegeben [26]. Es kann als Ersatz für die Bibliothek libtxc_dxtn dienen, die Unterstützung für den Textur-Kompressionsalgorithmus S3TC [27] bietet. Die Bibliothek liefern viele Distribution nicht mit, weil sie wahrscheinlich Patente verletzen; S2TC umgeht das Problem, indem es bestimmte S3TC-Funktionen nicht implementiert oder anders umsetzt, was jedoch zu einer schlechteren Bildqualität führt.
- AMD hat kürzlich Version 11.7 seiner proprietären Linux-Grafiktreiber zum Download [28] freigegeben.
Mehr Staccato
Mehr Kernel-Log-Staccato
Kernel-Umland ("Plumbing layer"), Userland-Treiber, Entwicklertools, ...
- Douglas Gilbert hat die Version 1.32 der sg3_utils veröffentlicht [29], mit der sich SCSI- und ATA-Kommandos an Geräte schicken lassen.
- Karel Zak hat die erste Vorabversion der Werkzeugsammlung util-linux 2.20 veröffentlicht [30]. Sie enthält unter anderem ein komplett neue geschriebenes [31] Dmesg, das Inhalte filtert oder Warn-Level-Nummern in verständliche Bezeichnungen übersetzt. Das Programm Mountpoint ist neu dabei und Lsblk liefert mehr Informationen.
- Die Flashrom-Entwickler haben die Version 0.9.4 [32] ihres quelloffenen Programms veröffentlicht, das Flash-Chips ausliest, den Inhalt verifiziert oder diese neu beschriebt – etwa um das BIOS zu aktualisieren. Die neue Version bringt ein verbesserte Bedienoberfläche mit und soll Dutzende weiterer Flash-Chips, Chipsätze und Mainboards unterstützen.
- Intel-Entwickler Matt Fleming hat efilinux 0.8 veröffentlicht [33]. Er beschreibt es als Referenz-Implementierungen eines EFI-Boot-Loaders, der keine besondere Funktionen hat und bislang nur einen Linux-Kernel laden könne.
- Matthew Garrett hat sich weiter mit dem (U)EFI/(Unified) Extensible Firmware Interface beschäftigt und beschreibt in "Further adventures in EFI booting [34]", wie er mit Tricks EFI-Boot-Images erstellen konnte, die auf USB-Stick oder DVDs transferiert auf neuen und alten Macs oder aktuellen x86-Systemen arbeiten sollen.
- Johannes Berg hat die Version 3.0 des WLAN-Konfigurationswerkzeugs iw freigegeben [35]; die Versionsnummer des Programms soll von nun an jener der Kernel-Version folgen [36], dessen Nl80211-API es implementiert.
- Am 27. und 28. September richten das Institut für Mikroelektronik- und Mechatronik-Systeme (IMMS) und das Open Source Automation Development Lab (OSADL) in Ilmenau einen Workshop zu Embedded Linux [37] aus.
- Die Entwickler des Projekts Hplip [38] (Hewlett-Packard's Linux Imaging and Printing Software) haben die Version 3.11.7 der gleichnamigen Treiber für Drucker und Multifunktionsgeräte von HP veröffentlicht. Die Release Notes [39] erwähnen als eine der Neuheiten die Unterstützung für die DeskJet-3050A-J611-Serie und drei LaserJet-Modelle.
- Die Entwickler von Libguestfs [40] haben die Version 1.12 ihrer Software freigegeben, die den Zugriff auf Datenträger virtueller Maschinen erleichtert. Laut den Release Notes [41] kann das Programm virt-resize nun auch mit Btrfs umgehen und die Java-Unterstützung [42] der Bibliothek sei jetzt komplett.
LKML-Diskussionen
- In fast jedem Merge-Window hält Linus Torvalds andere Entwickler dazu an, nur Git-Pull-Requests [43] für Git-Zweige zu schicken, die Tests durchlaufen haben; sie sollen zudem auf einem einigermaßen stabilen Entwicklungsstand von Linux basieren und nicht etwa auf einem gerade aktuellen Zwischenstand mitten im Merge Window. In diesem Entwicklungszyklus [44] hat er auf diese [45] und andere [46] Aspekte rund um den Patch-Austausch mit Git noch häufiger als sonst hingewiesen als sonst; er drohte sogar [47], Pull-Requests mit unsauber aussehenden Git-Zweigen im nächsten Merge Window zu ignorieren.
- Mel Gorman hat eine MMTests [48] genannte Test-Suite zusammengestellt, die Benchmarks und Skripte zum Testen der Geschwindigkeit des Speicher-Subsystems (Memory Management/MM) enthält.
- Google-Entwickler David Rientjes hat einige Messergebnisse [49] veröffentlicht, bei denen der Speicherbröckchen austeilende SLAB-Allocator deutlich besser abschneidet als der neuere SLUB-Allocator,der für 3.1 gerade einige Optimierungen erhielt; die Entwickler diskutierten daraufhin über weitere Verbesserungen, um das Geschwindigkeitsdefinizit zu mindern oder zu beseitigen.
- Liu Yuan hat vhost-blk zur Diskussion [50] gestellt – ein Virtio-Block-Device-Accelerator, der die Performance beim Lesen und Schreiben von Datenträgern aus KVM-Gästen zu verbessern versucht. Dazu nutzt es einige schon bei vhost-net genannten Tricks, die den Overhead beim Datenaustausch reduzieren.
Weitere Hintergründe und Informationen rund um Entwicklungen im Linux-Kernel und dessen Umfeld finden sich in den vorangegangenen Kernel-Logs [51] auf heise open [52] und in c't [53]. Neue Ausgaben des Kernel-Logs [54] werden auf den Identi.ca [55]- und Twitter [56]-Konten "@kernellog" erwähnt; die englischen, bei den Kollegen von "The H [57]" erscheinenden Übersetzungen auf den Identi.ca [58]- und Twitter [59]-Konten "@kernellog2". Gelegentlich zwitschert der Autor des Kernel-Logs unabhängig davon über einige Kernel-Log-Themen bei Identi.ca [60] und Twitter [61] als "@kernellogauthor". (thl [62]). (thl [63])
URL dieses Artikels:
https://www.heise.de/-1319235
Links in diesem Artikel:
[1] http://thread.gmane.org/gmane.linux.kernel/1176395
[2] https://www.heise.de/hintergrund/Die-Neuerungen-von-Linux-3-0-1279228.html
[3] https://www.heise.de/glossar/entry/Entwicklungszyklus-des-Linux-Kernels-397915.html
[4] https://www.heise.de/glossar/entry/Entwicklungszyklus-des-Linux-Kernels-397915.html
[5] https://plus.google.com/102150693225130002912/posts
[6] https://www.heise.de/glossar/entry/Entwicklungszyklus-des-Linux-Kernels-397915.html
[7] https://www.heise.de/hintergrund/Kernel-Log-Natives-KVM-Tool-lauter-neue-Kernel-1229562.html
[8] https://www.heise.de/hintergrund/Kernel-Log-Entwicklung-von-2-6-39-angelaufen-1212541.html
[9] http://thread.gmane.org/gmane.linux.kernel.stable/15361
[10] http://thread.gmane.org/gmane.linux.kernel.stable/15671
[11] http://thread.gmane.org/gmane.linux.kernel/1175031/focus%3D1175203
[12] http://thread.gmane.org/gmane.linux.kernel.stable/15809
[13] http://thread.gmane.org/gmane.linux.kernel/1176004
[14] http://thread.gmane.org/gmane.linux.kernel.stable/15868
[15] https://rt.wiki.kernel.org/
[16] https://www.heise.de/news/Echtzeit-Patches-fuer-den-Linux-Kernel-machen-grossen-Schritt-vorwaerts-1282400.html
[17] http://thread.gmane.org/gmane.linux.kernel/1175404
[18] http://thread.gmane.org/gmane.linux.kernel/1175970
[19] http://cloudfs.org/2011/08/posix-limitations-in-fuse/
[20] http://thread.gmane.org/gmane.linux.kernel.next/17980
[21] https://plus.google.com/106327083461132854143/posts/SbnL3KaVRtM
[22] http://wireless.kernel.org/en/users/Download/stable/#Stable_compat-wireless_releases
[23] http://thread.gmane.org/gmane.linux.kernel.wireless.general/74133
[24] http://lists.freedesktop.org/archives/xorg-announce/2011-August/001720.html
[25] https://github.com/divVerent/s2tc/wiki
[26] http://thread.gmane.org/gmane.comp.video.mesa3d.devel/28729
[27] http://de.wikipedia.org/wiki/S3_Texture_Compression
[28] http://support.amd.com/us/gpudownload/Pages/index.aspx
[29] http://thread.gmane.org/gmane.linux.scsi/69376
[30] http://thread.gmane.org/gmane.linux.file-systems/56267
[31] http://karelzak.blogspot.com/2011/07/dmesg1-changes-for-util-linux-220.html
[32] http://www.flashrom.org/Flashrom/0.9.4
[33] http://thread.gmane.org/gmane.linux.kernel/1172645
[34] http://mjg59.dreamwidth.org/4957.html
[35] http://thread.gmane.org/gmane.linux.kernel.wireless.general/73665
[36] http://thread.gmane.org/gmane.linux.kernel.wireless.general/73665/focus%3D73666
[37] http://www.osadl.org/IMMS-Workshop-2010.html
[38] http://hplipopensource.com/
[39] http://sourceforge.net/news/?group_id=149981&id=302308
[40] http://libguestfs.org/
[41] http://libguestfs.org/RELEASE-NOTES.txt
[42] http://libguestfs.org/guestfs-java.3.html
[43] http://www.heise.de/glossar/entry/Git-Pull-Request-397971.html
[44] https://www.heise.de/glossar/entry/Entwicklungszyklus-des-Linux-Kernels-397915.html
[45] http://thread.gmane.org/gmane.linux.kernel/1173781/focus%3D1173804
[46] http://thread.gmane.org/gmane.linux.kernel.lsm/13992/focus%3D13993
[47] http://thread.gmane.org/gmane.linux.kernel/1175525/focus%3D1175627
[48] http://thread.gmane.org/gmane.linux.kernel.mm/66616
[49] http://thread.gmane.org/gmane.linux.kernel.mm/66433/focus%3D66500
[50] http://thread.gmane.org/gmane.comp.emulators.kvm.devel/76893
[51] http://www.heise.de/open/kernel-log-3007.html
[52] http://www.heise.de/open/
[53] http://www.heise.de/suche/?q=Kernel-Log&search_submit=Suchen&rm=search&channel=ct&mediatype=ct_2
[54] http://www.heise.de/glossar/entry/Kernel-Log-397909.html
[55] http://identi.ca/kernellog
[56] http://twitter.com/kernellog
[57] http://www.h-online.com
[58] http://identi.ca/kernellog2
[59] http://twitter.com/kernellog2
[60] http://identi.ca/kernellogauthor
[61] http://twitter.com/kernellogauthor
[62] mailto:thl@ct.de
[63] mailto:thl@ct.de
Copyright © 2011 Heise Medien