zurück zum Artikel

Die Neuerungen von Linux 4.1

| Thorsten Leemhuis

Das Ext4-Dateisystem kann Daten jetzt selbst verschlüsseln. Neu dabei ist ein Treiber für NV-DIMMs, die noch viel schneller sind als SSDs. Die Kernel-Entwickler legen zudem Grundlagen für 3D-Beschleunigung in virtuellen Maschinen.

Linus Torvalds hat den Linux-Kernel 4.1 freigegeben, für dessen Entwicklung sich die Kernel-Entwickler diesmal zehn Wochen Zeit genommen haben. Das ist eine Woche mehr als zuletzt üblich; Schuld daran waren unter anderem Torvalds Familienurlaub und spät eingetrudelte Fehlerkorrekturen am MD-RAID-Code.

Das Ext4-Dateisystem des neuen Kernels kann Daten erstmals selbst verschlüsseln. Das funktioniert sowohl mit einzelnen Dateien als auch ganzen Verzeichnissen. Dabei lassen sich unterschiedliche Schlüssel innerhalb eines Dateisystems einsetzen, damit etwa jeder Anwender eines Mehrbenutzersystems sein Home-Verzeichnis individuell schützen kann.

Ext4 verschlüsselt Nutzdaten und Dateinamen, nicht aber Zugriffsrechte, Dateigröße und einige andere Metadaten. Alle User mit ausreichenden Rechten im Dateisystem könnnen diese Metadaten daher abfragen und verschlüsselte Dateien auch löschen.

Die Ext4-eigene Verschlüsselung stammt maßgeblich von zwei Google-Mitarbeitern: Theodore 'tytso' Ts'o, der die Ext4-Entwicklung leitet, und Michael Halcrow, der treibenden Kraft hinter der Entwicklung von eCryptFS. Dieses ist mittlerweile acht Jahre alt und kann Inhalte beliebiger Dateisysteme verschlüsseln, arbeitet laut den beiden Entwicklern aber langsamer. eCryptFS soll zudem mehr Arbeitsspeicher benötigen.

Das gilt laut Ts'o und Halcrow auch für die Verschlüsselung ganzer Datenträger, Partitionen oder Volumes mit Dm-Crypt, die viele Distributionen bei der Installation einrichten können, die aber nicht so flexibel einsetzbar ist. Die Ext4-eigene Lösung soll sich so deutlich besser für Smartphones und andere Mobilgeräte mit Android eignen, wo Google die Technik einsetzen will; Chrome OS soll sie vagen Plänen zufolge auch bald nutzen.

Die Ext4-eigene Verschlüsselung lässt sich mit dem Entwicklerzweig der Ext-Dateisystemwerkzeuge E2fsprogs [2] verwenden, aus dem bald die Version 1.43 hervorgehen soll; auch eine Mitte Mai veröffentlichte Vorabfassung dieser Version [3] unterstützt die Verschlüsselung bereits. Weitere Details zur neuen Verschlüsselungsfunktion liefern die Kommentare zu den Änderungen an Ext4 (u. a. 1 [4], 2 [5]), eine Meldung auf heise open [6] und ein Artikel bei LWN.net [7].

Die Macher des Dateisystems F2FS für einfache Flash-Speichermedien haben derweil bereits ein zur Ext4-Lösung kompatibles Verschlüsselungsverfahren für ihr Dateisystem entwickelt. Wahrscheinlich wird es schon bei Linux 4.2 in F2FS integriert.

01.org

Der Grafiktreiber im Gast muss sich mit dem des Hosts absprechen, um Teilfunktionen von Intel-GPUs direkt anzusprechen.

(Bild: 01.org [9])

Intels Kernel-Grafiktreiber bietet jetzt Client-Unterstützung für XenGT (u. a. 1 [10], 2 [11], 3 [12], 4 [13]). Virtuelle Maschinen können über diese Technik auf Teilfunktionen der GPU in Intels modernen Prozessoren zugreifen, um deren 3D- und Video-Beschleunigung ohne allzu viel Overhead zu nutzen. Gastsysteme sollen mit diesem auch GVT-g genannten Verfahren eine 3D-Performance nahe der des Wirtssystems erzielen können. Dessen Grafiktreiber behalten indes die Hauptkontrolle, daher müssen sie die Intel-spezifische Technik ebenfalls unterstützen; das soll frühestens bei Linux 4.3 der Fall sein.

