Die Neuerungen von Linux 4.11

Trends & News | Kernel-Log

Das in der zweiten Aprilhälfte erwartete Linux 4.11 kann die Akkulaufzeit steigern. Die nächste Kernel-Version unterstützt UEFI Secure Boot besser und bringt Optimierungen zum Auslagern von Arbeitsspeicher (Swappen). Außerdem wurden eine Reihe von Analyseprogrammen verbessert.

Bei der Entwicklung von Linux 4.11 läuft bislang alles wie gewohnt: Sonntagnacht hat Linus Torvalds die dritte Vorabversion freigegeben, am Sonntag den 26. März sollte dann mit 4.11-rc4 die vierte folgen. Alle wesentlichen Änderungen für 4.11 haben Torvalds und sein Team aber schon vor Wochen integriert, daher sind die Neuerungen dieser Kernel-Version bereits absehbar.

Durch eine der Änderungen zeigt Linux in den per dmesg abrufbaren Log-Meldungen jetzt an, ob UEFI Secure Boot auf dem jeweiligen System aktiv ist. Das ist einigen Patches zu verdanken, die in ähnlicher Form schon länger in den Kerneln großer Linux-Distributionen stecken (1, 2, 3, 4). Letztere enthalten zumeist auch einige Änderungen, die zu Einschränkungen im Betrieb führen und beispielsweise das Laden unsignierter Kernel-Module unterbinden. Es gibt Bestrebungen, auch diese Patches in den offiziellen Linux-Kernel zu integrieren; noch ist aber noch ungewiss, ob das passieren wird.

Vergrößern Linux 4.11 enthält Grundlagen, durch die 4.12 auf x86-64-Systemen bis zu 4096 Terabyte Speicher ansprechen können soll – "genug für jeden", scherzt der Entwickler in Anspielung auf das vermeintliche Bill-Gates-Zitat "640 kB sollten eigentlich genug für jeden sein."Bild: LKML-Post auf mail-archive.com

Die Kernel-Entwickler haben erste Grundlagen gelegt, mit denen Linux bald auf x86-64-Systemen bis zu 4 Petabyte (4096 Terabyte) Arbeitsspeicher adressieren kann. Die auf dem jetzt gelegten Fundament aufbauenden Patches zur Unterstützung von so viel RAM sollen bei 4.12 folgen, wenn alles gut geht. Bislang ist auf x86-64-Systemen bei 64 Terabyte Arbeitsspeicher Schluss; eine Grenze, an die einige Hardware-Hersteller mit ihren Servern gerade stoßen.

Einige Umbauten am Speichermanagement-Code versprechen die Swap-Performance leistungsstarker Systeme zu verbessern (u.a. 1, 2, 3, 4, 5). Die Änderungen steigern vor allem die Skalierbarkeit und wurden von Intel-Mitarbeitern speziell für Mehrprozessor-Systeme mit besonders schnellen Datenträgern entwickelt – also NUMA-Server, in denen PCIe-SSDs oder persistente Memory/NVDIMMs stecken. Solche Datenträger haben einen viel höheren Datendurchsatz als Festplatten; zugleich sind die Zugriffslatenzen um Größenordnungen niedriger. Der Performance-Einbruch durch Swapping ist dadurch längst nicht so krass, wie viele Anwender es vom Auslagern von Arbeitsspeicher auf Festplatten kennen.

Server-Betreiber haben deshalb wieder ein gesteigertes Interesse an Swapping entwickelt. Ein Grund dafür auch: Bei Cloud-Servern ist es beispielsweise üblich, den auf einem Host laufenden Instanzen (VMs, Containern, …) mehr Arbeitsspeicher zuzuteilen, als im jeweiligen Server steckt. Solches Memory Overcommitment drängt sich aus Effizienzgründen geradezu auf, weil längst nicht jede Instanz den ihr zugeteilten Arbeitsspeicher komplett nutzt. Falls der im Cloud-Server verbaute Arbeitsspeicher dann aber doch mal knapp wird, kann Swapping mit schnellen Datenträgern länger sicherstellen, dass der Server seine Aufgaben weiterhin ohne größere Performance-Einbußen wahrnimmt. Außerdem können so im Swap-Space auch Speicherinhalte landen, den Instanzen ohnehin nur selten ansprechen.

Schrittweise aktualisierter Artikel

