zurück zum Artikel

Die Neuerungen von Linux 3.2

Trends & News | Kernel-Log

Ext4-Dateisystem aufgebohrt, Optimierungen am Netzwerk-Code, Unterstützung für Thin Provisioning im Device Mapper. Hinzu kommwn neue und verbesserte Treiber, unter anderem für Grafik-Hardware von Intel und Nvidia sowie WLAN-Bausteine von Atheros und Broadcom.

Nach etwas über zwei Monaten Entwicklung hat Linus Torvalds den Linux-Kernel 3.2 freigegeben [1]. Damit haben die Kernel-Entwickler wieder zu ihrem gewohnten Entwicklungstempo zurück gefunden, nachdem der Einbruch bei Kernel.org [2] die Fertigstellung von Linux 3.1 [3] um einige Wochen verzögert hatte. Als Spätfolge davon bringt der jetzt freigegebene Kernel etwas mehr Änderungen als zuletzt üblich, da die Entwickler mehr Zeit hatten, um Verbesserungen zur Aufnahme bei Linux 3.2 vorzubereiten.

Bei Intels Ivy-Bridge-Platform, die schon seit Linux 3.1 von den Grafiktreibern des Kernels unterstützt wird, aktiviert der DRM/KMS-Treiber jetzt standardmäßig die sehr wirksame [5] Stromspartechnik RC6 (1 [6]). Dieser Patch schaltete RC6 auch bei den Grafikkernen ein, die Intels derzeit aktuelle Sandy-Bridge-Prozessoren mitbringen; Tester der Vorabversionen berichteten daraufhin jedoch von Probleme, worauf die Entwickler die Technik bei den CPUs dieser Generation wieder standardmäßig deaktivieren [7]. Da das Intel-spezifische RC6 die Leistungsaufnahme vieler Sandy-Bridge-Systeme um einige Watt senkt, ist sie insbesondere für Notebooks interessant, da sie die Akku-Laufzeit spürbar verlängern kann und häufig auch die Geräuschentwicklung der Lüfter reduziert. Man kann die Stromspartechnik bei älteren Kernel-Versionen über den Kernel-Boot-Parameter i915.i915_enable_rc6=1 aktivieren; hier fehlen aber einige Korrekturen für Probleme rund um RC6, die in Linux 3.2 eingeflossen sind.

Der Nouveau-Treiber verwendet jetzt die Beschleunigungsfunktionen bei Nvidias Fermi-Chips [8] NVC1 [9] (GeForce GT 415M, 420, 420M, 425M, 430, 435M, 525M, 530, 540M, 550M und 555 sowie Quadro 600 und 1000M), NVC8 [10] (GeForce GTX 560 Ti OEM, 570, 580 und 590 sowie Quadro 3000M, 4000M und 5010M ) und NVCF [11] (GeForce GTX 550 Ti und 560M) mit der selbst erzeugten Firmware; die letztgenannten Grafikchips unterstützt der Kernel mit Linux 3.2 erstmals [12].

Im Detail

Bereits in den vergangenen Wochen hat das Kernel-Log [13] in der Serie "Was Linux 3.2 bringt" detailliert über die Änderungen beim Kernel 3.2 berichtet:

  1. Netzwerk [14]
  2. Dateisysteme [15]
  3. Architektur [16]
  4. Infrastuktur [17]
  5. Treiber [18]

Der nebenstehende Artikel fasst die wichtigsten Änderungen und Verbesserungen dieser Mini-Serie zusammen und gibt zusätzlich noch einen Ausblick auf Version 3.3. Die Artikel der Serie beschreiben die Neuerungen von Linux 3.2 allerdings detaillierter und erwähnen zahlreiche weitere Änderungen.

In der zeitweise etwas verfahrenen Situation mit zwei Treibern [20] für neuere WLAN-Chips von Broadcom haben die von Broadcom selbst vorangetriebenen Brcm80211-Treiber [21] Brcmsmac und Brcmfmac jetzt das Rennen gemacht und zogen vom Staging-Bereich in das Netzwerk-Subsystem um [22]. Dort landete auch [23] der WLAN-Treiber Ath6kl [24] für den AR6003 [25] von Atheros; eine frühere Version dieses Treiber befand sich zuvor auch im Staging-Bereich, in dem Code liegt, der den Qualitätsansprüchen seiner Entwickler oder der Kernel-Hacker nicht genügt.