Auch der Hypervisor muss dabei mitspielen; entsprechende Erweiterungen gibt es nicht nur für Xen, sondern auch für KVM, wo Intel das Ganze dann KVMGT nennt [14]. Weitere Hintergründe erläutert das Xen-Projekt auf einer Seite mit weiterführenden Links [15]; darunter ist auch die Videoaufzeichnung eines Vortrags aus dem Herbst 2014 [16], in dem einer der Intel-Entwickler das Verfahren näher erläutert und einige Messwerte anführt.

Eine Reihe weiterer Änderungen am Intel-Grafiktreiber nennt dessen Betreuer in einem Blogeintrag [17]. Darunter ist das jetzt standardmäßig verwendete DRRS (Dynamic Refresh Rate Switching), bei dem der Treiber die Bildwiederholrate aus Stromspargründen reduziert, wenn sich das dargestellte Bild ohnehin nicht ändert (u. a. 1 [18], 2 [19], 3 [20]).

Das Virtual File System (VFS), das Basis-Funktionen für andere Dateisysteme stellt, unterstützt bei der Fallocate-Operation jetzt das Kommando FL_INSERT_RANGE [22]; mit ihm lassen sich Daten inmitten von Dateien einfügen, ohne dass die dahinter liegenden Dateiinhalte bewegt werden müssen. Genau wie zwei bereits bei Linux 3.15 eingeführte Fallocate-Kommandos [23] kann das beispielsweise Videoschnitt-Software beschleunigen, weil sich damit ein zeitaufwendiges Kopieren oder Verschieben unmodifizierter Videobereiche vermeiden lässt.Weitere Details erläutert ein LWN.net-Artikel [24].

XFS ist bei 4.1 das einzige Dateisystem, das das neue Fallocate-Kommando implementiert [25]. Unter den anderen Änderungen am XFS-Dateisystem [26] war eine, durch die XFS jetzt auch das Overlay-Dateisystem unterstützt [27], mit dem sich seit Linux 3.18 mehrere Dateisysteme übereinander legen lassen [28].

Programme zum Limitieren des Platzverbrauchs funktionieren jetzt universell, denn das VFS und XFS unterstützen jetzt dieselben Interfaces zur Quota-Konfiguration [29]. Beim Btrfs-Dateisystem gab es diesmal vornehmlich Fehlerkorrekturen und Detailverbesserungen [30].

Bei den ArxCis-NVDIMMs von Viking liefern Superkondensatoren Energie zum Datentransfer vom RAM ins Flash.

Bei den ArxCis-NVDIMMs von Viking liefern Superkondensatoren Energie zum Datentransfer vom RAM ins Flash.

(Bild: Viking)

Mit "PMEM" enthält der Kernel jetzt einen simplen Treiber [32], um NV-DIMMs wie Datenträger anzusprechen. Bei den Ende März vom zuständigen Gremium spezifizierten NV-DIMMs [33] handelt es sich um Arbeitsspeichermodule, die wie RAM angesprochen werden, den Speicherinhalt aber auch ohne Stromversorgung behalten; dadurch arbeiten sie nochmals um einiges schneller als die derzeit schnellsten SSDs.

Beim für SATA-Geräte genutzt ATA-Subsystem haben die Kernel-Entwickler die Handhabung von Fehlern verbessert [34]. Ferner nutzt der Kernel bei Samsung-SSDs der 800-Serie nun Queued TRIM nicht mehr [35], weil es ungeklärte Kompatibilitätsprobleme mit der Technik gibt, über die SSDs von frei gewordenen Speicherbereichen erfahren.

Der von LVM verwendete Device Mapper bietet nun eine Option, um den Multi-Queue Block IO Queueing Mechanism (Blk-Mq) besser zu nutzen [36]. Mit diesem Verfahren soll der Device Mapper nun um ein Vielfaches mehr I/O Operationen pro Sekunde ausführen [37], sofern man ihn auf NVMe-Hardware und anderen besonders schnellen Datenträgern einsetzt, die der Kernel mit Blk-Mq-Treibern anpricht. Unter den anderen Änderungen am Device Mapper [38] sind Verbesserungen am Cache-Target; neu dabei ist das Log-Target [39], mit dem Entwickler die korrekte Funktion von Dateisystemen prüfen können.

Beim via Mdadm verwendeten Software-RAID-Code des MD-Subsystems gab es diesmal mehr Änderungen als gewohnt [40]. Einige von ihnen sollen laut dem Mdadm-Entwickler die Performance verbessern; so beherrscht der RAID-6-Code jetzt Read-Modify-Write [41], was die Geschwindigkeit bei Arrays mit sechs oder mehr Datenträgern verbessern kann.