Dieser Text wird in den nächsten Wochen mehrfach erweitert, um nach und nach die wesentlichen Änderungen von Linux 4.11 zu beschreiben. Vor die Abschnitte mit bislang beschriebenen Neuheiten werden wir noch Absätze stellen, die Neuerungen bei Grafiktreibern, Netzwerkfunktionen und Sicherheit beschreiben. Details zur Versionshistorie des Artikels finden Sie am Artikelende.

Manche per PCI Express (PCIe) angebundene Hardware kann mit dem neuen Kernel tiefer schlafen, was die Leistungsaufnahme reduziert und so die Akkulaufzeit mobiler Geräte steigert. Dieser Vorteil ist dem Support für "ASPM L1 Substates" zu verdanken, der bei PCIe 3.1 spezifiziert wurde; manche Chips implementieren die Stromspartechnik bereits.

Linux 4.11 beherrscht Intels "Turbo Boost Max Technology 3.0" auch bei Xeon-Prozessoren der Broadwell-Generation, bei denen sich der Prozessor nicht selbst per HWP (Hardware-managed P-states) um das Hoch- und Heruntertakten kümmert, weil diese Funktion im BIOS-Setup deaktiviert wurde. Für andere Systeme ist das nicht relevant, denn in der Regel ist HWP standardmäßig aktiv; dort reicht daher die bei Linux 4.10 eingeführte Unterstützung für Intels neueste Turbo-Technik, durch die ein Prozessorkern höher takten kann als die anderen.

Vergrößern Beispielausgabe von "perf ftrace"Bild: Commit auf git.kernel.org

An Performance-Monitoring mit der Werkzeugsammlung perf interessierte Anwender sollten einen Blick in die wichtigsten Änderungen am Perf-Subsystem werfen, denn dort gab es wieder Dutzende von Verbesserungen. Darunter beispielsweise Unterstützung für Intels neue Prozessorgeneration Kaby Lake. Außerdem haben die Entwickler den Perf-Support für AMD-CPUs der Zen-Familie verbessert, zu denen der jüngst eingeführte Ryzen-Prozessor zählt. Zu den im Rahmen des Linux-Kernels entwickelten Perf-Werkzeugen stieß perf ftrace; dabei handelt es sich um ein derzeit eher rudimentäres Werkzeug zur Ablaufverfolgung, mit dem sich einige Funktionen der Kernel-eigenen Function Tracers (Ftrace) jetzt auch via Perf nutzen lassen.

Das dem Kernel beiliegende Analyseprogramm turbostat wurde auf den aktuellen Stand gehoben. Das Werkzeug zeigt an, wie lange moderne Intel-Prozessoren und ihre Kerne in welcher Betriebsart verbringen; mit dem Tool kann man so feststellen, mit welcher Taktfrequenz die verschiedenen Teile des Prozessors laufen oder wie lange welche Baugruppe wie tief schläft. Durch die Umbauten ist das Programm mächtiger als zuvor, unterstützt mehr Prozessoren und kennt eine Reihe neuer Kommandozeilenoptionen.

Auch analyze_suspend.py wurde auf eine deutlich neuere Version gehoben (1, 2, 3, 4). Dieses im Rahmen des Kernels entwickelte Analyseprogramm untersucht den Wechsel in und aus dem Bereitschaftsmodus. Damit lassen sich beispielsweise Treiber aufspüren, die Suspend oder Resume verlangsamen.

Es gab auch Anpassung, durch die man das Verhalten des zum Hoch- und Heruntertakten moderner Intel-Prozessoren zuständigen Treibers intel-pstate via Sysfs beeinflussen lässt. Außerdem stieß ein Userspace-Werkzeug zum Kernel, das die Arbeit des Treibers analysiert.

Bei Angabe des Boot-Parameters vgacon.scrollback_persistent=1 kann man auf einer Textkonsole (Virtual Terminal/VT) nach oben hinausgelaufenen Text auch dann noch per "Shift-BildHoch" abrufen, nachdem man vorübergehend auf eine andere Konsole gewechselt war. Bislang gelang das nur bei angeschalteter Kernel-Konfigurationsoption VGACON_SOFT_SCROLLBACK_PERSISTENT, was bei manchen Distributionskerneln nicht der Fall war. Diese Option wurde durch VGACON_SOFT_SCROLLBACK_PERSISTENT_ENABLE_BY_DEFAULT ersetzt; wenn sie gesetzt ist, kann man sich die Angabe des erwähnten Boot-Parameters sparen.

Vergrößern Bei LZ4 Fast lässt sich das Verhältnis zwischen Kompressionsaufwand und Geschwindigkeit feiner festlegen.Bild: Commit bei git.kernel.org

