Linux Kernel 3.19: Mehr Leistung dank HSA für AMDs APU Kaveri

Ferdinand Thommes
33 Kommentare
Linux Kernel 3.19: Mehr Leistung dank HSA für AMDs APU Kaveri
Bild: Stephen Woods | CC BY 2.0

Linus Torvalds hat Kernel 3.19 freigegeben. Verbesserungen erfuhr unter anderem die Zusammenarbeit von CPU und GPU in AMD-APUs im Rahmen der von AMD entwickelten Heterogeneous Queuing Technik . Die Ansteuerung von 4K-Monitoren ist ein weiteres Feld, in dem Verbesserungen einflossen.

Für Prozessoren mit einem Kaveri-Kern besteht durch den Treiber amdkfd in Linux jetzt erstmals die Möglichkeit, Heterogeneous Queuing (HQ) einzusetzen. Durch diese Technik, die Teil der Heterogeneous System Architecture (HSA) ist, können CPU und GPU auf einem Die besser zusammenarbeiten und Aufgaben an die jeweils passende Komponente delegieren. Die Anwendungen agieren aber nicht direkt mit dem Treiber im Kernel, sondern greifen auf eine Userspace-Bibliothek namens HSA-Runtime zu, die erst kürzlich von der HSA Foundation als Open Source deklariert wurde.

Weitere Treiber

Weitere Änderungen gab es bei den Grafiktreibern. Während bei Intel-GPUs nun ansatzweise der Skylake-Grafikprozessor unterstützt wird, wurden für Radeon Grundlagen für eine bessere Lüftersteuerung bei neueren GPUs von AMD gelegt. Auch im Bereich Monitore flossen neue Entwicklungen ein. So wurde die Ansteuerung von 4K-Displays sowie die Handhabung von Monitorausgängen in Docking-Stationen von Notebooks verbessert. Dabei wird nun DisplayID, der Nachfolger von EDID, in Version 1.3 unterstützt. DisplayID gibt Informationen über den jeweiligen Monitor an das System weiter. Davon profitiert aber nicht nur der Kernel, auch X11 und Wayland werden dadurch in die Lage versetzt, besser mit 4K-Monitoren und Dockingstations umzugehen, wie Grafik-Guru Keith Packard in einem Papier erläutert.

Eine weitere Technik namens Atomic Mode-Setting hält erstmals Einzug in den Kernel und soll für flimmerfreie Umschaltung bei Konfigurationsänderungen von Monitoren sorgen, indem die Änderungen im Stil atomarer Updates vorab getestet und dann in einem Schwung umgesetzt werden. Passt die Konfiguration nicht, läuft der Monitor mit den bisherigen Einstellungen weiter. Zu Atomic Mode-Setting wird es eine Benutzerschnittstelle geben, die aber noch nicht einsatzbereit ist. Zudem werden mit den nächsten Kernel-Versionen neben dem bereits angepassten Adreno-Grafiktreiber von Qualcomm jeweils weitere Treiber folgen. So wird etwa bei Intel bereits an der Umsetzung gearbeitet. Bei den weiteren zahlreichen in 3.19 aufgenommenen Treibern werden auch Chromebooks mit neuen Treibern für die dort häufig anzutreffenden Elantech Touchpads und -screens bedacht.

Storage und Dateisysteme

Hier stehen hauptsächlich Fehlerbereinigungen im Vordergrund. Lediglich Btrfs kann neue Funktionalität aufweisen. Diese betreffen die in das Dateisystem integrierten RAID-5/6-Funktionen. Hier lassen sich künftig Datenträger von Btrfs-Volumes austauschen. Zudem wurde ein Integritätscheck mit automatischer Reparaturfunktion integriert. Insgesamt ist die Raid-Funktion von Btrfs noch recht experimentell und sollte nicht produktiv eingesetzt werden. Außerdem reichte Btrfs-Chefentwickler Chris Mason eine ganze Reihe an Patches ein, die er von anderen Entwicklern erhielt.

Aufmerksamkeit erfuhren auch SSD-Laufwerke, die über PCIe angeschlossen sind. Dazu wurde der NVME-Treiber auf den mit Kernel 3.13 eingeführten Multi-Queue Block IO Queueing Mechanism (blk-mq) portiert. Ein Beispiel für die Langzeitpflege von Hardware ist die Integration eines Treibers für SCSI-Controller von Karten, die längst aus dem regulären Handel verschwunden sind, wie etwa WD7193 oder WD7197. Ein weiterer Treiber für den SCSI-Chip am53c974 wurde neu aufgelegt und von zahlreichen Fehlern befreit. Karten, die auf diesen Chip setzen, wie etwa die Tekram DC-390T, sind zwar auch nicht mehr im Handel, der Chip wird jedoch beispielsweise in der Virtualisierung bei Qemu emuliert.

Netzwerk

Auch das Netzwerk-Subsystem ging bei Kernel 3.19 nicht leer aus. Mit der seit mehreren Kernel-Versionen in der Umsetzung befindlichen Umstellung der Infrastruktur können Treiber nun Switching- und Routing-Aufgaben an dafür geeignete Hardware-Komponenten abgeben. Langfristig soll Linux damit auch auf in Rechenzentren genutzten Switches lauffähig sein. Bisher liegt allerdings lediglich ein Referenztreiber vor.

Ausblick

Auch Kernel 3.20, der unter Umständen auch als 4.0 erscheint, bringt wichtige Neuerungen. So wird mit ziemlicher Sicherheit Kernel Live Patching (KLP) Einzug in den Kernel halten. Damit lassen sich ein Großteil der Patches für einen Kernel einspielen und aktivieren, ohne den Kernel und damit den Rechner neu zu starten. Die Vorarbeit dazu hatten Red Hat mit kpatch und Suse mit kGkraft gelegt. Zudem soll die Lüftersteuerung bei Grafikkarten mit Southern-Island-Chips sinnvoll nutzbar werden.

Wie immer wird die Webseite Kernelnewbies im Laufe des Tages die gesamten Änderungen von Kernel 3.19 verständlich aufbereiten.

25 Jahre ComputerBase!
Im Podcast erinnern sich Frank, Steffen und Jan daran, wie im Jahr 1999 alles begann.