Den TCP-Stack von Linux 3.2 haben die Kernel-Entwickler um Unterstützung für "Proportional Rate Reduction" (PRR) erweitert [27]. Der von einem Google-Mitarbeiter eingebrachte und einem IETF Draft beschriebene Algorithmus soll die Sendegeschwindigkeit besser an die Kapazität anpassen, welche die Gegenstelle und die auf dem Weg dorthin passierten Router verarbeiten können; speziell nach einer Drosselung aufgrund drohender Überlastung soll der Algorithmus auf der Sendeseite wieder schneller zur maximalen Transferrate hochschalten als der bisher genutzte Ansatz. Laut Messungen des Entwicklers soll der Algorithmus die HTTP-Antwortzeiten um drei bis zehn Prozent reduzieren.

Beim weiterhin experimentellen Btrfs gab es einige Korrekturen (u. a. 1 [29]) für ein Problem, das unter gewissen Umgebungsbedingungen bei Abstürzen oder Stromausfällen gelegentlich zu Dateisystemschäden führte. Falls der bei Btrfs sehr wichtige Root-Knoten beschädigt ist, kann man das Dateisystem über die neue Mount-Option [30] "-o recovery" jetzt zur Verwendung eines alternativen Root-Knotens auffordern.

Das Ext4-Dateisystem bietet nun Unterstützung für "Big Allocation Blocks" (u. .a 1 [31], 2 [32], 3 [33]). Durch diese kurz Bigalloc genannte Technik bündelt Ext4 die zum Speichern von Daten verwendeten 4K-Blöcke zu bis zu 1 MByte großen Einheiten ("Cluster"). Das reduziert den Verwaltungs-Overhead beim Speichern großer Dateien und verspricht, die Performance in manchen Arbeitsszenarien deutlich zu steigern [34]. Einige Änderungen am CIFS-Dateisystemcode zum Zugriff auf Samba- oder Windows-Freigaben sollen [35] in bestimmten Situationen für erheblich höheren Datendurchsatz sorgen (1 [36], 2 [37], 3 [38]).

Der Device Mapper bietet ab 3.2 eine experimentelle "persistent data library [40]". Ein erster Nutzer dieser Infrastruktur zum Speichern von Device-Mapper-Metadaten [41] ist das Target "dm-thin", das Funktionen zum Thin Provisioning [42] von Speicherplatz ermöglicht – mit ihm lässt sich also mehr Speicherplatz exportieren, als tatsächlich vorhanden ist. Dies Target bringt zudem eine verbesserte Snapshot-Funktionen mit, die effizienter mit dem Speicherplatz umgeht.

Die Neuerungen von Linux 3.2

Der Writeback-Code drosselt jetzt Programme effizienter, die zu viele Daten zum Schreiben auf Datenträger anliefern (u. a. 1 [44], 2 [45], 3 [46], 4 [47], 5 [48]). Das soll sicherstellen, dass das System flott auf Benutzereingaben reagiert und nicht durch ein Ansammeln großer Datenmengen in Zwischenspeichern überlastet wird – etwa wenn man mit dem Programm dd auf einen langsamen Datenträger schreibt. Torvalds merkte in der Freigabe-Mail zum 3.2-rc1 [49] an, diese Änderungen seien zwar sehr klein, hätten aber das Potenzial, von allen Anwendern bemerkt zu werden. Es sind allerdings durchaus noch Situationen bekannt, wo das System aus Sicht des Anwenders langsam reagiert, weil das Speichersubsystem beschäftigt ist. Mel Gorman arbeitet an Änderungen (u. a. 1 [50], 2 [51]), um ein häufiger auftretendes Problem rund um Transparent Huge Pages (THP) zu beseitigen; Hintergründe liefert ein LWN.net-Artikel [52].

Mit Hilfe des neuen "CFS bandwidth controller" und der Infrastruktur für Control Croups lässt sich die CPU-Zeit von Prozess-Gruppen limitieren, damit beispielsweise Nutzer von Rechenzeit in der Cloud nicht mehr CPU-Ressourcen nutzen können, als sie bezahlt haben (u. a. 1 [53], Dokumentation [54]).

Der Kernel markiert sich jetzt [55] mit TAINT_OOT_MODULE (Kurzform für "tainted: out of tree module"), wenn er Module lädt, deren Code nicht Bestandteil des offiziellen Linux-Kernels ist. Dadurch sollen Entwickler, die Fehlerberichte durchsehen, solche Umgebungsbedingungen schnell erkennen.