Die Kernel-Entwickler haben den schon länger nicht mehr aktualisierten LZ4-Code auf den Stand des im Herbst freigegebenen LZ4 1.7.3 gehoben. Das beseitigt eine Reihe von Fehlern und verspricht Performance-Verbesserungen, wenn Kernel-Code mit LZ4 packt oder entpackt, wie es beispielsweise beim Einsatz von Pstore oder Squashfs der Fall sein kann. Außerdem unterstützt der Kernel dadurch jetzt den Kompressionsalgorithmus "LZ4 fast", bei dem sich das Verhältnis zwischen Aufwand und Geschwindigkeit beim Komprimieren feiner festlegen lässt. Dem Update waren einige bei LWN.net erläuterte Diskussionen vorausgegangen: Die Kernel-Entwickler konnten nicht einfach auf eine neue Version wechseln, weil sie Änderungen am Code vorgenommen hatten, die nicht an die LZ4-Entwickler zurückgeflossen waren; zugleich hatten die Kernel-Entwickler aber auch vergessen, einige zwischenzeitlich in LZ4 vorgenommene Sicherheitskorrekturen in Linux zu integrieren.

Die Linux-Quellen sollten jetzt etwas flotter kompilieren. Das ist Umbauten an den Include-Dateien des Prozess-Scheduler und deren Einbindung zu verdanken, die zahlreiche Dateien betreffen.

Die Umbauten am KVM-Code enthalten kleinere Performance-Optimierungen (1, 2).

Vergrößern Die verschiedenen Betriebsmodi von Xen.Bild: wiki.xen.org; Lars Kurth, CC-BY-SA-3.0

Unter den Patches für Xen waren Änderungen, durch die Linux jetzt als PVHv2-Gast arbeiten kann (u. a. 1, 2). Dabei handelt es sich um eine grundlegend überarbeitete Fassung des Virtualisierungsmodus, der weitgehend Paravirtualisierung nutzt, aber für Performance-kritische Funktionen wie die Speicherverwaltung die Virtualisierungsfunktionen des Prozessors zur Hilfe nimmt. Details zu dieser manchmal auch HVMLite genannten Betriebsart erläutert das Xen-Wiki. Ferner gab es Änderungen am Xenbus-Treiber, die die Performance verbessern sollen.

Vergrößern Linux 4.11 unterstützt den Banana Pi M64.Bild: banana-pi.org

Der ARM-Code unterstützt nun den Einplatinencomputer Banana Pi M64, der einen Allwinner A64 nutzt. Das ist aber nur eine von zahlreichen Änderungen, die es am Code für ARM (Core, SOC, SOC-Defconfig, SOC-Driver, SOC-DT [1, 2]) und ARM64 (Core, SOC, SOC-DT) gab. Allerlei Änderungen gab es auch am Code zur Unterstützung von M68K, MIPS, OpenRISC, PowerPC (1, 2), S390 (1, 2) und SPARC; beim Code für die vielen anderen von Linux unterstützten Prozessor-Architekturen gab es vorwiegend Detailänderungen.

Details zu weiteren Neuerungen an der Infrastruktur finden sich in den Merge-Kommentaren der Subsysteme ACPI, Cgroup, Dokumentation, Iommu, Locking, PCI, Printk, Power-Management (1, 2), Virtio/Vhost, Thermal Management, Scheduler, Timer und Tracing.


Die folgenden Absätze wurden am 6.3.17 publiziert.

Die Akkus vieler mit NVMe-SSDs ausgerüsteten Notebooks dürften unter Linux 4.11 länger durchhalten, denn das NVMe-Subsystem nutzt jetzt automatisch APST (Autonomous Power State Transitions) (1, 2). Durch diese Stromspartechnik gehen NVMe-Datenträger autark schlafen, wenn es gerade nichts zu tun gibt. Das spart oft zwischen 0,5 und 1,0 Watt – das senkt die Leerlauf-Leistungsaufnahme sparsamer Notebooks um 20 bis 30 Prozent und verlängert die Akkulaufzeit so spürbar.

Der Kernel hat APST bislang nicht aktiviert, weil sie bei manchen SSDs zu Abstürzen und Datenverlust führen kann. Nach aktuellem Kenntnisstand ist davon lediglich die Samsung SM951 betroffen. Bei dieser NVMe-SSD nutzt Linux die Stromspartechnik daher nach wie vor nicht.