Neu [42] und explizit als experimentell [43] eingestuft ist der Cluster Support zum Aufsetzen eines RAID-Verbunds für mehrere Systeme (Shared Storage). Zum Locking greift der Code auf den Distributed Lock Manager (DLM) zurück, auf den sich bereits das Cluster-Dateisystem OCFS2 verlässt. Weitere Details liefert die zu MD-Cluster gehörende Kernel-Dokumentation [44]; eine Mail aus der Begutachtungsphase des Codes [45] verweist auf ein Git-Repository mit einer MD-Cluster-tauglichen Version von Mdadm und liefert ein kurzes Einsatzbeispiel.

Linux 4.1 lässt sich als Single-User-Kernel kompilieren [47], bei dem alle Prozesse mit Root-Rechten laufen. Dieser Betrieb ist für leistungsschwache Embedded-Hardware gedacht, bei der der Multi-User-Support ein unnötiger Ballast wäre. Die Änderungen stammt von den Entwicklern des Linux Kernel Tinification Project [48], das Linux für die Hardware des Internet of Things (IoT) optimiert.

Unter zahlreichen Änderungen am Netzwerk-Subsystem [50] war Unterstützung zum Routing mit Multiprotocol Label Switching (MPLS) (u. a. 1 [51], 2 [52], 3 [53]). Dabei handelt es sich um eine vorwiegend in IP-Netzen mit Sprach- und Datendiensten eingesetzte Technik zur verbindungsorientierten Datenübertragung [54], bei der vorkonfigurierte Pfade die besten Wege im Netzwerk weisen.

Bei der Netzwerkverkehrs-Regelung per Traffic Control (TC) lassen sich jetzt Filterprogramme für den Extended Berkeley Packet Filter (eBPF) verwenden, um Pakete mit dem TC Classifier (cls) einzustufen [55] und mit einer TC Action (act) zu verarbeiten [56]. Weil der eBPF recht Hardware-nah arbeitet, sollen solche Filter schneller als die bisher verwendeten arbeiten. Der Kernel soll sie zudem verifizierbar "sicher" ausführen, daher können eBPF-Filter den Kernel nicht zum Absturz bringen.

eBPF-Filter zu verwenden ist zudem flexibler, weil sich Filter recht leicht in einer C-ähnlichen Programmiersprache schreiben lassen, woraus ein Compiler-Backend der LLVM dann eBPF-Filter erzeugt [57].

Dieselben Vorteile gelten auch für den Einsatz von eBPF-Filterprogrammen zur Kernel-Ablaufverfolgung mit Kprobes [59], die 4.1 erstmals unterstützt. Den praktischen Einsatz zeigt ein kleines Beispielprogramm [60].

Die Infrastruktur für das Performance-Monitoring-Tool Perf unterstützt jetzt auch Processor Trace (PT). Dabei handelt es sich um eine Performance-Monitoring-Technik, die Intel bei den Core-i-Prozessoren der 5000er-Serie (Codename "Broadwell") eingeführt hat. Sie bietet deutlich mehr Möglichkeiten, daher haben die Kernel-Entwickler ihn als "hardware tracer on steroids" bezeichnet. Auch das in neueren Xeon-Prozessoren zu findende "Cache QoS Monitoring (CQM)" unterstützt Linux nun. Das und der erwähnte eBPF-Support für Kprobes sind nur drei der wichtigsten Änderungen in diesem Bereich; zahlreiche weitere erläutert ein Merge-Kommentar im Quellcodeverwaltungssystem [61].

Die Kernel-Ablaufverfolgung mit dem Function Tracer (Ftrace) gelingt jetzt über das neue virtuelle Dateisystem Tracefs [62]. Bislang musste man zum Ftrace-Einsatz das Debugfs einhängen – das gewährt allerdings Zugriff auf viele andere Interna, was aus Sicherheitsgründen unerwünscht sein kann.

Der ARM64-Code enthält jetzt Basis-Unterstützung für ACPI [64]. Diese in der x86-Welt allgegenwärtige Technik zur Hardware-Konfiguration und Interaktion mit dem Betriebssystem ist in der ARM-Linux-Welt bislang eher nur selten anzutreffen, denn dort werden Device Trees (DT) oder Platform-spezifische Kernel eingesetzt. Eine Reihe von ARM-Linux-Entwicklern hatte sich lange gegen ACPI auf ARM ausgesprochen, wie bei LWN.net [65] und in der Dokumentation zur ACPI-ARM-Unterstützung [66] nachzulesen ist. Viele in der x86-Welt aktive Server-Hersteller planen allerdings, ACPI bei zukünftigen ARM64-Servern einzusetzen.