Zusammen mit einem TPM soll das für Linux 3.2 aufgenommene [56] Extended Verification Module [57] (EVM) von außen vorgenommene Manipulationen an Systemdateien aufdecken und so sicherstellen [58], dass nicht schon beim Systemstart Schadcode geladen wird.

Der Zeitgeber-Treiber für Micosofts Virtualisierungstechnik Hyper-V zog vom Staging-Bereich [59] in den x86-Architektur-Code um; auch einige andere Treiber für Kern-Techniken von Hyper-V konnten nach zahlreichen Verbesserungen durch Microsoft-Programmierer nun die Staging-Einstufung ablegen [60]. Die Hyper-V-Treiber für die emulierte Pointer-, Netzwerk- und Storage-Hardware bleiben vorerst noch im Staging-Bereich, dürften diesen aber mit Linux 3.3 verlassen.

Durch einige Patches (u. a. 1 [62]) umschifft Linux 3.2 eine Eigenart des L1-Instruktioncaches [63] in AMDs Bulldozer-Prozessoren [64], die bei bestimmten Arbeitsszenarien zu Performance-Einbußen führt. Diese Patches wurden schon vor Wochen für die Stable-Kernel der Serien 3.0 und 3.1 eingereicht (1 [65], 2 [66]), dort aber bislang nicht integriert.

Linux 3.2 arbeitet auch auf Qualcomms Hexagon-CPU-Architektur (u. a. 1 [67], 2 [68]). Neu ist zudem Unterstützung für den über die x86-Instruktion RDRAND ansprechbaren Zufallszahlengenerator [69] der Ivy-Bridge-CPUs, die Intel in diesem Jahr als Sandy-Bridge-Nachfolger einführen will (1 [70], 2 [71], 3 [72]).

Infolge der Verzögerungen [74] bei der Fertigstellung von Kernel 3.1 bringt Linux 3.2 etwas mehr Neuerungen als zuletzt üblich. Es hatten sich schlicht mehr Änderungen angesammelt, wie über 11.000 Commits und die ungewöhnlich hohen Diffstat-Werte in der folgenden Tabelle unterstreichen – für Letztere sind allerdings auch größere Umbaumaßnahmen am Code mitverantwortlich.

Die vielen Änderungen bringen so viele Verbesserungen, das letztlich für nahezu jeden Anwender etwas wichtiges dabei ist. Nutzer von Desktop-PCs oder Notebooks etwa finden zahlreiche neue und überarbeitete Treiber für Grafik- oder WLAN-Hardware vor; für viele System-Administratoren dürften die Verbesserungen an Netzwerk-Stack oder Ext4 oder die Aufnahme von EVM wichtig sein. Einige Optimierungen an der Kernel-Infrastruktur sind für alle Nutzerkreise interessant, etwa die am Memory Management, durch die Linux 3.2 unter bestimmten Last-Szenarien deutlich besser reagieren sollte.

Linux 3.2 herunterladen

Der neue Kernel steht über Kernel.org zum Download [75] bereit; in Kürze dürften auch die Spiegelserver [76] diese Version ausliefern.

Den Quellcode gibt in Tar-Archiven, die mit Gzip, Bzip2 und XZ komprimiert wurden. Die Echtheit des Archivs lässt sich nach dem Dekomprimieren über eine Signatur-Datei prüfen -- etwa mit Befehlen wie diesen:

[thl@thl tmp]$ wget --quiet http://www.kernel.org/pub/linux/kernel/v3.0/linux-3.1.tar.sign \
http://www.kernel.org/pub/linux/kernel/v3.0/linux-3.1.tar.xz
[thl@thl tmp]$ xz -d linux-3.1.tar.xz
[thl@thl tmp]$ gpg --verify linux-3.1.tar.sign
gpg: Unterschrift vom Mo 24 Okt 2011 09:17:58 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

Den zum Signieren verwendenden Schlüssel hat Torvalds erst vor einige Monaten erstellt [77]; einige bekannte Kernel-Entwickler haben diesen bereits unterschrieben [78], daher spricht alles für die Echtheit der Signatur.