Vergrößern APST führt bei der Samsung SM951 zu Problemen.Bild: Commit auf git.kernel.org

Das Abklären des Datenverlustrisikos war einer der Gründe, warum die APST-Unterstützung nicht eher eingepflegt wurde. Die Änderungen zirkulieren nämlich schon seit einem halben Jahr und werden in Wikis, Foren und anderen Stellen gelegentlich empfohlen, um die Laufzeit von Notebooks zu steigern.

Nach wie vor ungelöst sind indes Datenverlustprobleme einiger Patches, die einen moderneren Weg bei der Konfiguration der AHCI-Stromspartechnik ALPM (Aggressive Link Power Management) implementieren. Aus diesem Grund dürften die Änderungen noch eine Weile oder womöglich für immer außen vor bleiben, obwohl sie die Leistungsaufnahme von Notebooks mit SATA-Datenträgern oft signifikant reduzieren.

Über Linux 4.11 lässt sich die Verschlüsselungsfunktion von SSDs nutzen, welche die Opal Storage Specification der Trusted Computing Group (TCG) implementieren. Bei solchen Self-Encrypting Drives (SED) verschlüsselt die SSD die Daten selbst. Das kann Lebensdauer und Performance steigern, weil Mechanismen wie Wear Leveling und Trim besser greifen; außerdem entlastet es den Hauptprozessor. Bitlocker nutzt daher bei einigen der modernen Windows-Versionen die Selbstverschlüsselung mit Opal-Hilfe automatisch, wenn der Anwender die Verschlüsselungs-Software aktiviert. So konfigurierte Datenträger nennt Microsoft dann Encrypted Hard Drive (eDrive).

Vergrößern Linux unterstützt jetzt das bei selbstverschlüsselnden SSDs eingesetzte Opal.

Per Opal lässt sich die Speicherkapazität in Segmente aufteilen; diese "Speicherbänder" können unterschiedliche Schlüssel haben oder gänzlich unverschlüsselt sein. Im unverschlüsselten Bereich landet bei Boot-Datenträgern oft die ESP (EFI System Partition) samt des darin befindlichen Boot-Codes. Letzterer gibt das verschlüsselte Speicherband frei. Dazu fragt der Code ein Passwort ab oder liest einen Schlüssel von USB-Stick oder TPM. Neben der neuen Opal-Unterstützung im Linux-Kernel sind daher auch Userspace-Werkzeuge nötig, um Speicherbänder zu entsperren und Opal-SEDs anderweitig zu administrieren. Es ist ungewiss, wann Linux-Distributionen diese Werkzeuge mitbringen und idealerweise auch so integrieren, dass Anwender sich nicht mit Interna auseinandersetzen müssen.

Kernel-Log zu Linux 4.11

Am 6. März hat Linus Torvalds die erste Vorabversion von Linux 4.11 freigegeben. Damit hat er die "Merge Window" genannte Phase des Entwicklungszyklus abgeschlossen, in der er alle wesentlichen Änderungen für eine neue Kernel-Version einpflegt. Größere, erwähnenswerte Änderungen passieren danach nur noch in Ausnahmefällen. Das Kernel-Log kann daher schon jetzt einen Überblick über die wichtigsten Neuerungen des Linux-Kernels 4.11 liefern, das am 24. April oder 1. Mai erscheinen dürfte.

Beim in Linux 3.17 integrierten Multi-Queue Block IO Queueing Mechanism (Blk-Mq) können sich nun I/O-Scheduler einklinken. Solche können die gerade anstehenden Lese- und Schreiboperationen umsortieren, um die Performance zu verbessern – beispielsweise indem sie die Wege reduzieren, die Schreib-/Leseköpfe von Festplatten nehmen müssen. Solche Kopfbewegungen kosten viel Zeit, daher sind I/O-Scheduler für Festplatten deutlich wichtiger als für SSDs.

Bei der alten, von manchen Storage-Treibern nach wie vor genutzten Block-Layer-Infrastruktur kamen typischerweise I/O-Scheduler wie CFQ (Completely Fair Queuing) und Deadline zum Einsatz. Bei Blk-Mq gab es solche bislang nicht, denn es wurde vornehmlich für Storage-Controller und Datenträger mit mehreren Warteschlangen entwickelt. Solche Hardware kann im Idealfall mehrere Operationen parallel verarbeiten und dabei autark umsortieren; ein Scheduler im Kernel kann dann Overhead oder sogar kontraproduktiv sein.