Der für Grafikchips von AMD zuständige Radeon-Treiber unterstützt nun Multi-Stream Transport (MST) [68]. Mit Hilfe dieser bei DisplayPort 1.2 spezifizierten Technik lassen sich mehrere Monitore über eine DisplayPort-Verbindung ansprechen; sie ist aber auch nötig, um einige 4k-Monitore korrekt anzusteuern. Um Kompatibilitätsproblemen vorzubeugen, muss man den MST-Support vorerst manuell im Treiber aktivieren; beim Booten gelingt das durch Angabe von radeon.mst=1.

Der Nouveau-Treiber bietet jetzt 3D-Beschleunigung beim Grafikprozessor GM107, den Nvidia unter anderem bei der GeForce GTX 750 [70] einsetzt. Diese GPU war die erste der Maxwell-Serie, zu der auch die ab 4.1 besser unterstützten GM20x-Chips gehören, die auf den GeForce-GTX-Grafikkarten der 900er-Serie sitzen. Sie arbeiten aber bislang nur rudimentär, weil sich viele Funktionen dieser GPU-Generation nur mit einer von Nvidia signierten Firmware ansprechen [71] lassen. Das Unternehmen hatte damals angekündigt, die Firmware für diese und zukünftige GPUs separat veröffentlichen zu wollen, hat das bislang aber nicht umgesetzt.

Der Kernel enthält jetzt Virtual GEM (vGEM), einen Virtual Graphics Memory Manager, der Grafiktreibern von Mesa die Speicherverwaltung erleichtern kann; der Software-3D-Treiber soll ihn in Zukunft nutzen und dadurch schneller arbeiten. (1 [73], 2 [74]). Eine Übersicht der Änderungen bei anderen Grafiktreibern liefern die Kommentare zu zwei Merges im Quellcodeverwaltungssystem (1 [75], 2 [76]).

Intels WLAN-Treiber spricht bei Kernel 4.1 auch die WLAN-Module 3165, 4165 und 8260 an (u. a. 1 [78], 2 [79], 3 [80]). Der Treiber für die Controller der XBox One bekommt Force-Feedback-Unterstützung. Der erste [81] der beiden Merge-Commits mit den wichtigsten Änderungen an den Input-Treibern erwähnt ferner einen neuen Maustreiber für virtuelle VMware-Maschinen, der auch ohne Root-Rechte arbeitet. Laut dem zweiten Merge-Commit [82] unterstützt der ALPS-Treiber jetzt auch neuere SS4-Touchpad-Ausführungen, die in einigen Asus-Notebooks stecken.

Unter den wesentlichsten Neuerungen an den HID-Treibern [83] sind Änderungen, durch die der Multitouch-Treiber jetzt Clickpads (Touchpads mit nur einer Klickfunktion) besser unterstützt (1 [84], 2 [85]). Ferner gab es ein "substanzielles Update" des Wacom-Treibers, der dadurch Bamboo PADs sowie per I2C angesprochene Pads voll unterstützt.

Neu dabei ist der Eingabegerätetreiber virtio-input [86]. Er soll in virtuellen Maschinen zum Einsatz kommen, die am Host angeschlossene oder von ihm emulierte Eingabegeräte über das schon länger vom Kernel unterstützte Virtio nutzen. Dieses I/O Virtualization Framework nutzt Paravirtualisierungstechniken, um einen möglichst effizienten Datenaustausch zwischen Wirt und Gast zu ermöglichen. Host-Unterstützung für den neuen Eingabegerätetreiber soll Qemu 2.4 bieten, wie der zuständige Entwickler in einem Blog-Eintrag erläutert [87].

Mit den Änderungen an den systemspezifischen Treibern [88] stieß ein Treiber für die Tastaturbeleuchtung neuerer Dell-Notebooks [89] zum Kernel. Auch die im Deckel des Chromebook Pixel von Google verbaute Lightbar, die beim Einschalten und Aufwecken eine Lichtfolge in Google-Farben ausgibt, lässt sich nun individuell steuern [90].

Der Interprozesskommunikations-Mechanismus Kdbus wurde zur Aufnahme in 4.1 eingereicht, aber nicht aufgenommen. Kdbus soll den D-Bus-Daemon ersetzen, über den sich Desktop-Anwendungen untereinander und mit Systemdiensten austauschen.