Linux- Version Anzahl Dateien¹ Zeilen
Quelltext²
(Ohne Dokum.)
Entwicklungs-
zeitraum
Anzahl Commits³ Diffstat⁴
2.6.36 [80] 34301 13499457
(12539782)
80 Tage 9501 9202 files changed,
582139 insertions(+),
628362 deletions(-)
2.6.37 [81] 35186 13916632
(13006967)
76 Tage 11446 11104 files changed,
1093202 insertions(+),
598350 deletions(-)
2.6.38 [82] 35864 14208866
(13289311)
69 Tage 9542 9133 files changed,
747809 insertions(+),
455603 deletions(-)
2.6.39 [83] 36705 14533582
(13600071)
65 Tage 10268 10985 files changed,
847537 insertions(+),
523387 deletions(-)
3.0 [84] 36781 14646952
(13688408)
64 Tage 9153 7946 files changed,
555406 insertions(+),
442033 deletions(-)
3.1 [85] 37084 14770469
(13804451)
94 Tage 8692 9181 files changed,
728892 insertions(+),
604658 deletions(-)
3.2 37617 14998651
(14017008)
73 Tage 11881 12608 files changed,
1646421 insertions(+),
1418238 deletions(-)
¹ find . -type f -not -regex '\./\.git/.*' | wc -l
² find . -type f -not -regex '\./\.git.*' | xargs cat | wc -l (find . -name *.[hcS] -not -regex '\./\.git.*' | xargs cat | wc -l)
³ git-log --no-merges --pretty=oneline v3.(x-1)..v3.(x) | wc -l
⁴ git diff --shortstat v3.(x-1)..v3.(x)

Direkt nach der Freigabe von Linux 3.2 beginnt nun das typischerweise zwei Wochen lange Merge Window [87], in dem die Kernel-Entwickler den Großteil der Änderungen für die nächste Kernel-Version in den Hauptentwicklungszweig von Linux [88] integrieren. Für diese erste Phase im Entwicklungszyklus [89] von Linux 3.3 haben die Kernel-Hacker bereits zahlreiche Änderungen vorbereitet.

Die Android-Treiber, die im Frühjahr 2010 [90] mit Linux-Version 2.6.33 aus dem Staging-Bereich flogen, werden aller Wahrscheinlichkeit mit Linux 3.3 wieder zurückkehren, denn Staging-Betreuer Greg Kroah-Hartman hat diese in seinen Entwicklerzweig aufgenommen, der die für Linux 3.3 vorgesehenen Änderungen enthält (1 [91], 2 [92]); auch der Pmem-Treiber [93] und einige andere Android-spezifische Änderungen sollten bei Linux 3.3 in den Staging-Bereich eingehen. Wie Greg Kroah-Hartman in einem Google+-Beitrag erläutert [94], erhält der Kernel damit fast alles, was nötig ist, damit das Userland eines Android-Systems bootet. Der Entwickler betont allerdings, dass dies keineswegs alle der bei Android verbauten Kernel-Erweiterungen sind; so fehlt etwa der Wakelock-Code, der zum Erreichen langer Akku-Laufzeiten wichtig ist, aber nicht zum Booten gebraucht wird.

Die Neuerungen von Linux 3.2

Teile des Treibers für den Grafikkern in Intels Poulsbo (US15W) sollen aus dem Staging-Bereich in den regulären Kernel-Code wandern. In den Staging-Bereich einziehen sollte bei Linux 3.3 ursprünglich die Kernel-seitige Unterstützung für LTTng [95] (Linux Trace Toolkit); nach Kritik [96] wurde dieser Plan aber verworfen [97]. Realistische Chancen auf eine Aufnahme hat hingegen die Userspace-Tracing-Lösung Uprobes [98], denn der von Werkzeugen wie SystemTap [99] nutzbare Ansatz wird von nicht wenigen Kernel-Entwicklern unterstützt und findet sich seit einigen Wochen [100] in Linux-Next. Hintergründe erläutern ein älterer LWN.net-Artikel [101] sowie der jüngste Patch [102], zu dem unter anderem Dokumentation [103] und Unterstützung für Perf [104] gehören.