Manche Storage-Treiber nutzen Blk-mq mittlerweile auch für Hardware, wo der Einsatz eines I/O-Scheduler Vorteile bietet. Die Entwickler haben daher jetzt eine Infrastruktur für solche nachgerüstet und zugleich den darauf aufbauenden Scheduler Mq-Deadline integriert (1, 2). Letzterer arbeitet ähnlich wie der klassische Deadline Scheduler der älteren Block-Layer-Infrastruktur. Bei Linux 4.12 soll eine auf Blk-Mq angepasste Variante des Budget Fair Queueing (BFQ) Storage-I/O Scheduler folgen. Er ist vor Jahren aus CFQ hervorgegangen; wurde aber grundlegend überarbeitet und soll bessere Performance liefern. Bislang baute BFQ auf der älteren Block-Layer-Infrastruktur auf; seine Entwickler wollen den Scheduler schon länger in den offiziellen Linux-Kernel einbringen, sind aber immer wieder gescheitert.

An Programmierer richtet sich der neue System-Funktionsaufruf statx(), der eine umfassendere und effizientere Abfrage von Datei- oder Verzeichniseigenschaften ermöglicht. Der neue Syscall versucht stat() und fstat() zu beerben, über die Anwendungen bislang Größe, Berechtigungen, Attribute und zahlreiche andere Informationen zu Dateisystemeinträgen abfragen. Mithilfe des bereits 1971 mit der ersten Unix-Version definierten und seitdem kaum veränderten stat() lassen sich aber einige bei modernen Systemen relevante Eigenschaften nicht abrufen. In diese Klasse fallen Informationen wie "ist die Datei verschlüsselt", "liegt die Datei remote", "welche Version hat die Datei" oder "wann wurde der Dateisystemeintrag erzeugt"; außerdem haben die Zeitstempel ein Jahr-2038-Problem. Der neue Funktionsaufruf liefert die Details und kann zudem die Performance steigern: Programme können bei der Abfrage gezielt festlegen, welche Informationen sie interessieren; Dateisysteme können sich dadurch sparen, letztlich ohnehin ignorierte Daten zusammenzusuchen und weiterzugeben.

Vergrößern Der neue Syscall "statx()".Bild: Commit auf git.kernel.org

Der Entwickler von statx() hat bereits 2010 an der Arbeit für den jetzt integrierten Syscall begonnen. Die Umsetzung hat sich aber hingezogen, weil die Arbeit zeitweise zurückgestellt wurde; außerdem haben andere Entwickler zahlreiche Wünsche geäußert, durch die die jetzt aufgenommene Implementation nur noch wenig mit dem ursprünglich geplanten Ansatz gemein hat. Damit sich statx()nutzen lässt, muss das Dateisystem den Syscall aber auch implementieren; bei Ext4 soll das schon bald der Fall sein. Details zum neuen Funktionsaufruf finden sich in einem LWN.net-Artikel und dem Commit-Kommentar zu statx().

Die Anpassungen am MD-Subsystems haben eine Dokumentation für den RAID-5-Writeback-Cache nachgerüstet, den Linux 4.10 gebracht hat. Ferner soll der RAID-1-Code durch eine neue I/O Barrier besser skalieren.

Seit Linux 4.4 kann der Kernel einen Datenträger als "Log-Device" an Software-RAIDs der Level 4, 5 und 6 koppeln, um bei Abstürzen die Datenintegrität besser zu gewährleisten. Diese Funktion lässt sich jetzt auch über den Device Mapper nutzen. Unter den anderen Änderungen am von LVM verwendenden Subsystem war ferner ein neues Metadaten-Format für das Cache-Target, das ein Herunterfahren des Cache-Verbunds beschleunigen soll.

Die Änderungen am SCSI-Subsystem (1, 2) haben den Funktionsumfang einer Reihe von Storage-Treibern erweitert. Der Treiber Megaraid-SAS spricht dadurch jetzt einige SAS3.5 Generic Megaraid Controller an. Multi-Queue Support im HyperV-Storage-Treiber verspricht bessere I/O-Performance beim Betrieb unter Microsofts Hypervisoren. Aacraid beherrscht jetzt Hotplug. Der Treiber Qla2xxx kann jetzt gleichzeitig im Initiator- und Target-Mode arbeiten. Lpfc beherrscht nun den Betrieb als NVMe Initiator oder Target. Neu dabei ist ein Treiber für FCoE (Fibre Channel over Ethernet) mit den Converged Network Adapters der 41000er-Serie von QLogic.