Kdbus blieb nach Diskussionen außen vor, in denen einige Kernel-Entwickler einen ganz anderen und viel flexibleren IPC-Mechanismus forderten; andere sahen Schwächen oder potenzielle Sicherheitsprobleme. Die Kdbus-Entwickler haben seitdem einige Änderungen am Code vorgenommen, um einige der Kritikpunkte auszuräumen; möglicherweise bemühen sie sich bereits bei 4.2 erneut um die Aufnahme.

Greg Kroah-Hartman wird Linux 4.1 als Longterm-Kernel betreuen [93]. Er pflegt Longterm-Kernel typischerweise zwei Jahre, daher dürfte Linux 4.1 bis mindestens Sommer 2017 unterstützt werden. Kroah-Hartman veröffentlicht je nach Dringlichkeit alle paar Tage oder Wochen neue Minor-Releases (4.1.n), die Fehlerkorrekturen und kleine, offensichtlich ungefährliche Verbesserungen enthalten. Strenge Regeln sollen dabei sicherstellen [94], dass die Änderungen keine Fehler einschleppen. Zur Zeit betreut Kroah-Hartman die Longterm-Kernel 3.14 und 3.10; die Pflege für Letzteren endet in wenigen Monaten, sofern nicht ein anderer Kernel-Entwickler die weitere Wartung übernimmt.

Direkt nach der Freigabe der neuen Version [96] beginnt nun das Merge Window [97], in dem Linus Torvalds das Gros der Änderungen für die nächste größere Überarbeitung des Linux-Kernels annimmt. Diese Phase ist typischerweise zwei Wochen lang und endet mit der Veröffentlichung der ersten Vorabversion.

Mit ziemlicher Sicherheit wird dabei der Amdgpu-Kernel-Treiber aufgenommen, auf dem die quelloffenen und proprietären Grafiktreiber für AMDs neueste Grafikchipgeneration Volcanic Islands [98] aufbauen. Dazu gehören der Tonga-Grafikchip der Radeon R9 285, die GPUs in AMDs Anfang Juni vorgestellten Carrizo-Prozessoren [99] und der Fiji auf den derzeit eingeführten Radeon-R9-Modelle Nano, Fury und Fury X [100]. Die Fiji-Unterstützung fehlt aber noch und folgt womöglich erst bei Linux 4.3.

Integriert werden soll auch der Grafiktreiber Virtiogpu. Dabei handelt es sich um einen Treiber für virtuelle Maschinen mit Linux, der über Virtio mit einem Grafikchip kommuniziert, den das bei der KVM- und Xen-Virtualisierung oft genutzte Qemu 2.4 emulieren soll. Dieser Ansatz soll mehr Performance bieten und flexibler sein als bisherige Lösungen; Details erläutert ein Blog-Eintrag des Hauptentwicklers. (1 [101], 2 [102]). Dort beschreibt er auch, dass Virtiogpu die Basis für Virgil 3D stellen soll. Dabei handelt es sich um eine noch im Frühstadium steckende Erweiterung [103], mit der sich die 3D-Beschleunigung beliebiger GPUs in virtuellen Maschinen nutzen lassen soll – anders als die am Anfang erwähnte Intel-Lösung GVT-g, die nur mit Intel-Grafik funktioniert.

Zur Aufnahme vorgesehen ist auch eine bessere Policy für das Cache-Target des Device Mappers, mit dem sich SSD-Cache einrichten lässt. In Linux-Next, wo die Änderungen für die nächste Version in den letzten Wochen aufeinander abgestimmt wurden, finden sich noch über 9500 weitere Änderungen, von denen die meisten in den Linux-Kernel 4.2 einziehen dürften. Der sollte Ende August erscheinen, sofern Torvalds und seine Mitstreiter im gewohnten Tempo arbeiten. Ein Artikel wie dieser wird dann wieder einen Überblick über die wichtigsten Neuerungen dieser Version liefern. (thl [104])

Linux-
Version
Anzahl
Dateien¹
Zeilen
Quelltext
(Ohne Doku)²
Entwick-
lungs-
zeitraum
Anzahl
Commits³
Diffstat⁴
3.14 [106] 45935 18271989
(17002462)
70 Tage 12311 10601 files changed,
 605655 insertions(+),
 264576 deletions(-)
3.15 [107] 46780 18632574
(17323446)
53 Tage 13722 11427 files changed,
 932110 insertions(+),
 571520 deletions(-)