Bei Linux 3.3 dürfte auch der Patch [105] aufgenommen werden, durch den sich der Kernel bei der Entscheidung über das systemweite (De)Aktivieren von ASPM ähnlich verhält wie moderne Windows-Versionen. Zum Netzwerk-Subsystem soll Open vSwitch [106] stoßen – ein Multilayer Virtual Switch, der unter anderem bei XenServer 6.0 zum Einsatz kommt. Auch der Code zum Aufsetzen eines Ethernet Teaming Device [107] soll bei 3.3 einziehen; er soll eine schnelle, einfache und vom Userspace getriebene Alternative zum Bonding-Treiber sein, mit dem sich mehrere Netzwerk-Adapter bündeln lassen. Wie die Entwickler des Netzwerk-Stacks in einem Google+-Post [108] erläutern, ist auch die Aufnahme der Unterstützung für Byte Queue Limiting [109] vorgesehen. Dieser Code soll die Latenz reduzieren, die durch zu lange Warteschlangen in der Hardware ("buffer bloat") entstehen, ohne den Durchsatz zu reduzieren.

Wie üblich wird das Kernel-Log [110] in c't [111] und auf heise open [112] über diese und andere wichtige Neuerungen am Linux-Kernel und in dessen Umfeld berichten – dazu zählen auch neue Versionen der Stable-Kernel-Series [113] (3.2.y), die in den kommenden Wochen den einen oder anderen Fehler korrigieren dürften, der den Testern der Vorabversionen von Linux 3.2 entgangen ist oder nicht rechtzeitig zur Freigabe von Linux 3.2 korrigiert werden konnte. Zudem wird sich das Kernel-Log wie üblich im Rahmen einer auf heise open erscheinenden Artikel-Serie "Was 3.3 bringt" umfassend mit den Neuerungen der nächsten Kernel-Version auseinandersetzen. Sofern Torvalds und seine Mitstreiter im üblichen Tempo arbeiten, dürfte Linux 3.3 Anfang oder Mitte März erscheinen; die wichtigsten Änderungen dieser Version wird dann wieder ein Kernel-Log wie dieses auf heise open [114] zusammenfassen.

Weitere Hintergründe und Informationen rund um Entwicklungen im Linux-Kernel und dessen Umfeld finden sich in den vorangegangenen Kernel-Logs [115] auf heise open [116]. Neue Ausgaben des Kernel-Logs [117] werden auf den Identi.ca [118]- und Twitter [119]-Konten "@kernellog" erwähnt; die englischen, bei den Kollegen von "The H Open [120]" erscheinenden Übersetzungen auf den Identi.ca [121]- und Twitter [122]-Konten "@kernellog2". Gelegentlich zwitschert der Autor des Kernel-Logs unabhängig davon über einige später meist auch im Kernel-Log erwähnte Themen als "@kernellogauthor" bei Identi.ca [123] und Twitter [124]. (thl [125])


URL dieses Artikels:
http://www.heise.de/-1398004

