Kernel-Log – Was 2.6.29 bringt (6): Schneller starten und andere Änderungen unter der Haube

Seite 2: Virtualisierung, Security und mehr

Inhaltsverzeichnis

Besonders fleißig waren wieder einmal die KVM-Entwickler, die zirka 150 Patches eingebracht haben, die unter anderem Verbesserungen für NMI-, MSI-, und Kdump-Unterstützung bringen sowie schnelleren Zugriff auf die MMU ermöglichen. Einige Änderungen im IOMMU-Subsystem optimieren die Unterstützung zum Weiterreichen von PCI-/PCIe-Geräten an Gast-Systeme. Zahlreiche Patches verbessern ferner die Unterstützung für Container-Virtualisierung; das neue Xenfs soll ferner die Interaktion zwischen Userspace und Xen verbessern.

Aufgenommen wurden auch die Task Credentials Patches, die die Kernel-interne Handhabung prozess-spezifischer Informationen (User- und Group-ID, Berechtigungen und Co.) umstrukturieren (LWN.net-Artikel, Kernel-Dokumentation). Die LSM (Linux Security Modules) bieten nun Eingreifpunkte für Security-Frameworks wie AppArmor und Tomoyo, die beim Erkennen von Programmen teilweise auf Dateinamen zurückgreifen, während Lösungen wie SELinux oder Smack auf Erweiterte Attribute setzen. Der Crypto-Code des Kernel wird ab 2.6.29 shash beherrschen.

Durch die maßgeblich von Rusty Russell vorangetriebenen Cpumask-Änderungen können Distributoren ihre Kernel nun mit Unterstützung für bis zu 4096 CPU-Kerne übersetzen, ohne dass es größere Performance-Einbußen auf Dual- oder Quad-Core-Systemen geben sollte; der Entwickler erklärt die Hintergründe der Änderungen sowie die Funktionsweise des Code grob in seinem Blog.

Durch die eingepflegten Tree RCU Patches soll der Kernel auf Systemen mit "ein paar hundert Prozessoren" besser skalieren (u. a. 1); eine detaillierte Erklärung der Funktionsweise des neuen Codes finden Interessierte in dem von einem bei IBM angestellten Patch-Autor geschriebenen LWN.net-Artikel.

Einen Haufen Änderungen gab es auch rund um die Tracing-Infrastruktur ftrace. Eingepflegt haben die Kernel-Hacker zudem Patches, durch die die poll()-Funktion schlafen kann, sowie Funktionen, die den exklusiven Zugriff auf I/O-Memory sicherstellen (LWN.net-Artikel). Durch letzteres können Treiber die zur Kommunikation mit Hardware benutzten I/O-Speicherbereiche vor ungewollten Schreibzugriffen durch Userspace-Programme schützen, da solche im dümmsten Fall die Hardware unbrauchbar machen können – ähnlich wie es bei dem ein Kernel-interner Fehler während der 2.6.27-Entwicklung der Fall war, der Intel-Netzwerkkarten lahmlegte ("e1000e-Problem").

Der Kernel lässt sich nicht mehr mit den GCC-Versionen 3.0 und 3.1 sowie 4.1.0 und 4.1.1 korrekt übersetzen.

Neben den im Artikel bereits beschriebenen Neuerungen haben die Kernel-Entwickler noch eine große Zahl weiterer Patches für 2.6.29 aufgenommen – die Kernel-Hacker legten etwa die Verzeichnisse mit dem Code zur Unterstützung von SPARC und SPARC64 zusammen und erweiterten den ARM-Code um Unterstützung für den i.MX31. Details zu diesen und zahlreichen anderen weniger wichtigen, aber keineswegs unbedeutenden Änderungen finden sich in der folgenden Liste. Die einzelnen Einträge verweisen auf den jeweiligen Commit im Quellcodeverwaltungssystem von Linux, wo sich weiterführende Informationen zur Änderung sowie der jeweilige Patch finden.

Fastboot

Tracing

Crypto/Security

Virtualisierung

Architektur-Code

Generic

Generic – Cpumasks

ARM

Blackfin

MIPS

Power

S390

SH

SPARC

x86

Miscellaneous

mm

Miscellaneous

(thl/c't) (thl)