Einige weitere Anpassungen am Storage-Support erwähnen die Merge-Kommentare der Subsysteme Block (1, 2), MTD, Libata und SCSI Target

Die Änderungen am CIFS enthielten gleich mehrere Patches eines Microsoft-Mitarbeiters. Durch sie beherrscht das Dateisystem nun Freigaben-spezifische Verschlüsselung (per-share encryption), die das in aktuellen Samba- und Windows-Versionen unterstützte SMB3 ermöglicht (u. a. 1, 2, 3, 4). Durch einen weiteren Satz von Änderungen beherrscht CIFS nun DFS (Distributed File System) auch mit SMB 2.0 und höher.

Das Ext4-Dateisystem kennt jetzt den neuen Ioctl() "EXT4_IOC_SHUTDOWN" (1, 2). Userspace-Werkzeuge können dem Kernel darüber mitteilen, dass es beim Aushängen die noch im Schreibcache befindlichen Daten nicht wegschreiben muss, weil das Dateisystem ohnehin zerstört wird. Genau wie ein ähnlicher Funktionsaufruf von XFS ist das vornehmlich interessant, um die Handhabung von nur temporär benötigten Dateisystemen zu beschleunigen. Davon abgesehen gab es bei Ext4 vornehmlich Detailverbesserungen.

Auch beim beispielsweise bei Containern und Live-Medien eingesetzten Overlayfs gab es einige Änderungen. Durch eine von ihnen kann das Dateisystem jetzt mehrere Dateien gleichzeitig von einer der unteren in die oberste Schicht kopieren, was die Performance verbessert.

Vornehmlich Fehlerkorrekturen und kleinere Verbesserungen gab es auch beim Code der Dateisysteme Btrfs (1, 2), Ceph, F2FS, GFS2, NFS, NFSd, Orangefs, VFS (1, 2) und XFS.

Kernel-
Version
Anzahl
Dateien¹
Zeilen
Quelltext
(Ohne Doku)²
Entwick-
lungs-
zeitraum
Anzahl
Commits³
Diffstat⁴
Linux 4.4 52221 20.862.229
(19.243.827)
70 Tage 14.082 10.604 files changed,
713.754 insertions(+),
470.774 deletions(-)
Linux 4.5 52916 21.154.659
(19.489.725)
63 Tage 13.173 11.590 files changed,
1.146.355 insertions(+),
854.286 deletions(-)
Linux 4.6 53660 21.422.808
(19.724.413)
63 Tage 14.618 10.250 files changed,
606.023 insertions(+),
337.875 deletions(-)
Linux 4.7 54400 21.720.955
(19.971.725)
70 Tage 13.433 9909 files changed,
575.816 insertions(+),
277.305 deletions(-)
Linux 4.8 55503 22.071.048
(20.266.168)
70 Tage 14.552 11.483 files changed,
662.558 insertions(+),
314.177 deletions(-)
Linux 4.9 56223 22.348.356
(20.520.460)
70 Tage 17.392 11.416 files changed,
713.497 insertions(+),
436.209 deletions(-)
Linux 4.10 57202
22.839.659
(20.864.595)
70 Tage 14.249 11.913 files changed,
806.420 insertions(+),
312.218 deletions(-)
Linux 4.11-rc1 57986
23.124.796
(21.120.012)
n.n. 11.747 11.928 files changed,
528.211 insertions(+),
243.073 deletions(-)
¹ git ls-tree -r --name-only HEAD | wc -l
² find . -type f -not -regex '\./\.git/.*' | xargs cat | wc -l; echo "($(find . -name *.[hcS] -not -regex '\./\.git/.*' | xargs cat | wc -l))"
³ git-log --pretty=oneline vx.(y-1)..vx.(y) | wc -l
⁴ git diff --shortstat vx.(y-1)..vx.(y)

(thl)

Versionshistorie dieses Artikels

Dieser Artikel wird zwischen Freigabe der ersten Vorabversion und Fertigstellung von Linux 4.11 mehrfach erweitert, um schrittweise alle wichtigen Änderungen der neuen Kernel-Version zu erläutern. Einmal publizierte Absätze werden indes nur verändert, wenn triftige Gründe es erfordern.

  • 2017-03-22, 07:00 – v1.1: Änderungen bei Infrastruktur und Architektur beschrieben.
  • 2017-03-06, 07:00 – v1.0: Erste Version, die sich auf die Neuerungen bei Storage-Support und Dateisystemen konzentriert.

Kommentare

Anzeige