Links in diesem Artikel:
[1] http://thread.gmane.org/gmane.linux.kernel/1235375
[2] https://www.heise.de/meldung/Einbruch-bei-Kernel-org-1334583.html
[3] https://www.heise.de/ct/artikel/Die-Neuerungen-von-Linux-3-1-1346661.html
[4] 
[5] https://www.heise.de/ct/artikel/Die-Woche-Ungenutztes-Stromsparpotenzial-1361381.html
[6] http://git.kernel.org/linus/c0f372b3746d4ede07b2ace2beabd38d9c045b25
[7] http://git.kernel.org/linus/ebbd857e6b9a92c0aff4aacd1b1d2361d888633e
[8] http://nouveau.freedesktop.org/wiki/CodeNames#NVC0
[9] http://git.kernel.org/linus/1c77e0f7fa4b398652f8e03f125aed258fa7018e
[10] http://git.kernel.org/linus/80859760daa01fb38497aa6326a32a16489d8c97
[11] http://git.kernel.org/linus/16cd399c65bc68332a860b0b572079d0316df3ca
[12] http://git.kernel.org/linus/3c23a7b8bc6d78f906bbba5eea80b1f8b1002ef9
[13] http://www.heise.de/glossar/entry/Kernel-Log-397909.html
[14] https://www.heise.de/ct/artikel/Kernel-Log-Was-3-2-bringt-1-Netzwerk-1378635.html
[15] https://www.heise.de/ct/artikel/Kernel-Log-Was-3-2-bringt-2-Dateisysteme-1386865.html
[16] https://www.heise.de/ct/artikel/Kernel-Log-Was-3-2-bringt-3-Architektur-Code-1390373.html
[17] https://www.heise.de/ct/artikel/Kernel-Log-Was-3-2-bringt-4-Infrastruktur-1394463.html
[18] https://www.heise.de/ct/artikel/Kernel-Log-Was-3-2-bringt-5-Treiber-1395528.html
[19] 
[20] https://www.heise.de/ct/artikel/Die-Woche-Zusammenarbeit-mit-Hindernissen-1339333.html
[21] http://linuxwireless.org/en/users/Drivers/brcm80211
[22] http://git.kernel.org/linus/5b435de0d786869c95d1962121af0d7df2542009
[23] http://git.kernel.org/linus/bdcd81707973cf8aa9305337166f8ee842a050d4
[24] http://linuxwireless.org/en/users/Drivers/ath6kl
[25] http://www.qca.qualcomm.com/technology/technology.php?nav1=47&product=67
[26] 
[27] http://git.kernel.org/linus/a262f0cdf1f2916ea918dc329492abb5323d9a6c
[28] 
[29] http://git.kernel.org/linus/387125fc722a8ed432066b85a552917343bdafca
[30] http://git.kernel.org/linus/af31f5e5b84b5bf2bcec464153a5130b170b2770
[31] http://git.kernel.org/linus/53accfa9f819c80056db6f03f9c5cfa4bcba1ed8
[32] http://git.kernel.org/linus/281b59959707dfae03ce038cdf231bf4904e170c
[33] http://git.kernel.org/linus/6f16b60690ba04cf476480a6f19b204e4b95b4a6
[34] http://thread.gmane.org/gmane.comp.file-systems.ext4/26666
[35] http://thread.gmane.org/gmane.linux.kernel.cifs/4696
[36] http://git.kernel.org/linus/e28bc5b1fdbd6e850488234d6072e6b66fc46146
[37] http://git.kernel.org/linus/9ee305b70e09f5132c9723780ce10e69710b8bca
[38] http://git.kernel.org/linus/32b9aaf1a53b3c8d435f86339b01b3968520cb0a
[39] 
[40] http://git.kernel.org/linus/3241b1d3e0aaafbfcd320f4d71ade629728cc4f4
[41] http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=Documentation/device-mapper/persistent-data.txt;hb=HEAD
[42] http://de.wikipedia.org/wiki/Thin_Provisioning
[43] 
[44] http://git.kernel.org/linus/6c14ae1e92c77eabd3e7527cf2e7836cde8b8487
[45] http://git.kernel.org/linus/be3ffa276446e1b691a2bf84e7621e5a6fb49db9
[46] http://git.kernel.org/linus/143dfe8611a63030ce0c79419dc362f7838be557
[47] http://git.kernel.org/linus/9d823e8f6b1b7b39f952d7d1795f29162143a433
[48] http://git.kernel.org/linus/1df647197c5b8aacaeb58592cba9a1df322c9000
[49] http://thread.gmane.org/gmane.linux.kernel/1212384
[50] http://thread.gmane.org/gmane.linux.kernel.mm/71009
[51] http://thread.gmane.org/gmane.linux.kernel.mm/70473
[52] http://lwn.net/Articles/467328/
[53] http://git.kernel.org/linus/ab84d31e15502fb626169ba2663381e34bf965b2
[54] http://git.kernel.org/linus/88ebc08ea9f721d1345d5414288a308ea42ac458
[55] http://git.kernel.org/linus/2449b8ba0745327c5fa49a8d9acffe03b2eded69
[56] http://git.kernel.org/linus/66dbc325afcef909043c30e90930a36823fc734c
[57] http://linux-ima.sourceforge.net/
[58] http://lwn.net/Articles/394170/
[59] http://git.kernel.org/linus/6f4151c89b7d036c755d8cf74729e09b76fa6676
[60] http://git.kernel.org/linus/46a971913611a23478283931460a95be962ce329
[61] 
[62] http://git.kernel.org/linus/dfb09f9b7ab03fd367740e541a5caf830ed56726
[63] http://www.heise.de/artikel-archiv/ct/2011/25/158_kiosk
[64] https://www.heise.de/meldung/AMDs-Serverprozessoren-mit-Bulldozer-Architektur-legen-los-1378230.html
[65] http://thread.gmane.org/gmane.linux.kernel/1211192/
[66] http://thread.gmane.org/gmane.linux.kernel/1211199/
[67] http://git.kernel.org/linus/e95bf452a9e22bd1c9ae23fea041989e0603c39d
[68] http://git.kernel.org/linus/60e13231561b3a4c5269bfa1ef6c0569ad6f28ec
[69] http://spectrum.ieee.org/computing/hardware/behind-intels-new-randomnumber-generator/0
[70] http://git.kernel.org/linus/628c6246d47b85f5357298601df2444d7f4dd3fd
[71] http://git.kernel.org/linus/49d859d78c5aeb998b6936fcb5f288f78d713489
[72] http://git.kernel.org/linus/eebf11a0166f011c5945dd30fd1779afca6c964e
[73] 
[74] https://www.heise.de/ct/artikel/Die-Neuerungen-von-Linux-3-1-1346661.html
[75] http://www.kernel.org/pub/linux/kernel/v3.0/
[76] http://www.kernel.org/mirrors/
[77] http://thread.gmane.org/gmane.linux.kernel/1199406
[78] http://pgp.mit.edu:11371/pks/lookup?search=0x00411886&op=vindex
[79] 
[80] https://www.heise.de/ct/artikel/Die-Neuerungen-von-Linux-2-6-36-1102066.html
[81] https://www.heise.de/ct/artikel/Die-Neuerungen-von-Linux-2-6-37-1162390.html
[82] https://www.heise.de/ct/artikel/Die-Neuerungen-von-Linux-2-6-38-1203073.html
[83] https://www.heise.de/ct/artikel/Die-Neuerungen-von-Linux-2-6-39-1242011.html
[84] https://www.heise.de/ct/artikel/Die-Neuerungen-von-Linux-3-0-1279228.html
[85] https://www.heise.de/ct/artikel/Die-Neuerungen-von-Linux-3-1-1346661.html
[86] 
[87] http://www.heise.de/glossar/entry/Entwicklungszyklus-des-Linux-Kernels-397915.html
[88] http://www.heise.de/glossar/entry/Hauptentwicklungslinie-397933.html
[89] http://www.heise.de/glossar/entry/Entwicklungszyklus-des-Linux-Kernels-397915.html
[90] https://www.heise.de/meldung/Warum-die-Android-Treiber-aus-dem-Linux-Kernel-flogen-921104.html
[91] http://git.kernel.org/?p=linux/kernel/git/gregkh/staging.git;a=commitdiff;h=355b0502f6efea0ff9492753888772c96972d2a3
[92] http://git.kernel.org/?p=linux/kernel/git/gregkh/staging.git;a=commitdiff;h=f4dc23861d9da89cfb5d2b0c5b3c96c115842a6c
[93] http://git.kernel.org/?p=linux/kernel/git/gregkh/staging.git;a=commitdiff;h=b6aba85c35baa7d08b7a601b30589bcae607d9e0
[94] https://plus.google.com/u/0/111049168280159033135/posts/5WfyJ1GAFXM
[95] http://lttng.org/
[96] http://thread.gmane.org/gmane.linux.kernel/1226321
[97] https://lwn.net/Articles/471973/
[98] https://events.linuxfoundation.org/slides/lfcs2010_keniston.pdf
[99] http://sourceware.org/systemtap/
[100] http://thread.gmane.org/gmane.linux.kernel.mm/70267/focus%3D70555
[101] http://lwn.net/Articles/433568/
[102] http://thread.gmane.org/gmane.linux.kernel.mm/71557
[103] http://thread.gmane.org/gmane.linux.kernel.mm/71557/focus%3D71565
[104] http://thread.gmane.org/gmane.linux.kernel.mm/71557/focus%3D71567
[105] http://thread.gmane.org/gmane.linux.acpi.devel/51182
[106] http://openvswitch.org/
[107] http://thread.gmane.org/gmane.linux.network/211172/
[108] https://plus.google.com/u/0/115177759720787570013/posts/3sWrN4j8zfh
[109] http://thread.gmane.org/gmane.linux.network/213308/
[110] http://www.heise.de/glossar/entry/Kernel-Log-397909.html
[111] http://www.heise.de/ct/
[112] http://www.heise.de/open/
[113] http://www.heise.de/glossar/entry/Linux-Kernel-Serien-und-Entwicklungslinien-397913.html
[114] http://www.heise.de/open/
[115] http://www.heise.de/open/kernel-log-3007.html
[116] http://www.heise.de/open/
[117] http://www.heise.de/glossar/entry/Kernel-Log-397909.html
[118] http://identi.ca/kernellog
[119] http://twitter.com/kernellog
[120] http://www.h-online.com
[121] http://identi.ca/kernellog2
[122] http://twitter.com/kernellog2
[123] http://identi.ca/kernellogauthor
[124] http://twitter.com/kernellogauthor
[125] mailto:thl%40ct.de