3.16 [108]

47425 18879129
(17527507)
56 Tage 12804 9807 files changed,
 513830 insertions(+),
 267276 deletions(-)
3.17 [109] 47490 18864388
(17484200)
63 Tage 12354 10605 files changed,
 651466 insertions(+),
 666200 deletions(-)
3.18 [110] 47971 18994096
(17586160)
63 Tage 11379 9303 files changed,
 485509 insertions(+),
 355800 deletions(-)
3.19 [111] 48424 19130604
(17692109)
63 Tage 12617 10739 files changed,
483355 insertions(+),
346843 deletions(-)
4.0 [112] 48945
19312370
(17847304)
63 Tage
10346
9489 files changed,
 508686insertions(+),
 326917 deletions(-)
4.1 49443 19512485
(18004436)
70 Tage 11916 10094 files changed,
 453375 insertions(+),
 253259 deletions(-)
¹ find . -type f -not -regex '\./\.git/.*' | 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 --no-merges --pretty=oneline vx.(y-1)..vx.(y) | wc -l
⁴ git diff --shortstat vx.(y-1)..vx.(y)
Mehr Infos

Linux herunterladen

Die neue Linux-Version steht über Kernel.org zum Download [113] bereit. Den Kernel-Quellcode gibt es in Tar-Archiven, die mit Gzip und Xz komprimiert wurden. Die folgenden Befehle zeigen am Beispiel von Linux 4.0, wie Sie die Quellen herunterladen, entpacken und auf Unversehrtheit prüfen:

[thl@thl tmp]$ export linux_version=4.0
[thl@thl tmp]$ wget --quiet \
http://www.kernel.org/pub/linux/kernel/v4.x/linux-${linux_version}.tar.sign \
http://www.kernel.org/pub/linux/kernel/v4.x/linux-${linux_version}.tar.xz
[thl@thl tmp]$ xz -d linux-${linux_version}.tar.xz
[thl@thl tmp]$ gpg --verify linux-${linux_version}.tar.sign
gpg: Unterschrift vom Mo 13 Apr 2015 00:40:31 CEST mittels RSA-Schlüssel ID 00411886
gpg: Korrekte Unterschrift von "Linus Torvalds <torvalds@linux-foundation.org>"
gpg: WARNUNG: Dieser Schlüssel trägt keine vertrauenswürdige Signatur!
gpg: Es gibt keinen Hinweis, daß die Signatur wirklich dem vorgeblichen Besitzer gehört.
Haupt-Fingerabdruck = ABAF 11C6 5A29 70B1 30AB E3C4 79BE 3E43 0041 1886

Einige Hinweise zur Installation eines neuen Kernels finden Sie im Artikel "Linux-Kernel maßgeschneidert [114]", der das Konfigurieren und Übersetzen eines Kernels mit Hilfe des Make-Targets "localmodconfig" beschreibt.

(thl [115])


URL dieses Artikels:
https://www.heise.de/-2715850

Links in diesem Artikel:
[1] 
[2] http://e2fsprogs.sourceforge.net/
[3] http://article.gmane.org/gmane.comp.file-systems.ext4/48682
[4] https://git.kernel.org/linus/6162e4b0bedeb3dac2ba0a5e1b1f56db107d97ec
[5] https://git.kernel.org/linus/8663da2c0919896788321cd8a0016af08588c656
[6] https://www.heise.de/news/Linux-Dateisysteme-Transparente-Verschluesselung-fuer-Ext4-in-Sicht-2599402.html
[7] http://lwn.net/Articles/639427/
[8] 
[9] https://01.org/xen/blogs/srclarkx/2013/graphics-virtualization-xengt
[10] https://git.kernel.org/linus/5dda8fa356587832e5373498d8b973d66735762d
[11] https://git.kernel.org/linus/e21fd552ff068da4bcb1a0108e2933db52685f2c
[12] https://git.kernel.org/linus/cf9d2890da19d9544d655554da907049e8226d14
[13] https://git.kernel.org/linus/71ba2d6432040352e174f5366fb5e5ac3b908e50
[14] https://01.org/kvm/blogs/albcamus/2014/kvmgt-first-release
[15] http://wiki.xenproject.org/wiki/XenGT
[16] https://www.youtube.com/watch?v=P5c7B9lk_Q0
[17] http://blog.ffwll.ch/2015/04/neat-drmi915-stuff-for-41.html
[18] https://git.kernel.org/linus/b33a281544980f9cba22aaeaa4a945254326a8c0
[19] https://git.kernel.org/linus/a4c30b1d108c1ef60667ed357af4aeabc3d05eca
[20] https://git.kernel.org/linus/44395bfe2f2a22ec769eb51ea1908082cf9aa16d
[21] 
[22] https://git.kernel.org/linus/dd46c787788d5bf5b974729d43e4c405814a4c7d
[23] https://www.heise.de/hintergrund/Kernel-Log-Was-3-12-bringt-1-Dateisysteme-Storage-2183256.html
[24] https://lwn.net/Articles/629965/
[25] https://git.kernel.org/linus/a904b1ca5751faf5ece8600e18cd3b674afcca1b
[26] https://git.kernel.org/linus/1aef882f023eb7c24d6d77f001bd0ba956fdd861
[27] https://git.kernel.org/linus/7dcf5c3e4527cfa2807567b00387cf2ed5e07f00
[28] https://www.heise.de/hintergrund/Die-Neuerungen-von-Linux-3-12-2482186.html
[29] https://git.kernel.org/linus/84588e7a5d8220446d677d7b909a20ee7a4496b9
[30] https://git.kernel.org/linus/ba0e4ae88f0f71b42ad8734e0c371d321554f13b
[31] 
[32] https://git.kernel.org/linus/9e853f2313e5eb163cb1ea461b23c2332cf6438a
[33] https://www.heise.de/news/NVDIMM-JEDEC-Standard-fuer-nichtfluechtige-Speichermodule-2668873.html
[34] https://git.kernel.org/linus/a1480a166dd509f25f90e824411cb488fa9fff7e
[35] https://git.kernel.org/linus/9a9324d3969678d44b330e1230ad2c8ae67acf81
[36] https://git.kernel.org/linus/17e149b8f73ba116e71e25930dd6f2eb3828792d
[37] https://git.kernel.org/linus/17e149b8f73ba116e71e25930dd6f2eb3828792d
[38] https://git.kernel.org/linus/afad97eee47c1f1f242202e2473929b4ef5d9f43
[39] https://git.kernel.org/linus/0e9cebe724597a76ab1b0ebc0a21e16f7db11b47
[40] https://git.kernel.org/linus/474095e46cd14421821da3201a9fd6a4c070996b
[41] https://git.kernel.org/linus/584acdd49cd2472ca0f5a06adbe979db82d0b4af
[42] https://git.kernel.org/linus/1aee41f637694d4bbf91c24195f2b63e3f6badd2
[43] https://git.kernel.org/linus/8e854e9cfd1cc3837b4bd96643d5174a72d9f741
[44] https://git.kernel.org/linus/b8d834488fd7c0c5a79cd2bab112c37a3d3292b9
[45] http://thread.gmane.org/gmane.linux.raid/47727
[46] 
[47] https://git.kernel.org/linus/2813893f8b197a14f1e1ddb04d99bce46817c84a
[48] https://tiny.wiki.kernel.org/
[49] 
[50] https://git.kernel.org/linus/6c373ca89399c5a3f7ef210ad8f63dc3437da345
[51] https://git.kernel.org/linus/0189197f441602acdca3f97750d392a895b778fd
[52] https://git.kernel.org/linus/03c0566542f4c7a45ce3193f27cbf5700b506c18
[53] https://git.kernel.org/linus/a2519929aba78e8cec7955d2c2a0c1e230d1f6e6
[54] https://de.wikipedia.org/wiki/Multiprotocol_Label_Switching
[55] https://git.kernel.org/linus/e2e9b6541dd4b31848079da80fe2253daaafb549
[56] https://git.kernel.org/linus/a8cb5f556b567974d75ea29c15181c445c541b1f
[57] https://git.kernel.org/cgit/linux/kernel/git/shemminger/iproute2.git/commit/?id=11c39b5e98a163889fe5e1840e1b2a105bc33680
[58] 
[59] https://git.kernel.org/linus/2541517c32be2531e0da59dfd7efc1ce844644f5
[60] https://git.kernel.org/linus/b896c4f95ab4052d6bad3acde95167d30242a84f
[61] https://git.kernel.org/linus/6c8a53c9e6a151fffb07f8b4c34bd1e33dddd467
[62] https://git.kernel.org/linus/3f3c73de77b5598e9f87812ac4da9445090c3b4a
[63] 
[64] https://git.kernel.org/linus/836ee4874e201a5907f9658fb2bf3527dd952d30
[65] http://lwn.net/Articles/574439/
[66] https://git.kernel.org/linus/dc81f2cfaa7f536e9900080cdc63e403440b670b
[67] 
[68] https://git.kernel.org/linus/9843ead08f18270948498f37eb95d6189eed31af
[69] 
[70] http://nouveau.freedesktop.org/wiki/CodeNames/#nv110familymaxwell
[71] https://www.heise.de/news/Nvidia-Grafikchip-Sicherheitstechnik-limitiert-Open-Source-Treiber-2404797.html
[72] 
[73] https://git.kernel.org/linus/502e95c6678505474f1056480310cd9382bacbac
[74] https://git.kernel.org/linus/990ed2720717173bbdea4cfb2bad37cc7aa91495
[75] https://git.kernel.org/linus/14aa02449064541217836b9f3d3295e241d5ae9c
[76] https://git.kernel.org/linus/bf2ae5d337cd09dfee3041364a36c5214cc7faf9
[77] 
[78] https://git.kernel.org/linus/ed65918735a50e1002d856749d3f1f5072f92cfa
[79] https://git.kernel.org/linus/3a1a61476d749c9aa92d5ce67164fd5e5f7fbe55
[80] https://git.kernel.org/linus/2bccec4e1283fc74d2b52c0534816c8ad0f9ac3f
[81] https://git.kernel.org/linus/b8ce8d7222b52200e61ea29523993e20751baaaa
[82] https://git.kernel.org/linus/8691c130fae136bb2b7d0554422a2dff4c6ac169
[83] https://git.kernel.org/linus/8de29a35dc840a05e451ad035bcb06e21ccf605f
[84] https://git.kernel.org/linus/015fdaa9f8edd89a456b3331088e1b77ebdad9d0
[85] https://git.kernel.org/linus/2c6e0277e1eab3df5db81c59e408b7b1c14b1b72
[86] https://git.kernel.org/linus/271c865161c57cfabca45b93eaa712b19da365bc
[87] https://www.kraxel.org/blog/2015/06/new-member-in-the-virtio-family-input-devices/
[88] https://git.kernel.org/linus/78d425677217b655ed36c492a070b5002832fc73
[89] https://git.kernel.org/linus/6cff8d60aa0aba5583ecda09984dbcb2f24cc28d
[90] https://git.kernel.org/linus/f3f837e52b14bf84c2db65f622b5c31cd261100c
[91] 
[92] 
[93] https://www.heise.de/news/Linux-Kernel-4-1-bekommt-zwei-Jahre-Pflege-2681151.html
[94] http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/stable_kernel_rules.txt
[95] 
[96] http://article.gmane.org/gmane.linux.kernel/1981212
[97] https://www.heise.de/glossar/entry/Entwicklungszyklus-des-Linux-Kernels-397915.html
[98] https://www.heise.de/news/Neue-Generation-von-quelloffenen-Linux-Treibern-fuer-AMD-Grafikchips-2614570.html
[99] https://www.heise.de/news/AMD-Carrizo-Neuer-Anlauf-bei-Mobilprozessoren-2678130.html
[100] https://www.heise.de/news/AMD-Radeon-R9-Fury-X-Mit-Wasserkuehlung-und-8-6-TFlops-2714984.html
[101] https://www.kraxel.org/blog/2015/06/virtio-gpu-on-the-way-upstream/
[102] https://www.kraxel.org/blog/tag/virtio-gpu/
[103] https://virgil3d.github.io/
[104] mailto:thl@ct.de
[105] 
[106] https://www.heise.de/hintergrund/Die-Neuerungen-von-Linux-3-12-2150433.html
[107] https://www.heise.de/hintergrund/Die-Neuerungen-von-Linux-3-12-2196231.html
[108] https://www.heise.de/hintergrund/Die-Neuerungen-von-Linux-3-12-2278810.html
[109] https://www.heise.de/hintergrund/Die-Neuerungen-von-Linux-3-12-2404284.html
[110] https://www.heise.de/hintergrund/Die-Neuerungen-von-Linux-3-12-2482186.html
[111] https://www.heise.de/hintergrund/Die-Neuerungen-von-Linux-3-12-2541595.html
[112] https://www.heise.de/hintergrund/Die-Neuerungen-von-Linux-3-12-2600242.html
[113] http://www.kernel.org/pub/linux/kernel/v4.x/
[114] https://www.heise.de/tests/Linux-Kernel-massgeschneidert-1402386.html
[115] mailto:thl@ct.de