DVB-Cube <<< Das deutsche PC und DVB-Forum >>>

PC-Ecke => # Unix/Linux/BSD => Thema gestartet von: SiLæncer am 02 März, 2005, 17:04

Titel: Neuer Linux Kernel ....
Beitrag von: SiLæncer am 02 März, 2005, 17:04
Die neue stabile Version 2.6.11 des Linux-Kernel stopft in letzter Zeit bekannt gewordene Sicherheitslücken und bringt neue Funktionen wie die Unterstützung von Infiniband mit. Unter anderem wurden die Sicherheitslücken beim Page Fault Handler, im ELF-Binary-Loader und bei der falschen Verwendung von Vorzeichen beim Typ ssize_t geschlossen. Die beiden erstgenannten Lücken sind bereits seit längerem bekannt und wurden in der Kernel-Serie 2.4.x bereits geschlossen. Der neue 2.6er-Kernel ist vom ftp-Server des Kernel-Archivs oder einem seiner Mirror, unter anderem in Deutschland, zu bekommen; die Mirror-Server werden aber erst Zug um Zug mit dem Kernel 2.6.11 beschickt.

Der Zeitraum zwischen Bekanntwerden dieser Sicherheitslücken und deren Beseitigung durch Veröffentlichung einer neuer Kernel-Version hat auf der Kernel-Mailingliste zu Diskussionen geführt. Eine weitere Security-Mailing-Liste soll nach dem Willen einiger Kernel-Entwickler zumindest den Austausch von Informationen über Sicherheitslücken im Kernel erleichtern. Zwei andere Kernel-Entwickler haben unterdessen neue Kernel-Reihen für Linux 2.4 und 2.6 angekündigt. Diese sollen auf dem jeweils neuesten, für die allgemeine Nutzung freigegebenen Kernel basieren, aber Modifikationen enthalten, die bekannte Sicherheitslücken schließen. Einige Kernel-Entwickler sehen es jedoch als Aufgabe der Linux-Distributoren an, neue Kernel zu veröffentlichen, die Sicherheitslöcher stopfen.

Die Liste aller Änderungen und neuer Funktionen finden sich in der Ankündigung des Kernels von Linus Torvalds sowie im ausführlichen Changelog. Die Neuerungen bei den Hardware-Treibern sind vielfältig, unter anderem gab es große Überarbeitungen bei den ACPI, DRI, IDE, SATA und USB-Subsystemen sowie beim Powermanagement. Die Soundtreiber wurden auf die aktuelle Alsa-Version 1.08 aktualisiert, der Treiber für HD-Audio hat es jedoch noch nicht in den Kernel geschafft, ein Treiber für das Sicherheitsfeature Padlock von VIA hingegen schon.

Infiniband, Fujitsus FR-V-Architektur und SMP-Konfigurationen mit ARM-Prozessoren unterstützt der Kernel nun ebenfalls. Auch mit den derzeit für die zweite Jahreshälfte erwarteten Dual-Core-Prozessoren von AMD kann der Kernel schon umgehen. Verbesserungen beim CPU-Scheduler und die Beseitigung einiger Latenz-Probleme in verschiedenen Subsystemen sollen für eine bessere Reaktionszeit im Desktop-Betrieb sorgen. Bessere Performance versprechen auch Updates an SELinux sowie die Abschaffung des Big Kernel Lock (BKL).

Auf x86-64 Systemen unterstützt der Kernel jetzt einen virtuellen Speicherbereich von bis zu 512 TByte dank der Einführung einer weiteren Zwischenschicht bei der Speicherverwaltung. Hinzufügen oder Entfernen von Arbeitsspeicher im laufenden Betrieb (Hotplug-Memory) ist noch nicht möglich, einige Bereiche des Kernels wurden jedoch bereits aufgeräumt, um die laufende Arbeit bei der Entwicklung in diesem Bereich zu vereinfachen.

Auch bei den Dateisystemen hat sich einiges getan, Neuerungen gab es unter anderem bei XFS sowie ext3, das jetzt das Speichern erweiterten Attribute in den Inodes beherrscht. Ein virtuelles Dateisystem zum Ausgeben von Debug-Informationen kam hinzu; das bei den Kernel-Entwicklern umstrittene Reiser4 fehlt jedoch weiterhin. Reiser4 ist bereits seit längeren in der mm-Kernelreihe von Kernel-Entwickler Andrew Morton enthalten. In dieser Kernelserie werden häufig Erweiterungen für den Linux-Kernel getestet, bevor sie, wenn sie sich denn als würdig erweisen, in den offiziellen Kernel 2.6 übergehen.

Neben ReiserFS wartet in der mm-Serie unter anderem auch das Filesystem in Userspace (FUSE) auf die Integration in den offiziellen Kernel. Das Netfilter-Projekt hofft ebenfalls darauf, einen verbesserten Paketfilter für Firewalls mit dem Kernel 2.6.12 auszuliefern, der auch stateful packet filtering bei IPv6 unterstützt -- bisher war dies nur mit IPv4 möglich. Zudem soll auch die Virtualisierungslösung Xen Aufnahme in den Kernel 2.6 finden; die Entwickler diskutieren allerdings noch über technische Details, wie Xen denn am besten in den Kernel integriert werden soll.

Quelle und Links : http://www.heise.de/newsticker/meldung/56948
Titel: Linux-Kernel 2.4.30 veröffentlicht
Beitrag von: SiLæncer am 04 April, 2005, 11:18
Marcelo Tosatti hat mit der Version 2.4.30 eine neue Version der Kernel-Serie 2.4 veröffentlicht. Die Weiterentwicklung der als stabil geltende Kernel-Serie verläuft im Unterschied zum aktuellen Kernel 2.6 weit gehend unspektakulär und langsam. Im Wesentlichen wurden in der neuen Version Sicherheitslücken geschlossen sowie einige Treiber aktualisiert.

Unter anderem wurde auch wieder am ELF-Binary-Loader gedreht: Erst vor kurzem war bekannt geworden, dass eine alte Schwachstelle nicht vollständig gepatcht wurde. Sie sollte ursprünglich bereits in der Mitte Januar veröffentlichten Version 2.4.29 behoben sein. Neben diesem Problem listet die Ankündigung eine Reihe weiterer gestopfter Sicherheitslücken, so etwa auch die Lücke im Bluetooth-Stack und eine Schwachstelle mit PPP-Servern.

Die weiteren Änderungen bringen keine revolutionären Neuerungen, ein Großteil machen Updates der Netzwerk und SATA-Treiber aus. Größere Neuerungen ziehen in den Kernel 2.4 nicht mehr ein, so wurde nach längerer Diskussion auch der RAID-Treiber für Intels-Matrix-RAID der Mainboard-Chipsätze ICH5R und ICH6R nicht aufgenommen. Die wesentliche Weiterentwicklung des Kernels findet mittlerweile im Kernel 2.6 statt, wo sich die Kritik über mangelnde Stabilität nach der Einführung einer neuen Kernel-Serie in der Zwischenzeit etwas gelegt hat.

Die neue Version und das Changelog befinden sich derzeit noch nicht auf den Servern von kernel.org oder dem deutschen Mirror -- obwohl der Patch und der Changelog bereits auf kernel.org verlinkt sind. Die Kernel-Version 2.4.30, die keine Änderungen mehr gegenüber dem letzten Release Candidate 2.4.30-rc4 enthält, wird jedoch im Laufe des Tages auf den Servern verfügbar sein.

Quelle und Links : http://www.heise.de/newsticker/meldung/58201
Titel: Neuer Linux Kernel ....
Beitrag von: SiLæncer am 19 Juni, 2005, 12:26
Die Version kommt mit neuen Treibern und eine Reihe von Verbesserungen

Mit Linux 2.6.12 ist jetzt der der erste Linux-Kernel nach der Abkehr von Bitkeeper erschienen, der mit Hilfe des neuen Patch-Management-Systems Git erstellt wurde. Dieser bringt einige größere Neuerungen mit sich.

Lange hatte es gedauert, bis Linus Torvalds nach langer Entwicklungs- und Testphase 2.6.12 freigab. Seit dem letzen Release sind über drei Monate vergangen und mit 2.6.11.12 ist man bei der zwölften Überarbeitung der letzten Major-Version angekommen. Die neue Version wurde nicht zuletzt durch den Wegfall der Open-Source-Lizenz von Bitkeeper verzögert, der die Kernel Entwickler veranlasst hat mit "Git" ein eigenes System zur Changeset-Verwaltung aufzubauen.

Die lange Testphase hat auch zu einer Reihe von Änderungen in letzter Minute bis hin zum Release Candidate 6 geführt und so die finale Version im Hinblick auf die Qualitätssicherung verzögert. Für Kontroversen dürfte die Unterstützung von Trusted Computing sorgen, die von IBM beigesteuert wurde und in der neuen Version die Trusted-Platform-Module (TMP) von National Semiconductor und Atmel unterstützt. Passende Tools stehen auf der Projektseite des Open-Source TCG Software Stack auf Sorceforge bereit.

Neu aufgenommen wurde auch wieder der vor gut einem Jahr entfernte "PWC"-Treiber für USB-Webcams von Philips. Dieser wurde auf Wünschen des Autors entfernt, nachdem die Kernel Entwickler Unterstützung seines binär vertriebenen Decoder-Modules abgelehnt hatten. Der Treiber wurde in großen Teilen neu geschrieben und ist jetzt unter der GPL im Kernel enthalten.

Die mit komprimiert 4,5 MByte wieder umfangreich ausgefallenen Änderungen, beinhalten wie immer eine Menge von Fehlerbereinigungen und Leistungs-Verbesserungen.

Durch die Unterstützung von so genannten "Write-Barriers" in den SATA-Treibern ist der Einsatz von Journaling-Dateisysteme nun auch auf über SATA angebundenen Festplatten sicher. Bisher war nicht garantiert, dass die Daten in den vom Dateisystem definierten Blöcken auf die Festplatte gelangten.

Auf den aktuellen Stand wurde auch das ALSA Sub-System gebracht, das jetzt auch einen Treiber für die Chipsätze i915 und i925 enthält.

Neben verbesserter Unterstützung von Multi-Core-CPUs von AMD erfuhren die Hardware-Architekturen x86-64, ARM und PowerPC64 die größten Änderungen, die SATA-Ports der neueren ATI/ULi-Chipsätz werden unterstützt und der bnx2-Treiber versorgt die über PCIe angebundenen Netzwerkchips von Broadcom.

Besitzer von Laptops können sich auf die signifikant Überarbeitung von cpufreq freuen. Diese Treiber kümmern sich um das Anpassen der Traktfrequenz und Spannung aktueller Mobil- sowie einiger Desktop-Prozessoren. Ebenfalls verbessert wurde auch die Suspend- und Resume-Implementiergung, die inzwischen auf immer mehr Laptops problemlos ihren Dienst tut.

Sicherheitsrelevant ist die Möglichkeit mittels "Address space randomization", also der zufälligen Verteilung von Adressen, das Ausnutzen eventuell entdeckter Sicherheitslücken zu erschweren, da der Angriffsvektor dann nicht mehr vorhersagbar ist.

Ebenfalls eingepflegt wurden die aktuellen Updates für User-Mode-Linux.

Für die nächsten Kernel stehen im -mm Zweig schon wieder allerhand Änderungen bereit - auch das von Robert Love entwickelte "inotify". Inotify bietet Programmen die Möglichkeit über Veränderungen im Dateisystem benachrichtigt zu werden, damit Dateimanager oder Desktopumgebungen die Grafik sofort anpassen können. Die bisherige Implementierung gilt als zu eingeschränkt und ineffizient. Sie muss daher gerade für kommende Desktop-Such-Werkzeuge wie Novells Beagle überarbeitet werden.

Linux 2.6.12 steht als als Patch samt ChangeLog zum Download bereit. Das ChangeLog enthält dabei jedoch nur die Änderungen seit dem Release Candidate 2, da nur neuere Änderungen in Git eingepflegt sind.

Quelle und Links : http://www.golem.de/0506/38712.html
Titel: Neuer Linux Kernel ....
Beitrag von: SiLæncer am 29 August, 2005, 09:48
Mit Kernel 2.6.13 hat Linus Torvalds etwas über zwei Monate nach 2.6.12 eine neue Version von Linux freigegeben. Zu den größten Neuerungen zählen neben den in der Ankündigung beschriebenen Änderungen bei der Initialisierung des PCI-Bus Teile des Projekts Voluntary Kernel Preemption. Sie ermöglichen ein besseres Re-Scheduling von User- und Kernel-Tasks, um Latenzen zu verkürzen. Das soll die von den Anwendern wahrgenommene Interaktivität von Linux im Desktop-Einsatz verbessern und ist insbesondere für Audio-Bearbeitung von Vorteil.

Teile des von dem Red-Hat-Entwickler Ingo Molnar geleiteten Projekts waren bereits in den vorherigen Kernel-Version eingeflossen, nun finden sich auch die Optionen zum Aktivieren von Voluntary Preemption in der Kernel-Konfiguration. Die Entwicklung des Preemption-Projekts, das sich Echtzeit-Fähigkeiten für Linux auf die Fahnen geschrieben hat und die Basis für die vor kurzem veröffentlichten Echzeit-Patches von Montavista bildet, ist jedoch schon wieder weiter und enthält experimentellere Komponenten.

Im Kernel 2.6.13 wurde die Frequenz des internen Timers modifiziert: Beim Kernel 2.4 lief sie noch mit 100 Hertz, beim 2.6er zuletzt mit 1000 Hertz, um ebenfalls bessere Antwort-, und Reaktionszeiten im Desktopbetrieb zu ermöglichen. Nun lässt sich der Wert über die Kernel-Konfiguration anpassen, voreingestellt sind 250 Hertz.

Auch beim Disk-Scheduling gab es Änderungen, eine neue Version des CFQ-Schedulers wartet jetzt ähnlich wie der Anticipated Disk Scheduler kurzzeitig auf weitere Anfragen -- das steigert den Durchsatz bei in vielen kleinen Einzelabfragen gestellten Lese- oder Schreib-Anforderungen. Das neu aufgenommene Inotify versucht die Nachfolge von dnotify anzutreten. Inotify kann Programme wie beispielsweise einen File-Manager über Änderungen an Dateien oder in Verzeichnissen informieren.

Schnelleres Neubooten im Fehlerfall soll das hinzugekommene kexec ermöglichen. Falls auf Grund eines Fehlers in Hard- oder Software einen Neustart des Systems erforderlichen sein sollte, kann nun ein Kernel direkt einen anderen starten -- der bei einigen Servern mehrere Minuten dauernde Power-on-Self-Test des BIOS wird so ausgespart. Bessere Diagnosemöglichkeiten in einem solchen Fehlerfall soll das auf kexec aufsetzende und ebenfalls neu aufgenommene kdump ermöglichen -- Informationen zum aufgetretenen Fehler werden hier in einem geschützten Speicherbereich vom alten an den neuen Kernel übergeben und können später analysiert werden.

Das Kernel-Buildsystem bietet jetzt einfacher das Nachkompilieren einzelner Kernel-Module. Die Unterstützung von devfs ist noch im Kernel, jedoch mit 2.6.13 nicht mehr konfigurierbar; die Kernel-Gemeinde setzt hier auf Udev. Bei vielen der im Kernel enthaltenen Treibern hat es wie mit jeder neuen Kernel-Version Neuerungen geben -- größere unter anderem bei den Subsystemen für ACPI,IDE, Infiniband, PCI, SATA, SCSI und USB. Viele der bestehende Treiber unterstützen nun mehr Hardware, darunter etwa die SATA-Treiber für Serverworks/Broadcom, Promise und Nvidia-Chipsätze. Native Command Queueing (NCQ) bleiben dem SATA-Treiber für den Nforce4 jedoch aufgrund einer restriktiven Informationspolitik seitens Nvidia verwehrt. Und auch Treiber für die vor kurzem vorgestellten X-Fi-Soundkarten von Creative scheinen erstmal nicht in Sicht.

Die Soundtreiber wurden auf die Version 1.09b des Alsa-Projekts aktualisiert. Sie kennen unter anderem mehr Varianten der Creative Sound Blaster Live und beherrschen nun HD-Audio einiger ATI und VIA-Chipsätze. Größere Aktualisierungen erfuhren auch die bttv, CX88 und saa7134 Treiber für analoge TV-Karten. Auch bei DVB tat sich einiges, unter anderem wurde ein generischer DVB-USB-Treiber in den Kernel aufgenommen, der verschiedene über USB angeschlossene DVB-Empfänger etwa von Kworld, Twinhead oder Avermedia unterstützt. Auch mit der Technotrend/Hauppauge DVB-S SE und der Hauppauge/TT DVB-C kann der Kernel nun umgehen.

Bei den Netzwerktreibern kam mit dem Treiber skge eine neu geschriebene Fassung des sk98lin Treibers für die Gigabit-Netzwerkkarten Marvell Yukon oder SysKonnect SK-98xx/SK-95xx hinzu. Der forcedeth-Treiber unterstützt nun zwei neue Chipsätze von Nvidia, der tg3 Treiber die Broadcom 5780 Chips. Größte Neuerung im Netzwerkbereich dürfte Version 18 der Wireless Extensions sein, die die Unterstützung von WPA und WPA2 mitbringt.

Zu den mit Kernel 2.6.12 eingeführten TPM-Unterstützung kamen Treiber für TPM-Chips von Infineon und National hinzu. Beim Sis 760 funktioniert mit dem neuen Linux die AGP-Beschleunigung. Der Direct Rendering Manager (DRM) unterstützt nun die Unichrome-Chipsätze von VIA.

Beim Powermanagement wurde auch wieder fleißig geschraubt: So sollen Software-Suspend, ACPI-Suspend-to-RAM und die CPU-Stromsparmodi C2 und C3 jetzt auch auf SMP-Systemen funktionieren. Die letzen Reste der Software-Suspend-Implementation pmdisk wurden entfernt. Das Funktionstasten von Notebooks lassen sich mit der neuen Version über ein generische Hotkey-Interface konfigurieren. Auch das PCMCIA-Subsystem für PC-Cards wurde in weiten Teilen stark überarbeitet. Um PC-Cards und Co korrekt einzusetzen braucht man mit dem neuen Kernel die PCMCIAutils. Zudem können die Device-Namen mit dem neuen Kernel durch eine geänderte Initialisierungsreihenfolge anders lauten als mit älteren Kerneln.

Reiser4 und das Filesystem in Userspace (Fuse) haben es wieder nicht in den Kernel geschafft -- beide warten schon länger auf die Integration in den offiziellen Kernel. Zu Beginn der Entwicklung von 2.6.13 gab es erneut eine längere Diskussion zwischen Befürwortern und Kritikern der beiden Dateisysteme.

Was in Kernel 2.6.14 aufgenommen werden soll, wurde bisher nicht öffentlich diskutiert -- in dem dem offiziellen Kernel vorgeschalteten experimentellen Kernel-Zweig 2.6.13-rc6-mm2 von Andrew Morton lauern derzeit über 1000 Patches auf die Integration in den Standard-Kernel. Neben den beiden erwähnten Dateisystemen liegen dort auch die beiden Cluster-Dateisysteme Global File System (GFS) und Oracle Cluster File System 2 (OCFS2). Bei letzterem stehen die Aussichten auf eine Aufnahme in 2.6.14 laut Oracle nicht schlecht.

Etwas anders als bei früheren Kernel dürfte die Entwicklung ab 2.6.14 verlaufen: Auf dem vor kurzem beendeten Linux Kernel Developers' Summit 2005 in Ottawa einigten sich die Entwickler auf ein leicht modifiziertes Entwicklungsmodell. Größere Änderungen mit neuen Funktionen für die nächste Kernel-Version sollen demnach nur in den ersten zwei Wochen nach dem Release eines neuen Kernels in die nächste Entwicklerversion aufgenommen werden. Danach will Torvalds ausschließlich Bug-Fixes akzeptieren. Die im März gestartete parallel Weiterentwicklung und Korrektur der jeweils aktuellen Kernel-Version mit einem neuen Nummerierungsschema hat sich nach Berichten von der Konferenz jedoch etabliert und soll fortgeführt werden.

Quelle und Links : http://www.heise.de/newsticker/meldung/63309
Titel: Neuer Linux Kernel ....
Beitrag von: SiLæncer am 28 Oktober, 2005, 13:51
Zwei Monate nach 2.6.13 hat Linus Torvalds mit 2.6.14 eine neue Version des Linux-Kernels vorgestellt und zum Download über kernel.org oder die Mirror freigegeben. Eigentlich wollten die Entwickler die neue Kernel-Version bereits am oder um den 17. Oktober herum vorstellen, zwei vermeintliche Fehler verzögerten jedoch die Freigabe.

Zu den größten Neuerungen des nun Affluent Albatross genannten Kernels zählt FUSE, die Integration verschiedener WLAN-Netzwerktreiber sowie verbesserte SATA- und Sound-Unterstützung.

Mit FUSE, dem File System in Userspace, lassen sich recht einfach Dateisysteme unabhängig vom Kernel als Userspace-Programm implementieren. Dabei geht es jedoch nicht um Konkurrenz zu ext3 oder reiserfs, sondern vielmehr um Dateisysteme für spezielle Anwendungsgebiete – etwa das auf FUSE aufsetzende sshfs, das ein Dateisystem eines per ssh erreichbaren Rechners in das lokale System einbindet. Die FUSE-Homepage führt eine Liste mit weiteren auf FUSE aufsetzenden Dateisystemen, darunter auch fusesmb zum transparenten Einbinden eines Windows-Netzwerks.

Neu im Kernel 2.6.14 ist neben den Wireless Extensions 19 auch ein generisches IEEE80211-Subsystem, auf das auch neu die aufgenommene Wireless-LAN-Treiber für Prism-Chipsätze (hostap) und die WLAN-Module von Centrino-Notebooks (ipw2100 und ipw2200) aufsetzen. Bei den Treibern für Netzwerkkarten kam mit dem uli526x ein neuer Treiber für ULi-Mainboard-Chipsätze hinzu, eine Reihe weiterer, wie etwa die Treiber sis190, TG3 und usbnet, wurden stark überarbeitet.

Die SATA-Treiber unterstützen jetzt die Promise-Chips PDC40718, PDC40519, AHCI beim ICH7-M DH sowie zumindest rudimentär einige Marvell-SATA-Chipsätze und den in einigen SiS-Mainboard-Chipsätzen integrierten SiS182. SATA-ATAPI-Support, etwa für über SATA angeschlossene CD oder DVD-Laufwerke, kam ebenfalls hinzu. Dies lässt bisher jedoch nur manuell über eine Kernel-Boot-Option aktivieren.

Die Alsa-Soundtreiber wurden auf Version 1.0.10rc1 aktualisiert. Hier gab es insbesondere an den Treiber für HD-Audio einige Erweiterungen und Korrekturen. Unter anderem unterstützen sie jetzt den SiS 966, den ULI M5461 sowie eine Reihe von Notebooks und Mainboards, deren HD-Audio-Codecs zwar schon vorher unterstützt wurden, aber trotzdem keinen Sound hervorbrachten.

Der Direct Rendering Manager (DRM), der den direkten Zugriff von Grafikkartentreiber auf die Grafikkarte regelt, kann nun mit mehr VIA-Chipsätzen umgehen. DRM beherrscht jetzt dank des in 2.6.14 aufgenommenen r300-Treibers 3D-Beschleunigung auf einigen neueren ATI-Grafikchips wie dem Radeon 9700. Beim SiS-Framebuffer- und dem sisusbvga-Treiber für SiS-Grafikchips gab es ebenfalls größere Änderungen.

Beim Suspend-to-Disk werden die Daten in der neuen Kernel-Version auf Wunsch verschlüsselt, damit nach dem Aufwachen keine sensiblen Daten lesbar auf der Swap-Partition zurückbleiben – gegen Angriffe auf das in den Schlafzustand versetzte System schützt dies allerdings nicht. Das ACPI-Subsystem wurde zudem aktualisiert und ein seit längerem bekanntes Timer-Problem auf einigen ATI- und ALi/ULi-Chipsätzen wollen die Kernel-Entwickler ebenfalls beseitigt haben.

Mit relayfs, v9fs und securityfs kamen noch weitere Dateisysteme für spezielle Anwendungszwecke im Kernel hinzu. Zudem wurden die Treiber für NTFS, Infiniband, DVB, TV-Karten (bttv, cx88, saa7134) aktualisiert. Neu dabei ist auch der hdasp-Treiber für den in einigen Thinkpad-Modellen vorhandenen Schock-Sensor – IBM nutzt diesen für sein Hard Drive Active Protection System, einige Linux-Entwickler missbrauchen ihn auch für andere Zwecke.

Die PPC64-Architektur kann jetzt bis zu 16 Terabyte adressieren, Verbesserungen beim Slab Allocator beschleunigen NUMA-Systeme. Neu dabei ist jetzt auch Connection-Tracker/Nat-Helper für PPTP und eine SAS transport class – einige weitere Änderungen dokumentiert auch das Kernelnewbies-Wiki.

Das zuvor angekündigte neue Entwicklungsmodell, bei dem Torvalds größere Patches nur in den ersten zwei Wochen nach der Veröffentlichung eines stabilen Kernels aufnehmen will, wurde während der Entwicklung von 2.6.14 weitgehend eingehalten. Mit einer Entwicklungszeit von unter zwei Monaten ist Linux 2.6.14 auch schneller fertig gestellt worden als vorherige Kernel. Die Entwickler wollen das neue Modell nun auch beim Kernel 2.6.15 anwenden.

Auch die seit zirka zwei Jahren immer wieder geführte Diskussion um das Dateisystem Reiser4 flammte während der Entwicklungsphase von 2.6.14 nach einer fordernden Mail des Namengebers und Entwicklers Hans Reiser wieder auf. Im Verlauf der teils hitzigen Debatte kündigte Christoph Hellwig in einer Antwort auf eine Mail Reisers an, das von ihm durchgeführte Review von Reiser4 abzubrechen. Als Gründe führt er persönliche Angriffe seitens Reiser an und beklagt, dass es sinnlos wäre, den Code genau anzusehen und zu überprüfen, da Reiser die meisten von ihm gemachten Anmerkungen ignoriert. Hellwig gehört zu dem kleinen Kreis von langjährigen und Torvalds bekannten Linux-Kernel-Entwicklern, die größere Neuerungen für verschiedenen Bereiche des Kernels vor der Integration begutachten. In der Diskussion um das Reiser4 wird ihm jedoch seine Mitarbeit an der Linux-Portierung des zu Reiser4 konkurrierenden und bereits seit längerem im Kernel enthaltenen Dateisystems XFS vorgeworfen.

Wie es nun weitergeht mit der Integration von Reiser4 in den Kernel, muss sich zeigen – normalerweise werden größere Änderungen am Kernel nur nach einem Review durch bekannte und durch Torvalds als vertrauenswürdig eingestufte Kernel-Entwickler aufgenommen. Gleichzeitig haben einige Entwickler jedoch durchblicken lassen, dass ein Dateisystem wie Reiser4 zwar ein großer Brocken wäre, jedoch andere Bereiche des Kernels kaum betreffen würde und daher gefahrlos aufgenommen werden könne.

Alan Cox sieht dies jedoch als problematisch an, da der Code im Zweifel von anderen Kernel-Entwicklern weiter gepflegt werden müsse, wenn das Team um Hans Reiser vielleicht irgendwann am Nachfolger von Reiser4 arbeitete und Reiser4 nicht mehr warte. Eben dies war bei reiserfs (auch Reiser3 genannt) passiert: Dessen Pflege und Entwicklung wird laut Cox mittlerweile nicht mehr durch Reiser und seine Entwickler vorangetrieben. Reiser hat sogar im April 2004 versucht, die Integration von unabhängig von ihm entwickelten reiserfs-Erweiterungen in den Kernel zu verhindern, und argumentiert, die Funktionen könne das in ein oder zwei Wochen für die Aufnahme in den Kernel fertige Reiser4 übernehmen.

Hans Reiser gibt in der Diskussion ganz nebenbei auch zu, dass reiser3 ein größeres Problem beim Dateisystemcheck von reiserfs hat, wenn auf diesem ein unkomprimiertes Dateisystem-Image mit reiserfs liegt. Das kommt in der Praxis zum Beispiel bei Verwenden von Virtualisierungslösungen (VMWare, UML), beim initrd/initramfs oder bei Dateisystem-Experimenten mit Loop-Devices vor.

Langwierige und ähnlich emotional geführte Diskussionen gab es auch um das SAS Transport Layer und den dazugehörigen AIC-94xx-Treiber. Luben Tuikov von Adaptec würde diese gerne im offiziellen Kernel integriert sehen, einige bekannte Kernel-Entwickler sind jedoch mit dem Design und der Integration in das SCSI-Subsystem nicht einverstanden, darunter ebenfalls Christoph Hellwig. Am heftigsten streitet der Adaptec-Mitarbeiter sich jedoch mit den Verwaltern des SCSI-Subsystems, James Bottomley, und dem bei Red Hat beschäftigten Verwalter der SATA-Treiber, Jeff Garzik.

Nicht aufgenommen wurden in 2.6.14 auch Cluster-Dateisysteme – das Global File System (GFS) und das Oracle Cluster File System 2 (OCFS2) buhlen hier beide um die Aufnahme. Oracle hatte bereits im August nach einer entsprechenden Aussage von Andrew Morton fest auf die Aufnahme in den Kernel 2.6.14 gehofft. Anfang September jedoch war Morton unentschlossen, ob und in welcher Form eines der beiden oder beide Cluster-Filesysteme aufgenommen werden sollen.

OCFS2 findet sich derzeit bereits in dem mm-Kernel von Morton, in dem neue Entwicklungen getestet werden, bevor sie in den offiziellen Kernel integriert werden. Laut Morton scheint sich die häufig kritisierte hohe Entwicklungsgeschwindigkeit des stabilen Kernels jedoch etwas zu beruhigen -- der prominente Kernel-Hacker Greg Kroah-Hartman glaubt aber, diese Aussage sei mehr sarkastisch gemeint. Zu den für 2.6.15 erwarteten Neuerungen zählt unter anderem ein verbesserter NTFS-Treiber. Die dort eingeflossenen Neuerungen lassen sich mit dem auf FUSE aufsetzenden ntfsmount jedoch auch mit 2.6.14 nutzen.

Quelle und Links : http://www.heise.de/newsticker/meldung/65491
Titel: Streit um stabiles Treiber-API für Linux
Beitrag von: SiLæncer am 07 November, 2005, 19:35
Laut einem Blog-Eintrag des bekannten Kernel-Entwicklers Greg Kroah-Hartman möchten drei japanische Mitglieder des Open Source Development Lab (OSDL) gerne stabile Kernel-Schnittstellen (APIs) einführen, die die Entwicklung und Pflege von nicht im Kernel enthaltenen Treibern vereinfachen sollen. Auf diesem Wege möchte das Trio aus Fujitsu, NEC und Hitachi auch nicht unter Open-Source-Lizenzen stehende Treiber ermöglichen – doch die sind bei vielen Kernel-Entwicklern nicht gerne gesehen. Und möglicherweise sind sie gar illegal, da sie Closed-Source-Software mit GPL-Code kombinieren.

Es existiert zwar eine API (Application Programming Interface) für bereits im Kernel vorhandene und externe Treiber, diese wird jedoch relativ häufig geändert. Bei den Änderungen der Kernel-Schnittstellen passen die Entwickler die integrierten Treiber gleich mit an, externe Treiber müssen hier jedoch hinterher arbeiten. Daher sind die meisten Linux-Treiber bereits im Kernel vorhanden oder ersuchen um die Aufnahme in den Kernel.

Greg Kroah-Hartman, früher bei IBM, jetzt bei Novell/Suse angestellt, verwaltet die USB- und PCI-Subsysteme und war maßgeblich an der Entwicklung von Udev und dem Sysfs-Dateisystem beteiligt. In einem früheren Blog-Eintrag und einer Präsentation hat er dargelegt, warum er eine stabile Schnittstelle für externe Treiber für Unsinn hält. Andere Kernel-Entwickler scheinen der gleichen Meinung zu sein und nahmen den Blog-Eintrag in die Dokumentation des Kernels auf. Die Argumente gegen eine stabile Treiber-Schnittstelle im Kernel hatte Kroah-Hartman bereits vor einigen Monaten auch OSDL-Japan dargelegt, nachdem diese OSDL-Division schon einmal eine stabile Kernel-API gefordert hatte. Deren Mitglieder Fujitsu, NEC und Hitachi zeigten sich jedoch nach seinen Angaben uneinsichtig: Er solle den drei Firmen nun persönlich erklären, warum die Kernel-Entwickler dagegen sind.

In diesem Zusammenhang schickte ihm OSDL-Japan auch eine Präsentation mit Turbolinux-Logo im Hintergrund, die die Vorteile eines stabilen API für die Hardware-Hersteller dargelegt. Besonders stößt Kroah-Hartman dabei eine Anmerkung auf Seite sechs auf: Ein Vorteil eines stabilen Treiber-API für die Hersteller sei, dass sie die Treiber-Quelltexte nicht offen legen müssten und die Treiber als vorkompilierte Closed-Source-Module vertreiben könnten.

Dies ist nicht nur Kroah-Hartman ein Dorn im Auge, sondern laut ihm und anderen Kernel-Entwicklern wie Alan Cox möglicherweise gar illegal. Hier greift der Schutz der GPL, der das Linken von nicht unter GPL-kompatibler Lizenz veröffentlichtem Code in den Kernel verbietet. Auch Torvalds selbst hat sich bereits in der Vergangenheit zum Thema geäußert und sieht hier eine rechtliche Grauzone.

In dieser Zone bewegen sich auch die Grafikkartenhersteller ATI und Nvidia, die Closed-Source-Linux-Treiber bereitstellen. Aufgrund des fehlenden stabilen Treiber-API müssen sie eine quelloffene Zwischenschicht einsetzen, die beim Kompilieren auch Closed-Source-Code mit in das Kernel-Modul linkt. Erkennt der Kernel beim Laden eines solchen Moduls den nicht-GPL-Treiber, markiert er sich selbst als "verdorben, befleckt" (Tainted). Kernel-Entwickler und Distributionen verweigern bei Problemen mit solchen Kerneln die Unterstützung. Der Rat lautet explizit, keine 3D-Grafikkarten mit Closed-Source-Treibern zu kaufen – der prominente Kernel-Entwickler Arjan van de Ven listet die Gründe explizit auf. Intel wird hier gelegentlich als Alternative genannt: Der größte Hersteller von Grafikchips stellt Open-Source-Treiber für seine Chipsätze mit integrierter Grafik bereit.

Die Kernel-Entwickler versuchen unterdessen, die rechtliche Grauzone um Closed-Source-Treiber zu beseitigen und die Entwicklung freier Treiber zu fördern, indem sie neue Kernel-Schnittstellen mittels EXPORT_SYMBOL_GPL explizit nur noch für GPL-kompatiblen Code freigeben. Auf lange Sicht müssen ATI und Nvidia daher wohl auf GPL-Treiber umschwenken, ihr Linux-Engagement einstellen oder einen anderen legalen Weg finden, um mit dem Kernel zu interagieren.

Quelle : www.heise.de
Titel: Linux-Kernel 2.6.15 veröffentlicht
Beitrag von: SiLæncer am 03 Januar, 2006, 11:07
Knapp zwei Monate nach dem Kernel 2.6.14 hat Linus Torvalds mit 2.6.15 die nächste Version des Linux-Kernels zum Download freigegeben. Sie steht über Kernel.org und dessen Mirror-Server zum Download bereit. Sämtliche Änderungen listet das ausführliche Changelog, einige der wichtigen das Kernelnewbies-Wiki.

Wie mit jeder größeren neuen Kernel-Version veränderten die Entwickler an praktisch allen Ecken und Enden des Kernels etwas und fügten einige neue Funktionen hinzu – so etwa die Shared Subtrees. Damit kann der System-Administrator detailierter festlegen, welche gemounteten Dateisysteme wo im Dateisystem auftauchen und welche Benutzer denn Zugriff auf sie hat.

Der verbesserte NTFS-Treiber hat ebenfalls Einzug gehalten und kann nun nicht mehr nur bestehende Dateien überschreiben, sondern auch deren Größe ändern – das ermöglicht etwa das Bearbeiten von Dokumenten mit einem Editor oder OpenOffice. Damit kommt der NTFS-Treiber der vollen Unterstützung für NTFS einen Schritt näher – das Anlegen und Löschen von Dateien und Verzeichnissen bleibt jedoch weiterhin auf der Wunschliste.

Die Alsa-Sound-Treiber sind auf dem Stand der Alsa-Version 1.10-rc3 angelangt und können unter anderem mit HD-Audio in neuen Nvidia-Chipsätzen umgehen; die alten Sound-Treiber OSS-Free, die beim Kernel 2.4 Standard waren, wollen die Entwickler in einer der nächsten Versionen entfernen. Die Video-4-Linux-2- und DVB-Subsysteme wurden stark überarbeitet. Einige Treiber unterstützen jetzt mehr Hardware als zuvor. Das alte Video-4-Linux-API wollen die Entwickler Mitte 2006 entfernen. Auch der bluetty-Treiber wurde entfernt. Entsprechende Funktionen sollten sich mit dem Bluetooth-Stack bluez realisieren lassen, auf den jedoch einige Closed-Source-Treiber wohl noch nicht umgestiegen sind.

Das im Kernel 2.6.14 aufgenommenen 802.11-Subsystem für verschiedene WLAN-Treiber wurde nochmals überarbeitet. Auch die Treiber für Intels in Centrino-Notebooks zu findende WLAN-Chips wurden auf neuere Versionen aktualisiert, die allerlei mit Kernel 2.6.14 aufgetretenen Probleme ausräumen dürften. Auch viele Netzwerktreiber wurden überarbeitet. Das IPTABLES-Framework zum Aufsetzen einer Firewall beherrscht jetzt auch stateful packet filtering bei IPv6. Zudem kann der Kernel nun mit Microsofts Point-to-Point Encryption (PPP MPPE) umgehen und ermöglicht so die Kommunikation von VPN-Servern mit Microsofts Point-to-Point Tunneling Protocol (PPTP).

CIFS zum Zugriff auf Windows- und Samba-Server soll nun schneller arbeiten und besser mit einem Standby/Suspend klarkommen. XFS unterstützt jetzt Write-Barriers; der Block-Layer wurde in vielen Teilen überarbeitet und aufgeräumt. Für einzelne Architekturen kam Quellcode hinzu, der Memory-Hotplug im Ansatz ermöglicht. Auf x64-Systemen unterstützt der Kernel nun eine zusätzliche DMA-Zone zur Hardware-Kommunikation. Die AGP-Treiber sollen in manchen Situationen schneller arbeiten und können mit dem ULi M1695 umgehen. Der Direct-Rendering-Manager (DRM) unterstützt mit dem neuen Kernel auch einige ATI Radeon mit PEG-Interface und die Framebuffer-Console kann ein Bild nun um 90, 180 oder 270 Grad gedreht ausgeben.

Die SATA-Treiber beherrschen jetzt CHS-Adressierung und ATA-Passthru; letzteres ermöglicht die Abfrage von SMART-Informationen mit den smartmontools. Die Treiber für Silicon-Image-SATA-Chipsätze wurden neu geschrieben und unterstützen auch den Silicon Image 3131/3531. Die IDE-Treiber des neuen Kernels können mit den Chipsatz des AMD Geode GX/LX und dem VIA VT6410 umgehen; zudem ermöglichen sie DMA-Zugriff für an VIAs neuer Southbridge VT8251 angeschlossene IDE-Festplatten. Die SCSI-Treiber qlogicisp und cpqfc wurden entfernt – eine Alternative für ersteren bringt der Kernel bereits mit, für letzteren befindet sich ein neuer Treiber in Entwicklung. Unterstützung von Open-iSCSI und die Kartenleser Omnikey Cardman 4000 und 4040 hingegen kamen hinzu.

Beim USB-Subsystem wurde die Unterstützung der Suspend-Modi verbessert. Das mit dem Windows-Ruhezustand vergleichbare Software-Suspend soll nun schneller arbeiten. Am Power-Management-API wurde ebenfalls geschraubt; mit diesen Änderungen kommt das Kernel-Module der aktuellen Closed-Source-Treiber von ATI nicht zurecht. Er funktioniert erst wenn man #include <linux/pm_legacy.h> in der Datei agpgart_be.c des ATI-Kernel-Module-Wrappers hinzufügt und einen weiteren Patch einspielt. Ein Kernel gilt jetzt nicht mehr nur nach dem Laden von Closed-Source-Treibern als Tainted (verschmutzt, befleckt), sondern auch nach dem Einbinden des unter der GPL stehen Ndiswrappers. Viele Entwickler und Distributionen verweigern den Support bei als Tainted markierten Kerneln.

Das auf vielen modernen Systemen zum Einsatz kommende Udev sollte man laut ChangeLog mindestens auf Version 071 aktualisieren, damit es mit größeren Änderungen am Treiber-Model und SYSFS klarkommt. Die API-Änderungen waren unter anderem für Neuerungen am Input-Subsystem nötig. Notwendige Aktualisierungen der im Userspace direkt mit dem Kernel interagierenden Programme wie Udev kritisierten auf der Linux-Kernel-Mailingliste einige Entwickler. Sie forderten in einer längeren Diskussion die Einführung einer Kernelreihe, die ähnlich wie zuletzt der Kernel 2.4 gepflegt werden sollte: Neue Treiber und API-Änderungen etwa sollten erlaubt sein, größere Überarbeitungen, die etwa Updates im Userspace erforderlich machen würden, sollten hier jedoch draußen bleiben. Viele prominente Kernel-Entwickler sprachen sich gegen den Vorschlag aus – der Wartungsaufwand sei zu hoch. Früchte hat die Diskussion trotzdem getragen: Das Stable-Kernel-Team, das seit einigen Monaten aktiv ist und bisher die jeweils aktuelle Kernel-Version mit wichtigen Fehlerkorrekturen versorgt, hat erstmals nicht nur ein Update für den bisher aktuellen Kernel 2.6.14 veröffentlicht, sondern mit dem Kernel 2.6.13.5 auch eines für die Version davor vorgestellt und dabei eine Sicherheitslücke geschlossen.

Mit dem Horrorszenario "Linux in a binary world... a doomsday scenario" hat der ehemalige Verwalter der Red-Hat-Kernel Arjan van de Ven die Gefahren von Closed-Source-Treibern und einem stabilen API und ABI für den Kernel beschrieben und damit eine lange Diskussionen auf der Kernel-Mailingliste ausgelöst. Kontrovers debattierten die Entwickler auch wieder einmal die Reduzierung der Stack-Größe auf 4K. Das soll den Kernel-Overhead bei vielen Threads reduzieren – Red Hat/Fedora liefern schon seit langem so konfigurierte Kernel aus. Der Ndiswrapper kommt mit dieser Änderungen bei vielen WLAN-Treibern jedoch nicht zurecht, daher opponieren viele Anwender gegen diese Änderung.

Noch ist nicht absehbar, welche Neuerungen in die nächste Kernel-Version einziehen sollen – in einem neuen Howto beschreiben die Entwickler jetzt konkret, wie man am Kernel mitarbeitet. Der aktuelle mm-Entwicklerkernel von Andrew Morton enthält eine Vielzahl von Erweiterungen, die früher oder später in den Kernel einziehen sollen. Reiser4 und OSFS2 etwa warten hier schon seit längerem auf den Übergang, doch auch der als Warnschuss an die Closed-Source-Entwickler gedachte Patch von Greg Kroah-Hartman war kurze Zeit im mm-Kernel enthalten und machte so viele Closed-Source-Treiber unbrauchbar; er wurde aber aus den mm-Kerneln wieder entfernt.

Nach Kernel 2.6.15 dürfte aber wohl die Unterstützung der 1999 vorgestellten GCC 2.95 ein Ende haben – diese war trotz ihres Alters von einigen Entwicklern bisher bevorzugt worden, da die alte Version Quellcode schneller als aktuelle Compiler übersetzen soll. Nach einigen neu aufgekommenen Problemen haben die Programmierer jedoch durchblicken lassen, in Zukunft nur noch GCC 3.2 oder neuer zu unterstützten.

Die von Morton vor einigen Monaten angedeutete Verlangsamung der Kernel-Entwicklung war aber anscheinend sarkastisch gemeint – einen Blick auf die Änderungen in 2.6.15 und all die neuen Erweiterungen, die Entwickler derzeit auf der Kernel-Mailingliste zur Diskussion stellen, verdeutlicht das. Die Realtime-Patches, ein neues Mutex-Subsystem, High-resolution Timer und das Global File System (GFS) sind nur einige der Erweiterungen, die die Kernel-Entwickler derzeit zur Integration vorschlagen.

Quelle . www.heise.de
Titel: Neuer Linux Kernel ....
Beitrag von: SiLæncer am 18 Juni, 2006, 20:03
Nach knapp drei Monaten Entwicklungszeit hat Linus Torvalds den Linux-Kernel 2.6.17 freigegeben. Zu den größten Neuerungen der als "Crazed Snow-Weasel" getauften Version zählen die nun mögliche Erweiterung eines Software-RAID-5-Arrays um zusätzliche Datenträger im laufenden Betrieb, ein Userspace-Interface für Software-Suspend, veränderte Exportfunktionen für zukünftig nur für GPL-Code freigegebene APIs sowie Unterstützung für die Niagara-Prozessorarchitektur des Ultra SPARC T1.

Auch eine Vielzahl von Treibern wurde wie mit jedem neuen Version überarbeitet – größere Änderungen erfuhren insbesondere die Module für Netzwerk-, DVB- und Audio-Hardware. Hinzu kamen Treiber für TPM-1.2-Chips, Broadcom-WLAN (bcm43xx) sowie ein generisches Secure Digital Host Controller Interface zum Ansprechen von SD-Kartenlesern.

Linux 2.6.17 steht ab sofort über kernel.org oder in Kürze auch über dessen deutschen Mirror zum Download bereit. Sämtliche Änderungen listet das ausführliche Changelog.

Eine detaillierte Erläuterung zu den bedeutsamsten Neuerungen des Linux-Kernel 2.6.17 bringt heise open:

    * Die wichtigsten Neuerungen von Linux 2.6.17

Quelle und Links : http://www.heise.de/newsticker/meldung/73424
Titel: Re: Linux-Kernel 2.6.17 veröffentlicht
Beitrag von: spoke1 am 18 Juni, 2006, 20:49
Der schönste Teil der Meldung:

Zitat:

Neuerungen gibt es auch bei zahlreichen Netzwerktreibern: So unterstützt der e1000-Treiber nun etwa Intels ESB2 und der tg3-Treiber die Broadcom-Chips 5754, 5755 und 5787. Das Video-4-Linux-Subsystem und die DVB- respektive TV-Treiber können gleich eine ganze Reihe von vorher nicht unterstützter Hardware ansprechen.

Zitat Ende
Titel: Linux-Kernel 2.4.33 veröffentlicht
Beitrag von: SiLæncer am 12 August, 2006, 15:42
Marcelo Tosatti hat den Linux-Kernel 2.4.33 veröffentlicht und übergibt damit wie angekündigt die Verwaltung der Kernel-Serie 2.4 an Willy Tarreau. Die neue Linux-Version unterscheidet sich nicht mehr von der bereits vor einigen Wochen freigegebenen Version 2.4.33-rc3.

Das Changelog und der Patch sind mit 9 und 99 KByte um ein Vielfaches kleiner als bei aktuellen Linux-Versionen der 2.6-Serie, wo alleine die Beschreibung der Änderungen teilweise einen Umfang von 3 MByte erreicht. Die Neuerungen halten sich in Grenzen: Zumeist wurden schlicht kleinere Fehler korrigiert, darunter laut Changelog dreizehn Sicherheitslücken mit CVE-Eintrag.

Kernel 2.4 hat bei aktuellen Mainstream-Distributionen weitgehend an Bedeutung verloren. Auf Servern und in anderen Linux-Distributionen, wo es um hohe Stabilität geht, aber auch dort, wo eine möglichst geringe Systemgröße eine Rolle spielt, kommt dieser Kernel noch häufig zum Einsatz. Für viele moderne Hardware-Umgebungen eignet er sich jedoch mangels passenden Treibern nicht mehr so recht, da neue Treiber praktisch nur noch in die Kernel-Serie 2.6 Einzug finden – die in 2.4.33 hinzugekommene Unterstützung für den IDE-Controller im ATI IXP 300 und 400 ist da eher die Ausnahme. Eine vor dem Start stehende Kernel-Serie auf Basis von Linux 2.6.16 könnte hier für Anwender bald eine moderne Alternative bilden, die aktuelle Hardware besser unterstützt, aber abgesehen von Fehlerkorrekturen keine größeren Neuerungen erfährt.

Quelle : www.heise.de
Titel: Linux-Kernel 2.6.18 veröffentlicht
Beitrag von: SiLæncer am 20 September, 2006, 10:06
Nach drei Monaten Entwicklungszeit hat Linus Torvalds mit dem Kernel 2.6.18 wieder eine größere Überarbeitung von Linux freigegeben. Damit dauerte es bis zur Fertigstellung etwas länger als die normalerweise anvisierten acht Wochen – die dreiwöchige Auszeit des Linux-Vaters ist daran wohl mit Schuld.

Die zahlreichen Neuerungen der jüngsten Kernel-Version dürften die meisten Anwender nicht direkt spüren, da die betroffenen Komponenten wie Scheduler und Locking-Mechanismen eher unbemerkt unter der Haube ihren Dienst ableisten. Wie mit jeder Kernel-Version gab es aber zahlreiche in der Summe bedeutsame Detailverbesserungen, einen Haufen neuer oder überarbeiteter Hardware-Treiber sowie einige teilweise komplett renovierte und verbesserte Subsysteme.

Linux 2.6.18 steht ab sofort über kernel.org oder in Kürze auch über dessen deutschen Mirror zum Download bereit. Sämtliche Änderungen listet das ausführliche Changelog.

Eine detaillierte Erläuterung zu den bedeutsamsten Neuerungen des Linux-Kernel 2.6.18 bringt heise open:

    * Die wichtigsten Neuerungen von Linux 2.6.18

Quelle und Links : http://www.heise.de/newsticker/meldung/77567
Titel: Linux-Dateisystem ext4 im Kernel 2.6.19
Beitrag von: SiLæncer am 12 Oktober, 2006, 10:13
Nach der Aufnahme des Cluster-Dateisystems GFS2 für Linux 2.6.19 integrierte Linus Torvalds mit der ext3-Weiterentwicklung ext4 nun noch ein weiteres neues Dateisystem in den zu 2.6.19 führenden Entwicklerzweig – und das, obwohl er die ersten Vorabversion der nächsten größeren Kernel-Überarbeitung bereits letzte Woche veröffentlichte und das normalerweise den Abschluss der Phase für die Aufnahme größerer Neuerungen markiert. Vielmehr sollte die Freigabe des RC1 normalerweise den vier bis sechs Wochen dauernden Abschnitt einläuteten, in dem sich die Entwickler auf Fehlerkorrekturen vor der Freigabe konzentrieren sollen. Auch die normalerweise mindestens einige Wochen dauernde Testphase in Andrew Mortons mm-Kernelserie wurde übersprungen, denn dort war das Dateisystem erstmals in der vor zwei Tagen veröffentlichten Version enthalten.

Ext4 basiert zu weiten Teilen auf dem Quellcode von ext3 – ähnlich wie ext3 großteils auf ext2 aufbaute. Die neuen Funktionen und Änderungen beschreibt die Dokumentation. So lassen sich mit dem 64-Bit-Dateisystem nun Partitionen oder Volumes betreiben, die bis zu 1024 Petabyte (1  Exabyte) groß sind – mit ext3 und 4 KByte großen Blöcken ist bei 8 Terabyte schluss. Zum Adressieren von Dateien können nun so genannte extents zum Einsatz kommen, bei dem das Dateisystem mehrere Speichereinheiten zu einem größeren, zusammenhängenden Block zusammenfasst. Das soll den Verwaltungsaufwand minimieren und die Performance steigern

Abgeschlossen ist die Entwicklung von ext4 mit der Aufnahme in den Kernel indes noch nicht: So sollen die Wartungsprogramme in Zukunft einige der bereits in ext3 enthaltenen Neuerungen wie "dir_index" und "resize inode" beim Anlegen eines ext4 immer aktivieren. Zudem erwägen die Entwickler weitere Erweiterungen wie Unterstützung von mehr als 32.000 Unterverzeichnissen, optimierte Verteilung der Daten auf dem Datenträger und schnelleres Anlegen des Dateisystems.

Wie beim Übergang von ext2 auf ext3 auch muss man beim Umstieg auf das neue Dateisystem die Partition oder das Volume nicht neu formatieren. Vielmehr lässt sich die ext3-Partition mit dem ext4-Treiber einbinden und über das Aktivieren der neuen Dateisystemfunktionen in eine ext4-Partition verwandeln – die Änderungen macht das Dateisystem dabei über Feature-Flags kenntlich, sodass ein Linux ohne ext4 die Partition gegebenenfalls nicht anfasst. Da der ext4-Treiber auch ext3-Partition im Kompatibilitätsmodus weiter betreiben kann, erwägen einige Entwickler, den ext3-Quellcode nach der Fertigstellung von ext4 aus dem Kernel zu entfernen, damit sie diesen nicht parallel pflegen müssen.

Neben dem neuen Kernel erfordert ext4 auch neue Userspace-Programme für Wartungsarbeiten wie das Anlegen oder Überprüfen eines ext4-Dateisystems. Die Dokumentation weist zudem darauf hin, dass man bei Geschwindigkeitsmessungen und -vergleichen mit anderen Dateisystemen beachten solle, das ext3 und ext4 in der Standard-Einstellung eine höhere Datensicherheit als andere Dateisysteme böten. Das gehe teilweise zu Lasten der Performance.

Mit der Kernel-Integration des im Juni erstmals in der breiten Öffentlichkeit angekündigten ext4 hat das Dateisystem den ärgsten Konkurrenten Reiser4 links überholt &ndah; der wartet schon seit der Fertigstellung vor über zwei Jahren auf die Aufnahme in den Kernel und sorgte für allerlei Teils endlose und hitzige Diskussionen auf der Kernel-Entwickler-Mailingliste und in zahlreichen Web-Foren. Ein prominenter Kernel-Dateisystem-Hacker nahm über diese Dispute Abstand von der Reiser4-Qualitätskontrolle vor der Integration in den Kernel. Diesen Part übernahm in den letzten Monaten Andrew Morton, der vor kurzem Ankündigte, das Reiser4 beinahe in Kernel 2.6.19 aufgenommen worden wäre, er die Integration jedoch wohl noch für 2.6.20 zurückstellen würde.

Nach der Verhaftung von Hans Reiser – Entwickler und Namenspatron der Reiser4- und ReiserFS-Dateisysteme sowie sowie Chef und Gründer der hinter den Reiser-Dateisystemen stehenden Firma Namesys – wird auch auf der Linux Kernel Mailinglist (LKML) über die Zukunft von Reiser4 und die Aufnahme in den Kernel spekuliert. Dabei meldet sich auch einer der Reiser4-Entwickler zu Wort: Er dankt Morton für die Hilfe beim Review, sagt aber auch auch, dass sie derzeit erschüttert und angespannt seien. Die Entwickler hoffen, in den nächsten sechs Monaten wie bisher fortzufahren, während das laufende Geschäft weiterläuft, um auch die finanzielle Unterstützung zu sichern. Was nach diesen sechs Monaten sei, hänge wohl auch von den weiteren Entwicklungen um Hans Reiser ab. Wenn das schlecht verlaufe, würde es kompliziert – dann müsse man wohl einen Stellvertreter für die Leitung von Namesys suchen.

Quelle : www.heise.de
Titel: Linux-Kernel 2.6.19 mit ext4 und GFS2 veröffentlicht
Beitrag von: SiLæncer am 30 November, 2006, 10:06
Nach zehn Wochen Entwicklungszeit hat Linus Torvalds mit dem Kernel 2.6.19 wieder eine größere Überarbeitung von Linux freigegeben. Die Neuerungen ziehen sich wie bei jeder der von Torvalds freigegebenen Versionen durch praktisch alle Bereiche des Kernels; so gab es erneut zahlreiche Verbesserungen an der Kernel-Infrastruktur sowie neue und überarbeitete Treiber. Zudem kamen mit ext4, GFS2 und eCryptfs drei neue Dateisysteme hinzu.

Quelle : www.heise.de
Titel: Noch mehr Virtualisierung für den Linux-Kernel 2.6.20
Beitrag von: SiLæncer am 11 Dezember, 2006, 12:27
Linus Torvalds nimmt KVM in Entwicklungszweig auf

Erst vor wenigen Tagen wurde die von XenSource und VMware entwickelte Hypervisor-Schnittstelle in den aktuellen Entwicklungszweig des Linux-Kernels aufgenommen. Nun integrierte Linus Torvalds auch noch Patches, mit denen sich die Virtualisierungstechniken von AMD und Intel direkt nutzen lassen. Der Linux-Kernel 2.6.20 wird also gleich mehrere Neuerungen in Sachen Virtualisierung enthalten.

Die in den Entwicklungszweig des Linux-Kernels 2.6.20 aufgenommenen Patches für die Kernel-Based-Virtual-Machine (KVM) wurden erstmals im Oktober 2006 vorgestellt. Diese fügen dem Kernel Unterstützung für die Virtualisierungstechniken von AMD und Intel hinzu und erstellen das zeichenorientierte Gerät /dev/kvm. Hierüber können Userspace-Prozesse die Virtualisierungstechnik ansprechen und virtuelle Maschinen starten, die eigene virtuelle Festplatten, Netzwerkkarten und Displays haben.

So lassen sich auch mehrere virtuelle Systeme starten, wobei jede Umgebung als ein Prozess erscheint, deren virtuelle CPU ein Thread innerhalb dieses Prozesses ist. Durch den Treiber gesellt sich zu den bereits vorhandenen Kernel- und User-Modi noch ein Guest-Modus, der seinen eigenen Adressraum im physischen Speicher hat. Allerdings verbietet der Guest-Modus einen Zugriff auf I/O-Geräte. Jeder Versuch wird abgefangen und an den User-Mode zur Emulation weitergereicht.

KVM läuft auf x86 und x86-64 und benötigt eine veränderte Qemu-Version für die I/O- und BIOS-Emulation. Durch die direkte Nutzung der Hardware-Virtualisierungstechniken lassen sich auch unmodifizierte Gastbetriebssysteme wie Windows mit KVM ausführen. Der Kernel 2.6.20 wird außerdem die gemeinsam von XenSource und VMware entwickelte Hypervisor-Schnittstellte enthalten. Andere Virtualisierungslösungen wie Xen warten hingegen weiterhin auf ihre Integration.

Quelle : www.golem.de
Titel: Linux-Kernel 2.4.34 freigegeben
Beitrag von: SiLæncer am 27 Dezember, 2006, 12:39
Nach über vier Monaten Entwicklungszeit hat Willy Tarreau Linux 2.4.34 zum Download über kernel.org oder dessen Spiegel-Server (wie etwa die deutschen) freigegeben. Es ist die erste größere Überarbeitung seit dem Tarreau mit der Veröffentlichung von 2.4.33 die Verwaltung der Kernelserie 2.4 von Marcelo Tosatti übernommen hat. Zu den wesentlichsten Änderungen gehören zahlreiche Korrekturen für Sicherheitslöcher. Diese Verbesserungen hatte Tarreau aber – anders als sein Vorgänger – zuvor auch in Kernel-Versionen mit vier Nummernfolgen (etwa zuletzt 2.4.33.7) integriert, die davon abgesehen keine Neuerungen erfuhren – ähnlich wie die Entwickler die 2.6-stable-Series (2.6.x.x) pflegen.

Darüber hinaus integrierte der Verwalter Änderungen, die ein Kompilieren mit den aktuellen GCC-Versionen der 4er-Serie ermöglichen. Zwar dürften die wenigsten auf den Kernel 2.4 abgestimmten Distributionen auch solch neue GCC-Versionen enthalten, die Änderungen sind jedoch unter anderem für Systemverwalter von Nutzen, die die Kernel für noch mit Linux 2.4 arbeitende Systemen auf neuere Distributionen übersetzen. Zudem listet das Changelog noch mehrere Korrekturen am I2C-Subsystem auf. Neue Treiber bringt 2.4.34 nicht mit – die finden nur noch in neuere Linux-Versionen Einzug, die daher für modernere Hardware besser geeignet sind.

Der Patch von 2.4.33 auf 2.4.34 ist komprimiert nur 61 KByte groß. Die Unterschiede sind bei der moderneren Kernel-Versionen der 2.6-Reihe sind um ein vielfaches größer; zwischen 2.6.18 und dem aktuellen 2.6-Kernel 2.6.19 beliefen sie sich auf fast 8 MByte.

Quelle : www.heise.de
Titel: Linux-Kernel 2.6.20 freigegeben
Beitrag von: SiLæncer am 05 Februar, 2007, 09:44
Passend zum Football-Endspiel in den USA (den Super Bowl gewannen übrigens die Indianapolis Colts mit 29-17 gegen die Chicago Bears) erklärte Linus Torvalds den gestrigen Sonntag zum "Super Kernel Sunday": Der Linux-Erfinder gab den Linux-Kernel 2.6.20 frei. Die Entwickler änderten für die neue Kernel-Version 2.6.20 nur wenig an der Linux-Infrastruktur und hoffen auf eine stabile Version mit kaum neuen und vielen korrigierten Fehlern.

Trotz dieser vorsichtigeren Herangehensweise bietet 2.6.20 massig Neuerungen. Mit den Virtualisierungstechniken KVM (Kernel-based Virtual Machine for Linux) und paravirt_ops kamen zwei größere neue Funktionen hinzu; auch zahlreiche Treiber sind erstmals enthalten oder wurden überarbeitet. Und es gab dann doch noch auch einige Änderungen und Erweiterungen an der Infrastruktur. Dazu zählen beispielsweise größere Anpassungen in zahlreichen Bereichen des Kernel-Quellcodes im Rahmen einer Überarbeitung des Workqueue-Mechanismus und dessen APIs. Er regelt die Ausführungszeitpunkt bestimmte Kernel-Aufgaben und soll das nun mit weniger Overhead als zuvor erledigen.

Der Linux-Kernel 2.6.20 steht auf kernel.org bereit. Sämtliche Änderungen listet das ausführliche Changelog – die wichtigen fasst zudem das Kernelnewbies-Wiki ausführlich zusammen. Es bietet auch einige weiterführende Links zu den jeweils relevanten Änderungen in Quellcode-Verwaltungssystem des Kernels sowie teilweise auch zu detaillierten Beschreibungen der betroffenen Techniken.

Quelle : www.heise.de
Titel: Andrew Morton gibt Ausblick auf Linux 2.6.21
Beitrag von: SiLæncer am 09 Februar, 2007, 10:54
Nach der Veröffentlichung der Linux-Version 2.6.20 vor einigen Tagen läuft nun die heiße Entwicklerphase für die nächste Kernel-Version – während Linus Torvalds in den vergangenen Tagen bereits knapp 800 Patches in seinen zu 2.6.21 führenden Entwickler-Kernel integrierte, informierte Andrew Morton die Kernel-Entwickler nun über seine Pläne für die nächste Kernel-Version.

Demnach soll nach der Aufnahme der Basis-Infrastruktur der High Resolution Timer in 2.6.16 nun auch die erweiterte Version des seit Langem entwickelten Frameworks den Weg in den Standard-Kernel finden. Im Schlepptau kommen auch gleich die Dynamic Ticks mit, die bei einem unbelasteten System den Stromverbrauch durch vorübergehendes Ausschalten des Timer-Interrupts senken sollen. Auch einige weitere Verbesserungen an der Virtualisierungslösung KVM stehen zur Aufnahme in 2.6.21 bereits in Mortons mm-Kernel-Serie bereit und werden dort getestet. Das seit Langem im mm-Kernel enthaltene Dateisystem Reiser4 soll jedoch vorerst dort verbleiben.

Morton kritisiert in seiner Mail die Verwalter der Kernel-Subsysteme – er habe es satt, hunderte Patches im mm-Kernel zu haben und diese immer wieder an die eigentlichen Verwalter zu schicken, ohne dass etwas mit den Patches passieren würde. Wie er sich das Vorgehen vorstellt, erläuterte er später im Rahmen der Diskussion etwas genauer.

In den von Torvalds bereits für 2.6.21 aufgenommenen Neuerungen finden sich zahlreiche kleine Verbesserungen an den verschiedensten Stellen. Dazu zählen größere Überarbeitungen im ACPI-Subsystem. So soll der ACPI Table Manager vereinfacht und zuverlässiger arbeiten und dabei weniger Speicher als zuvor verbrauchen. Das neue und erst einmal als experimentell gekennzeichnete ACPI-Modul bay unterstützt Geräte in Laufwerksschächten bei IBMs Ultrabay oder Dells Module Bay und beherrscht auch Hot-Plug. Der neue Treiber asus-laptop soll langfristig asus_acpi ablösen.

Zudem startet der ACPI-Code für 2.6.21 nun den seit Langem geplanten Übergang auf das Linux Driver Model, sodass viele der bisher über den ACPI-spezifischen /proc/acpi-Baum liegenden Dateien zukünftig auch im allgemeinen Device-Baum im Sysfs unter /sys zu finden sein sollten – abgeschlossen ist diese Arbeit jedoch noch nicht. Ferner integrierten die Entwickler für 2.6.21 bisher einige Patches, die die Unterstützung der Playstation 3 verbessern, und aktualisierten zahlreiche Netzwerk- sowie IDE-Treiber.

Die nächsten eineinhalb Wochen dürften die Kernel-Entwickler noch größere Änderungen für 2.6.21 aufnehmen – anschließend beginnt die meist rund sechs bis acht Wochen dauernde Phase, in der Torvalds im Wesentlichen nur noch kleinere Änderungen sowie Fehlerkorrekturen aufnimmt.

Quelle : www.heise.de
Titel: Neuer Linux-WLAN-Stack in den mm-Entwicklerkernel aufgenommen
Beitrag von: SiLæncer am 02 März, 2007, 14:05
Andrew Morton hat einen seit langem entwickelten neuen Linux-WLAN-Stack mit zahlreichen neuen und angepassten Treibern in seinen mm-Entwicklerkernel aufgenommen. Mit etwas Glück dürfte der bisher Devicescape oder d80211 genannte und vor Kurzem in mac80211 umbenannte WLAN-Stack nach der Testphase im mm-Kernel seinen Weg in Kernel 2.6.22 oder 2.6.23 finden. Er sollte dann die Linux-Kompatibilität zu WLAN-Hardware deutlich verbessern.

Im April 2006 hatte sich eine Gruppe von wichtigen WLAN-Treiber-Entwicklern entschlossen, das alte, zu großen Teilen auf dem HostAP-Code basierende und erst kurz zuvor in Linux 2.6.14 aufgenommene IEEE80211-Subsystem als Basis-Framework für verschiedenste Wireless-Treiber wieder fallen zu lassen. Statt dessen wollten sie den einige Monate vorher unter der GPL veröffentlichten WLAN-Stack des auf Hard- und Software rund um WLAN spezialisierten Unternehmens Devicescape für den Kernel fit machen.

Zahlreiche Entwicklergruppen von WLAN-Treibern portierten ihre Treiber bald auf den neuen Stack. Neue WLAN-Treiber fanden daher in den vergangenen Monaten kaum den Einzug in den Linux-Kernel; auch die dortigen oder extern gewarteten Treiber für den alten Stack wurden nicht oder eher auf Sparflamme weiterentwickelt. Zusammen mit dem neuen Stack dürften daher viele neue und verbesserte Treiber den Sprung in den Kernel schaffen und die WLAN-Unterstützung von Linux verbessern.

Zu den stark überarbeiteten Treibern zählt bcm43xx für verschiedene Broadcom-WLAN-Chips; neu ist der rt2x00-Treiber für WLAN-Hardware von Ralink, die der Linux-Kernel bisher ohne externe, meist schwierig zu installierende Treiber nicht ansprechen konnte. Auch Intel hat einen neuen, vor einigen Wochen vorgestellten Treiber für das in vielen neueren Centrino-Notebooks zu findenden WLAN-Modul IPW3945 auf Basis des neuen WLAN-Stacks entwickelt. Sollte der Treiber schon bald einen akzeptablen Reifengrad erreicht haben, könnte er vielleicht mit dem neuen Stack noch den Sprung in den Kernel schaffen. Unter anderem Fedora und Ubuntu haben den neuen WLAN-Stack bereits in ihren aktuellen Entwicklerversionen aufgenommen – Anwender dieser in den nächsten Monaten erscheinenden Distributionen dürften daher bald in den Genuss des neuen Stacks und der frischen Treiber kommen, auch wenn sich die Aufnahme in den Kernel noch verzögern sollte.

Quelle : www.heise.de
Titel: Kernel 2.6.21 RC2: Torvalds nicht stolz
Beitrag von: BananaJoe am 07 März, 2007, 11:58
Linus Torvalds hat Release-Kandidat 2 für Kernel 2.6.21 angekündigt.

„Ich bin nicht sehr stolz, weil RC2 mehr Änderungen beinhaltet als mir lieb ist“, sagte Linus Torvalds. Er habe nicht mitbekommen, dass es einen V4L/DVB-Merge gab. Somit war die Änderung nicht in RC1 vorhanden und floss erst in RC2 ein. Für diesen Misstand gibt er sich selbst die Schuld. Mit seinem typischen Humor fügte er allerdings hinzu, dass es eigentlich doch nicht seine eigene Inkompetenz gewesen sei. Andere Kernel-Entwickler seien einfach unzuverlässig. Somit sei RC2 nun größer als er sein sollte.

Es gab ein unter anderem ein Update für PARSIC und zahlreiche Treiber-Verbesserungen. Die offizielle Ankündigung finden Sie auf kerneltrap.org. Testwillige können die neueste Kernel-Version wie immer von kernel.org herunterladen.

Quelle: tecchannel.de (http://www.tecchannel.de/news/themen/server/463211/index.html)
Titel: Linux-Kernel mit VMwares Virtualisierungs-Schnittstelle
Beitrag von: SiLæncer am 27 März, 2007, 11:06
Virtual Machine Interface in Entwicklungszweig aufgenommen

Die kommende Version 2.6.21 des Linux-Kernels wird auch VMwares Hypervisor-Schnittstelle VMI enthalten. In der Vergangenheit hatten sich die Kernel-Entwickler gegen diese Schnittstelle entschieden. VMware Workstation 6 wird VMI bereits unterstützen.

VMware hatte sein Virtual Machine Interface (VMI) schon früher für die Aufnahme in den offiziellen Linux-Kernel vorgeschlagen. Damals entschieden sich die Kernel-Entwickler allerdings dagegen, so dass VMware und XenSource gemeinsam an "paravirt_ops" arbeiteten. Diese gemeinsame Entwicklung wurde dann auch in den Linux-Kernel 2.6.20 integriert.

Bei der Paravirtualisierung muss der Kernel an den verwendeten Hypervisor angepasst sein, so dass sich die Kernel-Entwickler für eine Lösung entscheiden oder aber viele verschiedene pflegen müssten. Xen beispielsweise wartet schon lange auf seine Integration. Das Ziel war also, eine gemeinsame Schnittstelle in den Kernel zu bringen, die dann von verschiedenen Hypervisorn genutzt werden kann.

Mittlerweile sind jedoch auch die VMI-Patches im Entwicklungszweig der nächsten Kernel-Version 2.6.21 aufgetaucht, womit die VMware-Schnittstelle nun doch ihren Weg gefunden hat. VMware Workstation 6 wird bereits Linux-Gastsysteme mit aktiviertem VMI unterstützen, um eine bessere Leistung bei der Paravirtualisierung zu erzielen. Unter anderem Ubuntu 7.04 wird bereits von Haus aus einen Kernel mit eingeschaltetem VMI mitbringen.

Quelle : www.golem.de
Titel: Verschiedene neue Prozess Scheduler für Linux zur Diskussion
Beitrag von: SiLæncer am 17 April, 2007, 11:03
Einige Kernel-Entwickler arbeiten an einem Ersatz für den O(1)-Prozess-Scheduler des Kernels, der während der Entwicklung von Linux 2.5 eingeführt wurde und für die Zuteilung von CPU-Zeit an die verschiedenen Prozessen verantwortlich ist. Noch vor einigen Wochen sah es so aus, dass die Linux-Programmierer nach der Entwicklung der Kernel-Version 2.6.21, die sich gerade in der Endphase befindlet, auf den maßgeblich von Con Kolivas vorangetriebenen RSDL-Scheduler (Rotating Staircase DeadLine) umschwenken wollten. Er ist eine von Grund auf neue Entwicklung, die Ideen des Staircase CPU Scheduler aufgreift; beide sollen im Desktop-Betrieb ein besseres Reaktionsverhalten zeigen als der Standard-Scheduler. Zudem soll RSDL einfacher gehalten sein – im aktuellen Scheduler kamen mit der Zeit zahlreiche Sonderbehandlungen für bestimmte Anwendungsszenarien hinzu, die den Code aufblähten und schwer wartbar machten.

In Tests wurden jedoch einige Arbeitsumgebungen gefunden, wo der RSDL deutlich schlechter als der bisherige Scheduler arbeiten soll; das schmälerte die Chancen von RSDL auf die Integration in 2.6.22 Nun stellte der bei Red Hat angestellte Hacker und Entwickler des O(1)-Prozess-Scheduler Ingo Molnar mit dem Modular Scheduler Core and Completely Fair Scheduler (CFS) einen neuen Scheduler vor. Er greift etwa die strikte Fairness-Idee von RSDL auf, enthält aber auch Neues, darunter hierarchisch angelegte Scheduler-Klassen, die unterschiedliche Scheduler-Strategien bieten können.

Der Scheduler von Molnar und einige seiner Ideen wurde von einigen Entwicklern begrüßt und von Testern gelobt – Molnar, der mittlerweile die zweite CFS-Version vorgestellt hat, musste sich aber in der Diskussion auch verteidigen. Er hätte laut der Ansicht einiger Entwickler mit Con Kolivas zusammenarbeiten sollen, anstatt etwas eigenes von Grund auf neu zu Programmieren. Andere Entwickler verteidigten jedoch den Ansatz des Red-Hat-Entwicklers, der CFS laut eigenes Aussage in nur zwei Tagen programmierte.

CFS und RSDL sind derzeit wohl die prominentesten und am meisten diskutierten Scheduler – es gibt aber noch andere, die in den vergangenen Monaten von verschiedenen Programmierern entwickelt wurden. Den derzeitigen Scheduler dürfte aber nur einer beerben, da sich Torvalds und einige andere Entwickler gegen die Aufnahme mehrere Prozess-Scheduler ausgesprochen haben. Welcher letztendlich das Rennen macht, dürfte sich in den nächsten Wochen während der Entwicklung der Kernel-Revisionen 2.6.22 und 2.6.23 zeigen.

Quelle : www.heise.de
Titel: Linux-Kernel 2.6.21 freigegeben
Beitrag von: SiLæncer am 26 April, 2007, 07:47
Zu den größten Neuerungen der heute von Linus Torvalds freigegebenen Linux-Version 2.6.21 zählen wohl die High Resolution Timers. Sie verbessern das interne Zeit-Management des Kernels und sollen dem Prozessor auf unbelastetem Systemen ein längeres Verweilen im Stromsparmodus ermöglichen. Auch rund um das Dauertrendthema Virtualisierung gibt es mit Verbesserungen an KVM und der Aufnahme des Virtual Machine Interface (VMI) von VMware wieder einmal Erweiterungen. Umfangreich renoviert wurde in 2.6.21 zudem das ACPI-Subsystem. Wie immer auch zahlreiche der im Kernel enthaltenen Treiber wie auch die Kernel-Infrastruktur größere und kleinere Änderungen erfahren.

Quelle : www.heise.de
Titel: Re: Linux-Kernel 2.6.21 freigegeben
Beitrag von: mtron am 26 April, 2007, 12:50
Speziell im Bereich DVB hat sich folgendes getan:

* Bttv cropping support

*Adds video output routing

*Pvrusb2: Enable radio mode for 24xxx devices, implement multiple minor device number handling , implement /dev/radioX , allow streaming from /dev/radioX

* Add support for more Encore TV cards :

add a new qt1010 tuner module ,
add VIDIOC_G_ENC_INDEX ioctl SN9C102 driver updates,
add support for svideo/composite input of the Terratec Cinergy 1400 DVB-T ,
add support for the ASUS P7131 remote control ,
add cablestar2 support ,
add support for Terratec Cinergy HT PCI ,
add support for the Technotrend 1500 bundled remote ,
add support for Ultraview DVB-T Lite ,
initial support for Sigmatek DVB-110 DVB-T ,
initial support for MSI Mega Sky 580 based on Uli m9206 ,
initial support for MSI Mega Sky 580 DVB-T based on GL861

Quelle: http://kernelnewbies.org/Linux_2_6_21 (http://kernelnewbies.org/Linux_2_6_21)
Titel: Linux-Kernel 2.6.22 mit neuem WLAN-Stack freigegeben
Beitrag von: SiLæncer am 09 Juli, 2007, 09:03
Nach rund zehneinhalb Wochen Entwicklungszeit hat Linus Torvalds heute die Linux-Version 2.6.22 freigegebenen. Diesmal wurden satte fünfhundertausend Zeilen Quellcode verändert, umhergeschobenen oder neu eingefügt – so viel wie nie zuvor in der 2.6-Reihe.

Hinter all diesem veränderten Quellcode verbergen sich unter anderem neue WLAN- und FireWire-Stacks. Dazu gekommen ist beispielsweise auch Unterstützung für die Blackfin-Prozessorarchitektur, ein WLAN-Treiber für den OLPC-Laptop und der Ivtv-Treibers für verschiedenen WinTV-PVR-Modelle von Hauppauge.

Quelle : www.heise.de
Titel: Linux 2.6.23 bekommt neuen Scheduler und ersten Mac80211-Treiber
Beitrag von: SiLæncer am 10 Juli, 2007, 10:32
Kaum 24 Stunden, nachdem Linus Torvalds die Kernel-Version 2.6.22 veröffentlichte, nahm er die ersten Patches in den Entwicklerzweig auf, aus dem in zirka acht bis zehn Wochen Linux 2.6.23 hervorgeht. Unter den knapp zweihundert Patches ist auch der im Vorfeld vieldiskutierte Completely Fair Scheduler (CFS) – er kümmert sich in Zukunft um die Verteilung der zur Verfügung stehenden Prozessorzeit an die Anwendungen. Er ersetzt den während der Kernel-2.5.-Entwicklung integrierten O(1)-Scheduler, der genau wie CFS von Red-Hat-Mitarbeiter Ingo Molnar entwickelt wurde.

CFS verfolgt im Unterschied zu seinem Vorgänger einen strikt "fairen" Ansatz; zwei mit der gleichen Priorität um den Prozessor konkurrierende Prozesse sollten daher jeweils 50 Prozent der zur Verfügung stehenden CPU-Zeit bekommen. Mit diesem Ansatz sollen manche Systeme laut Angaben von Testern bei der Benutzung einiges flotter als mit dem alten Scheduler zu Werke gehen. Mit dem bisherigen Scheduler konnte es durchaus passieren, dass ein im Hintergrund arbeitender Prozess viel Prozessorzeit bekam und so den X-Server oder die Desktop-Oberfläche kaum mehr zum Zuge kommen ließ.

Die Idee zum strikt fairen Ansatz stammt von Staircase-CPU-Scheduler – dessen Entwickler Con Kolivas wird auch in den Credits von CFS gewürdigt. Als sich abzeichnete, dass nicht Kolivas Scheduler, sondern CFS das Rennen machen würde, zeigte er sich allerdings enttäuscht. Da es auch einige andere seiner Ideen für Linux nicht in den offiziellen Kernel geschafft haben, will er sich von der Mitarbeit am Linux-Kernel zurückziehen und die Arbeit an seiner CK-Kernel-Serie mit der gestern veröffentlichten Version 2.6.22-ck1 einstellen.

Neben dem neuen Scheduler hat Torvalds mit dem Treiber rtl8187 für Realtek-USB-WLAN-Chips einen ersten WLAN-Treiber aufgenommen, der auf dem neuen, mit 2.6.22 aufgenommenen WLAN-Stack Mac80211 aufsetzt. Ferner gab es noch einige Änderungen an dem alten und neuen Code für FireWire-Geräte sowie einige Überarbeitungen an Netzwerktreibern. In den kommenden zwei Wochen dürften die Entwickler aber sicher noch zwei- oder dreitausend weitere Patches in den Entwicklerzweig integrieren, bevor die meist rund achtwöchige Stabilisierungsphase vor der Freigabe der nächsten größeren Kernel-Überarbeitung beginnt und schließlich der Linux-Kernel 2.6.23 freigegeben wird.

Quelle : www.heise.de
Titel: Mehr Virtualisierung im Linux-Kernel 2.6.23
Beitrag von: SiLæncer am 19 Juli, 2007, 11:09
Im kommenden Linux-Kernel 2.6.23 hält jetzt mit Xen ein weiterer Ansatz zur Realisierung virtueller Maschinen auf einem Hardware-System Einzug. Schon länger war davon die Rede, dass neben KVM auch Xen in den Kernel integriert werden soll, doch bislang hatten die Kernel-Entwickler beim Begutachten des Codes Kritik an Details geäußert und Xen außen vor gelassen. Mit der Implementierung einer speziellen Schnittstelle in Kernel 2.6.20, die den wahlweisen Betrieb eines nativen oder paravirtualisierten (für die Virtualisierung modifizierten) Kernels erlauben soll (paravirt_ops), haben die Entwickler eine wichtige Grundlage geschaffen, auf der die Xen-Patches jetzt aufbauen können.

Aktuell gelangt allerdings nur ein Bruchteil der Dinge, die Xen ausmachen, in den Kernel: Der Kernel lässt sich damit so übersetzen, dass er auch als unprivilegiertes Gastsystem (so genannte DomU) unter Kontrolle des Xen-Hypervisors läuft. Eine für den Betrieb eines Xen-Systems nötige privilegierte Domain (Dom0) lässt sich aus den Quellen derzeit nicht bauen. Dafür sind nach wie vor die Xen-Quellen und ein speziell angepasster Kernel nötig.

Die Patches lassen auch weitere Xen-Fähigkeiten missen: Suspend und Resume der DomU klappt nicht, auch das Verändern der DomU-Hauptspeichergröße (Ballooning) ist noch nicht implementiert, ebensowenig die Migration laufender DomUs und das Durchreichen von PCI-Geräten. Auch von der Idee, mit einer Datei den Kernel wahlweise nativ oder paravirtualisiert zu starten, sind die Entwickler noch entfernt: Die dazu nötigen Erweiterungen des bzImage-Formats sind noch nicht umgesetzt. Immmerhin wird der Modul-Baum nur einmal benötigt.

Der für Xen sicher wichtige Schritt wird ein wenig durch die enormen Fortschritte konterkariert, die KVM (Kernel-based Virtual Machine for Linux) derzeit macht. Dieser Virtualisierungsansatz lässt den Kernel als Hypervisor arbeiten, setzt allerdings voraus, dass der Prozessor Funktionen zur Virtualisierung mitbringt. Die für den Kernel 2.6.23 aktualisierte Fassung beherrscht Suspend und Resume und kann in der virtuellen Umgebung mehrere Prozessoren bereitstellen (SMP). Ein besonderes Schmankerl für KVM wurde auf dem diesjährigen Ottawa Linux Symposium in Kanada vorgestellt: eine KVM-Erweiterung, die an Xen angepasste Gastsysteme unter Kontrolle von KVM ausführt.

Neben KVM und Xen dürften die Kernel-Entwickler wohl auch bald den Minimal-Hypervisor Lguest in den Kernel aufnehmen. Andrew Morton hat das sogar für Linux 2.6.23 vorgehabt – bisher ist der Code aber nicht im Entwicklerzweig enthalten.

Quelle : www.heise.de
Titel: Noch mehr Virtualisierung in Linux 2.6.23
Beitrag von: SiLæncer am 23 Juli, 2007, 16:55
Schlanker Hypervisor virtualisiert Linux

Der kleine Hypervisor Lguest hat es noch in den aktuellen Linux-Entwicklungszweig geschafft, der zum Kernel 2.6.23 führt. Er ist besonders einfach gehalten und dient Entwicklern und Nutzern vor allem für Experimente mit Virtualisierung. Im Unterschied zu KVM kann Lguest keine volle Virtualisierung - läuft daher aber auch auf Prozessoren ohne Virtualisierungstechnik.
Nachdem bereits Teile der Virtualisierungslösung Xen in den aktuellen Entwickler-Kernel gelangten, nahm Linus Torvalds nun auch noch Lguest (früher Lhype) auf. Dieser verhältnismäßig kleine Hypervisor setzt im Unterschied zu der ebenfalls im Kernel vorhandenen Kernel-based Virtual Machine (KVM) keinen Prozessor mit AMD-V- bzw. Intel-VT-Technik voraus. Dementsprechend ist allerdings auch keine volle Virtualisierung möglich und so läuft nur Linux selbst als Gast. Zudem gibt es noch keine 64-Bit-Unterstützung und auch weitere Funktionen, die Xen und KVM bieten, fehlen Lguest.

Dafür überzeugt Lguest durch seine Einfachheit, die ihn zum Testen besonders geeignet macht - es reicht nämlich das Modul zu laden, um den Hypervisor zu verwenden. Anschließend kann ein paravirtualisierter Linux-Kernel, der also selbst Unterstützung für Lguest enthält, als Gast ausgeführt werden. Die seit Linux 2.6.20 enthaltene Schnittstelle "paravirt_ops" unterstützt Lguest, so dass Kernel mit aktiviertem paravirt_ops unter dem Hypervisor laufen können.

Lguest ist im Linux-Kernel 2.6.23-rc1 enthalten, der unter kernel.org zum Download bereit steht. Auf der Projektseite ist die Dokumentation der Software online verfügbar.

Quelle : www.golem.de
Titel: Linux-Kernel 2.4.35 veröffentlicht
Beitrag von: SiLæncer am 27 Juli, 2007, 09:51
Nach über einem halben Jahr Entwicklungszeit hat Willy Tarreau mit Linux 2.4.35 ein neue Kernel-Version in der vorsichtig gepflegten Kernel-Serie 2.4 freigegeben. Neben einigen Korrekturen für Sicherheitslücken, die der Verwalter seit der Veröffentlichung von 2.4.34 aber parallel auch in Bugfix-Versionen wie der vor wenigen Tagen freigegebenen Version 2.4.34.6 behob, gab es im Wesentlichen Änderungen bei den integrierten Treibern.

So nahm Tarreau mit skge and sky2 sogar zwei neue Treiber auf, die sich in der Kernel-Serie 2.6 bewährt haben. Die beiden kümmern sich um Netzwerkchips von Marvell, für die der Kernel auch den weitgehend vom Hersteller selbst entwickelten Treiber sk98lin mitbringt. Auch der für Intels Gigabit-Netzwerkchips zuständige Treiber e1000 wurde überarbeitet und unterstützt jetzt mehr Hardware denn zuvor.

Tarreau betont in der seiner Mail zur Freigabe, er sei sich bewusst, dass die Kernel der 2.4-Serie auf kaum noch einem Desktop oder Notebook zum Einsatz kämen. Auf Servern, Routern oder Firewalls hingegen sei die ältere Serie durchaus noch präsent. Für zukünftige Versionen will er daher den Focus speziell auf Patches legen, die den Einsatz und den Betrieb solcher Systeme verbessern. Auf Desktop- oder Notebook-Anwender ausgerichtete Patches will er ablehnen; diese Benutzergruppen seien bei einem Kernel der 2.6-Serie besser aufgehoben.

Die Kernel der 2.6er-Serie erscheinen derzeit im Takt von zwei bis drei Monaten und bringen umfangreiche Änderungen in der verschiedensten Bereichen mit. Wie unterschiedlich das Entwicklungstempo bei 2.4 und 2.6 ist, zeigt ein Größenvergleich: Der komprimierte Patch von 2.6.21 auf die vor zweieinhalb Wochen vorgestellte Version 2.6.22 ist satte 6,9 MByte groß, während sich die Unterschiede zwischen 2.4.34 und 2.4.35 auf nur 218 KByte belaufen. Eine Kernel-Serie 2.7 oder 2.8 ist nicht in Sicht, die Kernel-Verwalter scheinen mit dem aktuellen Entwicklungsmodell durchaus zufrieden zu sein.

Wem die Änderungen in der 2.6er-Serie zu gewagt sind, dem bieten Linux-Distributionen wie Debian, Novells Suse Linux Enterprise Server (SLES) sowie Red Hat Enterprise Linux (RHEL) und dessen freie Abkömmlinge wie CentOS eine Alternative, denn sie pflegen ihre Kernel vorsichtiger und über mehrere Jahre. Eine weitere Alternative stellen die Kernel der Serie 2.6.16.x dar: Adrian Bunk nimmt hier ähnlich wie bei Linux 2.4 normalerweise nur kleinere und überschaubare Korrekturen und Erweiterungen auf. Er ist mittlerweile bei Version 2.6.16.53 angekommen, die er vor zwei Tagen veröffentlichte.

Quelle : www.heise.de
Titel: Noch "ein paar" Versionen von Linux-Kernel 2.6.20 geplant
Beitrag von: SiLæncer am 13 August, 2007, 12:01
Willy Tarreau, Verwalter der 2.4-Kernel-Reihe, möchte die Linux-Version 2.6.20 noch ein wenig länger pflegen, als es die Verwalter der Stable-Kernel-Series normalerweise getan hätten. Letztere veröffentlichen seit Linux 2.6.11.1 Fehlerkorrekturen für aktuelle Version der 2.6er-Serie und kennzeichnen sie durch eine vierte Nummer. Seit einigen Monaten geben sie bei Bedarf auch für die vorherige Version noch ab und an Korrekturen frei – so auch in den vergangen zwei Wochen, in denen das Stable-Team die Kernel 2.6.21.7 und 2.6.22.2 veröffentlichte, obwohl 2.6.22 schon einen Monat alt ist.

Tarreau wollte die beiden Verwalter dazu bringen, auch für 2.6.20 noch eine überarbeitete Version zu betreuen. Die Arbeit blieb an ihm selbst hängen; er stellte einen Reihe von Patches zur Diskussionen, aus denen der Linux-Kernel 2.6.20.16 hervorgehen soll. In der begleitenden Mail geht er näher auf sein Vorhaben ein: Er will nicht die harte Arbeit erledigen, die die beiden Hauptverwalter der Stable-Kernel-Series erledigen, sondern nur ausgewählte Korrekturen noch in "einigen" neuen Versionen von 2.6.20 veröffentlichen. Die Korrekturen müsseten für 2.6.20 relevant sein und in die anderen Kernel bereits eingeflossen sein; daher würden die 2.6.20-Kernel sicher auch immer ein wenig später erscheinen.

Er konkretisiert dabei nicht, über welchen Zeitraum er "a few more 2.6.20 releases", wie er es formuliert, betreuen will. Eine weitere, über Monate und Jahre gepflegte Stable-Reihe, wie sie Adrian Bunk seit nunmehr einem Jahr mit neuen Varianten des Kernel 2.6.16.x stetig pflegt, ist nach dem aktuellen Stand der Planungen von Tarreau wohl eher unwahrscheinlich.

Die Entwicklung der nächsten größeren Kernel-Überarbeitung schreitet indessen weiter voran – vor wenigen Stunden veröffentlichte Linus Torvalds die dritte Vorabversion der Version 2.6.23 des Linux-Kernels. Er fordert Linux-Nutzer und -Entwickler in der Mail zur Freigabe zum ausgiebigen Testen des Kernels auf und kommentiert dafür auch die derzeit vorherrschende Urlaubsstimmung ("beaches are overrated").

Quelle und Links : http://www.heise.de/newsticker/meldung/94277
Titel: Linux-Kernel 2.6.23 mit Xen und neuem Scheduler freigegeben
Beitrag von: SiLæncer am 10 Oktober, 2007, 08:24
Nach dreizehn Wochen Entwicklungszeit hat Linus Torvalds heute die Version 2.6.23 des Linux-Kernels veröffentlicht. Die Neuerungen sind wie mit jeder der normalerweise ungefähr im Zehn-Wochen-Takt erscheinenden größeren Linux-Überarbeitungen vielfältig und in den verschiedensten Bereichen der Kernels angesiedelt. So wurde mit dem Scheduler diesmal unter anderem eine der zentralen Komponenten des Kernels ausgetauscht – der Completely Fair Scheduler (CFS) regelt in Zukunft, wann und wie lange Programme und deren Threads Rechenzeit auf der CPU erhalten.

Ferner integrierten die Kernel-Entwickler auch die Virtualisierungsumgebung Xen – zweieinhalb Jahre später, als es sich deren Entwickler ursprünglich erhofft hatten. Und selbst jetzt handelt es sich nur um ein abgespecktes Xen – zum Übersetzen der Gastgeber-Teile sind auch in Zukunft noch Kernel-Patches erforderlich. Mit Lguest schaffte es eine weitere Virtualisierungstechnik in den Kernel.

Doch auch das sind nur die drei herausragendsten Änderungen aus den über 6000 verschiedenen Patches, die in 2.6.23 eingeflossen sind und viele neue oder verbesserte Treiber sowie Verbesserungen an der Kernel-Infrastruktur mitbringen. Ein ausführlicher Artikel auf heise open geht detailliert auf die wichtigsten Neuerungen und Änderungen der jüngsten Linux-Version ein:

http://www.uwsg.indiana.edu/hypermail/linux/kernel/0710.1/0498.html

Quelle : www.heise.de

Titel: Linux 2.6.24 mit neuen WLAN-Treibern und vereinheitlichter x86-Architektur
Beitrag von: SiLæncer am 12 Oktober, 2007, 16:03
Zwei Tage nach der Freigabe des Linux Kernels 2.6.23 hat Linus Torvalds nun den ersten Satz Änderungen für Version 2.6.24 in seinen Entwicklerzweig integriert. Darunter waren wie erwartet zahlreiche neue WLAN-Treiber sowie die Zusammenführung der Architektur-Verzeichnisse für die 32- und 64-Bit-x86-Architekturen. Letztere verschiebt zahlreiche Dateien im Quellcodebau – zusammen mit den anderen Änderungen der vergangenen Stunden summieren sich die 2246 Commits so bereits zu einem stattlichen Patch mit einer Größe von 24 MByte (unkomprimiert) – 465.708 Zeilen sind neu, 261.554 entfernten die Kernel-Hacker; in andere Dateien verschobenen Quellcode-Zeilen zählen dabei aber jeweils als neu und entfernt.

Insgesamt wurden sieben neue WLAN-Treiber in den Entwicklerbaum aufgenommen, aus dem in zirka zehn Wochen 2.6.24 hervorgehen sollte:

    * Iwlwifi mit den Treibern iwl3945 und iwl4965 für die beiden derzeit aktuellen und vornehmlich in Centrino-Notebooks zu findenden WLAN-Module von Intel
    * rt2x00 für verschiedene WLAN-Chips von Ralink
    * p54 für 802.11G-Prism-Chips von Intersil
    * adm8211 für ADMtek ADM8211-Chips
    * b43 für 802.11G-Chips von Broadcom
    * b43legacy für ältere Broadcom-WLAN-Hardware

Einige der WLAN-Chips von Intersil und Broadcom unterstützt der Kernel mit anderen Treibern bereits jetzt schon; die neuen Treiber setzen jedoch nun auf den mit Linux 2.6.22 eingeführten WLAN-Stack Mac80211. Der erfuhr parallel zur Aufnahme der Treiber einen Fülle von Verbesserungen und Korrekturen.

Zukünftige Linux-Kernel sollten durch diese Treiber einen Großteil heute gängiger WLAN-Hardware von Haus aus unterstützen – so wie es sich die Entwickler im Mai vorigen Jahres erhofft hatten, als sie den Schwenk auf den neuen WLAN-Stack beschlossen, nachdem sich die Programmierer lange nicht auf ein einheitliches Basis-Framework für WLAN-Treiber einigen konnten. Um das ganze rund zu machen, fehlt im Kernel jedoch noch der designierte Madwifi-Nachfolger ath5k – es dürfte aber noch etwas Zeit vergehen, bis der den Sprung in den offiziellen Kernel schafft. Einige Distributionen wollen ath5k aber wohl bald ausliefern – ähnlich, wie Fedora 7 und Ubuntu 7.04 bereits sein Monaten einige der jetzt in den offiziellen Linux-Kernel aufgenommenen Treiber enthielten.

Die Zusammenlegung des Architektur-Codes der beiden x86-Architektur-Ansätze soll vor allem die Wartung vereinfachen – bisher hatten die unter den Kürzeln x86, x86-32, i386 oder IA32 bekannte 32-Bit-x86-Architektur und deren als x86-64, x86_64, AMD64T, EM64T oder IA32e bekannte 64-Bit-Erweiterung jeweils eigene Verzeichnisse, obwohl nicht unerhebliche Teile der Codebasis ähnlich oder identisch sind. Die Teilung führte in der Vergangenheit gelegentlich dazu, dass eine Korrektur etwa nur in den x86-32-Code unter arch/i386/ Einzug hielt, aber für arch/x86_64/ vergessen wurde – oder umgekehrt.

Mit der Verschmelzung befindet sich der Code für die x86-Architekturen nun gemeinsam im Verzeichnis arch/x86/. Dateien mit nur für x86-32-Systeme interessanten Code kennzeichnet ein _32-Anhängsel, während die Dateinamen mit 64-Bit-spezifischen Code ein _64 enthalten. Durch Include- und Makefile-Tricks soll für alte x86-32-Systeme benötigter Code nicht in x86-64-Kerneln compiliert werden. Die Zusammenlegung geschah aber weitgehend mit Hilfe von Skripten, die viele der benötigten Schritte zur Vereinigung automatisch ausführten. In den kommenden Wochen und Monaten wollen die Entwickler dann die Feinarbeit erledigen und noch weitere Teile zusammenlegen.

Die Idee zur Vereinigung wurde im Juli das erste Mal diskutiert – zahlreiche Entwickler waren von der Idee gleich sehr angetan. Eine ähnliche Zusammenlegung hatte es vor Jahren schon zwischen der s390- und PowerPC-Architektur gegeben, was sich laut den Entwicklern bewährt hätte. Einige Entwickler sprachen sich aber auch dagegen aus – darunter auch der Verwalter, der die Pflege der x86-32- und x86-64-Architekturen koordiniert. Der musste die Verschmelzung aber schließlich akzeptieren, nachdem Torvalds und einige andere führende Entwickler diese auf im Rahmen einer Entwickler-Konferenz beschlossen.

Neben den neuen WLAN-Treibern und der Umstrukturierung bei der x86-Architektur gab es noch den ersten Schwung weiter Neuerungen in den zu 2.6.24 führenden Entwicklerzweig. So kam der Treiber e1000e für die Netzwerkfunktion in Intels aktueller Desktop-Southbridge-Familie ICH9 hinzu. Das /proc/net-Verzeichnis ist nun Namespace-spezifisch, was etwa für Container-Virtualisierung von Interesse ist – für diesen Einsatzbereich nahmen die Entwickler ferner den von einem OpenVZ-Programmier eingebrachten Virtual-Ethernet-Treiber veth auf.

Zahlreihe neue und überarbeitete Treiber gab es auch im Video-4-Linux-Bereich – etwa den Ivtv-Framebuffertreiber ivtvfb oder CX23885/CX23887. Über den Treiber em28xx und eine verbesserte Treiber-Variante gibt es allerdings Diskrepanzen, da die neue Variante nicht den Ansprüchen zahlreicher wichtiger Linux-Entwickler genügt. Daher wird sie wohl auch nicht in den offiziellen Kernel aufgenommen, obwohl die neue Treiber-Variante mehr Hardware unterstützt als die ältere.

Quelle : www.heise.de
Titel: Neues Jahr, neuer alter Kernel: Linux 2.4.36
Beitrag von: SiLæncer am 01 Januar, 2008, 16:02
Parallel zur Entwicklung des aktuellen Linux-Kernels 2.6.x geht auch die Pflege des 2.4er Kernels noch weiter: Am heutigen Neujahrstag hat Willy Tarreau Linux 2.4.36 freigegeben, fast ein halbes Jahr nach dem Vorgänger 2.4.35. Die prominenteste Änderung ist die Einführung eines neuen sysctl namens mmap_min_addr, mit dem man verhindern kann, dass Prozesse die Adresse null belegen. So führt das Dereferenzieren eines Nullpointers zuverlässig zu einem Fehler, was der Ausnutzung eventueller Sicherheitslücken vorbeugt. Die weiteren Änderungen sind im (ausgesprochen kurzen) Changelog nachzulesen.

http://www.kernel.org/pub/linux/kernel/v2.4/ChangeLog-2.4.36

Quelle : www.heise.de
Titel: Linux-Kernel 2.6.24 mit neuen WLAN-Treibern veröffentlicht
Beitrag von: SiLæncer am 25 Januar, 2008, 07:47
Sieben neue WLAN-Treiber nahmen die Entwickler in den nach mehreren Wochen Entwicklungszeit freigegeben Linux-Kernel 2.6.24 auf und verbessern so die Unterstützung für moderne WLAN-Hardware erheblich. Dank Änderungen am noch jungen CFS-Scheduler soll der neue Kernel zudem flotter arbeiten und ein besseres Interaktivitätsgefühl vermitteln.

Zu diesen Neuerungen gesellen sich zahlreiche Verbesserungen an der Kernel-Infrastruktur, die Nutzung verschiedener Stromspartechniken bei moderner Hardware und eine Reihe neuer und überarbeiteter Treiber. Zusammen mit einer massiven Umorganisation im Quellcode summiert sich das auf rund eineinviertel Millionen neue, bewegte oder gelöschte Zeilen Quellcode beim neuen Kernel – so viel wie nie zuvor bei einem neuen 2.6er-Kernel.

Das mehrere Megabyte große Changelog beschreibt alle Änderungen der neuen Kernel-Version im Detail; einen Überblick bietet ein Artikel auf heise open:

    * WLAN einfach so -- die Neuerungen von Linux 2.6.24

          o Sieben neue WLAN-Treiber und Verbesserungen an MAC80211
          o CFS-Scheduler schneller und erweitert
          o Strom sparen mit 2.6.24
          o Virtualisierungsmöglichkeiten verbessert
          o Zusammenlegung des i386- und x86_64-Verzeichnisse
          o Weitere Änderungen an der Infrastruktur des Kernels
          o Neue und erweiterte Treiber en masse
          o Ausblick auf die nächste Linux-Version
          o Noch mehr Änderungen von 2.6.24

      Allgemeine Informationen zum Linux-Kernel:

          o Den neuen Linux-Kernel herunterladen
          o Die verschiedenen Linux-Entwicklungslinien
          o Entwicklungszyklus eines Linux-Kernels

Quelle : http://www.heise.de/newsticker/meldung/100809
Titel: Kernel-Log: 2.6.25-Entwicklung läuft an, ext4 schreitet voran
Beitrag von: SiLæncer am 28 Januar, 2008, 11:10
Kaum 18 Stunden, nachdem Linus Torvalds Linux 2.6.24 freigegeben hat, startete er die heiße Entwicklungsphase für 2.6.25 und nahm erste Patches für die nächste Kernel-Version in das Quellverwaltungssystem des Kernels auf. Unter den rund 1700 bislang integrierten Patches sind unter anderem zahlreiche Änderungen an der grundlegenden Infrastruktur für Treiber und Verbesserungen am Oracle Cluster File System 2 (OCFS2). Auch der Completely Fair Scheduler (CFS) wurde abermals verbessert; einige der Änderungen wie etwa Preempt-RCU (Preemptiv Read-Copy Update) sollen speziell das Echtzeit-Verhalten optimieren und wurden im auf Realtime-Entwicklung spezialisierten RT-Tree bereits zuvor ausgiebig getestet.

Zur Integration in 2.6.25 vorgeschlagen sind zahlreiche Änderungen am noch in Entwicklung befindlichen Ext4. Mit ihnen soll das On-Disk-Format des Dateisystems dann feststehen – das hofft zumindest Theodore Ts'o (tyso). Vom Einsatz auf Produktivsystemen rät der führende Ext4-Entwickler allerdings weiterhin ab. Abgeschlossen ist die Ext4-Entwicklung ohnehin noch nicht; mit delayed allocation and online defrag stehen noch weitere Features auf der Ext4-ToDo-Liste. Einige Distributionen wollen nichtsdestotrotz das Dateisystem bald in ihrem Kernel aktivieren; über ein neue Mount-Option wollen die Ext4-Entwicklern den Anwendern daher in Zukunft deutlich machen, dass das Dateisystem noch nicht für den Produktiveinsatz gedacht ist.

Adrian Bunk, Betreuer der Stable-Kernel-Linie 2.6.16.x, ist derweil bei Version 2.6.16.60 angekommen. Mit CVE-2007-6063, CVE-2007-6151 und CVE-2007-6206 CVE-2007-6206 korrigiert sie gleich drei Sicherheitslücken; zwei davon befinden sich im ISDN-Code.

Der Chipsatzhersteller VIA hat in den vergangenen Jahren immer mal wieder in Presse-Meldungen das eigene Linux- und Open-Source-Engagement gepriesen. Was VIA an Code und Treibern veröffentlicht hat, war zumeist extrem schwierig in Installation und Pflege, wurde schlecht gewartet, war teilweise inkompatibel zu neuen Linux-Distributionen und stand manchmal gar nicht wie versprochen komplett unter einer Open-Source-Lizenz. Das hat wohl auch einige Anwender genervt, die nun über eine Petition versuchen, VIA zu einer besseren Linux-Unterstützung zu bewegen.

Ein Hinweis in eigener Sache: Parallel zum Kernel-Log in der gedruckten c't werden wir in Zukunft auch online in unregelmäßigen Abständen in einem Kernel-Log über interessante Entwicklungen im Umfeld des Linux-Kernels berichten. Das Kernel-Log soll aber einzelne Meldungen zu bedeutsamen Kernel-Themen auf heise online und heise open nicht verdrängen; vielmehr soll es gebündelt und in Kurzform Informationen zu weniger bedeutsamen, aber trotzdem wichtigen Themen liefern, die sonst vielleicht unerwähnt blieben.

Quelle : http://www.heise.de/newsticker/meldung/102538
Titel: Linux-Kernel 2.6.28 erschienen
Beitrag von: SiLæncer am 25 Dezember, 2008, 09:01
 Als Weihnachtsgeschenk für alle Linux-Anwender hat Linus "almost Santa" Torvalds die neue Version 2.6.28 des Linux-Kernels freigegeben. Das Dateisystem Ext4, dedizierter Nachfolger des derzeitgen Standards Ext3, hat jetzt seine Hauptentwicklungsphase hinter sich und soll bald reif für den produktiven Einsatz sein. Größere Umbauarbeiten am Code für Speicher-, Datenträger- und GPU-Verwaltung versprechen einen Geschwindigkeitszuwachs und bessere Skalierbarkeit auf großen Servern. Und wie üblich bringt der neue Kernel zahlreiche neue und überarbeitete Treiber, die die Hardwareunterstützung von Linux in allen Bereichen verbessern.

Siehe dazu auch:

    * Höher und weiter, Die Neuerungen von Linux 2.6.28. Detaillierte technische Informationen zu dem neuen Kernel.
    * Fragmente und Verzeichnisse, Das Linux-Dateisystem Ext3 tunen. Technische Hintergründe und Tunings-Tipps zu Ext3.

Quelle : http://www.heise.de/newsticker/Linux-Kernel-2-6-28-erschienen--/meldung/120895
Titel: Kernel-Log: 2.6.29-Entwicklung angelaufen
Beitrag von: spoke1 am 05 Januar, 2009, 14:26
Neues bei 3D-Unterstützung

Kernel-Log-Logo Nach der Veröffentlichung von Linux 2.6.28  am Heiligabend begann diesmal nicht sofort die hektische, Merge Window genannte Phase bei der Entwicklung der darauffolgenden Version – vielmehr herrschte einige Tage Ruhe, bis Linus Torvalds am 28.12. damit begann, erste Änderungen für 2.6.29 zu sammeln. Unter den rund 5400 bislang für 2.6.29 aufgenommenen Patches finden sich bereits zahlreiche größere Neuerungen – darunter etwa Kernel-Based Mode-Setting für Intel-Grafikhardware, die Zusammenlegung der Sparc- und Sparc64-Verzeichnisse, ein V4L/DVB-Treiber für den Chip STB0899 sowie umfangreiche Änderungen am Dateisystem XFS.

Über diese und andere in den nächsten Tagen und Wochen integrierte Neuerungen wird das Kernel-Log im Rahmen der "Was 2.6.xx-Serie" wie schon bei 2.6.28 nach und nach detailliert berichten. Ungewiss ist derzeit, wie lange das Merge Window offen ist – nach der Feiertagsverzögerung will Torvalds sich bei der Aufnahme der größeren Neuerungen diesmal etwas mehr als die üblichen zwei Wochen Zeit lassen.

Chris Mason hat derweil eine experimentelle Version des maßgeblich von ihm vorangetriebenen Dateisystems Btrfs als Patch für den aktuellen Hauptentwicklungszweig veröffentlicht; einige Kernel-Entwickler kritisierten jedoch Teile des Codes, sodass es derzeit eher unwahrscheinlich scheint, dass das Dateisystem bereits bei 2.6.29 aufgenommen wird, um es im Rahmen des Hauptentwicklungszweigs weiterzuentwickeln. Andrew Morton hat indes eine Liste von Patches[6] veröffentlicht, die vom MM-Zweig in den Hauptentwicklungszweig umziehen sollen.

Rund um X.org

Bereits kurz vor Silvester hat AMD-Entwickler Alex Deucher rudimentären Code veröffentlicht, mit dem sich die 3D-Einheiten der Radeon-Chipserien R600 (Radeon HD 2000 und 3000) und R700 (Radeon 4000) nutzen lassen. Dieser Code ist bisher allerdings nicht für Anwender, sondern für Entwickler gedacht und soll diesen beispielhaft zeigen, wie die 3D-Einheiten der Grafikchips angesprochen werden; der Code dient so praktisch auch als Dokumentation. Mit Hilfe dieser Informationen und Teilen des jetzt veröffentlichten Codes sollen Treiber und Direct Rendering Manager (DRM) dann um umfassende Unterstützung für die 3D-Fähigkeiten der Grafikchips erweitert werden. Bis Endanwender Compiz, Spiele und 3D-Anwendungen auf den aktuellen Radeon-Generationen unter Linux nutzen können, dürften daher noch einige Monate vergehen. Radeonhd-Entwickler Matthias Hopf verrät in seinem Blog und in einer Mail einige Details zum experimentellen Code und wie man ihn nutzt.

Die Entwickler von X.org haben derweil Mitte/Ende Dezember zahlreiche neue Treiber und Libraries veröffentlicht – darunter unter anderem neue Versionen von xf86-video-{s3,s3virge,sis,vesa} und xf86-input-{synaptics,vmmouse}. Vom Treiberpaket "ati" gibt es einen Release Candidate der Version 6.9.1, die zahlreiche Neuerungen wie Optimierungen für HDMI sowie Unterstützung der Radeon-Chips RV710 (Radeon HD 4300/HD 4500) und RV730 (Radeon HD 4600) mitbringt. Etwas weiter sind die Entwickler des alternativen Treibers radeonhd, dessen Version 1.2.4 diese Chips bereits unterstützt und ebenfalls Optimierungen für HDMI bringt.

Auch vom Intel-Treiber 2.6 gibt es einen Release Candidate, der einige Verbesserungen[12] bringt. Bereits fertig und ebenfalls mit zahlreichen Neuerungen[13] ausgestattet ist die Version 1.7.0 des Grafiktreibers siliconmotion.


Quelle: http://www.heise.de
Titel: Linux unterstützt WiMAX
Beitrag von: spoke1 am 09 Januar, 2009, 14:24
Linux unterstützt WiMAX

Mit der kommenden Version 2.6.29 wird der Linux-Kernel Unterstützung für die drahtlose Breitband-Vernetzungstechnik WiMAX[1] erhalten. WiMAX (IEEE-802.16) erlaubt deutlich größere Reichweiten als WLAN bei einer höheren Bandbreite als UMTS, sodass die von Intel geförderte Technik als spannende Option für den drahtlosen Internet-Zugang gilt. Der maßgeblich von Intel-Entwicklern stammende Code implementiert nicht nur eine WiMAX-Infrastruktur im Linux-Kernel, sondern bringt auch einen Treiber für die in einigen neueren Centrino-Notebooks verbauten WLAN-/WiMAX-Module Intel Wireless WiMAX/WiFi Link 5150 und 5350 mit.

Mehr Informationen zu den für die nächste Version des Linux-Kernels geplanten Neuerungen finden sich in der Kernel-Log-Serie Was 2.6.29 bringt[2] auf heise open. Der erste Teil der Serie beschreibt die Änderungen im Netzwerkbereich – neben WiMAX auch neue WLAN- und Ethernet-Treiber und den einfacheren Betrieb von Linux-Systemen als WLAN-Access-Point. In den kommenden acht bis zehn Wochen bis zur Freigabe des Kernels werden wir auf heise open[3] in weiteren Folgen des Kernel-Logs über die Änderungen in anderen Bereichen des Linux-Kernels berichten.

Quelle: http://www.heise.de/
Titel: Neue Dateisysteme für den Linux-Kernel
Beitrag von: SiLæncer am 10 Januar, 2009, 17:35
Mit Btrfs und Squashfs werden zwei neue Dateisysteme in den kommenden Linux-Kernel 2.6.29 einziehen. Squashfs ist ein komprimiertes read-only-Dateisystem, das bereits seit längerem von diversen Live-Distributionen verwendet wird, bislang allerdings außerhalb der Kernelquellen entwickelt wurde.

Btrfs ist ein "Next Generation Filesystem", das nach Ansicht der Kernel-Entwickler langfristig das Standard-Dateisystem für Linux werden soll. Das maßgeblich von dem bei Oracle angestellten Chris Mason entwickelte Dateisystem wird allerdings noch geraume Zeit brauchen, bis es reif für den Produktiveinsatz ist – bis dahin soll Ext4 die allmählich spürbaren Limitierungen des derzeitigen Linux-Standards Ext3 beseitigen.

Die Entwicklungen rund um den kommenden Linux-Kernel 2.6.29 fasst eine Serie von Kernel-Logs auf heise open zusammen. Der erste Teil der Serie Was 2.6.29 bringt befasst sich mit Neuerungen im Netzwerkbereich rund um LAN, WLAN und WiMAX.

Siehe dazu auf heise open:

    * Kernel-Log – Was 2.6.29 bringt (Netzwerk): "Mistige" WLAN-Treiber, Wimax- und AP-Unterstützung
    * Fragmente und Verzeichnisse, Das Linux-Dateisystem Ext3 tunen

Quelle : http://www.heise.de/newsticker/Neue-Dateisysteme-fuer-den-Linux-Kernel--/meldung/121484
Titel: Erste Version des kommenden Linux-Kernels
Beitrag von: SiLæncer am 12 Januar, 2009, 16:03
Am Wochenende hat Linus Torvalds die erste Vorabversion des nächsten Linux-Kernels 2.6.29-rc1 veröffentlicht und damit das Aufnahmefenster für größere Änderungen geschlossen. Damit dürften die wichtigsten Neuerungen in Linux 2.6.29 feststehen.

Dazu gehören neben der Unterstützung von WiMAX und dem Betrieb als Access Point, den neuen Dateisystemen Squashfs und Btrfs sowie zahlreichen neuen und verbesserten Treibern unter anderem Verbesserungen an der Grafikunterstützung im Kernel und das Comedi-Framework zur Ansteuerung von Hardware zur Messdatenerfassung. Weitere Details finden sich in einem Kernel-Log auf heise open.

Siehe dazu auch:

    * Kernel-Log: Heiße Entwicklungsphase von 2.6.29 beendet, neue X.org-Treiber auf heise open
    * Kernel-Log – Was 2.6.29 bringt (Netzwerk): "Mistige" WLAN-Treiber, Wimax- und AP-Unterstützung

Quelle : http://www.heise.de/newsticker/Erste-Version-des-kommenden-Linux-Kernels--/meldung/121554
Titel: Diskussion um Xen im Linux-Kernel
Beitrag von: SiLæncer am 05 März, 2009, 20:55
Anlässlich der Bereitstellung neuer Xen-Patches für den Linux-Kernel diskutieren die Kernel-Entwickler, ob man neben der neueren Virtualisierungslösung KVM die Linux-Unterstützung für Xen überhaupt noch erweitern soll. Derzeit erlaubt der im Kernel integrierte Xen-Code lediglich den Betrieb als Gastsystem (DomU); den Code zum Betrieb als privilegierte Dom0 pflegen die Xen-Entwickler bislang als Patch für den (bereits älteren) Linux-Kernel 2.6.18. Allerdings ist mit KVM mittlerweile eine neue, nach Ansicht vieler Entwickler überlegene Virtualisierungstechnik im Kernel enthalten, sodass sie die Frage stellen, warum Xen überhaupt noch in den Linux-Kernel einziehen soll.

Quelle : www.heise.de
Titel: "Next Generation File System" für Linux
Beitrag von: SiLæncer am 10 März, 2009, 16:28
Der kommende, in ein bis zwei Wochen erwartete Linux-Kernel 2.6.29 wird das "next generation file system" Btrfs enthalten – allerdings noch im Status "experimentell". Die für den Produktionseinsatz nötige Reife soll das dedizierte zukünftige Standard-Dateisystem für Linux im Rahmen der Kernel-Entwicklung erreichen.

Btrfs ist ein modernes, von Grund auf neu entwickeltes Dateisystem mit ähnlichen Fähigkeiten wie das ZFS in Solaris. Eine weitere Neuerung in 2.6.29 wird das SquashFS sein, ein komprimiertes Read-Only-Dateisystem, das schon jetzt in vielen Installation- oder Live-Systemen sowie im Embedded-Bereich eingesetzt wird.

Quelle : www.heise.de
Titel: Neues Linux-Maskottchen
Beitrag von: SiLæncer am 18 März, 2009, 11:31
Bei der kommenden Linux-Version 2.6.29 tritt ein Tasmanischer Teufel an die Stelle des Pinguins.

(http://www.heise.de/bilder/134742/0/0)
Tuz, das Maskottchen von Linux 2.6.29

Tuz, so der Name des Tasmanischen Teufels oder Beutelteufels mit aufgesetzter gelber Nase, soll auf die Situation der nur auf Tasmanien lebenden Tiere hinweisen. Sie sind durch die seit den 90er-Jahren auftretende "Devil Facial Tumour Disease" vom Aussterben bedroht.

Quelle : www.heise.de
Titel: Neue Firewall für den Linux-Kernel
Beitrag von: SiLæncer am 19 März, 2009, 16:14
Das Netfilter-Entwicklerteam um Patrick McHardy hat die Alpha-Version einer neuen Implementierung des Firewall-Systems im Linux-Kernel samt Userspace-Tool zur Steuerung der Firewall vorgelegt. nftables führt eine grundlegende Trennung zwischen den im Userspace definierten Regeln und den Netzwerk-Objekten im Kernel ein: Der Kernel arbeitet mit generischen Daten wie IP-Adressen, Ports und Protokollen und bietet allgemeine Operationen etwa zum Vergleichen der Werte eines Pakets mit Konstanten oder zum Verwerfen eines Pakets.

Firewall-Regeln, die der Anwender mit dem Tool nft definiert, werden bereits von dem Programm auf Korrektheit überprüft und dann in die allgemeinen Kernel-Operationen und -Objekte übersetzt. Dabei führt nftables eine gegenüber iptables neue Syntax ein – einen ersten Eindruck vermitteln die Beispiele in der Ankündigung. Regeln können entweder inkrementell hinzugefügt oder als komplettes Regelwerk aus einer Datei gelesen werden, wobei nft die Modularisierung eines Rule Set durch Aufteilen auf verschiedene Dateien unterstützt.

Der nftables-Code hat derzeit noch Alpha-Qualität: Er enthält Bugs und nicht alle Features sind implementiert. Von einem Einsatz auf Produktivsystemen raten die Entwickler daher ausdrücklich ab. Der Code sei jedoch robust genug, um damit experimentieren zu können – die letzte durch nftables verursachte Kernel Panic liege bereits einige Monate zurück.

Quelle : http://www.heise.de/newsticker/Neue-Firewall-fuer-den-Linux-Kernel--/meldung/134895
Titel: Linux-Kernel 2.6.29 freigegeben
Beitrag von: SiLæncer am 24 März, 2009, 06:56
Nach fast dreizehn Wochen Entwicklungszeit und acht Vorabversionen hat Linus Torvalds die auf den Namen "Temporary Tasmanian Devil" getaufte Linux-Version 2.6.29 freigeben. Bei ihr nahmen die Kernel-Hacker mit Btrfs und SquashFS gleich zwei neue Dateisysteme auf und erweiterten den Ext4-Code um die Möglichkeit zum Betrieb ohne Journal. Einen flackerfreien Startvorgang, Text-Konsolen in hohen Bildschirmauflösung sowie die Beseitigung einiger technischer Probleme rund um Grafikhardware verspricht das neue Kernel-Based Mode-Setting (KMS). Verbesserungen im WLAN-Stack Mac80211 erweitern den Kernel um Funktionen zum Betrieb als Access Point (AP); neu ist ferner das Wimax-Subsystem samt passender Wimax-Treiber. Und wie immer sind zahlreiche neue und verbesserte Treiber für die verschiedensten Hardware-Komponenten hinzugekommen.

Ein Kernel-Log auf heise open bietet einen Überblick über diese und viele weitere Neuerungen von Linux 2.6.29, bei der der Tasmanischer Teufel Tuz vorübergehend Tux als Linux-Maskottchen ersetzt:

    * Dateisystemneuerungen
    * Kernel-Based Mode-Setting (KMS)
    * Besser vernetzt
    * Mit Net- und Notebooks unterwegs
    * Schnellstart
    * Audio und Video
    * USB und FireWire
    * Treiber-Aufbauanstalt
    * Summa summarum 2.6.29
    * Daten und Zahlen zu den jüngsten Versionen des Linux-Kernels
    * Kernel-Trends: Was 2.6.30 bringt

Quelle und Links : http://www.heise.de/newsticker/Linux-Kernel-2-6-29-freigegeben--/meldung/134857
Titel: Linux 2.6.29.1 beseitigt Fehler im Netzwerksubsystem
Beitrag von: SiLæncer am 04 April, 2009, 13:57
Die Betreuer der Linux-Stable-Series haben die Kernel-Version 2.6.29.1 freigegeben. Sie enthält knapp 50 Korrekturen und kleinere Erweiterungen für die zehn Tage zuvor veröffentlichte Linux-Version 2.6.29, bei der der Tasmanischer Teufel Tuz vorübergehend als Maskottchen dient; in der Freigabe-Mail weist Kernel-Hacker Chris Wright explizit auf einige Korrekturen von Fehlern im Netzwerksubsystem hin, welche Anwendern von Linux 2.6.29 Probleme bereitet hätten.

Die Kernel-Entwickler arbeiten derweil fleißig an Kernel 2.6.30 und haben in den Hauptentwicklungszweig von Linux bereits über 7400 Patches eingepflegt. Dennoch hatten die Entwickler genug Zeit für ausgiebige Diskussionen, denn die Streitereien rund um Ext3 und Ext4 gingen nach dem Bericht von heise open noch mehre Tage weiter – der immer noch aktive Thread auf der Linux-Kernel Mailing-List (LKML) enthält mittlerweile über 600 Mails. Der Linux Weather Forecast verweist auf einen derzeit eigentlich nur für Abonnenten erhältlichen Artikel auf LWN.net, der die wichtigsten Punkte der in unterschiedliche Richtungen gelaufenen Diskussion zusammenfasst.

Quelle : http://www.heise.de/newsticker/Linux-2-6-29-1-beseitigt-Fehler-im-Netzwerksubsystem--/meldung/135773
Titel: Kernel-Log – Was 2.6.30 bringt (Netzwerk): Neue Treiber für LAN und WLAN
Beitrag von: SiLæncer am 18 April, 2009, 22:00
Da ja hier wie üblich keiner was macht ...tu ich mal was....



Die nächste größere Linux-Version bringt neue WLAN-Treiber für Chips von Atheros, Intel, Intersil/Prism und Marvell; auch für LAN-Chips von Intel sind frische Treiber dabei. Ferner nutzt der Kernel die Stromspartechniken moderner WLAN-Hardware in Zukunft besser und Oracle steuerte Code für das Cluster-Protokoll Reliable Datagram Sockets RDS bei.

Mit der kürzlich erfolgten Freigabe der zweiten Vorabversion von Linux 2.6.30 haben die Kernel-Hacker ähnlich wie bei der Entwicklung früherer Kernel-Versionen noch einige größere Patches in den Hauptentwicklungszweig von Linux aufgenommen, die das Merge-Window verpasst hatten. Weitere größere Änderungen sind in der zweiten Phase des Entwicklungszyklus aber eher selten, sodass die zweite Vorabversion alle größeren Änderungen der nächsten größere Kernel-Überarbeitung enthalten dürfte.

Das Kernel-Log nimmt das zu Anlass, die Artikelserie "Was 2.6.30 bringt" mit der Beschreibung der bedeutsamsten Änderungen rund um die Netzwerkunterstützung von Linux zu eröffnen. Weitere Teile werden die Kernel-Log-Mini-Serie auf heise open in den kommenden Wochen erweitern und dabei nach und nach die wichtigsten für 2.6.30 vorgesehenen Neuerungen aus den verschiedenen Funktionsbereichen des Linux-Kernels umfassend beschreiben, bevor Linux Torvalds in zirka sieben bis zehn Wochen den Linux-Kernel 2.6.30 freigeben dürfte.

Code-Recycling

Erstmals wird Linux mit der Version 2.6.30 den WLAN-Treiber ar9170 für den gleichnamigen 802.11n-USB-Chipsatz von Atheros mitbringen (1, 2, 3, 4, 5, 6). Der Treiber ist noch brandneu, nutzt aber Codeteile des vor einigen Monaten von Atheros offengelegten Treibers otus. Den hatten die Kernel-Entwickler bei Linux 2.6.29 in den Staging-Bereich aufgenommen; den Staging-Treiber umzubauen und dabei so zu verbessern, dass er den Qualitätsansprüchen der Kernel-Hacker genügt, hätte laut Ansicht einiger WLAN-Treiberentwickler allerdings mehr Arbeit gemacht als einen auf den WLAN-Stack des Kernels abgestimmten Treiber neu zu schreiben, was die Entwicklung des jetzt aufgenommenen Treibers nach sich zog.

Ebenfalls zum ersten Mal dabei ist der primär von Marvell-Entwicklern vorangetriebene WLAN-Treiber mwl8k für die PCI- und PCIe-WLAN-Chips der Marvell-Serie 88w8xxx (Topdog). Er unterstützt derzeit jedoch lediglich den WLAN-Chip 88w8687 im STA-Modus auf den Kanälen 1 bis 11. Ebenfalls bei weitem noch nicht ausgereift ist der neue Treiber at76c50x-usb für die älteren Atmel-WLAN-Chips at76c503, at76c505 und at76c505a. Er soll langfristig den bei 2.6.28 in den Staging-Bereich des Kernels aufgenommenen Treiber at76_usb ersetzen – ähnlich wie bei otus und ar9170 finden sich Teile des alten Treiber-Codes im neuen, auf den Mac80211-WLAN-Stack des Kenrels aufbauenden Treiber.

Aufräumarbeiten und stromsparender funken

Teile des Treibers iwl3945 legten die Kernel-Entwickler mit den Dateien der Treiber für neuere Intel-WLAN-Chips zusammen, um die Wartung zu vereinfachen (u. a. 1, 2, 3, 4). Letztere erweiterten die Kernel-Entwickler um Unterstützung für die Intel-WLAN-Chips 1000, 6000 und 6050 (1, 2, 3, 4).

Ferner verbesserten die Kernel-Hacker die Unterstützung für die zur Laufzeit genutzten Stromsparmechanismen moderner WLAN-Hardware sowohl im WLAN-Stack Mac80211 als auch einigen Treibern (u. a. 1, 2, 3; weitere Commits in der Liste am Ende des Artikels). Auch am für den Wechsel in und aus den Bereitschaftsmodi (Suspend-to-RAM und -Disk) zuständigen Code gab es einige Verbesserungen.

Verdrahtet

Die Kernel-Entwickler erweiterten zahlreiche LAN-Treiber um Unterstützung für die mit 2.6.29 eingeführte Generic Receive Offload (GRO) Infrastructure. Neu dabei sind die Netzwerktreiber igbvf für Intels 82576, ethoc für 10/100-MBit-LAN-Chip von OpenCores sowie vxge für den X3100 Series 10GbE PCIe I/O Virtualized Server Adapter der Neterion von Neterion (u. A. 1, 2, Dokumentation).

Neu ist bei 2.6.30 auch der von einem Oracle-Entwickler eingebrachte Code (Dokumentation) zur Unterstützung des für Server-Cluster konzipierten Protokolls Reliable Datagram Sockets (RDS). Das hatten ursprünglich Cisco Systems und Oracle zusammen entwickelt und in den Software-Stack der Open Fabrics Alliance überführt.

Kernel-Log-Staccato

LAN

    * Nachdem die Kernel-Entwickler bereits bei 2.6.27, .28 und .29 den Firmware-Code zahlreicher Netzwerk-Treiber in separate Dateien auslagerten, sind mit 2.6.30 zahlreiche weitere Treiber an der Reihe.

WLAN

    * Auf WLAN-Chips mit SPI (Serial Peripheral Interface) abgestimmt sind die neuen Treiber libertas_spi für den Marvell 8686 sowie der experimentelle und auf die Nokia-Geräte N800 und N810 zugeschnittene Treiber p54spi für die Prism-Chips stlc4550 und stlc4560.

    * Cfg80211 und nl80211 unterstützten nun eigenständig das Scannen nach WLAN-Netzen.

Netfilter

    * Der Paketfilter-Code bietet nun eine Userspace-Schnittstelle, bei der die Pakete mit einem Zeitstempel versehen werden können.

Verschiedenes

    * Bluetooth: Das Security Model des Bluetooth-Stack haben die Kernel-Hacker an die Neuerungen von Bluetooth 2.1 angepasst, wodurch der Kernel nun auch Secure Simple Pairing beherrscht.

Die kleineren Perlen

Bei den genannten Neuerungen handelt es sich nur um die bedeutsamsten Änderungen, die die Kernel-Hacker jüngst im Netzwerkbereich vorgenommen haben. Die folgende Liste enthält zahlreiche weitere wichtige Commits für 2.6.30 im Hauptentwicklungszweigs von Linux; über die Links gelangt man direkt zum Webfrontend der Versionsverwaltung Git, wo der Commit-Kommentar und der Patch selbst zahlreiche Informationen zu diesen vielleicht etwas weniger wichtigen, aber keineswegs unbedeutenden Änderungen vermitteln.

Network

Most relevant Git-Pull-Request:

    * Network: 1, 2, 3, 4, 5

    * Infiniband: 1

LAN

    * 3C359: use request_firmware
    * bnx2: Use request_firmware()
    * bnx2x: MSI support
    * bnx2x: Multi-queue
    * bnx2x: New FW
    * bnx2x: Register dump
    * bnx2x: Supporting BCM8726 PHY
    * bnx2x: Supporting new BCM8726 FW
    * cxgb3: Replace LRO with GRO
    * dsa: add support for the Marvell 88E6095/6095F switch chips
    * dsa: add switch chip cascading support
    * e1000e: add aer support
    * e1000e: add support for 82574 device ID 0x10F6
    * e1000e: add support for 82583 device id
    * e1000e: Invoke VLAN GRO handler
    * e100: add support for 82552 10/100 adapter
    * fec: Add support for Freescale MX27
    * forcedeth: add new optimization mode
    * forcedeth: enable msix to default
    * forcedeth: remove msix + napi
    * igb: add support for 82576 quad copper adapter
    * igb: add support for another dual port 82576 non-security nic
    * igb: Add support for enabling VFs to PF driver.
    * igb: remove LRO Kconfig option
    * igb: Replace LRO with GRO
    * ixgbe: Add 82598 support for BX mezzanine devices
    * ixgbe: Add 82599 device id's, hook it up into the main driver.
    * ixgbe: Add DCB for 82599, remove BCN support
    * ixgbe: Add documentation for the driver
    * ixgbe: Add hardware specific initialization code for 82599 devices
    * ixgbe: add support KX/KX4 device
    * ixgbe: Replace LRO with GRO
    * mlx4_core: Add device IDs for MT25458 10GigE devices
    * mv643xx_eth: implement Large Receive Offload
    * mv643xx_eth: make LRO unconditional
    * net: Add support for the OpenCores 10/100 Mbps Ethernet MAC.
    * niu: Add GRO support.
    * phy: add new LAN8710 and LAN8720 device ids to smsc phy driver
    * qlge: Add support for device ID 8000.
    * qlge: Add support for GRO.
    * sfc: Add support for QT2025C PHY
    * sfc: Add support for SFN4112F SFP+ reference design
    * sfc: Replace LRO with GRO
    * tehuti: Use request_firmware()
    * tg3: Add GRO support.
    * typhoon: Use request_firmware()
    * virtio_net: Add a MAC filter table
    * virtio_net: Add support for VLAN filtering in the hypervisor
    * yam: use request_firmware

WLAN

    * Add mesh point functionality to ath9k
    * Add new rt73usb USB ID
    * ath5k: Add tx power calibration support
    * ath5k: support LEDs on Acer Aspire One netbook
    * ath5k: Support LED's on Acer Extensa 5620z
    * ath9k: Add support for multiple virtual AP interfaces
    * ath9k: Enable Bluetooth Coexistence support
    * ath9k: Enable dynamic power save in ath9k.
    * ath9k: enable support for AR9100
    * b43: Add BCM4307 PCI-ID
    * b43: Add LP 2062 radio init
    * b43: Add parts of LP-PHY TX power control
    * b43: Automatically probe for opensource firmware
    * b43: Change schedule for old-fw support removal
    * b43: detect N PHY revision/radio
    * b43/ssb: Add SPROM8 extraction and LP-PHY detection
    * cfg80211: add PM hooks
    * cfg80211: add regulatory netlink multicast group
    * cfg80211: Allow for strict regulatory settings
    * cfg80211: default CONFIG_WIRELESS_OLD_REGULATORY to n
    * iwl3945: use rx queue management infrastructure from iwlcore
    * iwlwifi: Fix and rework Kconfig file
    * iwlwifi: support 11h
    * iwlwifi: update 5150 API version to support new firmware
    * mac80211: 802.11w - Add BIP (AES-128-CMAC)
    * mac80211: 802.11w - Use BIP (AES-128-CMAC)
    * mac80211: Add 802.11h CSA support
    * mac80211: add beacon filtering support
    * mac80211: Add documentation bits for mac80211_rate_control_flags
    * mac80211: add suspend/resume callbacks
    * mac80211: disable power save when scanning
    * mac80211_hwsim: add support for 5 GHz
    * mac80211: resume properly, add suspend/resume test
    * p54: enable power save support
    * p54: initial SoftLED support
    * p54: power save management
    * rt2x00: Add mesh support
    * rt2x00: Add RFKILL support to rt2500usb and rt73usb
    * rt2x00: Add various new USB IDs for rt73usb
    * rt2x00: Implement Powersaving
    * rt2x00: New USB ID for rt73usb
    * rt2x00: Release rt2x00 2.3.0
    * rt2x00: Replace RFKILL with INPUT
    * rt2x00: Update MAINTAINERS entry: new mailinglist
    * ssb/b43: add new N PHY device
    * wireless: Add channel/frequency conversions to ieee80211.h

RDS

    * RDS: Add iWARP support
    * RDS: Add MAINTAINERS entry
    * RDS: Add userspace header
    * RDS: Common RDMA transport code
    * RDS: Connection handling
    * RDS/IB: Infiniband transport
    * RDS: Kconfig and Makefile
    * RDS: Main header file
    * RDS: RDMA support
    * RDS: Socket interface
    * RDS: Transport code

Others

    * gigaset: documentation update
    * IPoIB: Document newish features
    * RDMA/nes: Add support for new SFP+ PHY
    * RDMA/nes: Add wide_ppm_offset parm for switch compatibility
    * wimax/i2400m: implement RX reorder support
    * wimax/i2400m: support extended data RX protocol (no need to reallocate skbs)

Quelle : http://www.heise.de/open/Kernel-Log-Was-2-6-30-bringt-Frische-WLAN-Treiber-und-andere-Netzwerk-Neuerungen--/artikel/136292
Titel: Kernel-Log: 3D-Unterstützung für aktuelle Radeon-GPUs in Sicht ....
Beitrag von: SiLæncer am 25 April, 2009, 20:04
Die Entwickler der Grafiktreiber für AMD- und Intel-Chips waren überaus fleißig und haben verschiedene Verbesserungen vorgestellt oder in Arbeit.

Ende vergangener Woche hat AMD-Mitarbeiter Alex Deucher experimentellen Treiber-, DRM- und Mesa-Code veröffentlicht, mit dem sich die 3D-Beschleunigung der r6xx- und r7xx-Grafikchips nutzen lässt, die auf den meisten der derzeit verkauften Radeon-Grafikkarten zum Einsatz kommen. Der Code sei noch nicht ausgereift, Glxgears würde aber bereits funktionieren.

Nach der Freigabe von sehr rudimentärem Code zum Aktivieren der 3D-Unterstützung bei den genannten Radeon-GPUs vor einigen Monaten scheint diese damit langsam in greifbare Nähe zu rücken. Es dürften aber noch einige Monate vergehen, bis der Code halbwegs gereift ist und von den Mainstream-Distributionen auch ausgeliefert wird.

Bereits kurz zuvor hatte Alex Deucher in seinem Blog bekannt gegeben, dass er an erweiterter Unterstützung für die Stromspartechniken der Radeon-GPUs arbeitet. Das dürfte insbesondere Anwender von Linux-Notebooks mit ATI/AMD-Chips freuen, denn die verlangen unter Linux im Leerlauf mit den Open-Source-Treiber häufig das ein oder andere Watt mehr als mit den proprietären Treibern, was die Akku-Laufzeit teils spürbar verkürzt. Zudem sind Verbesserungen für die Video-Wiedergabe mit dem Treiber radeon in Arbeit.
Mehr Treiberspielchen

Bereits vor einigen Tagen hatte AMD die Version 9.4 der proprietären und als "fglrx" oder "Catalyst" bekannten Grafiktreiber für Linux zum Download freigegeben. Die Release Notes geben einen Überblick über die wichtigsten Neuerungen. Darunter etwa die Unterstützung für den X-Server 1.6, der unter anderem dem in einigen Tagen erwarteten Ubuntu 9.04 beiliegen wird – die Unterstützung für diese Ubuntu-Version wird aber noch als "early look" bezeichnet.

Rausgeflogen ist wie angekündigt die Unterstützung für Grafikhardware mit den GPUs der Serien R3xx, R4xx und R5xx. Für Grafikkarten mit diesen Chips steht die Version 9.3 der Treiber zwar weiterhin zum Download bereits, läuft aber schon jetzt nicht so recht auf Distributionen, die den Linux-Kernel 2.6.29 einsetzen.

Auch die Programmierer der Open-Source-Grafiktreiber radeon (xf86-video-ati) und radeonhd (xf86-video-radeonhd) haben kürzlich neue Versionen ihrer Treiber veröffentlicht. Die Version 6.12.2 von radeon bringt im wesentlichen Fehlerkorrekturen und Verbesserungen für Textured Video bei den Radeon-GPUs R2xx und R3xx.

Radeon -Grafik

Die Version 1.2.5 des für Grafikhardware mit Radeon-GPUs der Serien R5xx, R6xx und R7xx geeigneten Treibers radeonhd scheint deutlich mehr Änderungen zu bieten. Darunter etwa 2D- und Xv-Beschleunigung bei R6xx- und R7xx-GPUs, für die man jedoch einen Kernel mit aktuellem DRM (Direct Rendering Manager) oder aktualisierte DRM-Module braucht. Ab Version 1.2.5 ist auch die DRI-Unterstützung bei Karten mit R5xx-GPUs nun standardmäßig eingeschaltet. Neu ist zudem die Unterstützung der GPUs RS880 (noch nicht eingeführter Mainboard-Chipsatz mit integrierter Grafik) und RV790 (GPU der Radeon HD 4890).

Diese beiden GPUs unterstützt aber auch die neue Version des Treiber radeon; 2D- und Xv-Beschleunigung bei R6xx- und R7xx-GPUs beherrscht dieser bereits seit der Mitte März freigegeben Version 6.12.0. Wie lange Besitzer von R5xx-, R6xx und R7xx-GPUs noch die Qual der Wahl zwischen radeon und radeonhd haben bleibt ungewiss. Dave Airlie – Red-Hat-Entwickler und neben AMD-Mitarbeiter Alex Deucher einer der beiden Hauptentwickler des Treibers radeon – erklärte kürzlich in einer Mail, wie es zu dieser Situation mit zwei Treibern kam. Dabei erwähnte er, das radeonhd keine Zukunft habe und nur radeon das neue Kernel-based Mode-Setting (KMS) unterstützen würde, mit dem für die Treiber im 2D-Bereich sowieso nicht mehr viel zu tun habe; übrig bleibe im wesentlichen Code, den sich beide Treiber schon jetzt teilen ("So radeonhd is going nowhere new, radeon is the only driver that supports the new kernel modesetting systems. With kernel modesetting the X.org 2D driver doesn't do very much anymore, and everything that is left for it to do is shared code between the two drivers.").

Intel-Grafik

Die Entwickler des kurz schlicht "intel" genannten Grafiktreibers xf86-video-intel haben dessen Version 2.7.0 veröffentlicht. Sie soll laut der Freigabe-Mail eine große Zahl an Fehlerkorrekturen enthalten, aber auch einige neue Funktionen bringen: TV-Out-Unterstützung beim D945GCLF2, Unterstützung für SDVO-LVDS und Video-Wiedergabe ohne zerrissene Bilder beim Framewechsel ("tearing"-freies XV). Letzteres funktioniere aber noch nicht überall. Am zuverlässigsten und schnellsten soll der Treiber ohnehin in Kombination mit Kernel-Based Mode-Setting (KMS) arbeiten ("We encourage users to use kernel modesetting and UXA acceleration with this release, which should give the best performance and robustness.")

An der Funktionsweise und der Programmierung von GPUs interessierte finden in dem kürzlich freigegebenen G45 Programmer’s Reference Manual zahlreiche Details zum Grafikkern von Intels derzeit leistungsstärkstem Mainboard-Chipsatz mit integrierter Grafik. Matthew Garrett und Adam Williamson beklagen derweil in ihren Blogs, dass sich die vertrackte Situation um Linux-Treiber für den Grafikkern des Intel-Chipsatzes US15W (Poulsbo) immer noch nicht gebessert hat und kurzfristig auch wohl keine wirkliche Besserung in Sicht ist.

Kernel-Status

    * Willy Tarreau hat Linux 2.4.37.1 veröffentlicht, das mehrere Sicherheitslücken stopft, die in neueren Kerneln der 2.6er-Serie bereits korrigiert wurden.

    * Bereits vor fast einer Woche hat Linus Torvalds die zweite Vorabversion von Linux 2.6.30 freigegeben, sodass in Kürze vermutlich bereits 2.6.30-rc3 erscheinen dürfte (siehe auch erster Teil der "Was 2.6.30 bringt"-Mini-Serie auf heise open).

Kernel-Log-Staccato

    * Adam Jackson hat die Version 1.6.1 des X-Servers von X.org veröffentlicht, die sich vorwiegend durch kleinere Fehlerkorrekturen von ihrem Vorgänger unterscheidet.

    * Nach den Bekanntwerden der Übernahme von Sun durch Oracle (1, 2, 3) stellte der bei Oracle beschäftigte Hauptentwickler von Btrfs, Chris Mason, in einer Mail klar, dass die Übernahme Oracles Pläne mit Btrfs keineswegs beeinflusst; Btrfs sei weiterhin ein Schlüsselprojekt ("This does not change Oracle's plans for Btrfs at all, and Btrfs is still a key project for us.")

    * Für reichlich Diskussionsstoff in Webforen und auf Mailinglisten (siehe auch: LWN.net-Artikel) sorgte in den vergangenen Wochen die im vergangenen Herbst von den X.org-Entwicklern getroffene Entscheidung, den X-Server beim Betätigen von CTRL+ALT+Backspace nicht mehr zu beenden (DontZap) . X.org-Programmierer Peter Hutterer hat in seinem Blog kürzlich einige Änderungen vorgestellt, durch die sich die Tastenkombination in Zukunft zur Laufzeit Ein- und Ausschalten lässt.

    * In einem anderen Blog-Eintrag gibt Peter Hutterer einen Überblick über einige der jüngsten Verbesserungen im kurz synaptics genannten Touchpad-Treiber xf86-input-synaptics. Dabei erklärt er, wie man feststellen kann, ob das eigene Touchpad Multi-Touch-Unterstützung bietet.

    * Till Kamppeter hat die Foomatic-Version 4.0.1 freigegeben.

    * Glibc-Entwickler Ulrich Drepper erläutert in seinem Blog detailliert die Pläne für die Glibc-Version 2.10. Dazu zählt unter anderem Unterstützung für POSIX 2008 und C++ 201x.

    * Die X Developers' Conference (XDC) 2009 findet dieses Jahr von 28. bis zum 30. September Portland, Oregon statt – direkt nach der diesjährigen Linux Plumbers Conference, für die kürzlich der Call for Papers ausging.

    * Die Entwickler des Gphoto-Projekts haben die Version 2.4.5 der zum Auslesen vieler Kameras genutzten Bibliothek libgphoto2 zum Download freigegeben. Sie bringt eine Reihe kleinerer Verbesserungen für Kameras und PTP-Geräte verschiedener Hersteller.

    * Christoph Hellwig hat kürzlich die März-Ausgabe des monatlichen XFS-Status-Berichtes an die LKML gesendet.


Quelle : http://www.heise.de/open/Kernel-Log-3D-Unterstuetzung-fuer-neue-Radeon-neue-Intel-Treiber--/artikel/136484
Titel: Linux: Lange Dateinamen bei VFAT abschaltbar
Beitrag von: SiLæncer am 02 Mai, 2009, 10:47
Ein neuer Patch (http://thread.gmane.org/gmane.linux.file-systems/31491/) ergänzt das VFAT-Dateisystem im Linux-Kernel um die Option, das Anlegen von Dateien mit langen Dateinamen abzuschalten. Ist diese Option beim Übersetzen des Kernels aktiviert, kann das System zwar noch auf Dateien mit Namen jenseits des klassischen 8.3-Schemas zugreifen, aber solche Files nicht mehr anlegen. Als Grund für die Änderung nennen die Entwickler Geräte, die Dateien mit langen Namen zwar lesen, aber nicht selbst anlegen können sollen. Die Änderung dürfte eine Konsequenz aus dem inzwischen beigelegten Patentstreits zwischen Microsoft und TomTom sein.

Quelle : www.heise.de
Titel: Kernel-Log – X.org 7.5 im Sommer, Intels Grafiktreiber wird grundrenoviert
Beitrag von: SiLæncer am 10 Mai, 2009, 20:01
Der X.Org 7.5 soll im Sommer erscheinen und könnte bereits einen neuen Intel-Grafiktreiber mitbringen, dessen Code die Entwickler massiv zusammengestrichen haben, um Zuverlässigkeit und Performance zu steigern. Die Kernel-Entwickler haben derweil die Linux-Versionen 2.6.30-rc4 und 2.6.29.2 vorgestellt; 2.6.27.20 befindet sich in Vorbereitung und Tuz verschwindet wieder.

X.org-Programmierer Daniel Stone hat auf der X.org-Mailingliste einen neuen Zeitplan für die Entwicklung und Freigabe von X.org 7.5 und dem dafür vorgesehenen X-Server 1.7 vorgestellt. Dabei gesteht er ein, dass aus der ursprünglich grob für Anfang April angedachte Fertigstellung von X.org 7.5 nichts geworden ist und schlägt nun Mitte Juli als neuen Termin vor.

Bis Ende Mai wollen die Entwickler alle wesentlichen neuen Funktionen aufnehmen und in der zweiten Juni-Hälfte mit der Freigabe von Beta-Versionen beginnen. Die Integration des von XI2 (X Input 2) schreitet laut der Mail von Stone voran; XKB2 (X Keyboard Extension 2) plant er selbst in den kommenden Wochen einzupflegen. Geplant und teilweise bereits im Entwicklungszweig von X.org 7.5/X-Server 1.7 enthalten sind laut Wiki zudem Multi-Pointer X (MPX), Input device properties (IDP) und Predictable Pointer Acceleration.

Wie Stone betont, ist das allerdings nur ein provisorischer Plan. Die Erfahrung mit vorangegangenen Versionen von X.org- und X-Server zeigt zudem, dass die X-Entwickler ihre selbst gesetzten Termine nicht selten um Wochen (etwa X-Server 1.6) oder sogar um mehrere Monate (etwa X.org 7.4) verfehlen.

Gesundschrumpfen

Intel-Entwickler Carl Worth hat unterdessen mit dem "2.7.99.1 snapshot" die erste Vorabversion der 2.8er-Treiberreihe des kurz meist "intel" genannten X.org-Grafiktreibers xf86-video-intel freigegeben. Sie könnte möglicherweise später mit X.org 7.5 ausgeliefert werden und ist zirka 10 Prozent kleiner als die Intel-Treiber der aktuellen 2.7er-Serie. Die Code-Reduktion war möglich, weil die Entwickler die Unterstützung für die 2D-Beschleunigungsarchitekturen XAA und EXA entfernt haben und sich nun auf das Intel-spezifische und von EXA abgeleitete UXA beschränken; rausgeflogen ist zudem die Unterstützung für DRI1. Durch diese Änderung erfordert der Treiber nun allerdings mindestens einen X-Server der Version 1.6.

Durch diesen Schritt wollen die X-Entwickler die Treiberpflege erleichtern und die Qualität steigern, da die Chance viel größer sei, dass so tatsächlich getestete Code-Pfade genutzt werden. Der langjährige X-Entwickler Keith Packard erklärt die Hintergründe für dieses Vorgehen detaillierter in seinem Blog-Eintrag "Sharpening the Intel Driver Focus". Dabei beschreibt er die verschiedenen zum Mode Setting (User-Mode, Kernel-based Mode-Setting/KMS), für Direct Rendering (kein DRI, DRI1, DRI2), das Memory Management (X-Server/Treiber, GEM) und die 2D-Beschleunigung (Keine, XAA, EXA, UXA) genutzten Techniken und rechnet vor, dass sich diese theoretisch auf 48 verschieden Weisen miteinander kombinieren lassen. Einige davon würde gar nicht zusammen arbeiten und nur manche seien getestet und auf Geschwindigkeit optimiert; ferner würden einige Kombinationen auf neuerer Hardware besser arbeiten, andere auf älterer.

Das zieht in der Praxis zahlreiche Probleme nach sich – die Entwickler wollen sich daher in Zukunft auf KMS, DRI2, GEM und UXA fokussieren. Die zehnprozentige Code-Reduktion bei den Vorabversionen der 2.8er-Treiber ist da nur der Anfang, denn mit der darauf folgenden Treiber-Generation soll die Codemenge laut Packard um 50 Prozent schrumpfen. Die zahlreichen Kombinationsmöglichkeiten und die daraus resultierenden Probleme bereiten derweil einigen Nutzern und den Entwicklern des kürzlich vorgestellten Ubuntu 9.04 reichlich Kopfzerbrechen, des dort zeigt der Intel-Treiber laut einigen Erfahrungsberichten im Internet sowie einigen im Rahmen der c't-Redaktion durchgeführten Versuchen gelegentlich größere (Performance-)Probleme. Diese lassen sich allerdings manchmal mit Hilfe einiger im Ubuntu-Wiki gesammelten Tricks beseitigen oder mindern.

Kernel-Log-Staccato, Tuz abgelöst, Linux 2.6.30-rc4 und 2.6.29.2

Kernel-Status

    * Nach der Freigabe von 2.6.30-rc3 vergangene Woche hat Linus Torvalds Mitte dieser Woche die vierte Vorabversion von 2.6.30 veröffentlicht. Sie trägt statt "Temporary Tasmanian Devil" nun den Namen "Vindictive Armadillo"; auch Tuz, der vorübergehend als Linux-Maskottchen gedient hatte, wurde von seinen Aufgabe erlöst und überlässt die Arbeit fortan wieder Tux.

    * Die Betreuter des Linux-Stable-Series haben die Kernel-Version 2.6.29.2 freigegeben. Sie bringt zirka hundert kleinere Verbesserungen und Korrekturen, von denen einige sicherheitsrelevante Fehler beseitigen. Mit 2.6.28.10 ist auch eine neue 2.6.28er-Variante in Vorbereitung – vermutlich die letzte, denn Greg Kroah-Hartman kündigte an, die Wartung der 2.6.28er-Serie einzustellen. Einige Kernel-Entwickler sind darüber nicht glücklich, denn nicht selten, aber eben nicht immer wurde eine Serie bis zum Erscheinen des zweiten Nachfolgers (also in diesem Falle 2.6.30) gewartet. Die 2.6.27er-Serie hat das Stable-Team indes noch nicht abgeschrieben und bereitet die Version 2.6.27.22 vor – sie dürfte genau wie die neue 2.6.28er-Version vermutlich noch an diesem Wochenende freigegeben werden.

Kernel-Log-Staccato

    * Die Entwickler des Hplip-Projekts haben die Versionen 3.9.4 und 3.9.4b der Hplip-Treiber für Drucker und Multifunktionsgeräte von HP veröffentlicht. Sie bringen unter anderem Unterstützung für den HP LaserJet p1009, die Designjet-Modelle 4020ps, 4520ps und 4520mfp sowie den Officejet 6500 mit und ohne WLAN-Modul.

    * Nachdem es um die Usbutils lange still war, hat Greg Kroah-Hartman die Version 0.81 der Programmsammlung veröffentlicht, die unter anderem lsusb enthält.

    * Jerome Glisse gibt in seinem Blog einen Überblick über die neusten Entwicklungen zur Unterstützung von Kernel-based Mode-Setting (KMS) für Radeon-Grafikhardware.

    * Die Entwickler der Intel-Grafiktreiber für Linux haben die "intel-gpu-tools" vorgestellt. Sie enthalten unter anderem einige zur Treiberentwicklung und Fehlersuche nützliche Programme.

    * Valerie Aurora (früher Henson) erklärt in dem Blog-Eintrag "Don't Panic - fsync(), ext3/4, and your data" einige für Programmierer wichtige Aspekte der viel diskutierten und kürzlich auch ausführlich im Rahmen der Kernel-Log-Mini-Serie "Was 2.6.30 bringt" angesprochenen Probleme, Änderungen und Diskussionen rund um Ext3 und Ext4.

Quelle : www.heise.de
Titel: Kernel-Log – Was 2.6.30 bringt (Storage)
Beitrag von: SiLæncer am 17 Mai, 2009, 15:02
RAIDs umwandeln, CFQ-Scheduler optimiert, neue SAS-Treiber

Die nächste Kernel-Version soll alles nötige mitbringen, um etwa ein RAID 5 in ein RAID 6 und zurück zu verwandeln. Änderungen am Block Layer sollen die Geschwindigkeit steigern, während neue und überarbeitete Treiber die SAS-Unterstützung verbessern.

Mit der vor einigen Tagen erfolgten Freigabe der fünften Vorabversion von Linux 2.6.30 schreitet die Entwicklung der nächsten Kernel-Version der Hauptentwicklungslinie weiter voran. Wie Torvalds in der Freigabe-Mail andeutet, nehmen Zahl und Umfang der Änderungen langsam ab, wie es an diesem Punkt der Entwicklung üblich ist.

Da es in jedem Entwicklungszyklus zumeist acht oder neun der häufig im Wochentakt erscheinenden Vorabversion gibt, wird es sicher noch einige Wochen dauern, bis Torvalds Linux 2.6.30 veröffentlicht. Nichtsdestotrotz will das Kernel-Log die Berichterstattung über die größten Änderungen von Linux 2.6.30 mit der folgenden Übersicht über die Neuerungen rund um die Storage-Infrastruktur und -Treiber fortsetzen.

Flexible Verbundarbeit

Im Code für Software-RAID mit MD (Multiple Device) gab es allerlei Änderungen (siehe Liste am Ende des Artikels), durch die sich nun die Zahl der Datenträger in einem RAID 5 auch verringern lässt. Dadurch kann sich ein RAID-5-Verbund nun in ein RAID 6 und wieder zurück verwandeln lassen; zudem kann der Kernel ein RAID 1 in ein RAID 5 umbauen. Das Userland-Werkzeug mdadm beherrscht diese tief greifenden Umbauarbeiten in der derzeit aktuellen Version allerdings nicht.

Der MD-Code bietet nun auch Unterstützung für den bei 2.6.27 aufgenommenen "Data integrity support", sofern alle Datenträger eines MD-Verbunds und deren Controller das können. Das gleiche gilt durch einige Änderungen auch für den Device Mapper (DM), der Barriers besser als zuvor unterstützt.

Am Block Layer und den zugehörigen I/O-Scheduler CFQ gab es zahlreiche Änderungen, nachdem die Kernel-Entwickler bei Tests im Rahmen der länglichen Diskussionen rund um Ext3 und Ext4 einige Performance-Probleme in diesem Bereich gefunden hatten – diese waren teilweise so groß, dass Torvalds drohte, einen anderen I/O-Scheduler zum Standard zu erheben. Die Ursachen konnten aber gefunden und beseitigt werden, was sich in Einzelfällen wohl in einem nicht nur messbaren, sondern auch spürbaren Geschwindigkeitszuwachs niederschlagen kann (siehe auch LWN.net-Artikel "Solving the ext3 latency problem").

Unterbau

Wie bereits in zweiten Teil der Kernel-Log-Mini-Serie "Was 2.6.30 bringt" erwähnt, bietet das SCSI-Subsystem nun Unterstützung für die eher exotischen OSDs (Object-Based Storage Devices) (u. a. 1, 2, Dokumentation). Erstmals beim Kernel dabei ist der SCSI-Treiber mpt2sas für die SAS-2.0-Controller SAS2004, SAS2008, SAS2108 und SAS2116 von LSI. Der Treiber stex unterstützt nun ebenfalls einige SAS-6G-Controller von Promise. Die bei 2.6.29 neue Unterstützung für Fibre Channel over Ethernet beherrscht nun auch FIP (FCoE Initialization Protocol) zum Finden und Einbinden von Fibre-Channel Forwarders (FCFs). Nachdem die Kernel-Entwickler bereits bei 2.6.27, .28 und .29 den Firmware-Code zahlreicher SCSI-Treiber in separate Dateien auslagerten, wurden für 2.6.30 nochmal einige weitere Treiber dieser Spaltung unterzogen.

Bartlomiej Zolnierkiewicz hatte vor einigen Wochen angekündigt, alle von ihm geplanten Umbauarbeiten am alten IDE-Subsystem abgeschlossen zu haben und sich fortan im Wesentlichen auf die Pflege und kleinere Erweiterungen zu konzentrieren. Das zeigte sich bereits bei der Entwicklung von 2.6.30, denn nach den teils umfangreichen Änderungen am IDE-Code der vorangegangenen Kernel-Versionen ging es diesmal deutlich ruhiger zu. Auch im Libata-Subsystem, dessen PATA-Treiber bei den meisten Mainstream-Distributionen bevorzugt für IDE-Adapter eingesetzt werden, gab es verhältnismäßig wenig bedeutsame Änderungen – etwa die Unterstützung für ATAPI-Geräte im für Marvell-ATA-Chips zuständigen Treiber sata_mv.

Die kleineren Perlen

Die Kernel-Entwickler diskutierten auch über Erweiterungen zur Nutzung von ATA-TRIM, mit dessen Hilfe der Kernel SSDs mit Unterstützung für das noch recht junge ATA-Kommando mitteilen soll, welche Bereiche nicht mehr durch Daten belegt sind ("Discard"). Aufgenommen wurden aber lediglich Patch, der die Grundlagen für weitere, vermutlich mit 2.6.31 kommende Änderungen legt.

Bei den bisher genannten Neuerungen handelt es sich nur um die bedeutsamsten Änderungen, die die Kernel-Hacker jüngst am für die Storage-Unterstützung zuständigen Code von Linux vorgenommen haben. Zahlreiche weitere Änderungen finden sich in der folgenden Liste mit den Überschriften des jeweiligen Commits im Hauptentwicklungszweigs; über die Links gelangt man direkt zur Änderungen in einem Webfrontend, wo der Commit-Kommentar und der Patch selbst weitere Informationen zu diesen vielleicht etwas weniger wichtigen, aber keineswegs unbedeutenden Änderungen vermitteln.

Quelle,Links und mehr : http://www.heise.de/open/Kernel-Log-Was-2-6-30-bringt-3-RAID-Verbesserungen-optimierter-CFQ-Scheduler-SAS-Treiber--/artikel/137812
Titel: Kernel-Log: Alsa-Treiber für die X-Fi, Diskussionen um TuxOnIce
Beitrag von: SiLæncer am 21 Mai, 2009, 18:57
Der Linux-Kernel wird wohl bald einen Treiber für die X-Fi-Soundkarten von Creative enthalten. Nach langer Ruhephase diskutieren die Kernel-Entwickler wieder über eine Aufnahme von TuxOnIce.

Alsa- und Kernel-Entwickler Takashi Iwai hat von Creative einen Open-Source-Treiber für PCI-Soundkarten der X-Fi-Serie erhalten, den er als gut genug einschätzt, um ihn in das Alsa-Treiberpaket und den Linux-Kernel aufzunehmen. Er habe den snd-ctxfi genannte Treiber aber mangels X-Fi-Soundkarten nicht testen können und rief daher Besitzer der Karte auf, den Treiber auszuprobieren – das machten in den vergangenen Tagen bereits einige Anwender und lieferten reichlich Feedback.

Die Chancen stehen daher nicht schlecht, dass der neue Treiber in die nächste Version von Alsa sowie den Linux-Kernel 2.6.31 einzieht. Damit dürfte eine längere Odyssee um Linux-Treiber für die X-Fi-Soundkarten dann vermutlich ihr Ende finden. Anfangs hatte Creative mehrfach proprietäre Treiber versprochen, ohne welche zu liefern. 2007 erschienen dann Vorabversionen des Treiber – die hatten aber so viel raue Ecken und Kanten, dass sie sich kaum sinnvoll einsetzen ließen. Anfang 2008 erschien dann plötzlich und unerwartet ein Open-Source-Treiber für das im Linux-Bereich kaum mehr genutzte Open Sound System (OSS); es hieß zudem, dass Creative Open-Source-Entwickler mit Dokumentation für die Soundchips versorgen wollte. Danach wurde es dann aber erstmal wieder recht still, bis Creative schließlich im November einen eigenen Open-Source-Treiber veröffentlichte. Doch auch mit dem schien es anschließend nicht so recht weiter zu gehen und nur einige wenige Distribution nahmen die Treiber auf. Das dürfte dem Treiber snd-ctxfi erspart bleiben, denn nach der Aufnahme in den Kernel wird er bald den meisten neuen Distributionen beiliegen.

Wieder da

Bei einer andere Odyssee scheint indes noch kein konkretes Ende abzusehen, denn nachdem es auf der LKML lange keine größeren Diskussionen um TuxOnIce gab, ersuchte dessen Entwickler Nigel Cunningham kürzlich mal wieder um die Aufnahme des alternativen Frameworks zur Nutzung des Ruhezustands (Suspend-to-Disk, Hibernate). Das ist nicht das erste Mal – vielmehr versucht der Entwickler des früher Suspend2 und davon Swsusp2 (Software Suspend 2) genannten Frameworks das in den vergangenen Jahren schon mehrfach.

Wie in der Vergangenheit lehnten die für die Software-Suspend-Unterstützung des Kernels zuständigen Entwickler auch dieses Mal die Aufnahme erst einmal ab. Einige der Gründe: Sie wollen keine zwei Techniken zum Suspend-to-Disk im Kernel parallel verwalten und den erprobten Linux-Code nicht gegen einfach gegen den von TuxOnIce austauschen, da der neben Vorteilen auch einige Schwächen hat und nicht so gut getestet ist; zudem müsste der TuxOnIce-Code vor der Aufnahme begutachtet werden, was durch den Codeumfang überaus aufwendig und schwierig wäre.

Daher lautete die Quintessenz auch diesmal wieder, dass der TuxOnIce-Entwickler seinen Code in kleine Häppchen aufspalten soll, die die Software-Suspend-Unterstützung des Kernels nach und nach verbessern, damit am Ende eine ordentlich laufende und alle Anwender und Entwickler zufriedenstellende Lösung steht. Möglicherweise klappt das jedoch jetzt etwas besser als in der Vergangenheit, denn Rafael J. Wysocki, der sich maßgeblich um die Weiterentwicklung des Software-Suspend-Codes im Linux-Kernel kümmert, zeigte nachhaltiger als zuvor Interesse daran, mit Cunningham zusammenzuarbeiten; er bremste sogar Pavel Machek, den offiziellen Verwalter der Software-Suspend-Unterstützung, aus und erklärte, er werde sich diesmal nicht an Flamewars zwischen den zwei beteiligen.

Neue Kernel und Grafiktreiber, Kernel-Log-Staccato

Kernel-Status

    * Nach der Freigabe von 2.6.27.23 und 2.6.29.3 am 9. Mai haben die Betreuer der Stable-Series heute morgen die Kernel-Versionen 2.6.27.24 und 2.6.29.4 freigegeben. Wie üblich wird allen Anwendern von Kernel.org-Kerneln in älteren Versionen nachhaltig zum Wechsel auf die neuen geraten ("All users of the 2.6.2[79] kernel series are very strongly encouraged to upgrade."); dabei bleibt wieder einmal unklar, ob sich unter den Dutzenden von kleinen Verbesserungen und Fehlerkorrekturen auch solche finden, die Sicherheitslücken beseitigen.

    * Die Entwicklung des Kernel 2.6.30 ist mittlerweile bei der sechsten Vorabversion angelangt.

X-Status

    * Wie üblich hat AMD parallel zu den Catalyst-Grafiktreibern für Windows der Version 9.5 auch die Linux-Variante der Treiber zum Download freigegeben. Die Release Notes listen einige der Korrekturen der neuen Version; neue Features werden keine ausgewiesen. Mit dem bereits im März freigegebenen aktuellen Linux-Kernel 2.6.29 arbeitet die Version 9.5 des proprietären Grafiktreibers aber ebensowenig zusammen wie seine Vorgänger.

    * Die Entwickler des Open-Source-Treibers für Intel-Hardware haben Version 2.7.1 veröffentlicht. Sie enthält einige Änderungen, die mit der Version 2.7.0 auftretende Abstürze beseitigen sollen.

    * AMD-Mitarbeiter Alex Deucher hat kürzlich die Freigabe des "R6xx/R7xx 3D programming guide" angekündigt, der zahlreiche Informationen zur Programmierung von 3D-fähigen Grafiktreibern für die auf den Radeon-HD-Serien 2000, 3000 und 4000 eingesetzten GPUs enthält.

Kernel-Log-Staccato

    * Die Entwickler des Ksplice-Framework, mit dem sich viele sicherheitsrelevante Fehler des Linux-Kernels zur Laufzeit ausbessern lassen sollen, haben einem mit 100.000 US-Dollar dotierten Preis in einem Wettbewerb des Massachusetts Institute of Technology (MIT) gewonnen. Die Ksplice-Entwickler arbeiten derweil aktiv darauf hin, die Kernel-Teile ihres Codes in den Hauptentwicklungszweig von Linux zu integrieren. Die Chancen auf eine Aufnahme scheinen derzeit nicht schlecht zu stehen, noch ist aber nicht absehbar, wann es sowie sein wird.

    * Jeremy Fitzhardinge hat in den vergangenen Tagen mehrere Patch-Serien zur Begutachtung an die LKML gesandt, die den Kernel um Unterstützung zum Betrieb als die den Hypervisor steuernde Xen-Domäne (Dom0) erweitern (siehe auch Der freie Hypervisor Xen 3.4 und die Virtualisierungsstrategie). In Diskussionen rund um diese Patches sowie dem Thread "Where do we stand with the Xen patches?" äußerten verschiedene Kernel-Hacker teilweise größere Bedenken gegenüber Teilen der Patches. Derzeit scheint es daher wieder etwas unwahrscheinlicher, dass die Xen-Dom0-Unterstützung mit Linux 2.6.31 kommt – im Rahmen des Möglichen bleibt es aber durchaus.

    * Jon Masters veröffentlicht seit Anfang des Monats einen "LKML Summary Podcast", in dem er die wichtigsten Diskussionen auf der LKML kurz zusammenfasst. Text-Versionen finden sich über das Wiki der Kernel Newbies.

    * Die Entwickler des Projekts SANE (Scanner Access Now Easy) haben die Version 1.0.20 der sane-backends veröffentlicht. Es enthält vier neue Treiber und unterstützt 75 Scanner, mit denen die Vorversion nicht zurecht kam.

    * Der seit langem in die Programmierung von Linux-WLAN-Treiber involvierte und mittlerweile seit längerem bei Atheors beschäftigte Entwickler Luis R. Rodriguez fragte kürzlich öffentlich, was dagegen spreche, die Entwicklung des WLAN-Treibers Madwifi einzustellen, da die Treiber im Kernel nun alle vom Madwifi-Treiber unterstützt Hardware ansprechen könnten. Einige Anwender und Entwickler waren über den Vorschlag aber alles andere als begeistert, wie die Diskussionsbeiträge zeigen.

Quelle : www.heise.de
Titel: Kernel-Log – Was 2.6.30 bringt: Neue Treiber für Audio-,Video- und USB-Hardware
Beitrag von: SiLæncer am 01 Juni, 2009, 09:52
Neue Treiber für Audio-, Video- und USB-Hardware sowie Net- und Notebooks

Die Kernel-Entwickler erweiterten tausende der zum Linux-Kernel gehörenden Treiber um neue Funktionen und integrierten zudem zahlreiche neue Treiber. Das vergrößert die Menge der von Linux unterstützten Hardware erheblich.

Vor einigen Tagen veröffentlichte Linus Torvalds die siebte Vorabversion von Linux 2.6.30. Die meisten der eingepflegten Änderungen, so Torvalds, seien nur mehr klein und die Freigabe der nächsten größeren Kernel-Version rücke näher – eine achte Vorabversion hält er aber doch noch für wahrscheinlich. Das Kernel-Log nimmt das zum Anlass, über die Neuerungen rund um Treiber bei der vermutlich in ein bis drei Wochen erscheinenden Linux-Version 2.6.30 zu berichten.

Audio-Video

Die Audio-Treiber von Linux 2.6.30 werden in ungefähr dem Stand der Alsa-Treiber 1.0.20 entsprechen. Dazu gehört neben einem Treiber für AC97-Codecs von Atmel und Unterstützung für die Xonar Essence STX kurioserweise auch ein neuer ISA-Treiber, der verschiedene Soundkarten der Serie Turtle Beach Multisound anspricht. Größe Umbauarbeiten gab es ferner am Framework ASoC (ALSA System on Chip) und den HD-Audio-Treibern. Letztere lassen sich über Sysfs nun besser zur Laufzeit umkonfigurieren (1, 2, 3). Wie mit jeder neuen Kernel-Version erweiterten die Entwickler zudem die Whitelists für die automatische Anwendung Hardware-spezifischer Sonderbehandlungen ("Quirks") erheblich – Details finden sich in der Liste am Ende dieses Artikels.

Beim V4L/DVB-Subsystem gab es wieder einmal unzählige Änderungen – so viele, dass sie selbst der Verwalter dieses Kernel-Bereichs nicht zusammenfassen mag. Erstmals dabei ist etwa der Treiber cx231xx für über USB angeschlossene TV-Hardware mit den Conexant-Chips der Serie cx231xx. Neu ist auch der Treiber hdpvr für die ebenfalls per USB angebundene Hauppauge HD PVR. Das Gspca-Framework erhielt mit sq905, sq905c und mr97310a drei weitere Treiber für die in Webcams verschiedener Hersteller eingesetzten Chips. Neu ist zudem die Unterstützung für die DVB-T-Hardware Sony PlayTV oder Intels CE6230; zahlreiche weitere neue und erweiterte Treiber sind in der Liste am Ende des Artikels genannt.

Grafik

Zahlreiche Änderungen von 2.6.30 verbessern die noch jungen und bislang ausschließlich für Intel-GPUs genutzten Techniken GEM und KMS. Ein fast 650 KByte großer Patch rüstet ferner Microcode für die Radeon-GPUs der Serien R600 und R700 nach, die auf den Radeon-HD-Modellen der Serien 2000, 3000 und 4000 sitzen. Darauf baut die ebenfalls neue Unterstützung für eben diese GPUs im Direct Rendering Manager (DRM) des Kernels auf, die neueren Grafiktreibern Xvideo- und 2D-Beschleunigung ermöglicht. Neu dabei ist auch die Unterstützung für den Mainboard-Chipsatz RS600 im DRM. Die Intel-Treiber beherrschen nun bei einigen Boards die TV-Ausgabe und können mit den Chipsätzen G33 und G41 umgehen.
USB, FireWire und Hardware-Monitoring

Einen Haufen Änderungen gab es auch im USB-Subsystem – unter anderem wurde der USB-Storage-Treiber aufgespalten, um die Pflege zu erleichtern. Entfernt haben die Entwickler den Treiber phidget; als Ersatz empfehlen sie einen Userspace-Treiber, der Phidgets-Komponenten besser unterstützt.

Das FireWire-Subsystem bietet nun Broadcast Channel Support und Asynchronous Stream Transmission. Weitere Details zu den Änderungen finden sich im Wiki der FireWire-Entwickler.

Das I2C-Subsystem unterstützt zahlreiche neuere Mainboard-Chipsätze von Nvidia (MCP67, MCP73, MCP78S und MCP79), AMD (SB800) und Broadcom (HT1100). Das Hardware-Monitoring-Subsystem beherrscht den Umgang mit den Chips Syleus, Hades und Nuvoton von FSC sowie mit dem Winbond Nuvoton. Ferner gab es Verbesserungen für die Treiber hdaps (Hard Drive Active Protection System).

Notebooks und Eingabegeräte

Neu bei Linux 2.6.30 ist der Treiber dell-wmi, der sich bislang jedoch nur um die Weiterleitung von Hotkey-Events bei Dell-Notebooks kümmert. Größere Umbauarbeiten gab es bei den Treiber sony-laptop und thinkpad-acpi – ersterer unterstützt nun mehr Notebook-Modelle und Event-Typen als zuvor, letzterer die Helligkeitsregelung von Thinkpads besser. Details finden sich über die Links am Ende des Artikels.

Die Treiber für USB-Eingabegeräte (HIDs/Human interface devices) beherrschen nun Autosuspend, was die Akku-Laufzeit von Notebooks ein wenig verlängern kann. Neu dabei ist bessere Unterstützung für das Apple Mini Aluminium Keyboard und Multi-Touch (1, Dokumenattion).

Staging

Einen ganzen Haufen Änderungen gab es auch im Staging-Bereich. Er ist eine Sonderecke des Kernels, in der die Treiber gesammelt und weiterentwickelt werden, die den Qualitätsansprüchen der Kernel-Entwickler (noch) nicht genügen – manche Distributionen liefer die Staging-Treiber daher nicht mit.

Der Git-Pull-Request listet alle wesentlichen Neuerungen – so sind jetzt etwa die Treiber des Comedi-Frameworks alle dabei. Erstmals enthalten ist auch der Treiber rt3070 für neuere WLAN-Chipsätze von RaLink. Genau wie die andere RaLink-Treiber im Staging-Bereich enthält auch er einen eigenen WLAN-Stack. Der arbeitet mit einigen Userspace-Programmen wie dem bei vielen Distributionen genutzten NetworkManager nicht optimal zusammen. Dass diese Treiber irgendwann aus dem Staging-Bereich in das Netzwerk-Subsystem des Kernels umziehen ist daher eher unwahrscheinlich – vielmehr dürften die Entwickler des für andere RaLink-Chipsätze geeigneten rt2x00-Treibers diesen um Unterstützung für neuere Chips erweitern. Das planen sie für die von den Treibern rt2860 und rt2870 unterstützten Chips allerdings schon seit längerem, ohne dass bisher Ergebnisse greifbar sind.

Die kleineren Perlen

Bei den bisher genannten Neuerungen handelt es sich indes nur um die bedeutsamsten Neuerungen, die die Kernel-Hacker in der erwähnten Bereichen vorgenommen haben. Zahlreiche weitere wichtige Änderungen finden sich in der folgenden Liste mit den Überschriften des jeweiligen Commits im Hauptentwicklungszweig; über die Links gelangt man direkt zur Änderungen im Webfrontend des Hauptentwicklungszweigs, wo der Commit-Kommentar und der Patch selbst zahlreiche weitere Informationen zu diesen vielleicht etwas weniger wichtigen, aber keineswegs unbedeutenden Änderungen vermitteln.

Quelle : http://www.heise.de/open/Kernel-Log-Was-2-6-30-bringt-4-Neue-Treiber-fuer-Audio-Video-und-USB-Hardware-sowie-Net-und-Notebo--/artikel/139618
Titel: Kernel-Log – Was 2.6.30 bringt (5): Schneller starten ....
Beitrag von: SiLæncer am 05 Juni, 2009, 14:26
Kernel-Log – Was 2.6.30 bringt (5): Schneller starten, kleinere Kernel-Images und ein neues Sicherheitsframework

Linux 2.6.30 lässt sich mit Bzip2 und LZMA komprimieren, bringt das Sicherheitsframework Tomoyo mit und soll schneller starten. Der tasmanische Teufel Tuz, der bei 2.6.29 den Pinguin Tux als Linux-Maskottchen abgelöst hatte, muss wieder gehen.

Linus Torvalds veröffentlichte kürzlich die achte Vorabversion von Linux 2.6.30. Sie ist aller Wahrscheinlichkeit nach die letzte, denn der Linux-Vater kündigte an, Linux 2.6.30 in Kürze – vermutlich dieses Wochenende – freizugeben. Er hält sich an solche Angaben nicht immer exakt, aber mehr als einige Tage dürften es bis zu Fertigstellung wohl trotzdem nicht mehr sein. Das Kernel-Log kommt daher mit dieser Übersicht über die Neuerungen in den Bereichen Architektur-Unterstützung und Infrastruktur zum Abschluss der Mini-Serie "Was 2.6.30 bringt".

Verdichtet

Entfernt haben die Entwickler bei Linux 2.6.30 die Unterstützung für das Build-Target "zImage" auf x86-System, da es schon lange nicht mehr genutzt wird. Neu ist indes eine Kernel-eigene Library zur Dekompression von Gzip, Bzip und Lzma. Der Kernel greift auf diese zurück, um Teile des Kernel-Images oder das Initramfs währen des Start-Vorgangs zu entpacken. Bisher konnte man lediglich mit Gzip komprimieren, ein mit Bzip2 gepacktes Kernel-Image soll allerdings zirka 10 Prozent kleiner sein, ein mit Lzma sogar 33 Prozent.

Am Prozess-Scheduler CFS gab es einige Änderungen, die den Code vereinfachen, die Abarbeitung beschleunigen und CFS für Echtzeitumgebungen optimieren. Insbesondere für Letztere sollen auch die optionalen Interrupt-Behandlung mit separaten Threads interessant werden, für die einige Grundlagen gelegt wurden (1, 2, 3). Auch am fürs Locking zuständigen Code gab es einige Verbesserungen. Eine etwas andere Herangehensweise beim Versuch, eine Sperre zu bekommen, soll die Performance ein wenig steigern – daran zeigten insbesondere die Btrfs-Entwickler Interesse.

Sicherheit

Das Crypto-Subsystem arbeitet dank größerer Änderungen an cryptd nun besser mit mehreren Threads. Auf dem mit Core 2 Duo E6400 bestückten Testsystem des Entwicklers steigerte das den Datendurchsatz auf ein mit Hilfe des Device Mappers verschlüsselten Volume um 19 Prozent. Neu sind ferner die Unterstützung für Intels AES-NI (Advanced Encryption Standard) sowie der Treiber crypt4xx für die Crypto Accelerators aus der AMCC-Serie PPC4xx.

Zu SELinux und Smack gesellt sich mit Tomoyo ein weiteres Sicherheitsframework, das MAC (Mandatory Access Control) bietet. In einer Tabelle im Tomoyo-Wiki erklären dessen Entwickler, wie sich Tomoyo aus ihrer Sicht von den beiden anderen erwähnten Sicherheitsframework sowie AppArmor unterscheidet. Einer der für die Praxis wichtigen Unterschiede: SELinux und Smack arbeiteten mit erweiterten Attributen, während Tomoyo und AppArmor bei der Arbeit auf Pfade und Dateinamen zurückgreifen. Das war und ist nicht ganz unumstritten, aber einigen Entwicklern wohl gut genug – Details liefert der Artikel "Tomoyo Linux and pathname-based security" auf LWN.net.

Neu dabei ist auch die Integrity Management Architecture (IMA) (u. a. 1, 2, 3, 4). Mit Hilfe eines Trusted Platform Module (TPM) kann IMA sicher stellen, dass Programme nicht unabsichtlich oder böswillig verändert wurden – Details zu dieser von IBM-Mitarbeitern eingebrachten Techniken liefern die LWN.net-Artkel "System integrity in Linux" und "Integrity management in the kernel."

Power-Management und PCI

Im PCI-Subsystem gab gleich mehrere größere Änderungen, wie der PCI-Subsystem-Verwalter in seinem Git-Pull-Requests festhält. Er hebt unter anderem verbesserte Unterstützung für Hotplugging und MSI (Message Signaled Interrupts) hervor. Zudem bietet das PCI-Subsystem nun alles Nötige für Single Root I/O Virtualization (SR-IOV) – mit ihr lassen sich PCI-Geräte mit Unterstützung für SR-IOV in mehrere virtuelle Geräte aufteilen, die sich virtualisierten Gastsystemen zuweisen lassen.

Nach größeren Änderungen am Code für den Wechsel in und aus systemweiten Schlafzuständen (Suspend und Resume) bei 2.6.29 gab es nun noch weitere Anpassungen, die einige Ecken und Kanten des jungen Designs beseitigen. Speziell die Behandlung der Interrupts haben die Entwickler nochmal überarbeitet, um die Nutzung der Schlafzustände robuster zu machen.
Schnellstart, Tuz, Maintainers

Bereits bei Linux 2.6.28 und 2.6.29 gab es zahlreiche Änderungen am Kernel, die den Startvorgang beschleunigen sollten (Fastboot-Patches). Einige der vielversprechendsten Verbesserungen wurden jedoch aufgrund von Problemen vorübergehend nur genutzt, wenn man sie über einen Kernel-Parameter beim Start explizit aktivierte. Mit 2.6.30 soll der Code nun zum Einsatz kommen. Wie viel schneller das System durch die parallele Initialisierung einiger Kernel-Subsysteme startet, hängt allerdings stark von den jeweiligen Hardware-Komponenten und deren Konfiguration ab.

Tuz machte derweil wieder Platz und überlässt den Job des Linux-Maskottchens wieder dem Pinguin Tux. Erheblich unstrukturiert wurde die Datei Maintainers: Mit Hilfe einiger dort hinzugefügter Informationen ist ein neues Skript in der Lage auszugeben, welche Entwickler für einen bestimmten Bereich oder eine Datei des Kernels zuständig sind.

Architektur-Code und Virtualisierung

Größere Umbauarbeiten gab es für Linux 2.6.30 an der Struktur des Code für x86-Systeme, die nun keine "Sub-Architekturen" mehr unterstützen (1, 2). Im Zuge dieser Arbeit entfernten die Entwickler die Unterstützung für 32-Bit-Voyager-Systeme – der Code habe sich seit 2.6.27 ohnehin nicht mehr übersetzen lassen. Möglicherweise wird veränderter Code die Unterstützung für diese etwas spezielle x86-Architektur aber bald wieder nachrüsten. Neu ist die Unterstützung für die Microblaze-Architektur; der Code für die Xtensa-Architektur weiß nun mit den Chips der Stretch-S6000-Familie umzugehen (1, 2).

Im Virtualisierungsbereich ging es diesmal vergleichsweise ruhig zu. Zu einer der größeren Neuerung zählt die Unterstützung für Nested Virtualization bei neueren AMD-CPUs – also das Aufsetzen eines Gastsystems aus einem Gastsystem heraus. Zudem wurden die Debugging-Möglichkeiten von KVM verbessert. Und wie praktisch mit jeder neuen Version wollen die KVM-Entwickler die Performance sowie die Emulation allgemein verbessert haben ("better performance and improved emulation accuracy"). Der Xen-DomU-Code erhielt einige Änderungen. Draußen bleiben musste aber der Dom0-Code – derzeit sieht es auch nicht so aus, als würde er in naher Zukunft aufgenommen werden, denn Torvalds und einige anderen wichtige Kernel-Entwickler haben den zur Aufnahme vorgeschlagenen Code kürzlich nachhaltig kritisiert.

Genau hingeschaut

Durch einige Änderungen lassen sich in Zukunft mehr Informationen zum aktuellen Zustand moderner CPUs auslesen, was für Fehlerfindung und Performance-Optimierung nützlich ist (1, 2). Ferner nahmen die Entwickler Infrastruktur zum Debugging von DMA-Transfers auf (1, Dokumentation).

Das Tracing-Framework Ftrace arbeitet nun auch auf IA64-CPUs (Itanium). Neu sind die Trace-Plugins kmemtrace (Speicher), blktrace (Block-Geräte wie etwa Datenträger) und der Workqueue-Tracer. Zahlreiche andere Tracer und Ftrace selbst wurden erweitert und verbessert – Details finden sich im Git-Pull-Requests für die Tracing-Infrastruktur und über die Liste mit weiteren Commits am Ende des Artikels.

Nachzügler und kleine Perlen

In einigen Bereichen, über die das Kernel-Log im Rahmen der Mini-Serie "Was 2.6.30 bringt" bereits berichtet hat, gab es nochmal einige weitere Änderungen. So war die Stabilisierungsphase zwar schon recht weit fortgeschritten, dennoch nahm Torvalds im SCSI-Subsystem noch einen neuen Treiber namens fnic auf. Er eignet sich für PCI-Express FCoE (Fibre Channel over Ethernet) HBA (Host Bus Adapter) von Cisco. Und nach einem neuen ISA-Sound-Treiber bei 2.6.30 gab es noch eine weitere Änderung für Uralt-Hardware: Der Treiber 3c509 spricht nun auch einige 3com-Netzwerkchips an, die sich in EISA-Systemen finden. Weitere Nachzügler finden sich in der Liste ganz am Ende des Artikels.

Bei den bisher genannten Änderungen handelt es sich nur um die wichtigsten Neuerungen, die die Kernel-Hacker am Architektur-Code und der Infrastruktur vorgenommen haben. Zahlreiche weitere Änderungen finden sich in der folgenden Liste mit den Überschriften des jeweiligen Commits im Hauptentwicklungszweig; über die Links gelangt man direkt zur Änderungen im Webfrontend des Hauptentwicklungszweigs, wo der Commit-Kommentar und der Patch selbst zahlreiche weitere Informationen zu diesen vielleicht etwas weniger wichtigen, aber keineswegs unbedeutenden Änderungen vermitteln.

Quelle,Links und mehr ... : http://www.heise.de/open/Kernel-Log-Was-2-6-30-bringt-5-Architektur-und-Infrastruktur--/artikel/139868
Titel: Linux-Kernel 2.6.30 freigegeben
Beitrag von: SiLæncer am 10 Juni, 2009, 06:37
Nach acht Vorabversionen und einem eher kurzen Entwicklungszyklus hat Linus Torvalds die auf den Namen "Man-Eating Seals of Antiquity" getaufte Linux-Version 2.6.30 freigeben. Wie bei den Vorgängern der Hauptentwicklungslinie von Linux bringt auch sie eine Unmenge an Neuerungen.

Das Gros findet sich diesmal im Code rund um die Datenspeicherung. So gab es Änderungen, die die Datensicherheit beim Einsatz des noch jungen Ext4 zu Lasten der Performance verbessern – scharfäugige Kritiker könnten aber anmerken, dass einige Anpassungen am Ext3-Code genau das Gegenteil bewirken, wenn man bei der Kernel-Konfiguration nicht aufpasst.

Der Linux-Kernel unterstützt mit der Version 2.6.30 zwei neue Dateisysteme und ermöglicht nun flexiblere Umbauten an Software-RAIDs – einige Änderungen am Crypto-Code sollen darüber hinaus den Durchsatz bei verschlüsselten Datenträgern steigern. Kernel-Image und Initramfs lassen sich nun mit Bzip2 oder LZMA komprimieren und so platzsparender ablegen. Nach zwei nur mäßig erfolgreichen Anläufen, den Kernel durch parallele Initialisierung verschiedener Subsysteme schneller starten zu lassen, soll das Ganze mit 2.6.30 nun endlich zum Einsatz kommen.

Hinzu gesellen sich wie üblich hunderte neue und überarbeite Treiber, was die Hardware-Unterstützung erheblich verbessert und gelegentlich Funktionen zugänglich macht, die vorher mit Linux brach lagen. Dank einiger Änderungen am PCI- und Power-Management-Code sollen ferner systemweite Schlafzustände (Standaby/Suspend) robuster als zuvor arbeiten.

Ein Kernel-Log auf heise open bietet einen Überblick über diese und viele andere wichtige Neuerungen von Linux 2.6.30. Diese sind über kurz oder lang auch für Linux-Nutzer von Bedeutung, die sich mit dem Kern ihres Linux-Systems nicht weiter auseinander setzen, da die kommenden Versionen der Linux-Distributionen den neuen Kernel oder einen seiner Nachfolger einsetzen werden.

Siehe dazu auch:

 Feintuning – Die Neuerungen von Linux 2.6.30 (http://www.heise.de/open/artikel/139949)

Quelle : www.heise.de
Titel: Re: Linux-Kernel 2.6.30 freigegeben
Beitrag von: Warpi am 10 Juni, 2009, 17:10
Falls ich da richtig durchblicke ist der 2.6.30 schon in Ubuntu Karmic Koala als RC dabei.
So wird auch die Technotrend S3200 out of the Box unterstützt ... :)
Titel: Re: Neuer Linux Kernel ....
Beitrag von: ritschibie am 10 Juni, 2009, 19:18
Gute Nachrichten für Anfänger ;)...
Titel: Kernel-Log: Kernel-Vorträge auf dem LinuxTag, IDE-Subsystem Auslaufmodell
Beitrag von: SiLæncer am 23 Juni, 2009, 16:20
Ein Vortragsraum des LinuxTags steht am Freitag ganz im Zeichen des Linux-Kernels. David Miller übernimmt kurzfristig die Betreuung des IDE-Subsystems, will es aber nur pflegen und nicht groß weiterentwickeln. Ein Intel-Entwickler äußerte derweil grundsätzliche Kritik an verschiedenen Grafik-Benchmarks für Linux/X.org.

Am Freitag dieser Woche findet auf dem LinuxTag im Saal 4 ("Europa I") der Kernel-Track statt, in dem zahlreiche Vorträge rund um den Linux-Kernel gebündelt wurden. Den Einstieg macht um 10 Uhr der bei Linutronix beschäftigte Entwickler Hans-Jürgen Koch, der in "Creating drivers using Userspace I/O (UIO)" den Aufbau und die Programmierung der weitgehend als Userspace-Programm arbeitenden UIO-Treiber erläutert.

Um 11 Uhr setzt der Autor des Kernel-Logs auf heise open und in c't den Kernel-Track mit einem Überblick über aktuelle Entwicklungen des Linux-Kernels fort und ersetzt den ursprünglich für diesen Part vorgesehenen LWN.net-Chef Jonathan Corbet. Der Vortrag wird unter anderem detailliert auf die Neuerungen von Linux 2.6.31 eingehen, die die Kernel-Hacker derzeit im Rahmen des Merge Window in den Hauptentwicklungszweig einpflegen – diese erste und "heiße" Phase im Entwicklungszyklus dürfte Torvalds vermutlich in Kürze mit der Freigabe von 2.6.31-rc1 beenden, da die Veröffentlichung von 2.6.30 am Mittwoch zwei Wochen her ist.

Nach "Demystifying Kernel development" von Wolfram Sang (Pengutronix) und der im Saal "London" stattfindenden Keynote von Glibc-Verwalter Ulrich Drepper ("Of programmers and hardware: transcending the gap") folgt Jan Blunck (Novell) um 15 Uhr mit "State of the Union and when you don't want to use Union Mounts". Wer sich zu den verschiedenen Techniken zu "Union Mounts" vorab informieren möchte, sollte den ersten und zweiten Teil der LWN.net-Artikelserie "Unioning file systems: Implementations" konsultieren. Einen Überblick über das im vergangenes Jahr vorgestellte Framework Ksplice gibt Ksplice-Entwickler Waseem Daher in "Rebootless kernel updates".

Den Abschluss des Tages bildet das "Kernel Kwestioning", in dem einige Kernel-Entwickler auf dem Podium auf Fragen aus dem Publikum eingehen werden.

IDE-Subsystem eingefroren

Der Verwalter der Sparc- und Netzwerk-Unterstützung des Linux-Kernels, David Miller, übernimmt die Betreuung des IDE-Subsystems mit seinen im wesentlichen für Parallel-ATA-Adapter (PATA/IDE) zuständigen Treibern. Er übernimmt den Posten kurzfristig von Bartlomiej Zolnierkiewicz. Auslöser für den Wechsel war eine Diskussion um den Fehlerbericht eines Sparc-Anwenders, der ein Problem mit einem der IDE-Treiber in neueren Kernel-Versionen schilderte. Miller merkte in dem Rahmen an, dass Zolnierkiewicz zahlreiche Änderungen im IDE-Subsystem vorgenommen habe, diese aber wohl nicht (ausreichend) getestet worden seien.

Im Laufe der Diskussion erwiderte Zolnierkiewicz schließlich, dass ihn die ewigen Anfeindungen bezüglich Änderungen im IDE-Subsystem ermüdeten ("I'm really tired of this kind of hostility towards IDE changes[...]"). Zolnierkiewicz bot im folgenden an, dass Miller doch das IDE-Subsystem übernehmen solle. Letzterer willigte sofort ein und setzte auch gleich einen Git-Entwicklerzweig auf. Er und einige andere Entwickler bedankten sich im folgenden bei Zolnierkiewicz für dessen langjährige harte Arbeit. Der bisherige Maintainer stimmte dem Wechsel nochmals explizit zu.

Miller ließ durchblicken, in Zukunft keine größeren Änderungen im IDE-Subsystem vornehmen zu wollen ("I'm going to treat IDE as pure legacy [...]"). Damit dürfte den bei Linux 2.6.19 Ende 2006 aufgenommenen PATA-Treibern im Libata-Subsystem nun endgültig die Zukunft gehören. Einige Entwickler hatten sie ohnehin von Anfang an als Ersatz für die Treiber im älteren und schon seit über einem Jahrzehnt immer wieder für Unfrieden zwischen Kernel-Entwicklern sorgenden IDE-Subsystem gedacht. Zolnierkiewicz hatte das IDE-Subsystem in den vergangenen Monaten und Jahren aber dennoch massiv überarbeitet und auch neue Treiber aufgenommen – aus der erwarteten Ablösung entstand so eine länger anhaltende Konkurrenzsituation.

[Update] Torvalds hat Miller und Zolnierkiewicz gebeten, mit mehr Zeit und Einsatz nach einer (anderen) Lösung zu suchen ("I think you and Bartlomiej should spend a _lot_ more time and effort trying to resolve this"). Beide betonten aber in Antworten nochmal, die Übergabe des Postens als IDE-Subsystem-Maintainer wie angedacht umsetzen zu wollen. (thl, 20090623-0800) [/Update]

Rund um Grafik

    * Intel- und X.org-Entwickler Carl Worth erklärt in seinem Blog einige Hintergründe zu Geschwindigkeitsmessungen der Grafikausgabe. Wie schon einige Entwickler vor ihm erläutert er dabei erneut, warum glxgears für Geschwindigkeitsmessungen vollkommen ungeeignet sei. Auch die von einigen Hardware-Webseiten häufiger genutzten Ergebnisse von Microbenchmarks wie x11perf und gtkperf hätten kaum Praxisbedeutung. Worth stellt mit dem Programm cairo-perf-trace eine Alternative vor, die für Messungen erheblich besser geeignet sei und die bei der Entwicklung des Intel-Treibers bereits gute Dienste geleistet hätte.

    * Peter Hutterer, ein bei Red Hat beschäftigter X.org-Entwickler, gibt in den Blog-Einträgen "XI2 Recipes, Part 1, 2 und 3" einen Überblick über Xinput 2.0 (XI2). Das wurde kürzlich in den Entwicklerzweig des X-Servers von X.org integriert und sollte so den Weg in den X-Server 1.7 finden, der als Bestandteil von X.org 7.5 vorgesehen ist. Einer der Hauptgründe für die Aufnahme von XI2 sei eine bessere Unterstützung für Multi Pointer X (MPX) – den parallelen Betrieb mit mehreren Eingabegeräten wie etwa einem Touchpad und einer Maus.

    * Die X-Entwickler haben ihre Pläne für die Freigabe von Version 7.5 erneut angepasst. Anvisiert wird jetzt eine Fertigstellung im August. Eine kürzlich geführte Diskussion bringt ein wenig Licht in die Arbeitsweise der X-Entwickler und macht deutlich, warum es ab und an zu Verzögerungen kommt.

    * Bereits Anfang des Monats hat AMD-Entwickler Alex Deucher in seinem Blog dargelegt, welche Stromspartechniken moderne Radeon-Grafikchips beherrschen. Dabei erklärt er, welche dieser Techniken die Linux-Grafiktreiber schon jetzt unterstützen und bei welchen das bald der Fall sein soll.

    * GTK-Entwickler Owen Taylor erklärt in seinem Blog, was es alles beim Aktualisieren des Bildes zu beachten gilt.

    * Bereits Anfang vergangener Woche hat AMD die Version 9.6 der als Catalyst oder Fglrx bekannten proprietären Linux-Grafiktreiber zum Download freigegeben.

Kernel-Status

    * Die Stable-Series ist mittlerweile bei den Versionen 2.6.27.25 und 2.6.29.5 angekommen, die zirka 60 respektive 85 kleinere Änderungen und Fehlerkorrekturen bringen. Wie praktisch immer raten die Entwickler zum Wechsel auf die neuen Versionen, ohne explizit anzugeben, ob Sicherheitslücken geschlossen wurden.

    * Willy Tarreau, Betreuer der 2.4er-Kernel-Serie, nimmt seine Aufgaben weiterhin ernst und hat bereits vor mehr als zwei Wochen die Linux-Version 2.4.37.2 veröffentlicht.

Kernel-Log-Staccato

    * Christoph Hellwig gibt im XFS Status Update für Mai 2009 einen Überblick über die jüngsten Geschehnisse rund um das Dateisystem XFS

    * Der langjährige und seit einiger Zeit bei Atheros beschäftigte Linux-WLAN-Entwickler Luis R. Rodriguez hat in einer Mail die Freigabe des Quellcodes der Firmware für einige Atheros-USB-WLAN-Chips mit Unterstützung für 802.11n bekanntgemacht.

    * Pulseaudio-Entwickler Lennart Poettering hat RealtimeKit angekündigt – ein kleines, von zukünftigen Pulseaudio-Versionen genutztes und im Hintergrund arbeitendes Programm, das einzelnen Anwendungen Realtime-Priorität zuweist. Anders als bei existierenden Lösungen rund um die Verwaltung von Echtzeit-Prioritäten für einzelne Anwendungen sollen böswillige Anwender das System mit dem kurz rtkit genannten Daemons nicht zum Stillstand bringen können.

    * Die Entwickler des Hplip-Projekts haben die Version 3.9.6 der Hplip-Treiber für Drucker und Multifunktionsgeräte von HP veröffentlicht. Sie bringen unter anderem Unterstützung für eine ganze Reihe von HP-Geräten aus verschiedenen Modellserien. Der CUPS-Treiber "HPCUPS" ist nun der Haupt-Treiber, HPIJS ist aber weiter enthalten. Zur Konfiguration von Druckern mit WLAN-Funktionen liefert HP nun das Programm hp-wificonfig mit.

    * Der von Jon Masters gestartete "LKML Summary Podcast" findet sich seit kurzem auf der Webseite kernelpodcast.org; dort finden sich auch die dem Podcast zugrunde liegenden Texte für all jene, die lieber lesen statt hören.

Quelle : www.heise.de (http://www.heise.de)
Titel: Kernel-Log: Hauptentwicklungsphase von Linux 2.6.31 abgeschlossen
Beitrag von: SiLæncer am 25 Juni, 2009, 11:13
Etwas mehr als zwei Wochen nach der Veröffentlichung von Linux 2.6.30 hat Linus Torvalds die erste, 2.6.31-rc1 genannte Vorabversion von Linux 2.6.31 freigegeben. Der "rc1" beendet dabei wie üblich das Merge Window, in der die Kernel-Hacker das Gros der Neuerungen für die jeweilige Version in den Hauptentwicklungszweig einpflegen. In den folgenden acht bis elf Wochen integrieren die Programmierer üblicherweise nur mehr kleinere Änderungen mit dem Ziel, Fehler im neu eingebrachten Code zu beseitigen, ohne dadurch neue Probleme auszulösen. Folgen die Kernel-Hacker dabei trotz Hochsommer und Urlaubszeit in der nördlichen Hemisphäre ihrem üblichen Tempo, dann dürfte Linux 2.6.31 vermutlich Ende August oder Anfang September erscheinen.

Die Liste der Änderungen ist wie so häufig überaus lang. So wird 2.6.31 nun Kernel-Based Mode-Setting (KMS) auch mit Radeon-Modellen bis zu X1950 XTX beherrschen. Der Code genügt allerdings den Qualitäts- und Sicherheitsansprüchen der Entwickler noch nicht – sie markierten den KMS-Treiber daher erst einmal als Staging-Treiber, der beim Laden den Kernel als "Crap" ("Mist") markiert. Wie erwartet nahmen die Kernel-Entwickler zudem einen Treiber für einige PCI-Soundkarten aus der Creative-Sound-Blaster-Serie X-Fi sowie Treiber und Infrastuktur zum Ansprechen von USB-3.0-Controllern mit ihrem Extensible Host Controller Interface (xHCI) auf.

Größere Änderungen am noch sehr experimentellen Btrfs-Dateisystem sollen ferner die Performance in einigen Szenarien deutlich verbessern. Dazu nutzt Btrfs jedoch ein anderes Format auf dem Datenträger, in das bestehende Btrfs-Dateisysteme beim ersten Einhängen automatisch überführt werden – Kernel mit älteren Btrfs-Code können ein so verändertes Dateisystem jedoch nicht mehr einbinden. Über den teilweise im Kernel und teilweise im Userspace arbeitenden Code der "Performance Counters" lassen sich in Zukunft die gleichnamigen Einheiten moderner Prozessoren auslesen. Sie messen verschiedene für die CPU-Performance wichtige Vorgänge in der CPU – so lässt sich Code sehr detailliert analysieren, um mit diesen Angaben die für Ausführungsgeschwindigkeit wichtigen Code-Abschnitte später zu optimieren. Ähnliches war schon länger mit perfmon möglich, dessen Entwickler sich vergeblich um die Aufnahme in den offiziellen Linux-Kernel bemüht hatten.

Die genannten Neuerungen sind aber nur einige der wichtigsten. Besucher des LinuxTags können am morgigen Freitag in einem Vortrag des Kernel-Log-Autors einen detaillierteren Überblick über die wichtigsten Neuerungen von Linux 2.6.31 erhalten. Ferner werden das Kernel-Log in der c't sowie die in einigen Tagen startende Mini-Serie "Was 2.6.31 bringt" auf heise open in den kommenden Wochen die erwähnten und zahlreiche weitere wichtige Änderungen detailliert beschreiben. Das Kernel-Log berichtet auf heise open regelmäßig über die neuesten Entwicklungen rund um den Linux-Kernel.

Quelle : www.heise.de (http://www.heise.de)
Titel: Kernel-Patch umgeht VFAT-Patente
Beitrag von: SiLæncer am 29 Juni, 2009, 20:29
Unterstützung für lange Dateinamen bleibt erhalten

Andrew Tridgell hat einen neuen Patch veröffentlicht, um im Linux-Kernel die VFAT-Patente zu umgehen. Anders als bei seinem ersten Patch, den er im Mai 2009 veröffentlicht hatte, bleibt die Unterstützung für lange Dateinamen erhalten.
Mit dem jetzt von Samba-Gründer Andrew Tridgell veröffentlichten Patch umgeht der Linux-Kernel die VFAT-Patente. Tridgell hatte schon im Mai 2009 einen entsprechenden Patch veröffentlicht, der jedoch die Unterstützung für lange Dateinamen entfernte, so dass nur noch Dateien mit dem 8.3-Namensschema angelegt werden konnten. Der neue Patch behält die Unterstützung für lange Dateinamen bei.

Allerdings wird bei aktiviertem Patch immer nur entweder ein langer oder ein kurzer Dateiname angelegt. Laut den fraglichen VFAT-Patenten werden für jede Datei beide Varianten gespeichert. Tridgell hat auch eine FAQ-Sammlung zu dem Patch veröffentlicht. Darin heißt es unter anderem, dass mit dem Patch der Gefahr einer Patentklage aus dem Weg gegangen wird, so lange die Patente nicht offiziell für ungültig erklärt wurden.

Die VFAT-Patente waren Anlass einer Klage von Microsoft gegen TomTom, der Streit ist aber mittlerweile beigelegt. Kritiker sehen die betreffenden Patente als ungültig an.

Quelle : http://www.golem.de/0906/68049.html (http://www.golem.de/0906/68049.html)
Titel: Kernel-Log: Auf dem Weg zu Linux 2.6.31
Beitrag von: SiLæncer am 01 Juli, 2009, 16:35
Mit der Freigabe der ersten Vorabversion von Linux 2.6.31 haben die Kernel-Hacker in der vergangene Woche das Merge Window geschlossen und damit die Aufnahme der größten Änderungen für die nächste Kernel-Version der Hauptentwicklungslinie abgeschlossen. Das Kernel-Log auf heise open startet daher die Artikelserie "Was 2.6.31 bringt" und widmet sich im ersten Teil den bedeutsamsten Änderungen rund um die Netzwerkunterstützung von Linux.

Dazu gehören ein neuer WLAN-Treiber für Intels-Chips und die Unterstützung für Wireless Personal Area Networks (WPAN) nach IEEE 802.15.4. Zudem erweiterten die Entwickler die Unterstützung für neuere WLAN-Bausteine von Ralink und renovierten das Rfkill-Framework; WLAN-Stack und Treiber nutzen zudem die Stromspartechniken moderner Hardware in Zukunft besser.

Weitere Teile werden die Kernel-Log-Mini-Serie auf heise open in den kommenden Wochen erweitern. Dabei werden nach und nach die wichtigsten für 2.6.31 vorgesehenen Neuerungen aus den verschiedenen Funktionsbereichen des Linux-Kernels umfassend beschrieben.

Mehr dazu im ersten Teil der Kernel-Log-Serie zu Linux 2.6.31 auf heise open:

    * Kernel-Log - Was 2.6.31 bringt (1): Neue WLAN-Treiber und andere Änderungen im Netzwerkbereich (http://www.heise.de/open/Kernel-Log-Was-2-6-31-bringt-1-Neue-WLAN-Treiber-und-andere-Aenderungen-im-Netzwerkbereich--/artikel/141387)


Quelle : www.heise.de (http://www.heise.de)
Titel: Re: Kernel-Log: Auf dem Weg zu Linux 2.6.31
Beitrag von: Warpi am 01 Juli, 2009, 16:51
Wer Ubuntu Jaunty hat und mutig ist kann ja mal hier nachsehen ;)

http://kernel.ubuntu.com/~kernel-ppa/mainline/ (http://kernel.ubuntu.com/~kernel-ppa/mainline/) 
Titel: Kernel-Log – Fortschritte bei Freien Grafiktreibern, drei neue Stable-Kernel
Beitrag von: SiLæncer am 16 Juli, 2009, 08:41
Eine neue Version des Treibers nv bringt Unterstützung für neuere Nvidia-GPUs. Treiber zur 3D-Unterstützung für neuere Radeon-GPUs machen derzeit ebenso Fortschritte wie Code zum Betrieb des X-Servers ohne Root-Rechte. Die Kernel-Entwickler haben derweil neue Stable-Kernel-Versionen veröffentlicht und stellen die Betreuung der 2.6.29er-Serie ein.

Nachdem es um den meist schlicht "nv" bezeichneten Treiber für Nvidia-GPUs in den vergangenen Monaten recht still geworden war, hat Nvidia-Mitarbeiter Aaron Plattner kürzlich die Version 2.1.14 des korrekt xf86-video-nv genannten Open-Source-Grafiktreibers freigegeben. Der Gesamtumfang der Neuerungen ist zwar eher klein, durch einige der Änderungen weiß der Treiber aber nun mit zahlreichen neueren Grafikchips umzugehen, die bislang nur vom Treiber Nouveau oder dem proprietären Nvidia-Treiber unterstützt wurden; dazu zählen unter anderem verschiedene GeForce-7950-Karten, die GeForce-GTX-Modelle 285 und 295 und viele andere Grafikkarten der 9000er-Serie.

Vor einer Woche vermeldete AMD-Mitarbeiter John Bridgman in seinem Blog einige Fortschritte bei der Arbeit an Open-Source-Treiber-Code zur 3D-Unterstützung der GPU-Reihen R6xx und R7xx, die bei Radeon-Grafik-Hardware der Serien 2000, 3000 und 4000 zum Einsatz kommen. 14 von 63 Tests würden sich korrekt verhalten, bei 24 gebe es noch Darstellungsfehler; bei 25 würde gar nichts angezeigt oder Abstürze seien die Folge. Die Treiber-Programmierer haben also noch einiges an Arbeit vor sich; auch die Performance sei noch dürftig ("Mind-bogglingly slow").

Die X-Entwickler haben derweil die Version 1.6.2 des X-Servers freigegeben. Bei ihr sollen einige Fehler des Vorgängers korrigiert sein – Treiber-API und -ABI seien aber kompatibel zu den bisherigen Versionen der 1.6er-Serie.

Intel-Entwickler Jesse Barnes diskutiert derweil mit anderen X-Entwicklern über die Einführung von Schnittstellen, damit der X-Server ohne Root-Rechte laufen könne, wie es für Moblin angedacht sei. Das bei 2.6.29 eingeführte und bei 2.6.30 verbesserte Kernel-based Mode-setting (KMS) war ein Schritt in diese Richtung, einige Details müssen aber offensichtlich noch ausgearbeitet werden.

Kernel-Status

Ende vergangener Woche haben die Betreuer der Linux-Stable-Series die Versionen 2.6.27.26, 2.6.29.6 und 2.6.30.1 freigegeben; dabei rieten sie Anwendern der jeweiligen Vorversionen wie üblich zum Wechsel auf die neuen Versionen, ohne explizit anzugeben, ob diese sicherheitsrelevante Fehler beheben.

Die Kernel der 27er- und 29er-Reihe unterscheiden sich durch 30 bis 40 Patches von ihren Vorgängern. Greg Kroah-Hartman betont in der Mail zu 2.6.29.6, dass dies die letzte Version der 29er-Reihe sein solle. In der Mail zum Review der 30er-Stable-Version entschuldigt er sich für das späte Erscheinen der ersten Stable-Version für die vor vier Wochen freigegebene Linux-Version 2.6.30. Mit über hundert Änderungen ist 2.6.30.1 recht umfangreich; unter anderem verbessert die Version das Suspend- und Resume-Handling für Intel-GPUs und bringt mehrere Änderungen an den für WLAN-Chips von Atheros zuständigen Treibern ath5k und ath9k.

Die Entwicklung von 2.6.31 ist indes bei der zweiten Vorabversion angekommen. Sie sei Torvalds etwas zu groß gewesen – daher wolle er jetzt etwas unnachgiebiger bei der Aufnahme von Änderungen sein.

Kernel-Log-Staccato

    * Hans de Goede erklärt in seinem Blog, dass sich einige Hardware-Monitoring-Treiber bei Linux 2.6.30 mit Absicht nicht mehr laden lassen, um dem ACPI-Code nicht in Gehege zu kommen.

    * Die Entwickler des Hplip-Projekts haben die Version 3.9.6b der Hplip-Treiber für Drucker und Multifunktionsgeräte von HP veröffentlicht, die einige Fehler in der noch jungen Version 3.9.6 beheben.

    * Ein kürzlich auf Linux.com erschienener Artikel beschreibt die Entwicklung eines kleinen, mehr oder weniger funktionslosen Kernel-Moduls.

    * Christoph Hellwig hat kürzlich das "XFS status update for June 2009" veröffentlicht.

    * Die Wireless-Entickler haben einige Notizen und Präsentationen des kürzlich im Rahmen von LinuxTag und Fedora-Konferenz FUDCon abgehaltenen Wireless Mini-Summit in ihrem Wiki gesammelt; auch das PDF-Dokument der auf der FUDCon gezeigten Präsentation von WLAN-Subsystem-Maintainer John W. Linville ist online.

    * Security-Subsystem-Maintainer James Morris verweist in seinem Blog-Post SELinux for Humans auf zwei Präsentationen, die einige Hintergründe aufzeigen und Praxisbeispiele zu SELinux geben. In einem anderen Blog-Eintrag hatte Morris zuvor die wichtigsten Änderungen von Linux 2.6.30 im Security-Bereich zusammengefasst.

    * Die Entwickler des ndiswrapper haben dessen Version 1.55 veröffentlicht.

    * Die Ksplice-Entwickler haben ein Paket-Depot angekündigt, das Anwender von Ubuntu 9.04 (Jaunty Jackalope) mit Ksplice-Updates versorgt und so Sicherheitslücken im Kernel von Jaunty Jackalope im laufenden Betrieb korrigiert.

    * Till Kamppeter, OpenPrinting Manager der Linux Foundation, hat die Version 4.0.2 von Foomatic freigegeben.

    * Kernel-Entwickler Matthew Garrett kritisiert in seinem Blog Intel wegen der problematischen Situation rund um die Grafiktreiber für den Poulsbo-Chipsatz (US15W). In einem anderen Blog-Eintrag erklärt er, wie er den Einsatz von USB-Autosuspend fördern will um die Leistungsaufnahme zu reduzieren.

Quelle : www.heise.de (http://www.heise.de)
Titel: Linux Kernel 2.6.30.3 erschienen
Beitrag von: SiLæncer am 25 Juli, 2009, 09:54
Ein Changelog dazu gibts hier (http://kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.30.3).

http://kernel.org/ (http://kernel.org/)
Titel: Kernel-Log: X-Server 1.7 später; Compiz läuft auf neueren Radeon-GPUs
Beitrag von: SiLæncer am 04 August, 2009, 19:20
Einige X.org-Treiber wurden zwar für den X-Server 1.7 aktualisiert, dessen Entwicklung liegt allerdings hinter dem Zeitplan. Neue Grafiktreiber von AMD, Intel und Nvidia sowie neue Linux-Versionen bringen derweil zahlreiche Korrekturen und Verbesserungen im Grafikbereich. Die 3D-Unterstützung für neuere Radeon-GPUs eignet sich jetzt für Compiz und DRBD soll bei 2.6.32 in den Hauptentwicklungszweig des Linux-Kernels einziehen.

Auch einige Open-Source-Entwickler der Nordhalbkugel scheinen derzeit ihren Sommerurlaub zu genießen, denn von der Veröffentlichung von Microsofts Hyper-V-Treiber für Linux unter der GPL und den Diskussionen zwischen Linux-Gurus Alan Cox und Linus Torvalds abgesehen geht es derzeit vergleichsweise ruhig zu. Inaktiv ist die Open-Source-Gemeinde aber keineswegs, einiges Berichtenswertes für das Kernel-Log gibt es durchaus.

Rund um Grafik-Hardware

Nvidia hat vergangene Woche die Version 185.18.29 der eigenen proprietären Linux-Grafiktreiber freigegeben (x86-32, x86-64). Sie enthalten eine Reihe von Fehlerkorrekturen sowie kleinere Verbesserungen – insbesondere für das im vergangenen November vorgestellte Video Decode and Presentation API for Unix (VDPAU). Der Grafikchiphersteller arbeitet derweil an größeren Neuerungen und Unterstützung für OpenGL 3.2 in den Treibern der 190er-Reihe; deren aktuelle Vorabversion trägt die Versionsnummer 190.18.03.

Bereits zuvor hatte AMD die Version 9.7 seiner Catalyst oder Fglrx genannten proprietären Grafiktreiber für Linux veröffentlicht. Sie spielen wie ihre Vorgänger nicht mit den gar nicht mehr so neuen Linux-Kerneln 2.6.29 und 2.6.30 zusammen, obwohl 2.6.29 bereits vor über viereinhalb Monaten erschienen ist. Beide Kernel enthalten zudem eine Reihe von Treibern und Funktionen, die älteren Versionen fehlen – besonders in der Bredouille stecken so Anwender, die den proprietären AMD-Treiber einsetzen möchten, aber einen der nur in 2.6.29 oder 2.6.30 enthaltenen Treiber für eine andere Hardware-Komponente benötigen.

Die Open-Source-Entwickler bei X.org waren ebenfalls aktiv – Intel-Entwickler Keith Packard etwa hat die Version 1.6.3 des X-Servers von X.org veröffentlicht, die einige Fehler der Vorversion korrigieren soll. Freigegeben wurden auch neue Versionen zahlreicher X.org-Grafiktreiber, damit diese mit API und ABI des derzeit noch in Entwicklung befindlichen X-Servers 1.7 zusammenarbeiten. Dessen Fertigstellung war ursprünglich mal für Juli anvisiert, dann aber auf Mitte August verschoben worden. Diesen Termin werden die Entwickler wohl nicht halten können, denn das zuletzt für den 6. Juli geplante Branching im Quellcodeverwaltungssystem ist bis dato nicht erfolgt – somit hängen die Entwickler derzeit ungefähr einen Monat hinter dem derzeit aktuellen Zeitplan.

Die Intel-Entwickler haben derweil die Version 2.8 ihres Grafiktreibers veröffentlicht, die zum Grafiktreiberpaket 2009Q2 gehört. Wie erwartet erfordert er mindestens einen X-Server ab Version 1.6, da die Entwickler den Code zur Unterstützung von DRI1, EXA, XXA und NoAccel entfernt haben, um die Treiberpflege zu erleichtern. Mit der Ende August/Anfang September erwarteten Linux-Version 2.6.31 soll der Treiber am besten zusammenarbeiten, da sie einige Verbesserungen für GEM (Graphics Execution Manager) und Kernel-based Mode-Setting (KMS) enthält; den Einsatz von Letzterem empfehlen die Programmierer in den Freigabe-Mails. Intel-Entwickler Eric Anholt gibt in seinem Blog einen ausführlicheren Überblick über einige der Neuerungen der Version 2.8 und erwähnt einige Hintergründe zu den Arbeiten für die Version 2.9.

Einige weitere Geschehnisse rund um Linux-Treiber für Grafik-Hardware:

    * Nachdem Alex Deucher kürzlich größere Fortschritte bei den 3D-Treibern für die auf Radeon-Karten der Serie 2000, 3000 und 4000 eingesetzten R6xx- und R7xx-GPUs vermeldete, kündigte er vergangenes Wochenende in seinem Blog an, dass nun auch Compiz laufe. Es arbeitete zwar noch sehr langsam, das solle sich aber schon bald ändern.

    * X-Entwickler Peter Hutterer hat seine Serie "XI2 recipes" mit den Teilen 4, 5 und 6 fortgesetzt. Zwischenzeitlich hat der Programmierer auch die Hauptentwicklungsphase des für den X-Server 1.7 vorgesehenen Subsystems X Input 2 abgeschlossen.

    * Einige Entwickler arbeiten derzeit wieder verstärkt an einem "VGA Arbiter", der Kernel-seitig den Zugriff auf einige Ressourcen von Grafik-Hardware koordiniert, damit sich mehrere parallel laufende X-Server nicht ins Gehege kommen. Das soll unter anderem das Aufsetzen von Multiseat-Umgebungen vereinfachen. Details finden sich in Blog-Einträgen von Dave Airlie und Tiago Vignatti.

Kernel-Status

Die Betreuer der Linux-Stable-Series haben vor dem Wochenende die Versionen 2.6.27.29 und 2.6.30.4 veröffentlicht. Sie korrigieren einige Fehler und bringen kleinere Verbesserungen; bei der Freigabe rieten die Betreuer der Stable-Series allen Anwendern der jeweiligen Vorversionen wie üblich zum Wechsel auf die neuen Versionen, ohne explizit anzugeben, ob diese sicherheitsrelevante Fehler beheben.

Die Entwicklung von Linux 2.6.31 ist kürzlich bei der fünften Vorabversion angekommen. Die Liste mit bekannten Fehlern, die 2.6.30 nicht hatte, umfasste am Wochenende noch 28 ungelöste Probleme; die Liste der zwischen 2.6.29 und 2.6.30 eingeschleppten Fehler enthält 39 Fehler.

Auch die 2.4er-Serie haben die Entickler nicht vergessen: Ihr Betreuer Willy Tarreau veröffentlichte kürzlich die Versionen 2.4.37.3 und 2.4.37.4.

Einige Entwickler des Realtime-Trees haben diesen derweil auf die Version 2.6.31-rc4 portiert; in der Freigabe-Mail zu 2.6.31-rc4-rt1 liefert Thomas Gleixner einige Informationen zu den Änderungen und Verbesserungen.

Kernel-Log-Staccato

    * Andrew Morton machte sich kürzlich auf der LKML für die Aufnahme von DRBD (Distributed Replicated Block Device) stark. Nach derzeitigem Anschein wird die vor allem im High-Availability(HA)-Umfeld genutzte Replikationslösung mit Linux 2.6.32 in den Hauptentwicklungszweigs einziehen; linux-next enthält DRBD bereits.

    * Frederic Weisbecker arbeitet weiter an Patches für ReiserFS, die die Nutzung des Big Kernel Lock reduzieren. Das verbessert die Performance teilweise – der Entwickler musste aber eingestehen, bislang keine größeren Belastungstests durchgeführt zu haben.

    * Die Dateisystem-Entwicklerin Valerie Aurora (ehemals Henson) hat die Geschichte des als "Next Generation Filesystem" für Linux auserkorenen Dateisystem Btrfs in dem LWN.net-Artikel "A short history of btrfs" zusammengefasst. Dabei geht sie auch auf die Unterschiede zu ZFS ein, an dem sie mitgearbeitet hat. In dem Artikel "Das Dateisystem Btrfs" hatte sich auch heise open kürzlich näher mit Btrfs beschäftigt.

    * Die Entwicklung des Dateisystems Tux3 ist vorübergehend zum Stillstand bekommen, weil andere Arbeiten den Hauptprogrammierer vollauf beschäftigen. Ext-Dateisystementwickler Theodore Tso gab derweil einige Ratschläge zum Fortkommen. Er fragt in dem Zusammenhang aber auch kritisch, wie sich Tux3 überhaupt von Btrfs abheben würde.

    * Mark Lord hat in den vergangenen Tagen an Unterstützung für das ATA-Trim-Kommando in hdparm gearbeitet; Details finden sich in den Freigabe-Mails zu hdparm 9.17, 9.18 und 9.20.

    * In einem als Video verfügbaren Vortrag hat der auf Powermanagement spezialisierte Kernel-Entwickler Matthew Garrett kürzlich auf dem Gran Canaria Desktop Summit versucht, einige Mythen rund um Stromspartechniken auszuräumen.

    * ACPI-Maintainer Len Brown hat kürzlich eine grobe Zusammenfassung der Diskussionen veröffentlicht, die auf dem im Rahmen des Montreal Linux Symposium abgehaltenen "Power Management mini-summit" zur Sprache kamen.

    * WLAN-Entwickler Johannes Berg hat die erste, als 0.1 bezeichnete Version des Programms rfkill veröffentlicht. Mit ihm und dem Rfkill-Framework neuerer Kernel lässt sich unter anderem der Status der vornehmlich bei Notebooks zu findenden Schiebeschalter oder Tastenkombinationen zum Ein- und Ausschalten von WLAN oder Bluetooth abfragen und überwachen.

    * Novell-Entwickler Gregory Haskins hat das AlacrityVM-Projekt sowie die AlacrityVM-Version 0.1 angekündigt. Bei AlacrityVM handelt es sich um einen auf KVM basierenden Hypervisor, der speziell für HPC (High-Performance Computing) und Echtzeit-Umgebungen optimiert ist.

    * Upstart-Entwickler Scott James Remnant hat die Version 0.6.3 von Upstart veröffentlicht.

    * In seinem Blog und auf der LKML hat Greg Kroah-Hartman angekündigt, Linux-Treiber für den VME Bus in den Staging-Bereich aufzunehmen. Zu verdanken sei das Martyn Welch, der fünf verschiedene und teilweise schon mehrere Jahre alten Code-Zweige zur Unterstützung des VME Bus zusammengeführt habe und sich mit den Copyright-Haltern auf eine Freigabe unter der GPL einigen konnte.

    * Die Gutenprint-Entwickler haben die Version 5.2.4 der Druckertreibersammlung veröffentlicht. Sie unterstützt mehrere Drucker, mit denen die Vorversion nicht zurecht kam.

    * Christoph Hellwig gibt in dem "XFS status update für Juli 2009" einen Überblick über neuste Entwicklungen beim XFS-Dateisystem.

    * Die Linux-Foundation hat in den vergangenen Tagen und Wochen ihre "Kernel Newbie Corner" fortgesetzt; der neuste Artikel der bislang sechs Teile umfassende Serie trägt den Titel "Kernel Symbols: What's Available to Your Module, What Isn't".

Quelle und Links : http://www.heise.de/open/Kernel-Log-X-Server-1-7-spaeter-Compiz-laeuft-auf-neueren-Radeon-GPUs-DRBD-bald-im-Kernel--/artikel/142997 (http://www.heise.de/open/Kernel-Log-X-Server-1-7-spaeter-Compiz-laeuft-auf-neueren-Radeon-GPUs-DRBD-bald-im-Kernel--/artikel/142997)
Titel: Kernel-Log – Was 2.6.31 bringt (Grafik, Audio und Video)
Beitrag von: SiLæncer am 08 August, 2009, 15:58
KMS für Radeon; Treiber für X-Fi, neue Intel-GPUs, Webcams und TV-Hardware

Linux 2.6.31 wird Kernel-Based Mode-Setting bei Radeon-Grafikkarten bis hin zur X1950 unterstützen. Neu dabei sind Treiber für X-Fi-Soundkarten von Creative und Intels "Next-Generation Graphics Device". Zahlreiche Verbesserungen gab es auch bei den Treibern für Webcams und TV-Hardware.

Trotz Hochsommer auf der Nordhalbkugel geht die Kernel-Entwicklung ohne Unterbrechung weiter. Die Entwicklung von Linux 2.6.31 ist mittlerweile bei der fünften Vorabversion angekommen. Bei ihr schlich sich noch der Webcam-Treiber gspca/sn9c20x ein, obowhl das Merge Window schon lange vorbei war. Er ist aber nur eine von vielen Neuerungen im Audio- und Video-Bereich von Linux 2.6.31.
Flackerfreier X-Start für Radeon-Grafikchips

Nachdem bei Linux 2.6.28 der Intel-spezifische GEM (Graphics Execution Manager) zum Kernel stieß und mit 2.6.29 die darauf aufbauende Unterstützung für Kernel-Based Mode-Setting (KMS) folgte, nahmen die Entwickler nun KMS-Code für Radeon-Grafikchips von AMD/ATI auf. Damit man die Vorteile von KMS – die zentrale Verwaltung der Grafik an einer Stelle, besser funktionierender Suspend und weniger komplexe Grafiktreiber – nutzen kann und der X-Server mit KMS arbeitet, müssen die Treiber für X.org, die Libdrm sowie Mesa3D aktualisiert werden. Das ist ein erheblicher Einrichtungs- und Abstimmungsaufwand, den man am besten dem Linux-Distributor seiner Wahl überlässt.

Der aufgenommene und maßgeblich von den Programmierern des X.org-Treibers "radeon" entwickelte KMS-Code unterstützt Radeon-GPUs bis hin zur R5XX-Serie – also alle Radeon-Modelle bis einschließlich der X1950. KMS-Unterstützung für die R6xx- und R7xx-GPUs der Radeon-HD-Serien 2000, 3000 und 4000 ist noch in Arbeit. Doch auch der für 2.6.31 integrierte Radeon-KMS-Code ist noch nicht ganz ausgereift; die Entwickler haben ihn daher vorerst als Staging-Treiber gekennzeichnet.

Zur Speicherverwaltung und Koordination des Zugriffs auf die Recheneinheiten dient dem Radeon-KMS-Code nicht GEM, sondern der ebenfalls neue TTM GPU Memory Manager. Ursprünglich hatte der Intel-KMS-Treiber diesen auch nutzen sollen, die Intel-Entwickler waren damit allerdings nicht ganz glücklich und starteten GEM als Alternative. Der TTM-Code wurde aber zwischenzeitlich überarbeitet und lässt sich auch über ein GEM-API nutzen.

Treiber für Intel-GPUs der nächsten Generation

Den Intel-KMS-Treiber erweiterten die Entwickler um Unterstützung für die Monitoransteuerung via DisplayPort (DP). Zahlreiche Korrekturen verbessern zudem den bisherigen KMS- und GEM-Code – der kürzlich freigegebene X.org-Treiber 2.8 solle daher am besten mit Linux 2.6.31 arbeiten.

Die Intel-Crew hat ferner KMS-Code und andere Patches zur Unterstützung einer als IGDNG bezeichneten Grafikchipreihe beigesteuert. Das Kürzel steht vermutlich für "Intel Graphics Device Next-Generation" und dürfte für die Grafikkerne der Anfang nächsten Jahres erwarteten Prozessoren stehen.

Informationen zu diesen und anderen Änderungen rund um die Grafikunterstützung des Kernels finden sich am Ende des Artikels sowie in einigen der Git-Pull-Request von Dave Airlie (1, 2, 3, 4).

Audio-Treiber für X-Fi

Über die Alsa-Entwickler fand der für verschiedene Creative-Soundkarten der X-Fi-Serie geeignete und maßgeblich von Creative-Mitarbeitern entwickelte Treiber snd-ctxfi den Weg in den Kernel. Damit findet eine Treiber-Odyssee nun ein Ende, denn einige zumeist allenfalls halb-fertige Versionen verschiedener quelloffener oder proprietärer Treiber hatten in den vergangenen Jahren immer wieder eine unerfüllt gebliebene Hoffnung auf einen halbwegs ordentlichen Linux-Treiber für X-Fi-Sound-Chips aufkommen lassen. Ausgereift ist der jetzt in Kernel aufgenommene Treiber aber noch nicht; so fehlt etwa die Unterstützung für externe I/O-Module.

Neu dabei ist auch der Audio-Treiber lx6464es für verschiedene LX6464ES-Modelle von Digigram. Dazugestoßen ist ferner die Unterstützung für die ESI Maya44 und zahlreiche PCs und Notebooks – darunter das MacBook 5.1 (Aluminium). Wie mit jeder neuen Kernel-Version haben die Entwickler zudem die Whitelists für die automatische Anwendung Hardware-spezifischer Sonderbehandlungen ("Quirks") erheblich erweitert – die wichtigsten Commits aus diesen Bereichen finden sich in der Liste am Ende dieses Artikels. Einer der Verwalter des Audio-Subsystems hat die herausragendsten Neuerungen von 2.6.31 einer Mail zusammengefasst.

Video

Im DVB/V4L-Subsystem gab es wie üblich hunderte Änderungen. Neu dabei ist der Treiber stv090x, der die unter anderem auf der TechnoTrend TT-budget S2-1600 verbauten DVB-S/S2/DSS-Chips von Intersil anspricht. Dazugestoßen ist auch der Treiber gspca-sn9c20x für die in Webcams verschiedener Hersteller eingesetzten USB-Chips sn9c201 und sn9c202. Verbesserte Unterstützung gibt es für einige Webcams der Logitech-Serie QuickCam Messenger; der Gspca-Treiber ov519 arbeitet nun auch mit den Chips ov511 und ov518 zusammen. Weitere Hintergründe zu den an Webcam- und TV-Treibern von Linux 2.6.31 vorgenommenen Änderungen liefern die Git-Pull-Request von Mauro Carvalho Chehab, dem Verwalter des V4L/DVB-Subsystems (1, 2, 3).

Die kleineren Perlen

Die englischen Überschriften von zahlreichen weiteren nicht ganz so wichtigen, aber keineswegs unbedeutenden Änderungen finden sich in der folgenden Liste. Die Einträge verlinken genau wie viele der Verweise im vorangegangenen Text auf den jeweiligen Commit im Webfrontend des Hauptentwicklungszweigs von Linux. Dort liefern der Commit-Kommentar und der Patch selbst zahlreiche weitere Informationen zu der jeweiligen Änderungen.

Audio:

    * ALSA: Add missing description of lx6464es to ALSA-Configuration.txt
    * ALSA: bt87x - Add a quirk entry for Askey Computer Corp. MagicTView'99
    * ALSA: ctxfi - Add depends on X86
    * ALSA: ctxfi - Add PM support
    * ALSA: ctxfi - Allow unknown PCI SSIDs
    * ALSA: ctxfi - Fix endian-dependent codes
    * ALSA: ctxfi - Remove PAGE_SIZE limitation
    * ALSA: hda - Acer Aspire 8930G support
    * ALSA: hda - Acer Inspire 6530G model for Realtek ALC888
    * ALSA: hda - Add 7.1 support for MSI GX620
    * ALSA: hda - Add a quirk entry for Macbook Pro 5,1
    * ALSA: hda - Add Creative CA0110-IBG support
    * ALSA: hda - Add digital-mic support to ALC262 auto model
    * ALSA: hda - Add GPIO1 control at muting with HP laptops
    * ALSA: hda - Addition for HP dv4-1222nr laptop support
    * ALSA: hda - Add missing initializations for ALC268 and ALC269
    * ALSA: hda - Add missing models for Realtek codecs
    * ALSA: hda - Add model=6530g option
    * ALSA: hda - Add pci-quirk for MSI MS-7350 motherboard.
    * ALSA: hda - Add pin-sense trigger when needed for Realtek codecs
    * ALSA: hda - Add quirk for Acer Aspire 6935G
    * ALSA: hda - Add quirk for Dell Studio 1555
    * ALSA: hda - Add quirk for Gateway T6834c laptop
    * ALSA: hda - Add quirk for HP 6930p
    * ALSA: hda - Add quirk for Sony VAIO Z21MN
    * ALSA: hda - add quirk for STAC92xx (SigmaTel STAC9205)
    * ALSA: hda - Add support of Samsung NC10 mini notebook
    * ALSA: hda - Avoid conflicts with snd-ctxfi driver
    * ALSA: hda - Clean up Realtek auto-mute unsol routines
    * ALSA: hda: Correct EAPD for Dell Inspiron 1525
    * ALSA: hda - Fix acer-aspire-6530g model quirk
    * ALSA: hda - Fix pin-setup for Sony VAIO with STAC9872 codecs
    * ALSA: hda - Fix quirk for Toshiba Satellite A135-S4527
    * ALSA: hda - Fix secondary SPDIF on VT1708S and VT1702 codecs
    * ALSA: hda - Fix support for Samsung P50 with AD1986A codec
    * ALSA: hda - Generalize the pin-detect quirk for Lenovo N100
    * ALSA: hda - Get back Input Source for ALC262 toshiba-s06 model
    * ALSA: hda - Improve ASUS eeePC 1000 mixer
    * ALSA: hda - Improved MacBook 3,1 support
    * ALSA: hda - Line In for Acer Inspire 6530G model
    * ALSA: hda - Macbook[Pro 5 6ch support]
    * ALSA: hda - Make jack-plug notification selectable
    * ALSA: hda - More Aspire 8930G fixes
    * ALSA: hda - Support NVIDIA 8 channel HDMI audio
    * ALSA: hda - Use model=acer-aspire-6530g for Acer Aspire 6930G
    * ALSA: hdsp - Add a comment about external firmwares for hdsp
    * ALSA: hdsp: allow firmware loading from inside the kernel
    * ALSA: lx6464es - support standard alsa module parameters
    * ALSA: pcm - Add logging of hwptr updates and interrupt updates
    * ALSA: sc6000: add support for SC-6600 and SC-7000
    * ALSA: support Sony Vaio TT
    * ALSA: usb - Add boot quirk for C-Media 6206 USB Audio
    * ALSA: usb-audio - Add quirk for Roland/Edirol M-16DX
    * ALSA: usb-audio - quirk for USB Aureon cards
    * ALSA: usb-audio - Volume control quirk for QuickCam E 3500
    * ALSA: via82xx: add option to disable 500ms delay in snd_via82xx_codec_wait
    * sound: virtuoso: add another DX PCI ID
    * sound: virtuoso: add Xonar Essence ST support
    * sound: virtuoso: enable HDAV S/PDIF input
    * sound: virtuoso: fix Xonar D1/DX silence after resume

Audio - Asoc:

    * ASoC: AC97 driver for mpc5200
    * ASoC: Add driver for s6000 I2S interface
    * ASoC: Added OMAP3 EVM support in ASoC.
    * ASoC: Add TXx9 AC link controller driver (v3)
    * ASoC: Add WM8960 CODEC driver
    * ASoC: Add WM8988 CODEC driver
    * ASoC: AFEB9260 driver
    * ASoC: em-x270: make the driver support also eXeda and CM-X300 machines
    * ASoC: IMote2 ASoC Support
    * ASoC: remove BROKEN from Efika and pcm030 fabric drivers
    * ASoC: s6105 IP camera machine specific ASoC code
    * ASoC: Support for AC97 on Phytec pmc030 base board.
    * ASoC: WM8940 Driver
    * ASoC: WM9081 mono DAC with integrated 2.6W class AB/D amplifier driver

Graphics:

    * agp/intel: Add support for new chipsets
    * agp: switch AGP to use page array instead of unsigned long array
    * drm/i915: Add chipset/feature defines for for new chipsets
    * drm/i915: Add Display Port register defines
    * drm/i915: add FIFO watermark support
    * drm/i915: Add HDMI support on IGDNG
    * drm/i915: Add LVDS support for IGDNG
    * drm/i915: Add new chipset register definitions
    * drm/i915: add per-output hotplug callback for KMS
    * drm/i915: enable error detection Commit: 63eeaf38251183ec2b1caee11e4a2c040cb5ce6c state collection
    * drm/i915: enable GEM on PAE.
    * drm/i915: Save/restore cursor state on suspend/resume.
    * drm/radeon: add rv740 drm support.
    * drm/radeon: add some missing pci ids
    * drm/radeon: add some new r7xx pci ids
    * drm/radeon: add support for RV790.
    * drm/radeon: command stream checker for r3xx-r5xx hardware
    * drm/radeon: fix mobility flags on new PCI IDs.
    * drm/radeon/kms: add initial colortiling support.
    * drm: Remove memory debugging infrastructure.
    * fbdev: do not allow VESA modes without compiled-in drivers
    * fb/intelfb: conflict with DRM_I915 and hide by default
    * MAINTAINERS: fbdev is orphaned
    * ps3av: Set 16:9 aspect ratio for 720p video modes
    * s3c-fb: CPUFREQ frequency scaling support

V4L/DVB:

    * V4L/DVB (11239): sdio: add cards ids for sms (Siano Mobile Silicon) MDTV receivers
    * V4L/DVB (11394): cx88: Add support for stereo and sap detection for A2
    * V4L/DVB (11442): saa7134: BZ#7524: Add AVerTV Studio 507UA support
    * V4L/DVB (11483): gspca - mr97310a: Webcam 093a:010f added.
    * V4L/DVB (11486): em28xx: Add EmpireTV board support
    * V4L/DVB (11491): af9015: support for AverMedia AVerTV Volar GPS 805 (A805)
    * V4L/DVB (11492): af9015: support for Conceptronic USB2.0 DVB-T CTVDIGRCU V3.0
    * V4L/DVB (11535): gspca - m5602-po1030: Add experimental QVGA support
    * V4L/DVB (11544): gspca - m5602-mt9m111: Add experimental QVGA support
    * V4L/DVB (11559): Siano: add support for infra-red (IR) controllers
    * V4L/DVB (11567): saa7134: Added support for AVerMedia Cardbus Plus
    * V4L/DVB (11571): Add Elgato EyeTV DTT deluxe to dibcom driver
    * V4L/DVB (11665): cx88: Add support for the Hauppauge IROnly board.
    * V4L/DVB (11682): STV0900/STV0903: Add support for Silicon cut >= 3
    * V4L/DVB (11684): gspca - m5602-s5k4aa: Add experimental SXGA support
    * V4L/DVB (11691): gspca - m5602-ov9650: Add ASUS A6K vflip quirk
    * V4L/DVB (11717): gspca - sonixj: Webcams with bridge sn9c128 added
    * V4L/DVB (11720): gspca - sonixj: Webcam 06f8:3008 added
    * V4L/DVB (11730): af9015: support for KWorld MC810
    * V4L/DVB (11735): Enables the Winfast TV2000 XP Global TV IR
    * V4L/DVB (11742): TI THS7303 video amplifier driver code
    * V4L/DVB (11743): Analog Devices ADV7343 video encoder driver
    * V4L/DVB (11767): cx23885: Add preliminary support for the HVR1270
    * V4L/DVB (11768): cx23885: add ATSC/QAM tuning support for Hauppauge WinTV-HVR1270
    * V4L/DVB (11769): cx23885: add ATSC/QAM tuning support for Hauppauge WinTV-HVR1275
    * V4L/DVB (11770): cx23885: add ATSC/QAM tuning support for Hauppauge WinTV-HVR1255
    * V4L/DVB (11771): cx23885: add DVB-T tuning support for Hauppauge WinTV-HVR1210
    * V4L/DVB (11775): tuner: add support Philips MK5 tuner
    * V4L/DVB (11798): xc5000: add "no_poweroff" module option
    * V4L/DVB (11800): tuner-xc2028: show the proper module description for no_poweroff option
    * V4L/DVB (11803): xc5000: add support for DVB-T tuning
    * V4L/DVB (11825): em28xx: add Terratec Grabby
    * V4L/DVB (11827): Add support for Terratec Grabster AV350
    * V4L/DVB (11830): dib0700: add support for Leadtek WinFast DTV Dongle H
    * V4L/DVB (11831): dib0700: added USB IDs for Terratec T3 and T5
    * V4L/DVB (11838): uvcvideo: Add Lenovo Thinkpad SL400 to device list comments
    * V4L/DVB (11861): saa7134: enable digital tv support for Hauppauge WinTV-HVR1110r3
    * V4L/DVB (11864): cx18: Complete support for Sliced and Raw VBI for 625 line systems
    * V4L/DVB (11879): Adds support for Leadtek WinFast DTV-1800H
    * V4L/DVB (11880): cx23885: support for card Mygica X8506 DMB-TH
    * V4L/DVB (11883): Siano: cards - add two additional (USB) devices
    * V4L/DVB (11915): af9015: support for Genius TVGo DVB-T03
    * V4L/DVB (11925): em28xx: Add support for the K-World 2800d
    * V4L/DVB (11933): tuner-simple, tveeprom: Add Philips FQ1216LME MK3 analog tuner
    * V4L/DVB (11940): gspca - m5602-s5k4aa: Add vflip quirk for the Lenovo Y300
    * V4L/DVB (11941): gspca - m5602-ov9650: Add vflip quirk for the ASUS A6VA
    * V4L/DVB (11942): gspca - m5602-ov9650: Reorder quirk list and add A7V quirk
    * V4L/DVB (11946): uvcvideo: Add support for Aveo Technology webcams
    * V4L/DVB (11947): uvcvideo: Add support for FSC V30S webcams
    * V4L/DVB (11950): cx18: Split LeadTek PVR2100 and DVR3100 H into 2 separate card entries
    * V4L/DVB (11951): cx18: Add DVB-T support for the Leadtek WinFast DVR3100 H
    * V4L/DVB (11971): gspca - doc: Add the 05a9:a518 webcam to the Documentation.
    * V4L/DVB (11977): em28xx: Add Kworld 315 entry
    * V4L/DVB (11982): Add keymaps for TeVii and TBS USB DVB-S/S2 cards
    * V4L/DVB (11983): Add support for DVBWorld DVB-C USB Cable card.
    * V4L/DVB (11984): Add support for yet another SDMC DM1105 based DVB-S card.
    * V4L/DVB (11996): saa7134: add support for AVerMedia M103 (f736)
    * V4L/DVB (12010): cx88: Properly support Leadtek TV2000 XP Global
    * V4L/DVB (12074): gspca_ov519: Add 320x240 and 160x120 support for cif sensor cams
    * V4L/DVB (12084): ov511: mark as deprecated
    * V4L/DVB (12087): gspca_sonixj: enable support for 0c45:613e camera
    * V4L/DVB (12088): Mark the v4l1 uvcvideo quickcam messenger driver as deprecated
    * V4L/DVB (12091): gspca_sonixj: Add light frequency control
    * V4L/DVB (12101): em28xx: add support for EVGA inDtube
    * V4L/DVB (12102): em28xx: add Remote control support for EVGA inDtube
    * V4L/DVB (12128): v4l2: update framework documentation.
    * V4L/DVB (12135): Add a driver for mt9v011 sensor
    * V4L/DVB (12138): em28xx: add support for Silvercrest Webcam
    * V4L/DVB (12139): em28xx: add other video formats
    * V4L/DVB (12172): em28xx: Add autodetection code for Silvercrest 1.3 mpix
    * V4L/DVB (12181): get_dvb_firmware: Add Yuan MPC718 MT352 DVB-T "firmware" extraction
    * V4L/DVB (12182): cx18: Add DVB-T support for Yuan MPC-718 cards with an MT352 or ZL10353
    * V4L/DVB (12206): get_dvb_firmware: Correct errors in MPC718 firmware extraction logic
    * V4L/DVB (12245): em28xx: add support for mt9m001 webcams
    * V4L/DVB (12260): em28xx: make support work for the Pinnacle Hybrid Pro (eb1a:2881)
    * V4L/DVB (12263): em28xx: set demod profile for Pinnacle Hybrid Pro 320e

Quelle und Links : http://www.heise.de/open/Kernel-Log-Was-2-6-31-bringt-2-Grafik-Audio-und-Video--/artikel/143127 (http://www.heise.de/open/Kernel-Log-Was-2-6-31-bringt-2-Grafik-Audio-und-Video--/artikel/143127)
Titel: Kernel-Log – Was 2.6.31 bringt (Storage und Dateisysteme)
Beitrag von: SiLæncer am 16 August, 2009, 08:54
Btrfs aufgebohrt, IDE-Subsystem auf dem Abstellgleis

Das experimentelle und als "Next Generation Filesystem for Linux" gedachte Btrfs soll jetzt noch schneller arbeiten. Die Libata-Treiber für IDE/PATA-Adapter setzen sich gegen das IDE-Subsystem durch. Erste Teile zum Defragmentieren von Ext4-Dateisystem sind im Hauptentwicklungszweig angekommen. Systeme mit Intel-ATA-Chipsätzen starten dank parallelem Hardware-Scan schneller.

In der Nacht von Donnerstag auf Freitag hat Linus Torvalds die sechste Vorabversion von Linux 2.6.31 freigegeben. Wie in dieser späten Phase des Entwicklungsprozess üblich sind die meisten Änderungen gegenüber dem rc5 eher klein. Torvalds geht in der Freigabe-Mail davon aus, 2.6.31 nach der achten Vorabversion fertig zu stellen – vermutlich also in zirka zwei bis drei Wochen.

Das Kernel-Log nimmt das zum Anlass, die Berichterstattung über die größten Neuerungen von Linux 2.6.31 gegenüber dem aktuellen Kernel 2.6.30 mit einem Überblick aus den Bereichen Storage und Dateisystemen fortzusetzen. Die Änderungen in den Bereichen Netzwerk und Grafik, Audio und Video haben wir bereits in früheren Ausgaben des Kernel-Logs dargestellt.

Btrfs aufgeboht

Eine umfangreiche Änderung in Form eines zirka 350 KByte großen Btrfs-Patches soll die Performance des experimentellen Dateisystems durch den Einsatz von "Mixed back references" in vielen Bereichen erheblich steigern. Dazu haben die Entwickler allerdings die Dateisystemstruktur auf dem Speichermedium (On-disk Format) angepasst. Die nötige Umwandlung vom alten ins neue Format erledigen Kernel mit dem neuen Btrfs-Code beim ersten Einhängen automatisch – Linux-Versionen mit älteren Btrfs-Code können ein so verändertes Dateisystem anschließend allerdings nicht mehr einbinden.

Der Commit-Kommentar und der Git-Pull-Request weisen darauf auch deutlich hin. Normalerweise versuchen die Kernel-Entwickler solche Dinge selbst bei experimentellen Dateisystemen zu vermeiden, denn wagemutige Anwender, die Btrfs als Root-Dateisystem verwenden, können sonst bei der Fehlersuche keine alten Kernel mehr starten – genau das ist Linus Torvalds selbst passiert, der sich entsprechend wenig begeistert zeigte.

Recht spät im Entwicklungszyklus sandte der Btrfs-Betreuer im Rahmen eines Git-Pull-Request noch einige größere, schon länger in Arbeit befindliche Änderungen hinterher. Durch sie soll Btrfs nach längerer, starker Belastung nicht mehr so viel Arbeitsspeicher belegen (u. a. 1, 2). Verbessert haben die Btrfs-Entwickler zudem die Unterstützung für den Einsatz auf SSDs (u. a. 1, 2)

IDE ade

Der unter anderem durch seine Arbeit als Betreuer des Netzwerk-Subsystems und der Sparc-Unterstützung bekannte Kernel-Entwickler David Miller hat nun auch das IDE-Subsystem übernommen und löst damit Bartlomiej Zolnierkiewicz ab. Ursache war ein Streit über einen auf Sparc-Systemen auftretenden Fehler, wo Miller andeutete, dass Zolnierkiewicz zahlreiche Änderungen im IDE-Subsystem vorgenommen habe, ohne diese ausreichend zu testen.

Miller ließ durchblicken, in Zukunft keine größeren Änderungen im IDE-Subsystem vornehmen zu wollen ("I'm going to treat IDE as pure legacy [...]"). Damit dürfte die Zukunft jetzt definitiv den Ende 2006 bei Linux 2.6.19 aufgenommenen PATA-Treibern im Libata-Subsystem gehören. Sie steuern zwar nicht ganz so viele IDE/PATA-Adapter an wie das IDE-Subsystem, aber nahezu alle heute gängigen.

Einige Entwickler hatten die Libata-Treiber von Anfang an als Ersatz für die Treiber des älteren – und schon seit über einem Jahrzehnt immer wieder für Unfrieden zwischen Kernel-Entwicklern sorgenden – IDE-Subsystems gedacht. Zolnierkiewicz hatte nach einer Phase weitgehender Inaktivitiät das IDE-Subsystem in den vergangenen eineinhalb bis zwei Jahren aber dennoch massiv überarbeitet und auch neue Treiber aufgenommen – aus der erwarteten schleichenden Ablösung entstand so eine länger anhaltende, nun wohl aber zu Ende gehende Konkurrenzsituation.

Leibesvisitation

Das neue Fsnotify ersetzt Dnotify und Inotify, mit denen sich Veränderungen im Dateisystem wie das Anlegen, Löschen oder Ändern von Dateien überwachen lassen (1, 2, 3). Das eigentliche Ziel des bei Red Hat beschäftigten Entwicklers Eric Paris ist jedoch das auf Fsnotify aufbauende Fanotify, das im Userspace arbeitenden Viren- und Malware-Scannern einen Eingriffspunkt bietet, um Dateien vor dem eigentlichen Zugriff auf Schädlinge überprüfen zu können. Das dahinter stehende Konzept hat Paris kürzlich zur Diskussion gestellt.

Hervorgegangen ist die Idee aus langen Diskussionen um Talpa, das ähnliches leisten sollte, aber bei den Kernel-Entwicklern keinen Anklang fand. Hintergründe liefern die Artikel "Kernel-based malware scanning", "The TALPA molehill" und "The fanotify API" bei LWN.net.

Staccato

Bei den bisher genannten Neuerungen handelt es sich nur um die bedeutsamsten Änderungen, die die Kernel-Hacker bei Dateisystemen und im Storage-Bereich vorgenommen haben. Einige weitere im Kurzüberblick:

Dateisysteme:

    * Das Ext4-Dateisystem enthält jetzt Code zum Defragmentieren im laufenden Betrieb (Online Defrag). Komplett sei dieser aber noch nicht, wie Ext-Dateisystem-Entwickler Theodore Tso (tytso) kürzlich an anderer Stelle betonte. Weitere Patches für diese Funktion müssten noch begutachtet werden und auch beim zugehörigen Userspace-Programm stehe noch Arbeit an.

    * Die Unterstützung für NFS 4.1 wurde erweitert, es sind jedoch noch weitere Änderungen für 2.6.32 vorgesehen.

Storage:

    * Durch eine noch vor der Stabübergabe von Zolnierkiewicz an Miller aufgenommene Änderung respektiert das IDE-Subsystem nun standardmäßig HPAs (Host Protected Areas) – wer eine solche hat und noch Treiber des IDE-Subsystems einsetzt, sollte sich daher nicht wundern, wenn der Datenträger mit 2.6.31 ein wenig kleiner ist.

    * Der im Libata-Subsystem angesiedelte IDE/PATA-Treiber ata_piix für Intel-Controller scannt jetzt parallel nach Datenträgern, was die Initialiserungszeit des Treiber auf dem Eeepc des Entwickler halbieren soll.

    * Durch eine von vielen Änderungen im Block-Layer exportiert dieses nun etwa mit Hilfe der vom SCSI-Subsystem gelieferten Daten Informationen zur I/O-Topologie – dazu zählt unter anderem die dem Datenträger zugrunde liegende Sektorgröße. Das ist etwa für die Einteilung von Datenträgern mit Sektorgrößen ungleich 512 Byte oder die optimale Anordnung von Daten im RAID-Verbund von Interesse. Der Entwickler diese Codes erläutert einige Hintergründe in einem kürzlich veröffentlichten Vortrag (PDF, Seite 235 ff). Der für Software-RAIDs zuständige MD-Code kann die Topologie-Informationen bereits nutzen.

    * Die Unterstützung für Barrieren im Device Mapper wurde erheblich verbessert (delay, mpath, snapshot).

    * Nach der Aufnahme von generischer Unterstützung für OSDs (Object-Based Storage Devices) und einem darauf aufbauenden Dateisystem bei 2.6.30 integrierten die Kernel-Hacker nun den Treiber osdblk, über den sich OSD-Objekte als Block-Device nutzen lassen.

    * Das MMC-Subsystem enthält nun einen via-sdmmc genannten Treiber für SD/MMC Card Reader von VIA sowie einen platform driver für SDHCI

    * Ein Emulex-Entwickler steuerte einen fast 340 KByte großen Patch bei, der Unterstützung für neuere Fibre Channel Host Adapter aus Emulex' FightPulse-Familie im Treiber lpfc (Light Pulse Fibre Channel) nachrüstet; später kam noch ein Update obendrauf, das Unterstützung für target reset handler entrypoints nachrüstet. Vom selben Programmierer stammt auch der FC (FibreChannel) Pass Thru support.

    * Neu dabei ist der iSCSI-Treiber bnx2i für BNX2-Chips von Broadcom. Er arbeitet auf Wunsch mit dem neuen Treiber Cnic zusammen, den das Kernel-Log bereits bei der Beschreibung der Neuerungen im Netzwerkbereich erwähnte.

    * Der SAS/SATA-Treiber mvsas rüstet neben verschiedenen Verbesserungen auch Unterstützung für Marvell-Chips der 94xx-Baureihe nach.

Die kleineren Perlen

Die englischen Überschriften von zahlreichen weiteren nicht ganz so wichtigen, aber keineswegs unbedeutenden Änderungen finden sich in der folgenden Liste. Die Einträge verlinken genau wie viele der Verweise im vorangegangenen Text auf den jeweiligen Commit im Webfrontend des Hauptentwicklungszweigs von Linux. Dort liefern normalerweise der Commit-Kommentar und der Patch selbst zahlreiche weitere Informationen zur jeweiligen Änderungen.

File systems

Btrfs:

    * Btrfs: Add mount -o nossd
    * Btrfs: honor nodatacow/sum mount options for new files
    * Btrfs: reduce mount -o ssd CPU usage
    * Btrfs: update backrefs while dropping snapshot

CIFS:

    * CIFS: add addr= mount option alias for ip=
    * CIFS: Add mention of new mount parm (forceuid) to cifs readme
    * CIFS: reinstate original behavior when uid=/gid= options are specified
    * CIFS: show noforceuid/noforcegid mount options (try #2)
    * CIFS: Update readme to indicate change to default mount (serverino)
    * CIFS: Update readme to reflect forceuid mount parms
    * CIFS: Updates fs/cifs/CHANGES

Ext[234]:

    * Doc fix: ext2 can only have 32,000 subdirs, not 32,768
    * ext4: Avoid races caused by on-line resizing and SMP memory reordering
    * ext4: Change all super.c messages to print the device
    * ext4: document the "abort" mount option

NFS:

    * nfs41: Add ability to read RPC call direction on TCP stream.
    * nfs41: Add backchannel processing support to RPC state machine
    * nfs41: Add Kconfig symbols for NFSv4.1
    * nfs41: add mount command option minorversion
    * nfs41: add session reset to state manager
    * nfs41: add session setup to the state manager
    * nfs41: create_session operation
    * nfs41: Setup the backchannel
    * nfs41: Use mount minorversion option
    * NFS: Add separate mountd status code decoders for each mountd version
    * NFS: add support for splice writes
    * nfsd: support ext4 i_version
    * NFS: Invalid mount option values should always fail, even with "sloppy"
    * NFS: More "sloppy" parsing problems
    * update Documentation/filesystems/00-INDEX with new nfsd related docs.

Various:

    * add caching of ACLs in struct inode
    * documentation: register ioctl entry of nilfs2
    * FAT: add 'errors' mount option
    * GFS2: Add commit= mount option
    * GFS2: Add tracepoints
    * GFS2: Update docs
    * hostfs: set maximum filesize in superblock for proper LFS support
    * isofs: let mode and dmode mount options override rock ridge mode setting
    * nilfs2: allow future expansion of metadata read out via get info ioctl
    * nilfs2: modify list of unsupported features in caveats
    * ocfs2: Add statistics for the checksum and ecc operations.
    * partitions: warn about the partition exceeding device capacity
    * proc: export statistics for softirq to /proc
    * proc.txt: update kernel filesystem/proc.txt documentation
    * splice: implement pipe to pipe splicing
    * update Documentation/filesystems/Locking
    * VFS: Add VFS helper functions for setting up private namespaces
    * xfs: use generic Posix ACL code

Storage

Block Layer:

    * Add serial number support for virtio_blk, V4a
    * block: enable by default support for large devices and files on 32-bit archs
    * block: rename CONFIG_LBD to CONFIG_LBDAF
    * block: Update topology documentation
    * Make SCSI SG v4 driver enabled by default and remove EXPERIMENTAL dependency, since udev depends on BSG
    * ramdisk: remove long-deprecated "ramdisk=" boot-time parameter

Device Mapper:

    * dm ioctl: support cookies for udev
    * dm mpath: add queue length load balancer
    * dm mpath: add service time load balancer
    * dm raid1: add userspace log
    * dm: sysfs add suspended attribute

Libata:

    * ahci: add device ID for 82801JI sata controller
    * ahci: add device IDs for Ibex Peak ahci controllers
    * ata_piix: Add new laptop short cable IDs
    * ata_piix: Add new short cable ID
    * ata_piix: Turn on hotplugging support for older chips
    * libata: accept late unlocking of HPA
    * libata: ahci: Restore SB600 SATA controller 64 bit DMA
    * libata: beautify module parameters
    * libata: PATA driver for CF interface on AT91SAM9260 SoC
    * sata_fsl: Add power mgmt support
    * sata_sil: enable 32-bit PIO

MMC:

    * sdhci: Add support for hosts that are only capable of 1-bit transfers
    * sdhci-s3c: Samsung S3C based SDHCI controller glue
    * sdhci: Specific quirk vor VIA SDHCI controller in VX855ES

MTD:

    * Documentation: add MTD sysfs docs
    * mtd: add MEMERASE64 ioctl for >4GiB devices
    * mtd: add on-flash BBT support for Atmel NAND driver
    * mtd: add OOB ioctls for >4GiB devices
    * mtd: add SST39SF040 chip to jedec_probe
    * mtd: CFI 1.0 and CFI 1.1
    * mtd: Flex-OneNAND support
    * mtd: m25p80: add support for Macronix MX25L12805D
    * mtd: nand: add OMAP2/OMAP3 NAND driver
    * mtd: OneNAND: add support for OneNAND manufactured by Numonyx
    * mtd: physmap_of: Add multiple regions and concatenation support
    * mtd: Restore suspend/resume support for mtd devices

SCSI:

    * explain the hidden scsi_wait_scan Kconfig variable
    * fcoe: Add runtime debug logging with module parameter debug_logging
    * libfc: Add runtime debugging with debug_logging module parameter
    * libfcoe: Add runtime debugging with module param debug_logging
    * SCSI: mpt2sas: add query task support for MPT2COMMAND ioctl
    * SCSI: mpt2sas: LUN Reset Support
    * SCSI: mpt2sas: T10 DIF Support
    * SCSI: mpt fusion: RAID device handling and Dual port Raid support is added
    * SCSI: net, libfcoe: Add the FCoE Initialization Protocol ethertype
    * SCSI: qla2xxx: Add 10Gb iiDMA support.
    * SCSI: qla2xxx: Add CPU affinity support.
    * SCSI: qla2xxx: Add QoS support.
    * SCSI: zfcp: Add FC pass-through support
    * sd: Block limits VPD support
    * sd: Detect non-rotational devices

Various:

    * cciss: add cciss driver sysfs entries
    * UBI: add notification API

Quelle : www.heise.de
Titel: Fixes für Sicherheitslücke im Linux-Kernel
Beitrag von: SiLæncer am 17 August, 2009, 11:04
Die Linux-Entwickler haben die Kernel-Versionen 2.6.27.30 und 2.6.30.5 freigegeben, in denen eine vergangene Woche bekannt gewordene kritische Lücke gefixt ist. Über die seit 2001 in allen Linux-Kerneln der Serien 2.4 und 2.6 vorhandene Lücke, für die bereits ein Exploit existiert, können Anwender mit eingeschränkten Rechten Root-Rechte erlangen. Die Entwickler empfehlen dringend ein Update auf die aktuellen Versionen.

Auch das Debian-Projekt hat bereits aktualisierte Kernel für das aktuelle Debian 5.0 (Lenny) und das ältere Debian 4.0 (Etch) bereitgestellt, ebenso das Fedora-Projekt für Fedora 10 und Fedora 11. Anwender dieser Distributionen können die Fixes über den Update-Mechanismus der Paketverwaltung einspielen. Für Ubuntu und OpenSuse stehen noch keine aktualisierten Kernel bereit.

Quelle : www.heise.de
Titel: Kernel-Log – Was 2.6.31 bringt : Hinter den Kulissen
Beitrag von: SiLæncer am 25 August, 2009, 10:48
(Tracing, Architektur-Code, Speicherverwaltung und Virtualisierung): Performance Counter beobachten Code-Ausführung

Mit den Performance Counters lässt sich das Laufzeitverhalten von Programmcode näher analysieren, um diesen gezielt zu optimieren. Die noch junge Tracing-Infrastruktur haben die Entwickler abermals überarbeitet und verbessert. Auch beim Architektur-Code, dem Speichersubsystem und verschiedenen Virtualiserungslösungen gibt es Neues.

Am Wochenende hat Linus Torvalds die siebte Vorabversion von Linux 2.6.31 freigegeben. Er hebt in der Freigabe-Mail einige der Korrekturen hervor; die Liste mit bekannten neuen Fehlern verzeichnet zwei Tage zuvor 29 ungelöste Probleme.

Zum Freigabezeitpunkt von 2.6.31 macht Torvalds anders als eine Woche zuvor keine Angaben – ein zwei Wochen dürfte es vermutlich noch dauern. Das Kernel-Log nimmt das zum Anlass, die Berichterstattung über die größten Neuerungen von 2.6.31 mit einem Überblick aus den Bereichen Tracing, Architektur-Code, Speicherverwaltung und Virtualisierung fortzusetzen.

Detaillierte Fahranalyse

Über die teilweise im Kernel und teilweise im Userspace arbeitenden "Performance Counters" kann der Kernel in Zukunft die gleichnamigen Einheiten moderner Prozessoren auslesen. Sie messen verschiedene für die CPU-Performance wichtige Vorgänge im Prozessor – die Messwerte ermöglicht so eine genaue Analyse des Codeablaufs, um die für die Ausführungsgeschwindigkeit wichtigen Abschnitte später bis ins letzte auf die CPU optimieren zu können.

Nicht verwechseln sollte man die gelegentlich "perf_counter" abgekürzten Performance Counters mit Perfmon ("hardware-based performance monitoring interface for Linux"), das seit Jahren ähnliche Funktionen bietet – die Kernel-Hacker haben es nicht in die Linux-Quellen aufgenommen, weil sie mit einigen der Eigenschaften von Perfmon unzufrieden waren. Das dürfte einer der Gründe gewesen sein, warum Ingo Molnar und einige andere Entwickler die mit einer etwas anderen Herangehensweise arbeitenden Performance Counters aus der Taufe hoben. Der Hauptentwickler von Perfmon kritisierte verschiedene Eigenschaften der Performance Counters bei deren Vorstellung Ende 2008 sowie den darauf folgenden Monaten mehrfach; nach Beginn der auf über 600 Patches verteilten Aufnahme in die Kernel-Quellen äußerte er abermals einige Kritik, die ausführlichst diskutiert wurde. Einige Details zu dieser Konkurrenzsituation liefert der aus Ende 2008 stammende LWN.net-Artikel "Dueling performance monitors".

Wie sich die Performance Counters nutzen lassen, beschreibt der neuere LWN.net-Artikel "Perfcounters added to the mainline". Weitere hintergründe finden sich auch in der Dokumentation. Die zu den Performance Counters gehörenden Userspace-Tools haben die Kernel-Entwickler nach einer längeren Debatte und einem Machtwort von Linus Torvalds in das neu eingerichtete Unterverzeichnis tools/ direkt in die Kernel-Quellen aufgenommen.

Analyse auf die andere Art

Über Ingo Molnar fanden nicht nur die Performance Counters, sondern auch zahlreiche Änderungen für den von ihm betreuten Tracing-Bereich den Weg in den Kernel. Im Git-Pull-Request deutet er an, dass die Hauptentwicklungsphase der Tracepoints bald beendet sein dürfte. Er hebt zudem verbesserte Filter, interne Umbauarbeiten und optimierte Performance hervor. Einige der Möglichkeiten, die die Tracing-Infrastruktur aktueller Kernel-Versionen bietet, erklärt Sony-Entwickler Tim Bird in seinem Vortrag " Measuring Function Duration with Ftrace", den wir bereits im Artikel "Tiefschürfend – Die Proceedings des Linux Symposiums 2009" erwähnt haben.

Aufgenommen haben die Kernel-Hacker auch Unterstützung für Profiling mit dem GCC Coverage Testing Tool (gcov). Um Speicherlecks aufzuspüren, können Kernel-Entwickler und -Tester in Zukunft auf die Hilfe von Kmemleak (Dokumentation) zurückgreifen – das Tool fehlinterpretiert jedoch einige Situationen und Konstrukte, daher sollte man die Ausgaben nicht blind trauen. Das ebenfalls neue Kmemcheck (Dokumentation) erkennt die Nutzung nicht-initialisierter Speicherbereiche.

Staccato

Bei den bisher genannten Neuerungen handelt es sich nur um die bedeutsamsten Änderungen, die die Kernel-Hacker bei Architektur und Infrastruktur von Linux vorgenommen haben. Einige weitere im Kurzüberblick:

Architektur-Code:

    * Auf x86-64-CPUs adressiert Linux ab 2.6.31 2^46 statt 2^44 Byte Arbeitsspeicher – davon hat derzeit aber kaum jemand was, denn noch sind Systeme mit 16 bis 64 TByte RAM überaus exotisch.

    * Dass Hibernation (Suspend-to-Disk/Software-Suspend/swsups) und Stromsparen nicht nur für Notebooks, sondern auch bei Großrechnern interessant ist, zeigen einige in den Hauptentwicklungszweig aufgenommene Patches von Hans-Joachim Picht, die Hibernate-Unterstützung für IBMs S390-Architektur (jetzt System z) nachrüsten. Von Michael Holzheu eingebrachte Änderungen verbessern parallel die Nutzung für einige Stromspartechniken von S390-Systemen.

Speicherverwaltung:

    * Durch einige von Mel Gorman eingesandte Patches soll der für die Speicherbereitstellung zuständige Page Allocator ein wenig flotter arbeiten – einige Benchmark-Ergebnisse finden sich im Commit-Kommentar.

Virtualisierung:

    * Die KVM-Entwickler überarbeiteten den Interrupt-Code und wollen die SMP-Performance verbessert haben.

    * Der Xen-Code im Kernel gibt jetzt einige Informationen über das Verzeichnis /sys/hypervisor preis. Neu zum Kernel gestoßen ist der Xen-Treiber evtchn zum Senden oder Empfangen von Ereignissen auf "Event channels". Die Aufnahme der Dom0-Unterstützung scheint hingegen wieder in weite Ferne gerückt – seit den Diskussionen kurz vor und nach der Freigabe von Linux 2.6.30 gab es auf der LKML keine weiteren Debatten zum Thema.

    * Nachdem es um den "Simple x86 Hypervisor" Lguest etwas stiller geworden war gab es diesmal wieder einige umfangreichere Änderungen; neu sind unter anderem PAE-Unterstützung und Verbesserungen für Multithreading.

Die kleineren Perlen

Die englischen Überschriften von zahlreichen weiteren nicht ganz so wichtigen, aber keineswegs unbedeutenden Änderungen finden sich in der folgenden Liste. Die Einträge verlinken genau wie viele der Verweise im vorangegangenen Text auf den jeweiligen Commit im Webfrontend des Hauptentwicklungszweigs von Linux. Dort liefern normalerweise der Commit-Kommentar und der Patch selbst zahlreiche weitere Informationen zur jeweiligen Änderungen.

Architecture Support

ARM:

    * Add core support for ARMv6/v7 big-endian
    * ARM: 5522/1: PalmLD: IDE support
    * ARM: add support for the EET board, based on the i.MX31 pcm037 module
    * ARM: GTA02/FreeRunner: Add machine definition
    * ARM: Kirkwood: add Marvell 88F6281 GTW GE board support
    * ARM: MINI2440: Add machine support
    * ARM: MX35: Add PCM043 board support
    * ARM: OMAP3: Add omap3 EVM defconfig
    * ARM: OMAP3: Add omap3 EVM support
    * ARM: OMAP3: Add support for OMAP3 Zoom2 board
    * ARM: OMAP4: Add defconfig for 4430 SDP
    * ARM: OMAP4: Add support for 4430 SDP
    * ARM: pxa: add basic support for HP iPAQ hx4700 PDAs
    * ARM: pxa/em-x270: add ability to control GPS and GPRS power
    * ARM: pxa/hx4700: add Maxim 1587A voltage regulator
    * ARM: pxa/mioa701: add Maxim 1586 voltage regulator
    * ARM: pxa/mioa701: add V3 gain configuration for Maxim 1586 voltage regulator
    * ARM: pxa/palm: Add Palm27x aSoC driver to PalmTE2
    * ARM: pxa: Stargate 2 board support
    * ARM: pxa/treo680: initial support
    * ARM: remove arch-imx
    * ARM: S3C64XX: Add S3C6400 SDHCI setup support
    * ARM: S3C64XX: Initial support for PM (suspend to RAM)
    * Atmark Armadillo 500 board support.
    * davinci: add SRAM allocator
    * davinci: DM355: add base SoC and board support
    * davinci: DM644x: add support for SFFSDR board
    * davinci: DM646x: add base SoC and board support
    * davinci: INTC: add support for TI cp_intc
    * i.MX31: Add ethernet support to i.MX31 Litekit board.
    * imx: re-work of PWM, add i.MX21 support
    * IXP4xx: support for Goramo MultiLink router platform.
    * MAINTAINERS: add entry for Mitac Mio A701 board
    * MAINTAINERS: add entry for Palm Treo680
    * MX27: Add basic support to MX27PDK
    * MX35: Add basic support for MX35PDK board
    * mxc: Add i.MX27LITE board support
    * MXC: mx21ads base support
    * OMAP2/3: PM: push core PM code from linux-omap
    * omap iommu: simple virtual address space management

Power:

    * 83xx: add support for the kmeter1 board.
    * powerpc/4xx: Sequoia: Enable NAND support
    * powerpc/85xx: Add dts files for X-ES MPC85xx boards
    * powerpc/85xx: Add eSDHC support for MPC8569E-MDS boards
    * powerpc/85xx: Add MPC8569MDS board support
    * powerpc/85xx: Add P2020DS board support
    * powerpc/85xx: Add PCI IDs for MPC8569 family processors
    * powerpc/85xx: Add platform support for X-ES MPC85xx boards
    * powerpc/85xx: Add STMicro M25P40 serial flash support for MPC8569E-MDS
    * powerpc: Add support for swiotlb on 32-bit
    * powerpc: Introduce CONFIG_PPC_BOOK3S
    * powerpc: Make the NR_CPUS max 8192
    * powerpc/virtex: Add support for Xilinx PCI host bridge
    * powerpc/virtex: Add Xilinx ML510 reference design support

x86

    * amd-iommu: implement suspend/resume
    * docs, x86: add nox2apic back to kernel-parameters.txt
    * x86: Add cpu features MOVBE and POPCNT
    * x86: add extension fields for bootloader type and version
    * x86: Add quirk for Intel DG45ID board to avoid low memory corruption
    * x86: Add quirk to make Apple MacBook5,2 use reboot=pci
    * x86: Add reboot quirk for every 5 series MacBook/Pro
    * x86: default CONFIG_PHYSICAL_START and CONFIG_PHYSICAL_ALIGN to 16 MB
    * x86/docs: add description for cache_disable sysfs interface
    * x86: document new bzImage fields
    * x86, ds: support Core i7
    * x86: implement percpu_alloc kernel parameter
    * x86, intr-remap: add option to disable interrupt remapping
    * x86: make CONFIG_RELOCATABLE the default
    * x86, mce: add basic error injection infrastructure
    * x86, mce: Add boot options for corrected errors
    * x86, mce: add machine check exception count in /proc/interrupts
    * x86, mce: add MCE poll count to /proc/interrupts
    * x86, mce: add table driven machine check grading
    * x86, mce: deprecate old 32bit machine check code
    * x86, mce: document new 32bit mcelog requirement in Documentation/Changes
    * x86, mce: enable MCE_AMD for 32bit NEW_MCE
    * x86, mce: enable MCE_INTEL for 32bit new MCE
    * x86, mce: improve documentation
    * x86, mce: use 64bit machine check code on 32bit
    * x86, mce: therm_throt: Don't log redundant normality
    * x86, mce: don't log boot MCEs on Pentium M (model == 13) CPUs
    * x86, mce: Don't initialize MCEs on unknown CPUs
    * x86: MSR: add methods for writing of an MSR on several CPUs
    * x86: nmi: Add Intel processor 0x6f4 to NMI perfctr1 workaround
    * x86/PCI: add description for check_enable_amd_mmconf boot parameter
    * x86: smarten /proc/interrupts output for new counters
    * x86, setup: "glove box" BIOS calls -- infrastructure
    * x86, setup: "glove box" BIOS interrupts in the APM code
    * x86, setup: "glove box" BIOS interrupts in the core boot code
    * x86, setup: "glove box" BIOS interrupts in the EDD code
    * x86, setup: "glove box" BIOS interrupts in the MCA code
    * x86, setup: "glove box" BIOS interrupts in the video code

Various:

    * Add Fenghua Yu as temporary co-maintainer for ia64
    * amd64_edac: add DRAM address type conversion facilities
    * asm-generic: add a generic unistd.h
    * asm-generic: add generic ABI headers
    * avr32: Add support for Mediama RMTx add-on board for ATNGW100
    * Blackfin: add support for bzip2/lzma compressed kernel images
    * Blackfin: initial support for ftrace
    * Blackfin: initial support for ftrace grapher
    * DMA: TXx9 Soc DMA Controller driver
    * MIPS: Add Cavium OCTEON PCI support.
    * MIPS: Add hibernation support
    * MIPS: Add support for Texas Instruments AR7 System-on-a-Chip
    * MIPS: Allow suspend and hibernation again on uniprocessor kernels.
    * MIPS: CMP: activate CMP support
    * S390: ftrace: add dynamic ftrace support
    * S390: ftrace: add function graph tracer support
    * S390: ftrace: add function trace mcount test support
    * S390: ftrace: add system call tracer support
    * S390: pm: memory hotplug power management callbacks
    * S390: secure computing arch backend
    * sh: Add ms7724se (SH7724) board support
    * sh: Add support for SH7724 (SH-Mobile R2R) CPU subtype.
    * sh: SH7786 SMP support.
    * sparc64: Add proper dynamic ftrace support.
    * sparc64: Use new dynamic per-cpu allocator.

MM

    * memcg: add file-based RSS accounting
    * memcg: add interface to reset limits
    * memcg: fix behavior under memory.limit equals to memsw.limit
    * mm: add swap cache interface for swap reference
    * mm: introduce PageHuge() for testing huge/gigantic pages
    * mm: Pass virtual address to __p{te,ud,md}_free_tlb()
    * mm: remove CONFIG_UNEVICTABLE_LRU config option
    * mm, x86: remove MEMORY_HOTPLUG_RESERVE related code
    * oom: move oom_adj value from task_struct to mm_struct
    * pagemap: add page-types tool
    * pagemap: document 9 more exported page flags
    * pagemap: document clarifications
    * vmscan: make mapped executable pages the first class citizen
    * vmscan: properly account for the number of page cache pages zone_reclaim() can reclaim
    * x86: add hooks for kmemcheck

Tracing

    * blktrace: add trace/ to /sys/block/sda
    * blktrace: support per-partition tracing
    * blktrace: support per-partition tracing for ftrace plugin
    * ftrace: add kernel command line function filtering
    * function-graph: add option to calculate graph time or not
    * function-graph: add stack frame test
    * function-graph: disable when both x86_32 and optimize for size are configured
    * gcov: fix documentation
    * kernel: constructor support
    * oprofile: add support for Core i7 and Atom
    * oprofile: introduce module_param oprofile.cpu_type
    * ring-buffer: add benchmark and tester
    * ring-buffer: add total count in ring-buffer-benchmark
    * tracing: add average time in function to function profiler
    * tracing: Add documentation for the power tracer
    * tracing: add function profiler
    * tracing: adding function timings to function profiler
    * tracing: add irq tracepoint documentation
    * tracing: add new tracepoints docbook
    * tracing: Document the event tracing system
    * tracing/events: Documentation updates
    * tracing/filters: support for filters of dynamic sized arrays
    * tracing: make the function profiler per cpu

Virtualization

    * KVM: Add VT-x machine check support
    * KVM: Enable MSI-X for KVM assigned device
    * KVM: Fix cpuid feature misreporting
    * KVM: SVM: Add NMI injection support
    * lguest: add support for indirect ring entries
    * lguest: Add support for kvm_hypercall4()
    * xen: add "capabilities" file

Quelle und Links : http://www.heise.de/open/Kernel-Log-Was-2-6-31-bringt-4-Tracing-Architektur-Code-Virtualisierung--/artikel/143215
Titel: Kernel-Log – Was 2.6.31 bringt : Der Rest
Beitrag von: SiLæncer am 31 August, 2009, 11:02
CUSE, USB 3.0 und LAN-Unterstützung für den neuen Firewire-Stack

Linux unterstützt ab Version 2.6.31 bereits USB 3.0, obwohl entsprechende Hardware noch gar nicht erhältlich ist. Distributionen sollen in Zukunft den neueren Firewire-Stack nutzen, der nun auch LAN-Support bietet. Das neue CUSE emuliert das Open Sound System mit einem Userspace-Programms. Neu dabei ist ferner ein Treiber für das Netbook Aspire One von Acer.

Am vergangenen Freitag veröffentlichte Linus Torvalds die achte Vorabversion von Linux 2.6.31. Es soll die letzte sei, wie der Chefentwickler in der Freigabe-Mail betont. Er sei die nächste Woche tauchen und hofft auf derzeit auf eine Veröffentlichung von 2.6.31 zum amerikanischen Labor Day, der dieses Jahr auf den 7. September fällt.

Da bis dahin nur mehr Fehlerkorrekturen in den Hauptentwicklungszweig einfließen dürften soll der fünfte und letzte Teil der Kernel-Log-Mini-Serie "Was 2.6.31 bringt" nun die detaillierte Übersicht über die Neuerungen der kommenden Kernel-Version abschließen. Dabei kommen all die Subsysteme zum Zuge, die in den vorangegangenen Teilen kein Platz gefunden haben – im wesentlichen Treiber und Treiber-nahe Infrastruktur wie die ACPI- und PCI-Subsysteme. Auf der letzten Seite dieses Artikels finden sich zudem noch einige Nachzügler aus den bereits zuvor besprochenen Bereichen.

Schnell übertragen

Unter den Änderungen USB-Subsystem findet sich wie erwartet der maßgeblich von Intel-Programmierern entwickelten Code zur Unterstützung von USB-3.0-Controllern mit ihrem Extensible Host Controller Interface (xHCI) (u. a. 1, 2, 3, 4, 5). Einige Hersteller haben zwar schon Details zu USB-3.0-Hardware angekündigt, erhältlich ist aber bislang keine. Kurzfristig ist die USB-3.0-Unterstützung von Linux daher nicht weiter wichtig – langfristig sieht es aber vermutlich anders auf, immerhin hatten die beiden vorangegangenen Generation der USB-Schnittstelle durchschlagenden Erfolg.

Einen Überblick über die Änderungen am Firewire-Code geben die zwei Haupt-Git-Pull-Request des Firewire-Maintainers Stefan Richter (1, 2). Dabei hebt er unter anderem die neue Unterstützung für "IPv4 over IEEE 1394" (also Netzwerk via Firewire) im neueren der beiden Firewire-Stacks des Linux-Kernels hervor. Er betont ferner, dass der neuere, "firewire" genannte Stack nun nicht mehr als experimentell gilt und Distributoren diesen in Zukunft bevorzugt eingesetzten sollen: Er liefere bessere Performance, sei kompatibler, biete mehr Features und sei auch sicherer. Der alte, "ieee1394" genannte Stack sei jedoch noch für Audio-Hardware und die vom Treiber firedtv unterstützten FireWire-DVB-Geräte zu bevorzugen.

Zeichengeräte

Bei 2.6.31 wird das auf FUSE (Filesystem in Userspace) aufsetzende CUSE (Character device in Userspace) Bestandteil von Linux. Mit seiner Hilfe kann ein Userspace-Programm virtuelle Geräte emulieren, auf die andere Programme über die normalen, zeichenorientierten Device-Dateien genauso zugreifen können wie auf ein "richtiges", von einem Kernel-Treiber bereitgestelltes character device.

Damit lässt sich etwa ein Userspace-Programm schreiben, das das veraltete OSS (Open Sound System) emuliert; dazu legt es mit Hilfe von CUSE die von OSS-Programmen erwarteten Devices an, über die es dann die Daten annimmt, verarbeitet und mit Hilfe des heute gängigen Alsa ausgibt. Genau solch einen OSS-Proxy hat der bei Novell beschäftige Entwickler von CUSE veröffentlicht und zum Testen eingesetzt. Weitere Hintergründe und andere Einsatzmöglichkeiten von CUSE liefert ein älterer LWN.net-Artikel.

Sonderecke

Der Staging-Bereich mit seinen Treibern, die den Qualitätsansprüchen der Kernel-Hacker nicht genügen, hat mittlerweile einen beachtlichen Umfang angenommen. In diesem Entwicklungszyklus ist er aber etwas kleiner geworden, wie Greg Kroah-Hartman im Git-Pull-Request für Staging-Änderungen hervorhebt ("We are removing more crap than we are adding, looks like progress to me! :)"). Das ist hauptsächlich der Zusammenlegung einiger Treiber für WLAN-Chipsätze von Ralink zu verdanken, die das Kernel-Log bereits thematisierte.

Neben den dort ebenfalls erwähnten WLAN-Treibern rtl8192su und vt6655 ist auch der Netzwerk-Treiber octeon-ethernet für SOCs aus der Octeon-Familie von Cavium neu im Staging-Bereich. Auch der CPC-CAN-USB-Treiber cpc-usb und der rudimentäre Framebuffertreiber udlfb (1, 2) für DisplayLink-Geräte stießen zum nun zu Ende gehenden Entwicklungszyklus zum Kernel.

Entfernt haben die Entwickler serqt_usb, da ein Kernel-Hacker einen alternativen Treiber für dieselbe Hardware von Grund auf neu geschrieben hat – es ist nicht der erste und vermutlich nicht der letzte Staging-Treiber, bei dem sich die Kernel-Entwickler zum Schreiben eines neuen Treibers entschließen, statt einen der "mistigen" Staging-Treiber zu verbessern.

Staccato

Bei den bisher genannten Neuerungen handelt es sich nur um die bedeutsamsten Änderungen. Einige weitere im Kurzüberblick:

Notebooks:

    * Die Kernel-Hacker haben den Treiber acerhdf integriert, mit dem sich beim Netbook Aspire One von Acer die Temperaturen auslesen und Lüfter steuern lassen.

    * Der Treiber asus_acpi gilt fortan als "deprecated" – empfohlen wird statt dessen der Einsatz von asus-laptop.

USB:

    * Einige Änderungen am USB-Code renovieren dessen Unterstützung für Stromspartechniken.

    * Aufgenommen haben die Kernel-Hacker einen generischen USB-Audio-Gadget-Treiber sowie einen USB-Gadget-Treiber für den in neueren SOCs von Samsung integrierten HS/OtG-Block.

    * Erstmals zu Linux gehört ein Treiber für den USB-OTG-Part in Intels I/O-Baustein Langwell, der zur ganz auf Linux abgestimmten Moorestown-Plattform gehört; der Treiber für den zugehörigen Transceiver war auch kurz dabei, wurde dann aber vorerst wieder entfernt.

Verschiedenes:

    * Die Änderungen im PCI-Subsystem sind weniger tiefgreifend als bei 2.6.30, wie Jesse Barnes in seinem Git-Pull-Request erklärt. Eine der größeren Neuerungen sei die verbesserte Unterstützung für PCI Express Root Port Advanced Error Reporting (AER). Das PCI-Subsystem beherrscht nun Address Translation Service (ATS) 1.0. Im IOMMU-Code, der nun IOMMU Pass Through unterstützt, enthält einen flexibleren Workaround für Grafikkartentreiber, durch den die Konfigurations-Option CONFIG_DMAR_GFX_WA verschwindet.

    * Im Power-Management-Bereich nahmen die Kernel-Hacker um Rafael J. Wysocki primär Aufräumarbeiten vor.

    * Unter den Änderungen im Cypto-Bereich ist unter anderem eine, durch die der Treiber padlock nun auch auf x86-64-Systemen arbeitet.

    * Neu bei Linux 2.6.31 ist der einmal pro Sekunde feuernde Pulsegeber LinuxPPS (Linux Pulse Per Second), auf den Userspace-Anwendungen wie NTPD zurückgreifen können; weitere Details zu den Einsatzzwecken und Hintergründen finden sich im LinuxPPS-Wiki und der Kernel-Dokumentation.

Die kleineren Perlen

Die englischen Überschriften von zahlreichen weiteren nicht ganz so wichtigen, aber keineswegs unbedeutenden Änderungen finden sich in der folgenden Liste. Die Einträge verlinken genau wie viele der Verweise im vorangegangenen Text auf den jeweiligen Commit im Webfrontend des Hauptentwicklungszweigs von Linux. Dort liefern normalerweise der Commit-Kommentar und der Patch selbst zahlreiche weitere Informationen zur jeweiligen Änderungen.

Firewire und USB

Firewire:

    * firewire: core: add sysfs attribute for easier udev rules
    * firewire: net: add Kconfig item, rename driver
    * firewire: sbp2: add support for disks >2 TB (and 16 bytes long CDBs)
    * ieee1394: sbp2: add support for disks >2 TB (and 16 bytes long CDBs)

USB:

    * musb: add high bandwidth ISO support
    * USB: Add SuperSpeed to the list of USB device speeds.
    * USB: add the usbfs devices file to debugfs
    * USB: Add USB 3.0 roothub support to USB core.
    * USB: add usb debugfs directory
    * USB: audio: add USB audio class definitions
    * USB: CP210x Add new device IDs
    * USB: Don't reset USB 3.0 devices on port change detection.
    * USB: ftdi_sio: Add support for GN Otometrics Aurical USB Audiometer
    * USB: FTDI-SIO new device ids
    * USB: gadget: Add i.MX3x support to the fsl_usb2_udc driver
    * USB: gadget: audio: provide correct device id
    * USB: new flag for resume-from-hibernation
    * USB: option: add Novatel Ovation MC760
    * USB: option: Add USB ID for Novatel MC727/U727/USB727 refresh
    * USB: option: add ZTE device ids and remove ONDA ids
    * USB: option.c: add A-Link 3GU device id
    * USB: option.c: add Qualcomm/Option iCON 210 modem
    * USB: option.c: add Toshiba 3G HSDPA SM-Bus Minicard device id
    * USB: option.c to support Qisda H21/H20 usb modem
    * USB: pl2303: New vendor and product id for the prolific driver
    * USB serial: Add ID for Turtelizer, an FT2232L-based JTAG/RS-232 adapter.
    * USB: Serial: Add support for Arkham Technology adapters
    * USB: serial: option: Add ZTE AC8710 usb modem device.
Input Devices

   * HID: add new multitouch and digitizer contants
    * HID: autocentering support for Logitech Force 3D Pro
    * HID: autocentering support for Logitech G25 Racing Wheel
    * HID: force feedback support for SmartJoy PLUS PS2/USB adapter
    * HID: Multitouch support for the N-Trig touchscreen
    * HID: Wacom Graphire Bluetooth driver
    * Input: add dm355evm_keys driver
    * Input: add driver for EETI touchpanels
    * Input: add driver for Synaptics I2C touchpad
    * Input: add matrix keypad driver for Cirrus EP93xx
    * Input: add support for touchscreen on W90P910 ARM platform
    * Input: add twl4030-pwrbutton driver
    * Input: add wm97xx accelerated driver for Atmel microprocessors
    * Input: ALPS - Dell Latitude D630/D800 have DualPoint
    * Input: ALPS - handle touchpoints buttons correctly
    * Input: appletouch - improve finger detection
    * Input: atkbd - add forced release keys quirk for FSC Amilo Pi 3525
    * Input: atkbd - add force relese key quirk for Soltech TA12
    * Input: i8042 - add Asus G1S to noloop exception list
    * Input: i8042 - more reset quirks for MSI Wind-clone netbooks
    * Input: iforce - support new revision of ACT LABS Force RS
    * Input: introduce lm8323 keypad driver
    * Input: psmouse - ESD workaround fix for OLPC XO touchpad
    * Input: rotary_encoder - add support for REL_* axes
    * Input: wacom - add DTF720a support and fix rotation on Intuos3
    * Input: wacom - add support for Intuos4 tablets
    * Input: wistron_btns - recognize Maxdata Pro 7000 notebooks
    * Input: wistron_btns - support Prestigio Wifi RF kill button
Notebook-Drivers

   * acpi4asus: update MAINTAINER and KConfig links
    * asus-laptop: remove EXPERIMENTAL dependency
    * dell-wmi: add additional keyboard events
    * eeepc-laptop: add rfkill support for the 3G modem in Eee PC 901 Go
    * eeepc-laptop: cpufv updates
    * eeepc-laptop: enable camera by default
    * eeepc-laptop: Register as a pci-hotplug device
    * eeepc-laptop: rfkill refactoring
    * eeepc-laptop: sync eeepc-laptop with asus_acpi
    * hp-wmi: Add support for reporting tablet state
    * thinkpad-acpi: add quirklist engine
    * thinkpad-acpi: disable broken bay and dock subdrivers
    * thinkpad-acpi: enhance led support
    * thinkpad-acpi: forbid the use of HBRV on Lenovo ThinkPads
    * thinkpad-acpi: remove dock and bay subdrivers
    * thinkpad-acpi: support the second fan on the X61
Edac, HW-Monitoring, I2C and Watchdog

Edac:

    * amd64_edac: add driver header
    * amd64_edac: add memory scrubber interface
    * amd64_edac: add DRAM error injection logic using sysfs
    * edac: add CPC925 Memory Controller driver

HW-Monitoring:

    * hwmon: (abituguru3) DMI probing for AB9, AB9 QuadQT and IX38 QuadGT
    * hwmon: (f71882fg) Add support for the F71858F
    * hwmon: (f71882fg) Add temp#_fault sysfs attr for f8000
    * hwmon: (ibmaem) Automatically load on HC10 blade
    * hwmon: (max6650) Add support for alarms
    * hwmon: (tmp401) Add documentation
    * hwmon: (tmp401) Add support for TI's TMP401 sensor chip
    * hwmon: (tmp401) Add support for TI's TMP411 sensors chip
    * hwmon: (w83627ehf) Add W83627DHG-P support
    * lis3: add three new laptop models

I2C:

    * i2c: Add a sysfs interface to instantiate devices
    * i2c: driver for the Synopsys DesignWare I2C controller
    * i2c: Kill client_register and client_unregister methods
    * i2c-ocores: Can add I2C devices to the bus
    * i2c: ST DDC I2C U300 bus driver v3
    * i2c-viapro: Add new PCI device ID for VX855

Watchdog:

    * WATCHDOG: add bcm47xx watchdog driver
    * WATCHDOG: Add pnx833x_wdt
    * WATCHDOG: Freescale STMP: watchdog driver
    * WATCHDOG: hpwdt: Add NMI priority option
    * WATCHDOG: hpwdt: Add NMI sourcing
    * WATCHDOG: twl4030 watchdog driver
    * WATCHDOG: U300 COH 901 327 watchdog driver
    * WATCHDOG: w83627hf_wdt.c: add support for the W83627EHF support
Staging Area

    * Staging: add mailing list address for staging tree
    * Staging: add pata_rdc driver
    * Staging: Add serqt_usb2, a rewrite of serqt_usb for the usb-serial layer
    * Staging: rt2870: Add USB ID for Linksys, Planex Communications, Belkin
    * Staging: comedi: add vmk80xx USB driver
    * Staging: Comedi: vmk80xx: Add k8061 support
    * Staging: cpc-usb: add driver to the build
    * Staging: cpc-usb: add TODO file
    * Staging: pata_rdc: add driver to the build system
    * staging: remove aten2011 driver
    * Staging: rt2870: Add USB ID for Sitecom WL-608
    * Staging: serqt_usb2 add the driver to the build
    * Staging: wlan-ng: Move firmware loading into driver

Various Drivers

    * Add MAX17040 Fuel Gauge driver
    * gpio: driver for PrimeCell PL061 GPIO controller
    * leds: Add options to have GPIO LEDs start on or keep their state
    * leds: alix-leds2 fixed for Award BIOS
    * leds: LED driver for National Semiconductor LP3944 Funlight Chip
    * LP3971 PMIC regulator driver (updated and combined version)
    * Maxim 1586 regulator driver
    * mfd: add PCAP driver
    * mfd: add U300 AB3100 core support
    * msm_serial: serial driver for MSM7K onboard serial peripheral.
    * regulator: add userspace-consumer driver
    * rtc: add stand-alone driver for RX8025 chip
    * tty: Bring the usb tty port structure into more use
    * tty: rewrite the ldisc locking

Security and Crypto

    * crypto: aes-ni - Add support for more modes
    * crypto: padlock - Enable on x86_64
    * crypto: talitos - Add ablkcipher algorithms
    * IMA: Minimal IMA policy and boot param for TCB IMA policy
    * hwrng: via_rng - Support VIA Nano hardware RNG
    * hwrng: via_rng - Support VIA Nano hardware RNG on X86_64 builds
    * hwrng: via_rng - The VIA Hardware RNG driver is for the CPU, not Chipset
    * smack: implement logging V3
    * Security/SELinux: seperate lsm specific mmap_min_addr

ACPI, PCI and PM

ACPI:

    * ACPI: delete acpi.power_nocheck from kernel-parameters.txt
    * ACPI: DMI to disable Vista compatibility on some Sony laptops
    * ACPI processor: force throttling state when BIOS returns incorrect value
    * ACPI: video: DMI workaround broken Acer 7720 BIOS enabling display brightness
    * PNPACPI: parse Extended Address Space Descriptors

PCI:

    * dma-debug: add dma_debug_driver kernel command line
    * dma-debug: add documentation for the driver filter
    * intel-iommu: Make iommu=pt work on i386 too
    * intel-iommu: Restore DMAR_BROKEN_GFX_WA option for broken graphics drivers
    * irqs: add IRQF_SAMPLE_RANDOM to the feature-removal-schedule.txt (deprecated) list
    * PCI: add power-state name strings
    * PCI: Add support for turning PCIe ECRC on or off
    * PCI: disable ASPM on VIA root-port-under-bridge configurations
    * PCI: expose SMBus on Asus notebook A6L
    * PCI: handle Virtual Function ATS enabling
    * PCI hotplug: create symlink to hotplug driver module
    * PCI: More PATA quirks for not entering D3
    * PCI: PCIE AER: Document for PCIE AER software error injection
    * PCI quirk: HP hides SMBus controller in Compaq nx9500 laptops
    * PCI quirk: unhide 'Overflow' device on i828{6,7}5P/PE chipsets
    * PCI: Remove untested Electromechanical Interlock (EMI) support in pciehp.
    * PCI: use ACPI _CRS data by default
    * VT-d: add device IOTLB invalidation support
    * VT-d: support the device IOTLB

Powermanagement:

    * CPUFREQ: Enable acpi-cpufreq driver for VIA/Centaur CPUs
    * CPUFREQ: Mark e_powersaver driver as EXPERIMENTAL and DANGEROUS
    * CPUFREQ: ondemand: Uncouple minimal sampling rate from HZ in NO_HZ case
    * CPUFREQ: Only set sampling_rate_max deprecated, sampling_rate_min is useful
    * CPUFREQ: Powernow-k8: support family 0xf with 2 low p-states
    * mm, PM/Freezer: Disable OOM killer when tasks are frozen
    * NOHZ: Properly feed cpufreq ondemand governor
    * PM core: rename suspend and resume functions
    * PM/Hibernate: Move memory shrinking to snapshot.c (rev. 2)
    * PM: Separate suspend to RAM functionality from core
    * PM/Suspend: Do not shrink memory before suspend
Various others infrastructure changes

   * Add '-fno-delete-null-pointer-checks' to gcc CFLAGS
    * Alan doesn't want to maintain tty code any more
    * console: make blank timeout value a boot option
    * cpusets: document adding/removing cpus to cpuset elaborately
    * docs: Encourage better changelogs in the development process document
    * Documentation: Add "how to write a good patch summary" to SubmittingPatches
    * Documentation/Changes: perl is needed to build the kernel
    * Document Reported-by in SubmittingPatches
    * Document the debugfs API
    * driver core: fix documentation of request_firmware_nowait
    * driver core: set default SYSFS_DEPRECATED=n
    * driver core: synchronize device shutdown
    * Driver Core: Warn driver authors about adding device attributes
    * drivers: add support for the TI VLYNQ bus
    * edac: add DDR3 memory type for MPC85xx EDAC
    * firmware: speed up request_firmware(), v3
    * futex: add requeue-pi documentation
    * kbuild: add generic --set-str option to scripts/config
    * kbuild: finally remove the obsolete variable $TOPDIR
    * kconfig: handle comment entries within choice/endchoice
    * MAINTAINERS: mention scripts/get_maintainer.pl in the preface
    * mmc: add the new linux-mmc mailing list to MAINTAINERS
    * modules: sysctl to block module loading
    * printk: add KERN_DEFAULT loglevel to print_modules()
    * printk: Add KERN_DEFAULT printk log-level
    * RCU: make treercu be default
    * rcu: Mark Hierarchical RCU no longer experimental
    * Remove multiple KERN_ prefixes from printk formats
    * sched: rt: document the risk of small values in the bandwidth settings
    * sched: Document memory barriers implied by sleep/wake-up primitives
    * signals: implement sys_rt_tgsigqueueinfo
    * TTY: Maintainer change

Nachzügler

Die vorangegangen vier Teile der Kernel-Log-Serie "Was 2.6.31 bringt" haben bereits einen detaillierten Überblick über die Änderungen in vielen Bereichen des Linux-Kernels gegeben. Alle größeren Neuerungen haben wir dort bereits erwähnt, da die wie üblich in der ersten Phase des Entwicklungszyklus in den Hauptentwicklungszweig einzogen. Einige kleinere, zumeist nicht ganz so wichtige Änderungen der Kategorie "Die kleineren Perlen" schlichen sich aber noch später ein – teilweise, nachdem wir über die entsprechenden Bereiche berichtet hatten. Der Vollständigkeit halber finden Sie diese in der folgenden Liste:

Audio

    * ALSA: hda: add model for Intel DG45ID/DG45FC boards

Graphics

    * drm/i915: Add eDP support on IGDNG mobile chip
    * drm/i915: Add support for dual-channel LVDS on 8xx.
    * drm/i915: Allow frame buffers up to 4096x4096 on 915/945 class hardware
    * drm/i915: enable DisplayPort support on IGDNG
    * drm/i915: hdmi detection according by reading edid
    * drm/i915: ignore lvds on AOpen Mini PC MP-915
    * drm/i915: Set preferred mode for integrated TV according to TV format
    * drm/radeon/kms: Add specific rs690 authorized register table

File Systems

    * AFS: Documentation updates
    * ext3: Update Kconfig description of EXT3_DEFAULTS_TO_ORDERED

Network

LAN:

    * Add IDs for 3C905B-TX Fast Etherlink XL PCI
    * Add mac driver for w90p910
    * mlx4_core: Add new ConnectX EN PCI ID 0x6764
    * net: Micrel KS8851 SPI network driver
    * New device ID for sc92031 [1088:2031]
    * pegasus: Add new device ID.
    * USB host CDC Phonet network interface driver

WLAN:

    * b43: Add support for 4318E
    * iwlwifi: only show active power level via sysfs
    * mac80211: disable mesh
    * ssb: Add support for 4318E
    * zd1211rw: adding SONY IFU-WLM2 (054c:0257) as a zd1211b device

V4L/DVB

* V4L/DVB (12340): mtv9v011: Add a missing chip version to the driver

Quelle und Links : http://www.heise.de/open/Kernel-Log-Was-2-6-31-bringt-5-Der-Rest--/artikel/144343
Titel: Linux-Kernel: Aufnahme der Hyper-V-Treiber unsicher
Beitrag von: SiLæncer am 04 September, 2009, 17:48
Derzeit scheint es nicht gewährleistet zu sein, dass die von Microsoft zur Verfügung gestellten Hyper-V-Treiber in den Linux-Kernel Version 2.6.33 aufgenommen werden. Augenscheinlich gibt es einige Probleme mit der Kommunikation.

Bevor die Treiber in den offiziellen Kernel gelangen, verweilen sie im sogenannten Staging-Zweig. An dieser Stelle werden unter anderem die notwendigen Anpassungen getätigt. Momentan finden sich dort auch die unter der GPL-Lizenz veröffentlichten Hyper-V-Treiber von Microsoft wieder. Nach viel Mühen und über 200 Patches ist es den Entwicklern gelungen, den Code an den Kernel anzupassen.

Greg Kroah-Hartman teilte den Stand der Dinge mit und ließ verlauten, dass er vergeblich auf eine Antwort von Microsoft wartet. Sollte er in absehbarer Zeit keine Rückmeldung erhalten, so werde er die Treiber aus dem Kernel 2.6.32 wieder entfernen.

Abgesehen von den Microsoft-Treibern könnten im Hinblick auf das Release dieses Kernels zudem einige weitere Treiber entfernt werden.

Die Virtualisierungsplattform Hyper-V kommt auf dem Windows Server 2008 zum Einsatz. Diese Technologie unterstützt unter anderem Linux als Gastsystem und benötigt für eine entsprechende Optimierung die angesprochenen Treiber.

Rund 20.000 Zeilen Treibercode hat Microsoft im Juli 2009 an die Linux-Gemeinde zu diesem Zweck übergeben.

Quelle : http://winfuture.de
Titel: Kernel-Log: Extrarunde für 2.6.31
Beitrag von: SiLæncer am 07 September, 2009, 12:03
X.org 7.5 im Anmarsch, Aufräumen im Staging-Zweig

Linus Torvalds will Linux 2.6.31 einige Tage später als zuvor angekündigt veröffentlichen und schiebt noch einen RC9 ein. Nach Verzögerungen nimmt die Entwicklung von X.org 7.5 nun mächtig Fahrt auf und soll noch diesen Monat beendet werden. Greg Kroah-Hartman will im Staging-Bereich aufräumen – das könnte auch die Hyper-V-Treiber von Microsoft treffen. Con Kolivas hat den speziell auf Desktop-Systeme abgestimmten Prozess-Scheduler BFS veröffentlicht.

Kernel-Status

Die Betreuer der Linux-Stable-Series haben die Versionen 2.6.27.32 und 2.6.30.6 in Vorbereitung. Die Zeit zum Einreichen von Kommentaren ist bereits am Sonntagabend ausgelaufen, daher dürften die beiden neuen Versionen in Kürze erscheinen. Wie üblich korrigieren sie einige Fehler und bringen zahlreiche, vorwiegend kleinere Verbesserungen.

Bei der Freigabe des RC8 von Linux 2.6.31 hatte Linus Torvalds angedeutet, 2.6.31 nach seinem Tauchurlaub zum diesjährigen Labor Day, der dieses Jahr auf den 7. September fällt, freizugeben. Während seiner Abwesenheit haben jedoch noch zahlreiche Subsystem-Maintainer Korrekturen eingesandt, sodass er sich entschloss, noch einen RC9 einzuschieben. Der solle jetzt noch einige Tage sieden, bevor Torvalds die nächste Version des Hauptentwicklungszweig freigeben will. Die Liste mit bekannten Fehlern, die 2.6.30 nicht hatte, umfasste am Wochenende noch 27 ungelöste Probleme. Ebensoviele offene Einträge umfasst auch die Liste der zwischen 2.6.29 und 2.6.30 eingeschleppten Fehler.

Der unter anderem durch seine Arbeit an der Realtime-Unterstützung für Linux bekannten deutsche Kernel-Entwickler Thomas Gleixner von Linutronix hat indes angekündigt, 2.6.31-rt innerhalb von 24 Stunden nach der Freigabe von Linux 2.6.31 veröffentlichen zu wollen. Gleixner wird auf dem zweiten Tag des Ende des Monats in Dresden stattfindenden Real Time Linux Workshops die Eröffnungsrede halten; im Anschluss wird Jonathan Corbet von LWN.net seinen bekannten "Kernel Report" halten.

Mistige Treiber vor dem Rauswurf

Greg Kroah-Hartman hat in einer Mail an die LKML einen Überblick über den Status zahlreicher Treiber im Staging-Zweig und die für 2.6.32 vorgesehene Änderungen gegeben. Mit rt3090 soll dort unter anderem ein weitere Treiber für WLAN-Hardware von Realtek einfließen; auch für WLAN-Chipsätze von Realtek und VIA sollen neue Treiber in den bei Linux 2.6.28 in den Hauptentwicklungszweig aufgenommen Staging-Zweig einfließen. Er dient als zentraler Platz, um Treiber zu verbessern, die den Qualitätsansprüchen der Kernel-Entwickler nicht genügen – der Kernel wird daher beim Laden solcher Treiber als "TAINT_CRAP" ("Beschmutzt mit Mist") markiert.

Der Verwalter des Staging-Zweigs hat allerdings angekündigt, einige Treiber rauszuschmeißen, da sich niemand um deren Code kümmert – der Treiber EPL (Ethernet Power Link) solle daher bei 2.6.32 rausfliegen. Kroah-Hartman betont in dem Zusammenhang ausdrücklich, dass der Staging-Bereich keine Müllhalde für ungewarteten, toten Code sei ("First off, drivers/staging/ is NOT a dumping ground for dead code. If no one steps up to maintain and work to get the code merged into the main portion of the kernel, the drivers will be removed.").

Zahlreiche andere Treiber könnte über kurz oder lang ein ähnliches Schicksal ereilen. So erwägt Kroah-Hartman derzeit, die zur Aufnahme bei 2.6.32 vorgesehen Hyper-V-Treiber schon bei 2.6.33 wieder rauszuwerfen, da die Microsoft-Entwickler nach zahlreichen Änderungen plötzlich verschwunden seien und nicht mal auf E-Mails antworten. Schlecht scheint es auch um die vielen Distributionen in der Vergangenheit beiliegenden Treibern des Frameworks wlan-ng zu stehen. Die von ihnen unterstützte Hardware war früher bei Linux-Anwendern recht beliebt, die Treiber haben es jedoch nie in den Hauptentwicklungszweig von Linux geschafft – bei so manchen aktuellen Distributionen fehlen sie daher.

Phoenix

Con Kolivas hat den speziell auf Desktop-Systeme abgestimmten Prozess-Scheduler BFS (Brain Fuck Scheduler) vorgestellt. Kolivas hat sich schon früher mit Schedulern beschäftigt, sich Ende 2007 aber öffentlichkeitswirksam aus der Kernel-Entwicklung zurückgezogen, nachdem statt seines Staircase-CPU-Schedulers der Completely Fair Scheduler (CFS) in den Kernel aufgenommen wurde, der einige Ideen des Staircase-CPU-Schedulers verwendet.

Seit dem Aufkommen von CFS haben zahlreiche Entwickler diesen verbessert diesen und ihn für die unterschiedlichen Systeme und Einsatzgebiete optimiert. Der CFS-Hauptentwickler Ingo Molnar hat sich BFS näher angesehen und einige Benchmarks durchgeführt, die keine wesentlichen Vorteile für BFS zeigen konnten – Kolivas ist mit der Auswahl der Benchmarks, dem Testsystem und einigen anderen Aspekten von Molnars Herangehensweise aber überaus unzufrieden.

Eine Aufnahme von BFS in den Hauptentwicklungszweig von Linux scheint nach derzeitigem Stand sehr unwahrscheinlich, denn Torvalds hatte bereits in der in der Vergangenheit klargemacht, nicht mehrere Scheduler pflegen zu wollen; auch Linux-Distributoren sind erfahrungsgemäß eher interessiert daran, dass ein einzelnes Kernel-Image auf einem breiten Spektrum an Systemen optimale Performance erzielt, ohne dass eine spezielle Konfiguration nötig ist. Möglicherweise verbessern die CFS-Entwickler ihren Scheduler jedoch in den Bereichen, in denen BFS besser arbeitet – den Anwender dürfte das freuen.

Kernel-Log-Staccato

    * Peter Hutterer hat eine Vorabversion des Touchpad-Treibers Synaptics 1.2 freigegeben. Sie bringt einige Verbesserungen wie "Synaptics Capabilities", "Synaptics Area" und "Synaptics Gestures". Die Konfigurationsmöglichkeit via SHM (Shared Memory) wurde allerdings entfernt – es stehen mittlerweile bessere und sichere Methoden zur Konfiguration im laufenden Betrieb zur Verfügung.

    * Nach den kürzlich erwähnten Verzögerungen bei der Entwicklung von X.org 7.5 und dem zugehörigen X-Server 1.7 hat deren Entwicklung nun an Fahrt aufgenommen. Nach dem jüngsten Zeitplan sollen die neuen Versionen kurz vor oder während der für Ende September geplanten X Developers' Conference (XDC) 2009 erscheinen; die Integration von XKB2 (X Keyboard Extension 2) haben die Entwickler allerdings auf den X-Server 1.8 vertagt. Zwischenzeitlich haben die X11-Hacker eine erste Vorabversion des X-Server 1.7 veröffentlicht; deren Freigabe-Mail listet einige der für die ("Depressed Dodo" genannte) Version geplanten
Neuerungen.

    * Atheros-Entwickler Luis R. Rodriguez (mcgrof) hat die Einrichtung einer Homepage für die Atheros-Linux-WLAN-Treiber sowie zwei neue Treiberprojekte angekündigt; in letzteren soll Linux-Unterstützung für die Chips ar5523 und ar9271 entstehen.

    * Der auf das MM-Subsystem des Kernel spezialisierte Red-Hat-Entwickler Rik van Riel hat die Präsentationsfolien eines kürzlich auf dem Red-Hat-Summit gehaltenen Vortrags veröffentlicht. Dort gibt er Einblicke in die Arbeitsweise der Kernel-Entwicklung bei Red Hat und wie die Programmierer mit den Kernel-Hackern des Hauptentwicklungszweig von Linux interagieren.

    * Bereits vor über einer Woche haben die Entwickler des Alsa-Projekts die Version 1.0.21 der verschiedenen Alsa-Komponenten veröffentlicht. Zu den Neuerungen zählt die Integration eines Treibers für verschiedene Modelle der Sound-Blaster-X-Fi-Serie von Creative, der auch Linux 2.6.31 beiliegen wird.

    * KVM-Entwickler Avi Kivity teilt sich die Betreuung der KVM-Quellen des Kernels in Zukunft mit Marcelo Tosatti, der durch die Pflege der Kernel 2.4-Serie bekannt wurde.

    * Chris Wilson hat in den vergangenen Wochen zahlreiche Benchmark-Ergebnisse mit verschiedenen Grafiktreibern und unterschiedlichen Konfiguration in seinem Blog veröffentlicht.

    * Die Entwickler des Gphoto-Projekts haben die Version 2.4.7 der zum Auslesen vieler Digitalkameras genutzten Bibliothek libgphoto2 zum Download freigegeben. Sie bringt eine Reihe kleinerer Verbesserungen für Kameras und PTP-Geräte verschiedener Hersteller.

    * Einige Angaben und Links in einem Blog-Eintrag von Harald Welte deuten darauf hin, dass sich Samsung System LSI in Zukunft aktiver um die Aufnahme der eigenen Erweiterungen und Verbesserungen für Linux in den Hauptentwicklungszweig des Kernels bemühen möchte.

Quelle : www.heise.de
Titel: Re: Neuer Linux Kernel ....
Beitrag von: Warpi am 07 September, 2009, 12:42
Hier gibt es dann schon mal die Ubuntuversion zum TESTEN  : http://kernel.ubuntu.com/~kernel-ppa/mainline/v2.6.31-rc9/ ;)
Titel: Linux Kernel 2.6.30.6 Stable erschienen
Beitrag von: SiLæncer am 09 September, 2009, 09:01
Ein Changelog dazu gibts hier (http://kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.30.6).

http://www.kernel.org/
Titel: Linux-Kernel 2.6.31 freigegeben
Beitrag von: SiLæncer am 10 September, 2009, 09:24
Linus Torvalds hat die Version 2.6.31 des Linux-Kernels freigegeben (http://thread.gmane.org/gmane.linux.kernel/). Sie bringt wie ihre Vorgänger der Hauptentwicklungslinie tausende von Verbesserungen – darunter Unterstützung für USB 3.0, Treiber für Soundblaster-X-Fi-Karten von Creative sowie Verbesserungen für Btrfs und Ext4.

Die Neuerungen von Linux 2.6.31 (http://www.heise.de/open/Die-Neuerungen-von-Linux-2-6-31--/artikel/144420)

Quelle : www.heise.de
Titel: Kernel-Log – Devtmpfs in 2.6.32, DRBD erneut diskutiert, neue Stable-Kernel
Beitrag von: SiLæncer am 20 September, 2009, 17:31
Die Entwicklung von Linux 2.6.32 läuft auf vollen Touren – die Aufnahme von Devtmpfs in den Hauptentwicklungszweig hat allerdings für einige Spannungen gesorgt. Auch die als sicher scheinenden Integration von DRBD wird erneut diskutiert. Die Entwicklung des X-Server 7.5 schreitet derweil mit der Veröffentlichung des ersten RC und einiger neuer Treiber voran.

2.6.32 im Werden

Nicht ganz 5500 Commits hat Linus Torvalds seit der Veröffentlichung von Linux 2.6.31 im Hauptentwicklungszweig vorgenommen. Unter diesen finden sich bereits einige der wohl größten Neuerungen für die in zirka zehn bis zwölf Wochen erwartete Linux-Version 2.6.32 – etwa eine den Durchsatz in SMP-Systemen steigernde Überarbeitung der Writeback-Infrastruktur oder die Unterstützung für Intels früher als LaGrande Technology bekannte Trusted Execution Technology (TXT).

Neu dabei sind zudem zahlreiche mISDN-Treiber für Chips verschiedener Hersteller sowie einige frische WLAN-Treiber für den Staging-Bereich. Dort zogen auch wie erwartet die Hyper-V-Treiber von Microsoft ein. Dass diese bald schon wieder rausfliegen, wie zwischendurch vom Verwalter des Staging-Zweigs angedroht, ist unwahrscheinlicher geworden: Die Microsoft-Entwickler sind wieder aktiv und Sam Ramji betonte in einem Interview, dass Microsoft hart an den Treibern arbeite.

Der kürzlich veröffentlichte und unabhängig vom Kernel entwickelte BFS (Brain Fuck Scheduler) von Con Kolivas hatte kleinere Auswirkungen auf Linux 2.6.32: Einige Tester stießen bei Vergleichen auf ein Problem in einem noch recht jungem Codeabschnitt des derzeitigen Kernel-Schedulers, den die Entwickler daher zunächst deaktivierten. Darüber hinaus gab es zahlreiche andere Änderungen, durch die der aktuelle Scheduler besser arbeiten soll (1, 2).

Mit dem kürzlich von Ingo Molnar vorgestellten Programm "perf sched" soll sich das Verhalten des Scheduler in Zukunft einfacher und besser auswerten lassen. Etwas weiter gefasst ist das kürzlich von Arjan van de Ven vorgestellte und bislang Timechart genannte grafische Analyse-Programm, denn es soll sich ganz allgemein zum Aufspüren von Leistungsengpässen eines Linux-Systems eignen – Timechart braucht für seinen vollen Funktionsumfang jedoch einige Patches, die bislang noch nicht den Weg in den Hauptentwicklungszweig von Linux gefunden haben.

Torvalds hat für 2.6.32 auch das gelegentlich als "Devfs 2.0" bezeichnete devtmpfs eingepflegt, mit dessen Hilfe der Kernel das normalerweise unter /dev zu findende Device-Dateisystem selbst anlegt und so Udev einiges an Arbeit beim Systemstart abnimmt – letzterer soll dadurch schneller erfolgen, was aber nur einer der Vorteile von devtmpfs sei. Einige Entwickler hatten einige Eigenschaften von devtmpfs allerdings schon vor Monaten bemängelt und ihre Kritik nun wiederholt oder sogar die Entfernung gefordert. Torvalds ist in die Diskussionen um die einzelnen Kritikpunkte nicht sonderlich weit eingestiegen – zwei seiner Diskussionsbeiträge lassen aber erkennen, dass er Devtmpfs nicht abgeneigt zu sein scheint (1, 2).

Auch um die erwartete Aufnahme von DRBD (Distributed Replicated Block Device) streiten die Entwickler, denn einer der Kritiker von devtmpfs sperrt sich auch gegen die Aufnahme von DRBD. Einige Suse-Entwickler wie der für den MD-Code des Kernels und das zugehörige Tool mdadm zuständige Neil Brown sprechen sich aber nachhaltig für eine Aufnahme aus. Ob DRBD die Aufnahme für 2.6.32 schafft dürfte sich in den nächsten Tagen entscheiden, denn das Merge Window, in dem Torvalds das Gros der Änderungen für die jeweils nächste Version in den Hauptentwicklungszweig einpflegt, dürfte in ungefähr einer Woche geschlossen werden.

Linux-Versionsstatus

Die Betreuer der Linux-Stable-Series haben kürzlich die Versionen 2.6.27.34 und 2.6.30.7 freigegeben – wie so häufig mit einer unspezifischen und nicht für Anwender von Distributionskerneln gedachten Aufforderung, unbedingt auf die neuen Versionen zu wechseln ("All users of the 2.6.xx kernel series are very strongly encouraged to upgrade.").

Wie üblich korrigieren die zwei neuen Version einige Fehler und bringen zahlreiche, vorwiegend kleinere Verbesserungen. In Kürze werden sie aber schon wieder abgelöst, denn die zwei Nachfolger und 2.6.31.1 sind bereits in Vorbereitung (1, 2, 3). Die Zeit zum Einreichen von Kommentaren läuft in der Nacht von Freitag auf Samstag ab, sodass diese Version am Wochenende oder kurz danach veröffentlicht werden dürften. Greg Kroah-Hartman deutet indes an, die Pflege der 2.6.30-Serie in Kürze einzustellen.

Auch Willy Tarreau, der die 2.4er-Serie betreut, war nicht untätig und hat die einige Sicherheitslücken beseitigende Linux-Version 2.4.37.6 veröffentlicht. Thomas Gleixner hat derweil Version 2.6.31-rt10 freigegeben – die erste auf Linux 2.6.31 beruhende Kernel-Version mit den Realtime-Patches aus dem Rt-Tree.

X-Status

Peter Hutterer hat den ersten RC des für X.org 7.5 vorgesehen X-Servers 1.7 veröffentlicht. Zudem gab er eine zum neuen X-Server passende Version des für Nvidia-Hardware geeigneten Treibers "nv" heraus. Unterdessen veröffentlichte Dave Airlie zwei neue Versionen des für Radeon-Hardware zuständigen Open-Source-Treibers xf86-video-ati (1, 2). Die erste der beiden bringt eine Reihe von Verbesserungen, darunter Unterstützung für neuere Radeon-Modelle wie die HD 4770.

Auch AMD selbst war aktiv und hat kürzlich die Version 9.9 der proprietären Linux-Grafiktreiber für veröffentlicht. Zu den Neuerungen gehört laut den Release Notes die volle Unterstützung für OpenSuse 11.1 und erste Teile ("Early Look") der Unterstützung für SLED/SLES 10 SP3. Mit der Linux-Version 2.6.31 kommt der Treiber allerdings nicht zurecht – diese Unterstützung soll laut Berichten die für den nächsten Monat geplante Version 9.10 des Treibers mitbringen.

Kernel-Log-Staccato

    * Der Artikel "Reduce Linux power consumption, Part 1: The CPUfreq subsystem" auf IBM Developerworks vermittelt einige Hintergründe zur Nutzung der Stromsparmechanismen moderner CPUs durch den Kernel.

    * Intel-Entwickler Eric Anholt gibt in seinem Blog einen Überblick über einige jüngst vorgenommene Verbesserungen im Code der Intel-Grafiktreiber für Linux.

    * Nvidia-Entwickler Aaron Plattner hat die Open-Source-Software vdpauinfo 0.0.6 und libvdpau 0.2 freigegeben. Bei letzterem handelt es sich um eine nun separat statt zusammen mit dem proprietären Grafiktreiber vertriebene Software-Bibliothek des Ende letzten Jahres vorgestellten Video Decode and Presentation API for Unix (VDPAU), mit dessen Hilfe sich die HD-Video-Fähigkeiten moderner GeForce-GPUs unter Linux nutzen lassen.

    * Christoph Hellwig gibt in dem "XFS status update für August 2009" einen Überblick über neuste Entwicklungen beim XFS-Dateisystem.

Quelle und Links : http://www.heise.de/open/Kernel-Log-Devtmpfs-in-2-6-32-DRBD-erneut-diskutiert-neue-Stable-Kernel--/artikel/145525
Titel: Torvalds: Der Linux-Kernel ist aufgebläht
Beitrag von: SiLæncer am 22 September, 2009, 11:28
Linus Torvalds hält den Linux-Kernel für aufgebläht und riesig ("bloated and huge"). Zu dieser Aussage kam der Schöpfer des freien Betriebssystems bei einem Round-Table-Gespräch auf der LinuxCon, die gerade im US-amerikanische Portland stattfindet.

Das Statement von Torvalds kam als Reaktion auf Fragen, ob die Linux-Entwickler nicht zu schnell zu viele neue Features in den Kernel aufnehmen. Der Moderator des Gesprächs, Kernel-Entwickler James Bottomley wies auf eine interne Studie von Intel hin, aus der hervorgehe, dass der Kernel bei jedem neuen Release um zwei Prozentpunkte an Leistung einbüße. Für die letzten zehn Releases beziffert sich der Performance-Verlust so auf zwölf Prozent.

Torvalds bedauert, dass der Linux-Kernel nicht unbedingt das schlanke, kleine und super-effiziente Stück Software ist, das ihm vor fünfzehn Jahren vorschwebte. An einen konkreten Plan, wie man den Leistungsabbau stoppen könne, fehle es jedoch.

Einen Teil des Problems sieht Torvalds in dem Erfolg von Linux. Das System läuft inzwischen auf so vielen unterschiedlichen Plattformen und unterstützt so viele Geräte, dass der Linux-Urheber die Überladenheit des Kernels zwar für unaktzeptabel hält, sie zugleich aber kaum vermeidbar nennt.

Immerhin zeigte sich Torvalds zufrieden mit der Stabilität des Kernels: "Wir finden Bugs genauso schnell wie wir sie hinzufügen – auch wenn wir mehr Code aufnehmen".

Quelle : www.heise.de
Titel: Linux-Kernel 2.6.31.1 freigegeben
Beitrag von: SiLæncer am 24 September, 2009, 20:37
Ein Changelog gibts hier (http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.31.1)

http://www.kernel.org/
Titel: Kernel-Log: Hauptentwicklungsphase von Linux 2.6.32 abgeschlossen
Beitrag von: SiLæncer am 28 September, 2009, 12:43
Mit der Veröffentlichung der ersten Vorabversion (http://thread.gmane.org/gmane.linux.kernel/895032) des Linux-Kernels 2.6.32 hat Linus Torvalds in der vergangenen Nacht die Hauptentwicklungsphase der nächsten Version des Hauptentwicklungszweigs von Linux abgeschlossen. Da die Kernel-Hacker in dieser Merge Window genannten Phase nahezu alle größeren Änderungen einer neuen Kernel-Version in das Quellcodeverwaltungssystem einpflegen, lässt sich an 2.6.32-rc1 bereits jetzt gut erkennen, welche wichtigen Neuerungen das Anfang Dezember erwartete Linux 2.6.32 mitbringen wird.

So nahmen die Kernel-Entwickler einige Verbesserungen am Direct Rendering Manager (DRM) des Kernels vor, der dadurch 3D-Unterstützung und Kernel-based Mode-Setting (KMS) nun auch mit Radeon-Karten der Serien 2000, 3000 und 4000 beherrscht; damit beides auch funktioniert, braucht man jedoch Entwicklerversionen von Libdrm, Mesa 3D und den Radeon-Grafiktreibern für X.org. In den für unreife Treiber gedachten Staging-Bereich zogen mehrere WLAN-Treiber sowie die kürzlich unter der GPL freigegebenen Hyper-V-Treiber von Microsoft ein. Die Verwalter des Staging-Zweigs hatte zuvor angedroht, die Treiber für den Hypervisor von Microsoft bereits bei 2.6.33 wieder aus dem Kernel zu werfen, da sich die Microsoft-Entwickler angeblich nicht mehr um den Code kümmerten – die tauchten wenig später aber wieder auf, sodass dieses Schicksal erst einmal abgewendet scheint. Einige andere unbetreute Staging-Treiber fliegen aber mit 2.6.32 raus.

Zum Kernel hinzugestoßen ist ferner die Unterstützung für Intels früher als LaGrande Technology bekannte Trusted Execution Technology (TXT); die nächste Linux-Version unterstützt zudem einige der bei Intels-CPUs mit Nehalem-Ex-Kern eingeführten Techniken zur Behandlung und Umgehung von Speicherfehlern (HWPOISON). Zahlreiche Verbesserungen gab es auch an dem für die Zuteilung von Prozessorzeit an Anwendungen zuständigen Scheduler des Kernels. Viele Änderungen modifizieren die Tracing-Infrastruktur und die noch jungen Performance Counters, die in Performance Events umbenannt wurden. Eine Überarbeitung der Writeback-Infrastruktur soll ferner den I/O-Durchsatz in SMP-Systemen steigern.

Wie erwartet ist auch KSM ("Kernel Samepage Merging") jetzt dabei, dessen Arbeitsweise in den Proceedings des diesjährigen Linux Symposium (früher Ottawa Linux Symposium/OLS) detailliert erklärt wurde. Die vergangenen zweieinhalb Wochen seit der Freigabe von Linux 2.6.31 zeigten aber auch, dass die Kernel-Hacker bei der Arbeit immer wieder für Überraschungen gut sind. So wurde etwa das gelegentlich als "Devfs 2.0" verspottete devtmpfs aufgenommen, obwohl einige bekannte Kernel-Hacker es vor und nach der Aufnahme teilweise deutlich kritisiert hatten. Die Aufnahme der Replikationslösung DRBD (Distributed Replicated Block Device) erfolgte indes nicht, obwohl sich Andrew Morton zuvor für deren Integration bei 2.6.32 ausgesprochen hatte. Daran dürfte die im Kernel-Log bereits erwähnte und am am Wochenende immer noch aktive Diskussion um das Für und Wider von DRBD wohl Mitschuld tragen.

Quelle : www.heise.de
Titel: Linux Kernel 2.6.31.2 freigegeben
Beitrag von: SiLæncer am 05 Oktober, 2009, 20:24
Hier (http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.31.2) findet sich das Changelog dazu ....

http://www.kernel.org/
Titel: Linux Kernel 2.6.31.3 freigegeben
Beitrag von: SiLæncer am 08 Oktober, 2009, 08:37
Hier (http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.31.3) findet sich das Changelog dazu ....

http://www.kernel.org/
Titel: Kernel-Log:Verbesserte USB-3.0-Unterstützung, X.org-Treiber zurück in den Server
Beitrag von: SiLæncer am 08 Oktober, 2009, 13:16
Linux 2.6.31.2 bringt nicht nur kleinere Bugfixes, sondern auch einige ausgewählte größere Änderungen. Die X.org-Hacker passen ihre Entwicklungsstrategie an und wollen langfristig einige Treiber wieder mit dem Code des X-Servers zusammenführen.

Linux-Versionsstatus

Die Betreuer der Linux-Stable-Series haben kürzlich die Linux-Versionen 2.6.27.36, 2.6.30.9 und 2.6.31.2 freigegeben – wie so bei häufig mit der unspezifischen und nicht an Anwender von Distributionskerneln gerichteten Aufforderung, unbedingt auf die neuen Versionen zu wechseln ("All users of the 2.6.xx kernel series are very strongly encouraged to upgrade.").

Wie immer bringen diese neuen Versionen einige Fehlerkorrekturen und ausgewählte kleine Verbesserungen. Linux 2.6.31.2 enthält jedoch einige für einen Stable-Kernel ungewöhnlich umfangreiche Änderungen, die Greg Kroah-Hartman in seiner Review-Mail hervorhob. So soll etwa die mit 2.6.31 eingeführte USB-3.0-Unterstützung erst mit 2.6.31.2 richtig rund laufen; auch an einigen Treiber für WLAN, KVM und Xen wurde etwas mehr als üblich geschraubt. Große Server sollen mit der neuen Version zudem einen besseren I/O-Durchsatz erzielen.

In der Freigabe-Mail zu 2.6.30.9 erklärt Kroah-Hartman, dass dies die letzte Version der 2.6.30er-Reihe werde – Anwender sollen auf Linux 2.6.31 umsteigen. Die 2.6.27er-Serie wollen die Kernel-Hacker noch länger pflegen.

Hauptentwicklungszweig

Nachdem Linus Torvalds vor einer Woche das Merge Window von Linux 2.6.32 mit der Freigabe der ersten Vorabversion schloss, hat er kürzlich die zweite Vorabversion veröffentlicht. Sie heißt Linux 2.6.32-rc3, denn Torvalds hatte bei er Freigabe des rc1 versehentlich rc2 in das Makefile geschrieben , sodass sich die erste Vorabversion als zweiter RC ausgab – um Verwirrung zu vermeiden, nannte er die tatsächlich zweite Vorabversion jetzt rc3. Er hofft, solche Patzer in Zukuft zu vermeiden ("And let's hope that I won't have that particular "senior moment" any more. Although I'm sure I can screw up releases some other way.")

Die Replikationslösung DRBD (Distributed Replicated Block Device) hat wie berichtet die Aufnahme für Linux 2.6.32 verpasst – Torvalds zeigte sich aber gewillt, DRBD bei 2.6.33 einzupflegen.

X-Status

Nachdem die X.org-Entwickler im September über verlässliche Releases für X.org diskutierten, haben sie sich auf der kürzlich abgehaltenen X Developers' Conference 2009 (XDC2009) nun auf ein konkretes Vorgehen geeinigt, das dem ursprünglichen Vorschlag nahe kommt. Die Entwickler haben sich zudem darauf geeinigt, ungefähr bei der X-Server-Version 1.10 einige der derzeit separat gepflegten Treiber wieder in mit dem Code des X-Servers zusammenzuführen ("Around 1.10, we'd like to merge the drivers back into the core so we can start getting a coherent API (well, any API would be a start).").

Einige weitere Notizen zu den auf der XDC2009 diskutierten Themen finden sich im X.org-Wiki. Demnach ist Linux-Unterstützung für die unter anderem auf der kürzlich vorgestellten Radeon HD 5800 eingesetzten AMD-GPUs der R800-Serie in Arbeit ("support coming up").

Kernel-Log-Staccato

    * Über die Programm-Webseite der Ende September in Portland, Oregon abgehaltenen Linux Plumbers Conference finden sich zahlreiche Dokumente mit den auf der Konferenz gezeigten Präsentationsfolien. Viele von ihnen enthaltenen informative Hintergrundinformationen -- Introducing SELinux Sandbox vermittelt etwa einige Informationen zum kürzlich gezeigten Sandbox-Framework für Desktop-Applikationen; USB 3.0 for Linux liefert Hintergründe zu der bei Linux 2.6.31 aufgenommenen Kernel-Unterstützung für USB 3.0; Kay Sievers und David Zeuthen erklären in Re-plugging the Modern Desktop einige der aktuellen Entwicklungen rund um Udev, DeviceKit und Co.
    * Edward Shishkin hat eine zu Linux 2.6.31 passende Version des vor einigen Jahren viel diskutierten Dateisystems Reiser4 veröffentlicht.
    * Douglas Gilbert hat sg3_utils 1.28 und sdparm 1.04 freigegeben.
    * Dateisystem-Spezialisten Valerie Aurora versucht mit einem neuen RFC die Entwicklung einer ordentlichen, für die Aufnahme in den Hauptentwicklungszweig geeigneten Lösung für Union Mounts (beschreibbare Dateisystem-Overlays) weiter voran zu treiben.
    * Über die Webseiten von techcast.com steht seit einigen Tagen eine Aufzeichnung des auf der Linuxcon abgehaltenen "Linux Kernel Roundtable" als Flash-Video bereit – Torvalds hatte in der Diskussionsrunde gesagt, dass der Linux-Kernel aufgebläht sei.
    * Peter Hutterer hat den neuen Treiber xf86-input-wacom angekündigt – ein von Ping Cheng initiierter Fork des für Wacom-Grafiktabletts geeigneten Treibers linuxwacom, den die X.org-Hacker in Zukunft im Rahmen von X.org und Freedesktop.org entwickeln und verbessern wollen.
    * Die Entwickler des X.org-Grafiktreibers xf86-video-intel haben dessen Version 2.9.0 freigegeben. Sie bringt einige Verbesserungen für Intels ältere Grafikchipsätze der 800er-Reihe und Unterstützung für Intels B43-Chipsatz. Der Treiber ist Bestandteil des am selben Tag veröffentlichten "Intel 2009Q3 release package", das weitere, unter anderem für 3D-Unterstützung benötigte Treibersoftware enthält – darunter das kürzlich freigegebe Mesa3D in der Version 7.6. Laut den Intel-Entwicklern sei KMS (Kernel-based Mode Setting) mit dieser Treibersammlung bevorzugt einzusetzen ("KMS (Kernel Mode Setting) is strongly recommended to use in this release.").
    * Die im Embedded-Umfeld aktive Firma Pengutronix aus Hildesheim pflegt seit kurzem ein Depot mit für Debian vorkompilierte Kernel-Paketen, die die Realtime-Patches des RT-Entwicklerzweigs enthalten.

Quelle : www.heise.de
Titel: Linux Kernel 2.6.31.4
Beitrag von: SiLæncer am 13 Oktober, 2009, 11:39
Hier (http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.31.4) findet sich das Changelog dazu ....

http://www.kernel.org/
Titel: Kernel-Log – Was 2.6.32 bringt: Neuerungen bei Netzwerk-Subsystem und -Treiber
Beitrag von: SiLæncer am 18 Oktober, 2009, 10:01
In der Nacht von Donnerstag auf Freitag hat Linus Torvalds die vierte Testversion des Linux-Kernels 2.6.32 freigegeben – durch den Vertipper bei der ersten Vorabversion heißt sie jedoch nicht 2.6.32-rc4, sondern 2.6.32-rc5. Torvalds hat diese Version nur wenige Tage nach dem RC4 veröffentlicht, da er und viele andere Kernel-Hacker am Wochenende zum diesjährigen Linux Kernel Summit reisen, der nächste Woche in Tokyo stattfindet; in den kommenden Tagen dürften daher wohl nur wenige Änderungen den Weg in das Quellcodeverwaltungssystem des Linux-Kernels finden.

Mit der RC4 stieß noch ein größer SCSI-Treiber neu zum Hauptentwicklungszweig des Linux-Kernels, beim RC5 zwei Netzwerktreiber. Solche Nachzügler gibt es in fast jedem Entwicklungszyklus. Das Gros der Neuerungen haben die Entwickler aber wie immer im zwei Wochen langen Merge Window aufgenommen, das Torvalds bereits Ende September mit der Freigabe der ersten Vorabversion schloss. Das Kernel-Log kann daher schon jetzt einen Überblick über einige der größten Neuerungen der Anfang Dezember erwarteten Linux-Version 2.6.32 geben und widmet sich zum Auftakt der Kernel-Log-Mini-Serie "Was 2.6.32 bringt" den bedeutsamsten Änderungen rund um die Netzwerkunterstützung des Kernels; wichtige Neuerungen aus anderen Funktionsbereichen werden weitere Teile der Mini-Serie in den kommenden Wochen sein.

Funken

Im Treiber p54 haben die Entwickler die Unterstützung der Stromsparmechanismen wieder aktiviert. Um einen vermutlich von der Hardware verursachten Fehler zu umgehen, haben die Entwickler an anderer Stelle genau das Gegenteil gemacht und einige der Stromsparfunktionen im für Intels Wireless WiFi Link 4965AGN zuständigen Treiber iwl4965 deaktiviert. Die Entwickler wissen noch nicht, ob sie die Stromsparfunktionen je wieder werden aktivieren können. Die Kernel-Hacker verbesserten den Treiber für Intel-WLAN-Chips aber auch, denn anhand von Informationen durch pm_qos (Power Management Quality of Service) können diese nun automatisch entscheiden, wie tief sie die WLAN-Hardware schlafen legen.

Nach einigen Umbaumaßnahmen an den für zahlreiche neuere WLAN-Chips von Atheros zuständigen Treiber ath9k haben die Entwickler ihn um Unterstützung für die WLAN-Chips AR9287 erweitert; auch einige erste rudimentäre Teile zur Untersuchung des AR9271 fanden den Weg in den Kernel.

Der MAC80211-WLAN-Stack kann in Zukunft im Hintergrund nach WLAN-Netzwerken scannen, sodass eine Verbindung mit dem AccessPoint weiter Daten überträgt. Dan Williams, Hauptentwickler des NetworkManager, hebt diese für standortbezogene Dienste oder Roaming interessante Funktion in einem Blog-Eintrag hervor.

Neu dabei ist der Treiber wl1271 für den WLAN-Part der im Embedded-Bereich eingesetzen WiLink 6.0 Mobile Platform von Texas Instruments. Der Treiber b43 für WLAN-Chips von Broadcom kann nun auch mit den in einigen Notebooks oder im Embedded Bereich eingesetzten Low-Power-PHYs (LP-PHY) wie dem BCM4312 umgehen. Der vom Treiber p54pci beerbte Treiber prism54 soll nach den neuesten Planungen bei 2.6.34 aus dem Kernel fliegen.

Netzwerk

Gerade noch rechtzeitig für den RC5 nahmen die Kernel-Hacker den Treiber vmxnet3 in den Hauptentwicklungszweig auf. Er versteht sich mit dem "vmxnet3 virtual ethernet NIC" – einem Netzwerkadapter, den einige Virtualisierungslösungen von VMware emulierten. Der Linux-Kernel 2.6.32 bietet zudem die Infrastruktur, um mit dem Programm ethtool die Firmware von Netzwerk-Chips zu aktualisieren ("flashen").

Der für neuere Realtek-Netzwerk-Hardware zuständige Treiber r8169 unterstützt nun auch den Chip RTL8168D. Das ist aber nur einer von vielen Netzwerktreibern, die um Unterstützung für neue Hardware erweitert wurden – Informationen zu solchen Änderungen liefern die Commits im Abschnitt "Die kleinen Perlen" am Ende des Artikels.

Der Treiber Btusb beherrscht jetzt USB-Autosuspend – bei Bluetooth-Chips, die kein Remote Wakeup unterstützen, muss man das Interfaces allerdings herunterfahren, damit die Stromsparmechanismen zum Zuge kommen. Neu dabei sind die Treiber btmrvl und btmrvl_sdio für Bluetooth-Chips von Marvell (Dokumentation). Zudem integrierten die Kernel-Entwickler mehre mISDN-Treiber:

    * avmfritz für AVM-PCI-Karten der Fritz!-Serie
    * netjet für NETJet-PCI-Karten von Traverse Technologies
    * mISDNinfineon für verschiedene ISDN-Chips von Siemens beziehungsweise Infineon
    * speedfax für den auf Speedfax+-Hardware eingesetzten ISAR-DSP-Chip von Siemens
    * w6692 für PCI-Karten mit Winbond W6692

Erstmals im Kernel enthalten ist ein von einem Pengutronix-Mitarbeiter eingebrachter Treiber für den CAN-Controller auf dem Atmel-Chip AT91SAM9263 (1, 2). Der maßgeblich von Oracle-Entwicklern eingebrachte Code zur Unterstützung des für Server-Cluster konzipierten Protokolls Reliable Datagram Sockets  (RDS) unterstützt nun auch eine Übertragung via TCP.

Die kleinen Perlen

Die Kernel-Hacker haben die Unterstützung für Wireless Extensions (WE) und Network Namespaces erheblich verbessert. Die (englischen) Überschriften einiger dieser und weiterer nicht ganz so wichtigen, aber keineswegs unbedeutenden Änderungen finden sich in der folgenden Liste. Die Einträge verlinken genau wie viele der Verweise im vorangegangenen Text auf den jeweiligen Commit im Webfrontend des für die Linux-Entwicklung eingesetzten Quellcodeverwaltungssystems. Dort liefern normalerweise der Commit-Kommentar und der Patch selbst zahlreiche weitere Informationen zur jeweiligen Änderung.

LAN

    * Add support for w90p910 mac driver
    * be2net: Add GRO support to the be2net driver. LRO is not supported anymore.
    * be2net: Changes to support flashing of the be2 network adapter
    * bnx2: Update firmware to 5.0.0.j3.
    * bnx2x: Adding XAUI CL73 autoneg support
    * bnx2x: Fan failure
    * bnx2x: Fan failure early detection
    * bnx2x: New FW files
    * bnx2x: Removing old FW files
    * bnx2x: Supporting BCM8727 PHY
    * bnx2x: Supporting Device Control Channel
    * bnx2x: Supporting PHY FW upgrade
    * bnx2x: Using the new FW
    * broadcom: Add AC131 phy support
    * broadcom: Add BCM50610M support
    * can: sja1000: Add support for the new 4 channel EMS CPC-PCI cards
    * dm9000: add checksum offload support
    * drivers/net: ks8851_mll ethernet network driver
    * e1000: allow ethtool coalesece to adjust interrupts per second
    * e1000: drop dead pcie code from e1000
    * e1000: implement jumbo receive with partial descriptors
    * igb: add support for 82576 mezzanine card
    * igb: make serdes power down available for 82575 in addition to 82576 parts
    * ixgbe: Add device support for a new copper 82598 device
    * ixgbe: add support for 82599 based X520 10G Dual KX4 Mezz card
    * ixgbe: add support for 82599 Combined Backplane
    * ixgbe: Add support for using FCoE DDP in 82599 as FCoE targets
    * macvlan: add multiqueue capability
    * MIPS: BCM63XX: Add integrated ethernet PHY support for phylib.
    * mlx4_core: Add 40GigE device ID
    * net: Add DEVTYPE support for Ethernet based devices
    * net: add support for STMicroelectronics Ethernet controllers.
    * net: add Xilinx emac lite device driver
    * net: Teach pegasus driver to ignore bluetoother adapters with clashing Vendor:Product IDs
    * netxen: add hardware LRO support
    * netxen: add vlan tx acceleration support
    * netxen: ethtool statistics and control for LRO
    * netxen: firmware hang detection
    * pcnet_cs: add cis of Linksys multifunction pcmcia card
    * pcnet_cs: add cis of National Semicondoctor's multifunction pcmcia card
    * smsc95xx: add additional USB product IDs
    * tg3: Add 5717 asic rev
    * tg3: Add 57788, remove 57720
    * tg3: Add MSI-X support
    * tg3: Add new 5785 10/100 only device ID
    * tg3: Add RSS support
    * tg3: Add TSS support
    * ucc_geth: Implement suspend/resume and Wake-On-LAN support
    * vlan: multiqueue vlan device

WLAN

    *ar9170: remove EXPERIMENTAL marker
    * ar9170usb: add usbid for TP-Link TL-WN821N v2
    * ath5k: add hardware CCMP encyption support
    * ath5k: enable hardware LEDs
    * ath5k: remove EXPERIMENTAL marker
    * ath9k: add ar9271 revision and subrevision ID helpers
    * ath9k: Add Bluetooth Coexistence 3-wire support
    * ath9k: update kconfig to indicate support for AR9002 family
    * ath: simplify kconfig dependency and add documentation
    * b43: Add LP 2063 radio init
    * b43: Add LP PHY Analog Switch Support
    * b43: Add LP-PHY firmware loading support
    * b43: Add optional verbose runtime statistics
    * b43: Add Soft-MAC SDIO device support
    * b43: Fix and update LP-PHY code
    * b43: Implement RFKILL status for LP PHY
    * b43: LP-PHY: Implement channel switching for rev0/1/B2062 radio
    * b43: LP-PHY: Implement channel switching for rev2+/B2063 radio
    * b43: Make LP-PHY testable
    * b43: PCMCIA is not experimental anymore
    * b43: Remove BROKEN attribute from SDIO
    * b43: Rewrite suspend/resume code
    * b43: Use a threaded IRQ handler
    * cfg80211: enable country IE support to all cfg80211 drivers
    * cfg80211: introduce nl80211 testmode command
    * cfg80211: make aware of net namespaces
    * cfg80211: rework key operation
    * cfg80211: self-contained wext handling where possible
    * cfg80211: validate channel settings across interfaces
    * ieee802154: add a sysfs representation of WPAN master devices
    * ipw2x00: update contact information
    * iwlwifi: add thermal throttling support to 5150
    * iwlwifi: critical temperature enter/exit condition
    * iwlwifi: disable PS by default
    * iwlwifi: Handle new firmware file with ucode build number in header
    * iwlwifi: inform user about rfkill state changes
    * iwlwifi: make debug level more user friendly
    * iwlwifi: Thermal Throttling Management - Part 1
    * iwlwifi: Thermal Throttling Management - part 2
    * iwmc3200wifi: cfg80211 key hooks implemetation
    * iwmc3200wifi: cfg80211 managed mode port
    * libertas: Add support for Marvell Libertas CF8305
    * mac80211: allow using network namespaces
    * mac80211: cooperate more with network namespaces
    * mac80211: driver operation debugging
    * mac80211: Fix [re]association power saving issue on AP side
    * mac80211: redefine usage of the mac80211 workqueue
    * mac80211: remove deprecated API
    * mac80211: remove master netdev
    * mac80211: Update mesh config IE to 11s draft 3.02
    * MAINTAINERS: Add Atheros Linux wireless drivers home page
    * MAINTAINERS: add information for mwl8k wireless driver
    * MAINTAINERS: add information for wl1271 wireless driver
    * MAINTAINERS: add wl1251 wireless driver
    * net/compat/wext: send different messages to compat tasks
    * p54: implement rfkill
    * p54usb: add Zcomax XG-705A usbid
    * p54usb: add Zcomax XG-705A usbid
    * rfkill: relicense header file
    * rt2x00: Add new RF chip defines
    * rt2x00: move experimental on kconfig only to rt2800usb
    * rt2x00: Thrustmaster FunAccess WIFI USB and rt73usb
    * rt2x00: use wiphy rfkill interface
    * rtl8187: Implement rfkill support
    * ssb: Implement SDIO host bus support
    * wext: add back wireless/ dir in sysfs for cfg80211 interfaces
    * wext: default to y
    * wireless: default CONFIG_WLAN to y
    * wireless: default CONFIG_WLAN to y
    * wireless: update cfg80211 kconfig entry
    * wl1251: add sdio support
    * wl1271: add wl1271 to Kconfig and the Makefile
    * wl12xx: add support for new WL1271 chip revision
    * wl12xx: rename driver to wl1251
    * zd1211rw: adding Accton Technology Corp (083a:e501) as a ZD1211B device
Various other commits

    * at91sam9263: add at91_can device to generic device definition
    * Bluetooth: Add configuration support for ERTM and Streaming mode
    * Bluetooth: Add initial support for ERTM packets transfers
    * Bluetooth: Add support for FCS option to L2CAP
    * Bluetooth: Add support for L2CAP 'Send RRorRNR' action
    * Bluetooth: Add support for L2CAP SREJ exception
    * Bluetooth: Add support for Retransmission and Monitor Timers
    * Bluetooth: Add support for Segmentation and Reassembly of SDUs
    * Bluetooth: Enable Streaming Mode for L2CAP
    * Bluetooth: Improve USB driver throughput by increasing the frame size
    * Documentation: expand isdn/INTERFACE.CAPI document
    * genetlink: make netns aware
    * ieee802154: add support for channel pages from IEEE 802.15.4-2006
    * net: Add patchwork URL to MAINTAINERS
    * net/bridge: Add 'hairpin' port forwarding mode
    * net: force bridge module(s) to be GPL
    * pktgen: Fix multiqueue handling
    * RDS/IB: Handle connections using RDS 3.0 wire protocol
    * rfkill: add the GPS radio type

Quelle : www.heise.de
Titel: Linux Kernel 2.6.31.5 freigegeben
Beitrag von: SiLæncer am 23 Oktober, 2009, 09:13
Ein Changelog gibts hier (http://www.kernel.org/pub/linux/kernel/v2.6/testing/ChangeLog-2.6.32-rc5).

http://www.kernel.org/
Titel: Kernel-Log: Die Themen des Kernel Summit 2009,neue Grafiktreiber
Beitrag von: SiLæncer am 18 November, 2009, 11:50
Auf dem diesjährigen Kernel Summit haben die Linux-Hacker um Linus Torvalds nicht nur den Entwicklungsprozess diskutiert, sondern bekamen auch einen Einblick, wie Google den Linux-Kernel hausintern einsetzt. Ulrich Drepper und Alan Cox halten Universal Binaries unter Linux für den falschen Weg. Gleich mehrere Grafiktreiber wurden kürzlich aktualisiert und bringen neue Funktionen.

Entwicklertreffen

In Tokyo, Japan fand Mitte Oktober der diesjährige Kernel Summit statt, auf dem geladene Kernel-Entwickler über die verschiedensten Themen rund um den Linux-Kernel und dessen Entwicklung austauschen. Von vielen auf dem Treffen diskutierten Themen hat Linux Weekly News wie üblich ausführliche Zusammenfassung veröffentlicht, die mittlerweile auch Nicht-Abonnenten von LWN.net zugänglich sind.

Wie jedes Jahr war etwa der Entwicklungsprozess einer der Hauptthemen. Mit linux-stable und Linux-next seien die Kernel-Entwickler laut dem dem LWN.net-Bericht weitgehend zufrieden – es wurde allerdings kritisiert, dass ein nicht unerhebliche Zahl von Patches nicht in linux-next waren, bevor sie in den Hauptentwicklungszweig einflossen. Die Kernel-Hacker erwägen in Zukuft einzelne, offenbar von niemandem mehr genutzte Kernel-Treiber in den Staging-Bereich für unreife, den Qualitätsansprüchen der Kernel-Entwickler nicht genügende Treiber zu verlagern; wenn sich dort niemand der Treiber annimmt, sollen sie einige Monate später ganz aus den Kernel-Quellen entfernt werden. Das sind nur einige der angesprochenen Punkte – wie der Bericht hervorhebt, scheint Linus Torvalds mit dem Entwicklungsprozess im Großen und Ganzen zufrieden zu sein, was bisher bei keinem der Entwicklertreffen der Fall gewesen sei.

Der Artikel "How Google uses Linux" beschäftigt sich ausführlich mit dem Kernel-Summit-Vortrag eines Google-Mitarbeiters, der den Einsatz von Linux beim Suchmaschinenriesen beschreibt. Google setzt demnach bislang auf eher ältere, nur selten aktualisierte Kernel, die umfangreiche Änderungen enthalten, um sie für die hauseigenen Nutzung zu optimieren. Viele dieser Verbesserungen hätten die Google-Entwickler nicht zur Integration in den Hauptentwicklungszweig eingesandt. Es gibt aber Bestrebungen, in Zukunft enger mit den Kernel-Entwicklern zusammenzuarbeiten.

Wie so häufig diskutierten die Kernel-Entwickler auch über das bestmögliche Vorgehen zum Verhindern von Regressions – also Problemen in neuen Kernel-Version, die deren Vorgänger nicht zeigten. Zur Sprache kamen auch Performance Regressions, nachdem Linus Torvalds kürzlich für viel Aufsehen gesorgt hatte mit der Aussage, der Kernel sei aufgebläht und riesig ("bloated and huge").

Im Rahmen des Kernel-Summits wurden ferner fünf Mitglieder des Technical Advisory Board (TAB) der Linux Foundation neu besetzt. Gewählt wurden: Jonathan Corbet von LWN.net, Greg Kroah-Hartman von Novell, Alan Cox von Intel, Thomas Gleixner von Linutronix und den an die Linux Foundation "ausgeliehenen" Theodore Y. Ts'o von IBM. Spaß hatten die Kernel-Entwickler im Rahmen des Summits offensichtlich auch – zumindest deutet darauf ein von Chris Schläger veröffentlichtes Foto stark hin, das Linus Torvalds in eindeutiger Pose an einem Verkaufsstand von Windows 7 zeigt. Ein Gruppenfoto der Summit-Teilnehmer findet sich bei LWN.net.

Zu fett

Ryan Gordon erregte kürzlich viel Aufmerksamkeit mit der Vorstellung des FatELF-Konzepts, das Universal Binaries unter Linux ermöglicht. Glibc-Maintainer Ulrich Drepper zeigt sich von der Idee auf einer Fedora-Mailingliste wenig begeistert: Das Ganze sei eine viele Umstände machende "Lösung" für ein Problem, das gar nicht existiere; er versteht nicht, warum Leute überhaupt darüber nachdenken ("It is a 'solution' which adds costs in many, many places for a problem that doesn't exist. I don't see why people even spend a second thinking about this.").

Gordon hat unterdessen einige FatELF-Kernel-Patches zur Begutachtung an die LKML gesandt. Dort sprach sich Alan Cox deutlich gegen die Aufnahme eines von ihnen aus. In einem Diskussionsbeitrag an anderer Stelle widmet sich das Linux-Urgestein den vermeintlichen Vorteilen von FatELF näher. Dabei legt er detailliert dar, warum diese in der Linux-Welt nicht von Bedeutung seien – Paket-Manager hätte die Probleme schon in den 90ern gelöst.

Weiter ungeklärt ist zudem, ob FatELF in der derzeitigen Form nicht Patente verletzt; Ryan Gordon sucht nach Hilfe, um dies zu klären und die Patente gegebenenfalls zu umgehen. [Update 20091104-1130] Die Diskussionen um FatELF scheinen Gordon demotiviert zu haben, denn laut einem seiner Finger-Updates erwägt er, das FatELF-Projekt einzustellen [/Update]

Kernel-Staccato

    * Ein Entwickler schlug kürzlich vor, das vor einigen Monaten von David Miller übernommene IDE-Subsystem als "deprecated" (veraltet, missbilligt) zu kennzeichnen, um die Leute zum Umstieg auf die moderneren Treiber des Libata-Subsystem zu bewegen. Vieles deutet darauf hin, dass der Vorschlag umgesetzt werden wird, nur wann wird noch diskutiert.
    * Die bei Linux 2.6.29 in den Staging-Bereich des Kernels aufgenommenen Android-Treiber fliegen möglicherweise wieder raus, weil die Google-Entwickler diese nicht mehr betreuen würden. Ein Google-Mitarbeiter kündigte allerdings an, dass sich die Programmierer langfristig wieder um die Aufnahme in den Hauptbereich des Linux-Kernels bemühen wollen.
    * Die Entwickler des Grub-Projekts haben kürzlich die Version 1.97 des Boot-Loaders Grub2 freigegeben. Sie kann nun die Kernel verschiedener BSD-Derivate laden, unterstützt x86-64-EFI und bietet Verbesserungen für GPT; Datenträger lasen sich zudem nun auch via UUID ansprechen.
    * Die aktuellsten Stable-Kernel sind die am 23. Oktober veröffentlichten Versionen 2.6.27.38 und 2.6.31.5.
    * Kernel-Entwickler Rusty Russell arbeitet in Zukunft verstärkt an Samba, will aber die Virtio-Treiber weiter betreuten.
    * Nachdem es um die Aufnahme der für viele Fernbedienungen genutzten Lirc-Treiber in den Hauptentwicklungszweig von Linux lange still war, nimmt Jarod Wilson nun einen neuen Anlauf.
    * Neil Brown, Betreuer des MD-Codes im Kernel, hat die Versionen 3.0.3 und 3.1.0 von mdadm freigegeben. Während erstere kleinere Verbesserungen und Fehlerkorrekturen bringt, bietet Letztere zahlreiche neue Möglichkeiten zum Aus- und Umbau eines Software-RAIDs. So lässt sich mit ihr nun ein RAID 1 in ein RAID 5 und von da in ein RAID 6 und wieder zurück verwandeln; RAIDs der Level 4, 5 und 6 lassen sich zudem verkleinern. Einige dieser Funktionen benötigen jedoch sehr neue oder noch gar nicht veröffentlichte Kernel-Versionen. Anwender sollen die Version 3.1.0 allerdings nur einsetzen, wenn sie diese Funktionen benötigen oder die neue Version testen wollen. Brown hat in der Zwischenzeit bereits einige Fehler gefunden und will diese mit Version 3.1.1 ausräumen – er erwartet, diese zur allgemeines Nutzung empfehlen zu können.

Grafiktreibereien

Ende vergangener Woche hat Nvidia die Version 190.42 der proprietären Grafiktreiber für x86-32- und x86-64-Linux veröffentlicht. Zu den Neuerungen zählt Unterstützung für OpenGL 3.2, X-Server 1.7.0 RC1 und zahlreiche neue Grafikkarten-Modelle; einige Verbesserungen gab es zudem für das Video Decode and Presentation API for Unix (VDPAU). Über den Treiber lässt sich nun auch die Lüftersteuerung und das Stromsparverhalten ("GPU PowerMizer Mode") beeinflussen.

Bereits einige Tage zuvor hatte auch AMD eine neue, als 9.10 bezeichnete Version seiner proprietären Linux-Grafiktreiber veröffentlicht. Zu den Neuerungen zählt die vorläufige Unterstützung ("Early Look Support") des mit Linux-Kernel 2.6.31 ausgestatteten Ubuntu 9.10. Die Release Notes listen zudem eine Reihe von Fehlern, die mit der neusten Treibern nicht mehr auftreten sollen.

Die Intel-Entwickler haben derweil die Version 2.9.1 der quelloffenen Treiber für Grafikchipsätze des Intel veröffentlicht, die im wesentlichen Fehlerkorrekturen bringt. Bereits kurz nach dem letzten Kernel-Log hatten die Entwickler des Treibers radeonhd dessen Version 1.3.0 freigegeben. Treiber-Entwickler Matthias Hopf listet in einem Blog-Eintrag die wichtigsten Neuerungen wie die Unterstützung für neuere Radeon-Modelle, HDMI-Audio und einige Stromsparfunktionen von Radeon-Grafikhardware. Welche Änderungen und Verbesserungen es im letzten halben Jahr am Nouveau-Treiber für Nvidia-Grafikhardware gab, fasste Ben Skeggs derweil in seinem Blog zusammen.

Grafik-Staccato

    * Peter Hutterer hat in einem Blog-Eintrag nochmal die wichtigsten Neuerungen des kürzlich veröffentlichten X11R7.5 (Xorg 7.5) zusammengefasst. Zu ihr gehört die Version 1.7.1 des X-Servers, die zahlreiche Fehler der Anfang Oktober veröffentlichten Version 1.7.0 ausräumen soll.
    * Nachdem KMS (Kernel-based Mode-Setting) bereits einen weitgehend flackerfreien Startvorgang ermöglicht, sollen Systeme mit kooperativem BIOS und einigen von Jesse Barnes vorgestellten Patches vollkommen flackerfrei starten.
    * Verschiedene Entwickler haben in den vergangenen Tagen die Tabelle im X.org-Wiki erheblich verändert, die den Funktionsumfang der X-Treiber für Radeon-Hardware auflistet; neu ist eine Spalte für die auf der Radeon-HD-5000-Serie verbauten Evergreen-GPUs, entfernt wurden die Spalten für den Treiber radeonhd.
    * Ein bei Nvidia an den proprietären Linux-Grafiktreibern arbeitender Programmierer gab kürzlich in einem Interview bei Phoronix einige Einblicke zu den Treibern, deren Entwicklung und dem Stellenwert der Treiber im Unternehmen.

Quelle : www.heise.de
Titel: Kernel-Log – Was 2.6.32 bringt (2): Grafik
Beitrag von: SiLæncer am 18 November, 2009, 11:52
Die nächste Kernel-Version wird 3D-Unterstützung für Radeon-Grafikkarten der Serien 2000, 3000 und 4000 bieten. Die Treiber für Intel-Grafikchips beherrschen neue Stromsparfunktionen und sollen vor allem auf älteren Mainboard-Chipsätzen runder laufen. Zudem wollen die Entwickler die Unterstützung von TV-Ausgängen bei AMD- und Intel-Hardware verbessern.

Anfang November hat Linus Torvalds 2.6.32-rc6 freigegeben – wegen des Kernel Summit erschien der sechste RC nicht wie sonst üblich eine, sondern zwei Wochen nach dem rc5. Wie bei diesem Stand des Entwicklungszyklus üblich, sind die in den vergangenen Tagen integrierten Patches vorwiegend klein, um in den verbleibenden drei bis sechs Wochen bis zur Freigabe von Linux 2.6.32 keine Änderungen einzuschleusen, die neue Fehler auslösen.

Nach der Beschreibung der Änderungen im Netzwerksubsystem widmet sich das Kernel-Log nun den wichtigsten Neuerungen rund um die Unterstützung für Grafikhardware. Auf einiges davon dürften viele Anwender warten, seit AMD wieder enger mit Open-Source-Entwicklern zusammenarbeitet.

3D und KMS für Radeon

Kernel und Direct Rendering Manager (DRM) beherrschen in Zukunft 3D-Unterstützung und Kernel-based Mode-Setting (KMS) auch mit den AMD-GPUs der Baureihen R600 und R700. Die kommt in den Radeon-Modellen der Serien 2000, 3000 und 4000 zum Einsatz – also bei den meisten der in den letzten zwei bis drei Jahren verkauften Radeon-Grafikkarten sowie verschiedenen AMD-Mainboard-Chipsätzen der 700er-Baureihe.

Damit 3D-Unterstützung und KMS aber auch funktionieren, sind darauf abgestimmte (Entwickler-)Versionen von Libdrm und Mesa 3D sowie dazu passende Radeon-Grafiktreiber für X.org erforderlich. Diesen Software-Stack passend zusammenzustellen ist eher etwas für fortgeschrittene Anwender – das Fedora-Projekt will alles Nötige jedoch in dem Mitte des Monats erwarteten Fedora 12 in einem experimentellen Paket mitliefern.

Der Radeon-KMS-Treiber bietet in Zukunft auch Basisunterstützung zum Aktivieren von TV-Ausgängen. Der KMS-Treiber für Intel-Grafikchips konnte das schon vorher, unterstützt nun aber eine größere Zahl und mehr Funktionen der dafür zuständigen SDVO-Chips (1, 2, 3).

Der Intel-KMS-Code komprimiert ab 2.6.32 zudem den Framebuffer-Speicher, was die Leistungsaufnahme laut den Entwicklern um bis zu 0,5 Watt senkt; die neue dynamische Taktanpassung ("Dynamic Clock Frequency Control") soll bei unbelastetem System die Stromaufnahme durch Reduzieren der LCD-Bildwiederholrate, Self-Memory-Refresh und Taktreduzierung weiter vermindern und so die Akku-Laufzeit von Notebooks verlängern. Der Intel-Treiber geht zudem effizienter mit dem Grafikspeicher um (1, 2) und versucht, abgestürzte GPUs wieder neu zu initialisieren.

Koordiniert

Aufgenommen haben die Kernel-Hacker auch die VGA-Arbitration-Patches (1, 2, Dokumentation). Bei Systemen mit mehreren Grafikkarten stellen sie zusammen mit einem X-Server ab Version 1.7 sicher, dass die jeweils richtige Grafikkarte die ihr zugedachten VGA-Kommandos des X-Servers auch erhält – das soll deutlich mehr Flexibilität beim Aufsetzen von Multiseat-Umgebungen ermöglichen.

Einige weitere Änderungen im für die Unterstützung für Grafikhardware zuständigen Code des Kernels:

    * Über den Parameter "video=" kann man dem KMS-Code zukünftig eine bestimmte Ausgabe-Bildschirmauflösung für einzelne oder alle Monitore vorgeben .
    * Die bislang mit dem Radeon-Treibercode eng verbundene Firmware haben die Entwickler in eigene Dateien ausgelagert und laden diese fortan mit Hilfe des Firmware-Loaders. Eine vergleichbare Änderung gab es auch im Treibercode für Matrox-Grafikkarten.
    * Neu dabei ist ein Framebuffertreiber für MSM/QSD SoCs von Qualcomm, die etwa beim HTC Dream (aka T-Mobile G1, aka ADP1) zum Einsatz kommen.
    * Die Entwickler haben die von Radeon-Treibern des Kernels bei der Initialisierung genutzten Codepfade überarbeitet. Das soll ihnen die Wartung vereinfachen, aber auch das Suspend- und Resume-Verhalten verbessern – die zuständigen Commits finden sich in der Liste am Ende des Artikels. Die Treiber-Pflege sollte auch die Zusammenlegung einiger Teile des KMS-Codes für AMD- und Intel-GPUs vereinfachen.
    * Der Framebuffertreiber für VIA-Grafikhardware unterstützt nun auch den VX855-Chipsatz. Zudem haben die Kernel-Hacker die 2D-Engine des VIA-Treibers neu geschrieben.
    * Mit Hilfe der neuen Tracepoint-Unterstützung lässt sich in Zukunft das Verhalten des DRM-Codes fürs Intels aktuelle Grafikchipsätze besser beobachten.
    * Die Entwickler wollen zahlreiche seit der Aufnahme von GEM bei 2.6.27 auftretende Fehler mit Intel-Chipsätzen der 8xx-Serie behoben haben.
    * Der KMS-Code für Radeon-Grafikhardware unterstützt nun Surround View – also den Parallelbetrieb von Radeon-Grafikkarte mit Chipsatzgrafik.

Die kleinen Perlen

Viele weitere nicht ganz so wichtige, aber keineswegs unbedeutende Neuerungen finden sich in der folgenden Liste, die die englischen Commit-Überschriften der jeweiligen Änderung enthalten. Die Einträge verlinken genau wie viele der Verweise im vorangegangenen Text auf das Webfrontend des von Linus Torvalds gepflegten Git-Zweigs mit den Kernel-Quellen auf Kernel.org. Im Webfrontend liefern normalerweise der Commit-Kommentar und der Patch selbst zahlreiche weitere Informationen zur jeweiligen Änderungen.
    * Add G33 series in VGA hotplug support category
    * agp/intel: Add B43 chipset support
    * davinci: fb: Frame Buffer driver for TI DA8xx/OMAP-L1xx
    * drm: Add more standard TV properties.
    * drm: Add the basic check for the detailed timing in EDID
    * drm/edid: Fix standard timing parse for EDID <= 1.2
    * drm/edid: Ignore bad standard timings.
    * drm: Enable drm drivers to add drm sysfs devices.
    * drm/i915: add B43 chipset support
    * drm/i915: add FIFO watermark support for G4x
    * drm/i915: disable powersave feature for Ironlake currently
    * drm/i915: do dynamic clock freq control only in kernel modesetting
    * drm/i915: Fix FDI M/N setting according with correct color depth
    * drm/i915: fix startup hang on some non-mobile platforms
    * drm/i915: force mode set at lid open time
    * drm/i915: framebuffer compression for GM45+
    * drm/i915: generate a KMS uevent at lid open/close time
    * drm/i915: Ironlake suspend/resume support
    * drm/i915: Save and restore the GM45 FBC regs on suspend and resume.
    * drm/i915: Support IGD EOS
    * drm/kms: add a function that can add the mode for the output device without EDID
    * drm/kms: Add the default mode table
    * drm/kms: fix kms helper license + Kconfig
    * drm/kms/i915: Add the default mode for CRT output without EDID
    * drm/kms/radeon: make kms default a runtime option
    * drm/mode: add the CVT algorithm in kernel space
    * drm/mode: add the GTF algorithm in kernel space
    * drm/mode: get the modeline for standard timing in EDID by using CVT/GTF
    * drm/r128: Use request_firmware() to load CCE microcode
    * drm/radeon/kms: add 32/64 ioctl support.
    * drm/radeon/kms: add common lvds modes in the ddc case
    * drm/radeon/kms: add common scaled modes for TV and LVDS
    * drm/radeon/kms: add initial connector properties
    * drm/radeon/kms: add rn50/r100/r200 CS tracker.
    * drm/radeon/kms: Convert R100 to new init path (V2)
    * drm/radeon/kms: Convert R300 to new init path
    * drm/radeon/kms: Convert RS400/RS480 to new init path
    * drm/radeon/kms: Convert RS400/RS480 to new init path & fix legacy VGA (V3)
    * drm/radeon/kms: Convert RS600 to new init path
    * drm/radeon/kms: Convert RS690/RS740 to new init path (V2).
    * drm/radeon/kms: enable r600 tv outputs.
    * drm/radeon/kms: Fix AGP support for R600/RV770 family (v2)
    * drm/radeon/kms: Remove old init path as no hw use it anymore
    * drm: split crtc/fb helpers into a separate module
    * drm/ttm: Add a virtual ttm sysfs device.
    * drm/ttm: Memory accounting rework.
    * ep93xx video driver
    * i915: fix intel graphics suspend breakage due to resume/lid event confusion
    * matroxfb: make CONFIG_FB_MATROX_MULTIHEAD=y mandatory
    * omapfb: add FB manual update option to Kconfig
    * omapfb: add support for rotation on the Blizzard LCD ctrl
    * omapfb: add support for the 2430SDP LCD
    * omapfb: add support for the 3430SDP LCD
    * omapfb: add support for the Amstrad Delta LCD
    * omapfb: add support for the Apollon LCD
    * omapfb: add support for the OMAP2EVM LCD
    * omapfb: add support for the OMAP3 Beagle DVI output
    * omapfb: add support for the OMAP3 EVM LCD

Quelle : www.heise.de
Titel: Kernel-Log – Was 2.6.32 bringt (3): Neuerungen rund um Datenspeicherung
Beitrag von: SiLæncer am 18 November, 2009, 13:10
Die Kernel-Entwickler haben Btrfs an verschiedenen Stellen optimiert und wollen dadurch unter anderem die Schreib-Performance des experimentellen Dateisystems deutlich gesteigert haben. Einige Änderungen am Block-Layer versprechen größeren Datendurchsatz und bessere Reaktionsfähigkeit. Zudem sind einige neue Treiber für Storage-Hardware hinzugekommen.

Ende verganger Woche hat Linus Torvalds den Linux-Kernel 2.6.32-rc7 freigegeben – Hinweise auf den Fertigstellungstermin von 2.6.32 gab er dabei allerdings nicht. Mindestens eine, vermutlich aber noch zwei weitere Vorabversionen dürfte es aber in diesem durch Vertipper und Kernel Summit leicht durcheinander geratenen Entwicklungszyklus noch geben. Nach den Übersichten über die Änderungen im Netzwerksubsystem und denen für Grafik-Hardware geht es in diesem Teil der Kernel-Log-Serie zu Linux 2.6.32 um Dateisysteme und das Storage-System.

Btrfs

Einen ganzen Haufen von Änderungen gab an Btrfs. So soll das experimentelle "Next Generation File System for Linux" auf schneller Hardware nun mehr als 1 Gigabyte Daten pro Sekunde schreiben können. Auf dem eingesetzten Testsystem liege es dadurch nun auf dem selben Niveau wie XFS– zuvor hätte Btrfs nur rund 400 Megabyte Daten pro Sekunde übertragen, da es die CPU voll auslastete. Snapshots und Subvolumes lassen sich bei Btrfs nun umbenennen und deutlich schneller löschen; durch einige andere Optimierungen sollen zudem RPM und Yum etwas schneller arbeiten.

Btrfs reserviert bei Delayed Allocations jetzt zuverlässiger als zuvor genug Speicherplatz für die zu erwartenden Metadaten, damit sichergestellt ist, dass für diese beim späteren Schreiben auch noch genug Raum zur Verfügung steht. Neu dabei ist noch experimenteller Code für "Discard-Operationen", über die das Dateisystem SSDs langfristig mitteilen soll, welche Blöcke durch das Löschen von Dateien frei wurden – die dazu nötige Unterstützung in den SCSI- und Libata-Subsystemen ist allerdings noch in Arbeit.

Eine Liste weitere Änderungen rund um Btrfs findet sich am Ende des Artikels und in verschiedenen Git-Pull-Request, in denen Btrfs-Hauptentwickler Chris Mason die wichtigsten Neuerungen jeweils kurz erläuterte (1, 2, 3). Der bei Oracle beschäftige Mason hat viele der Änderungen selbst entwickelt, viele stammen aber auch von Entwicklern, die bei anderen Firmen in Lohn und Brot stehen. Wie wichtig eine solche Verteilung der Entwicklerressourcen und des Know-Hows für ein erfolgreiches, beständiges Open-Source-Projekt sind, hatte der für seine Arbeit an Ext-Dateisystemen bekannte Theodore Ts'o ("tytso") erst kürzlich in einem Vortrag auf dem Linux Kongress nachhaltig betont.

Ext3, Ext4, XFS und Co.

Einige weitere Änderungen am Dateisystemcode des Linux-Kernels:

    * Über Theodore Ts'o fanden zahlreiche Änderungen an Ext3 und Ext4 den Weg in den Hauptentwicklungszweig (1, 2). Eine von ihnen soll den Benchmark "fs_mark" in bestimmten Konfigurationen um fünfzig Prozent beschleunigen. Den seit längerem in Entwicklung befindliche Betriebsmodus "data=guarded" für das Ext3-Dateisystem ließen die Kernel-Hacker aber auch diesmal außen vor.
    * Sysfs unterstützt nun Security Labels, was Sicherheitsframeworks wie SELinux eine Zugriffskontrolle in dem virtuellen Dateisystem ermöglicht.
    * Der VFAT-Code des Kernels bindet FAT-Datenträger zukünftig nicht mehr mit dem bislang durch die Mount-Option "shortname=lower" aktivierten Verhalten ein, sondern verwendet statt dessen nun "shortname=mixed". Dadurch  soll sich die Groß-/Kleinschreibung von Dateinamen beim Kopieren mit Linux nicht mehr wie bisher verändern.
    * Fscache unterstützt nun auch das Dateisystem 9p.
    * Eine Änderung an XFS soll in gewissen Situationen die Suche nach freien Inodes um das Drei- bis Vierfache beschleunigen. Einen Überblick über weitere Entwicklungen bei XFS liefern die "XFS status updates" für September und Oktober.

Block-Layer

Der von vielen Distributionen verwendende I/O-Scheduler CFQ (Completely Fair Queuing) optimiert nun die Anfragen für kurze Reaktionszeiten. Dadurch sollen Desktop-Anwendungen nicht mehr so stark von im Hintergrund laufenden Programmen, die größere Mengen Daten verarbeiten, abgebremst werden und sich so schneller anfühlen. Hintergründe zu den Änderungen liefert ein Kommentar des für das Block-Subsystem zuständigen Entwicklers Jens Axboe im Forum von LWN.net. Manche Zugriffsmuster arbeiten durch das neue Verhalten aber etwas langsamer, daher kann man den Low-Latency-Mode von CFQ via Sysfs deaktivieren.

Axboe brachte zudem eine größere, über Monate erarbeitete Überarbeitung der Writeback-Infrastruktur ein. Durch sie kümmert sich nun um jedes Gerät ein eigener Thread. Durch diese und andere Änderungen soll der Datendurchsatz bei Writeback-lastigen Zugriffsszenarien deutlich steigen und gleichmäßiger verlaufen, was der Entwickler mit zweier Benchmark-Grafiken und einigen Messwerten im Commit-Kommentar unterstreicht; einige andere Messwerte finden sich auch über eine Mail von Chris Mason. Einige Hintergründe zu den Änderungen liefert ein Vortrag von Axboe sowie ein im April veröffentlichter Artikel auf LWN.net. Auch zum neu aufgenommenen blk-iopoll hat die Webseite einen Artikel, in dem sie den NAPI-ähnlichen Ansatz zum Zugriff auf Datenträger beschreibt, der durch das Reduzieren von IRQs den Maximaldurchsatz steigern will.

Einige weitere Änderungen im Block-Subsystem listet der der Haupt-Git-Pull-Request von Axboe. Nach einer längeren Diskussion um das Für und Wider der Replikationslösung DRBD (Distributed Replicated Block Device) hat diese die Aufnahme für 2.6.32 indes nicht geschafft – Torvalds zeigte sich aber willens, sie bei Linux 2.6.33 einzupflegen.

Libata, Treiber und Co.

    * Über das Sysfs lassen sich zukünftig einige Informationen zu den AHCI-Fähigkeiten auslesen – etwa ob ein Port Hotplug-fähig ist oder es sich um eSATA-Anschluss handelt. Userspace-Anwendungen sollen mit diesen Informationen bessere Entscheidungen über das optimale Verhalten treffen können – etwa bei der Konfiguration von ALPM (Agressive Link Power Management).
    * Die Kernel-Entwickler haben die Treiber pata_atp867x für den von ARTOP/Acard gefertigten PATA-Adapter ATP867X und pata_rdc für PATA-Adapter von RDC integriert. Neu dabei ist auch Unterstützung für die AMD-Southbridge SB900 – bis AMD diese einführt, dürften nach derzeitigem Kenntnisstand allerdings noch mehrere Monate vergehen.
    * Zum SCSI-Subsystem stieß mit einem über 1,4 MByte großen Patch der bfa genannte Treiber für FC- und FCOE-Host-Adapter von Brocade. Deutlich kleiner sind die ebenfalls neuen Treiber be2iscsi für die iSCSI-Funktion des BladeEngine 2 genannten 10Gbps-Storage-Adapter von ServerEngines sowie pmcraid für die von PMC Sierra gefertigten 6Gb/s-SAS-Adapter der MaxRAID-Serie. Zahlreiche Änderungen gab es auch am im SCSI-Subsystem beheimateten FCOE-Treiber.
    * Im MD-Code und einigen anderen Subsystemen des Kernels gab es verschiedene Änderungen, um die Berechnungen für RAID der Level 6 besser auf dafür ausgelegte Hardware auslagern zu können. Es gab zudem viele Änderungen am noch jungen MD-Code, der verschiedene Aus- und Umbaumöglichkeiten von Software-RAIDs unterstützt – etwa das Umwandeln eines RAID 1 in ein RAID 5 und von da in ein RAID 6 und wieder zurück. Solche Aufgaben lassen sich mit Mdadm-Versionen der 3.1er-Reihe anstoßen. Die erste Version diese Serie hat der für den MD-Code des Kernels und Mdadm zuständige Entwickler allerdings zurückgezogen, 3.1.1 aber schon für bald in Aussicht gestellt. Er hat zudem noch einige Verbesserungen rund um den für die Aus- und Umbaumöglichkeiten zuständigen Kernel-Code ausgearbeitet, die bei 2.6.33 einziehen soll.

Die kleinen Perlen

Viele weitere kleinere Neuerungen finden sich in der folgenden Liste mit den englischen Commit-Überschriften der jeweiligen Änderung. Die Einträge verlinken genau wie viele der Verweise im vorangegangenen Text auf das Webfrontend des von Linus Torvalds mit Git-Zweigs mit den Kernel-Quellen auf Kernel.org. Im Webfrontend liefern normalerweise der Commit-Kommentar und der Patch selbst zahlreiche weitere Informationen zur jeweiligen Änderungen.
Filesystems

Btrfs

    * Btrfs: add snapshot/subvolume destroy ioctl
    * Btrfs: always pin metadata in discard mode
    * Btrfs: cache values for locking extents
    * Btrfs: change how subvolumes are organized
    * Btrfs: check size of inode backref before adding hardlink
    * Btrfs: find ideal block group for caching
    * Btrfs: improve async block group caching
    * Btrfs: only write one super copy during fsync
    * Btrfs: optimize fsync for the single writer case
    * Btrfs: reduce CPU usage in the extent_state tree
    * Btrfs: streamline tree-log btree block writeout
    * Btrfs: Use CONFIG_BTRFS_POSIX_ACL to enable ACL code

Ext3, Ext4

    * ext3: Add locking to ext3_do_update_inode
    * ext3: Update documentation about ext3 quota mount options
    * ext3: Update MAINTAINERS for ext3 and JBD
    * ext4: Add configurable run-time mballoc debugging
    * ext4: Add new tracepoint: trace_ext4_da_write_pages()
    * ext4: async direct IO for holes and fallocate support
    * ext4: drop ext4dev compat
    * ext4: Fix memory leak fix when mounting an ext4 filesystem
    * ext4: limit block allocations for indirect-block files to < 2^32
    * ext4: Split uninitialized extents for direct I/O
    * ext4: Update documentation about quota mount options
    * ext4: Update documentation about quota mount options
    * ext4: Use tracepoints for mb_history trace file
    * jbd2: Use tracepoints for history file

Others

    * 9p: Update documentation to add fscache related bits
    * CIFS: Re-enable Lanman security
    * doc/filesystems: more mount cleanups
    * doc/filesystems: remove smount program
    * Documentation: update stale definition of file-nr in fs.txt
    * fs/inode.c: add dev-id and inode number for debugging in init_special_inode()
    * fs/Kconfig: move nilfs2 outside misc filesystems
    * GFS2: Add a document explaining GFS2's uevents
    * GFS2: Add "-o errors=panic
    * GFS2: Add sysfs link to device
    * inotify: deprecate the inotify kernel interface
    * NFS: Add a dns resolver for use with NFSv4 referrals and migration
    * NFS: Allow the "nfs" file system type to support NFSv4
    * nfsd41: sunrpc: Added rpc server-side backchannel handling
    * nfsd: revise 4.1 status documentation
    * NFS: Fix port and mountport display in /proc/self/mountinfo
    * NFSv4: Disallow 'mount -t nfs4 -overs=2' and 'mount -t nfs4 -overs=3'
    * ocfs2: Add CoW support.
    * ocfs2: Add CoW support for xattr.
    * ocfs2: Add ioctl for reflink.
    * ocfs2: Add preserve to reflink.
    * ocfs2: Add reflink support for xattr.
    * ocfs2: Add support for incrementing refcount in the tree.
    * SUNRPC: convert some sysctls into module parameters
    * UBIFS: kill BKL
    * vfat: change the default from shortname=lower to shortname=mixed
    * vfs: allow file truncations when both suid and write permissions set
    * xfs: Record new maintainer information

Storage

Block

    * block: enable rq CPU completion affinity by default
    * cfq-iosched: add a knob for desktop interactiveness
    * cfq-iosched: drain device queue before switching to a sync queue

Libata

    * ahci: Add the AHCI controller Linux Device ID for NVIDIA chipsets.
    * ahci / atiixp / pci quirks: rename AMD SB900 into Hudson-2
    * ahci: display all AHCI 1.3 HBA capability flags (v2)
    * ahci: Enable SB600 64bit DMA on MSI K9A2 Platinum v2
    * ahci: filter FPDMA non-zero offset enable for Aspire 3810T
    * ahci: Gigabyte GA-MA69VM-S2 can't do 64bit DMA
    * ahci: make ahci_asus_m2a_vm_32bit_only() quirk more generic
    * libata: add command name parsing for error output
    * libata: add DMA setup FIS auto-activate feature
    * libata: implement more acpi filtering options
    * libata: remove spindown skipping and warning
    * pata_amd: do not filter out valid modes in nv_mode_filter
    * pata_atp867x: add Power Management support
    * pata_cs5535: add pci id for AMD based CS5535 controllers
    * sata_promise: disable hotplug on 1st gen chips
    * sata_promise: update reset code

MD

    * async_tx: add sum check flags
    * async_tx: add support for asynchronous GF multiplication
    * async_tx: add support for asynchronous RAID6 recovery operations
    * async_tx: kill ASYNC_TX_DEP_ACK flag
    * async_tx: raid6 recovery self test
    * async_tx: rename zero_sum to val
    * async_tx: structify submission arguments, add scribble
    * async_xor: permit callers to pass in a 'dma/page scribble' region
    * dmaengine: add fence support
    * dmaengine, async_tx: add a "no channel switch" allocator
    * dmaengine: sh: Add Support SuperH DMA Engine driver
    * dmatest: add pq support
    * fsldma: Add DMA_SLAVE support
    * ioat2+: add fence support
    * ioat3: split ioat3 support to its own file, add memset
    * ioat: add 'ioat' sysfs attributes
    * iop-adma: P+Q support for iop13xx adma engines
    * md/raid456: distribute raid processing over multiple cores
    * md/raid5,6: add percpu scribble region for buffer lists
    * md/raid5: make sure curr_sync_completes is uptodate when reshape starts
    * md/raid6: asynchronous raid6 operations

MFD

    * mfd: Add basic WM831x OTP support
    * mfd: Add Freescale MC13783 driver
    * mfd: Add support for TWL4030/5030 dynamic power switching
    * mfd: Add twl4030-pwrbutton as a twl4030 child
    * mfd: Add WM831x AUXADC support
    * mfd: Add WM831x interrupt support
    * mfd: Conditionally add WM831x backlight subdevice
    * mfd: Hook WM831x into build system
    * mfd: Initial core support for WM831x series devices

MMC

    * mmc: add ability to save power by powering off cards
    * mmc: add 'enable' and 'disable' methods to mmc host
    * mmc: add MMC_CAP_NONREMOVABLE host capability
    * mmc: add mmc card sleep and awake support
    * mmc: core SDIO suspend/resume support
    * mmc: msm_sdccc: driver for HTC Dream
    * sdhci: support for ADMA only hosts
    * mmc: add 'enable' and 'disable' methods to mmc host
    * mmc: add MMC_CAP_NONREMOVABLE host capability
    * mmc: add mmc card sleep and awake support
    * mmc: core SDIO suspend/resume support
    * mmc: msm_sdccc: driver for HTC Dream
    * sdhci: support for ADMA only hosts

MTD

    * mtd: add nand support for w90p910 (v2)
    * mtd: Enable Open Firmware initialisation of MTD devices and maps for MicroBlaze
    * mtd/maps: gpio-addr-flash: new driver for GPIO assisted flash addressing
    * mtd: nand: driver for Nomadik 8815 SoC (on NHK8815 board)
    * mtd: omap: adding DMA mode support in nand prefetch/post-write
    * mtd: omap: add support for nand prefetch-read and post-write
    * mtd: SST25L (non JEDEC) SPI Flash driver

SCSI

    * SCSI: fcoe: Introduce and allocate fcoe_interface structure, 1:1 with net_device
    * SCSI: hptiop: Add RR44xx adapter support
    * SCSI: lpfc 8.3.4: Add bsg (SGIOv4) support for ELS/CT support
    * SCSI: mpt2sas: Added mpi2_history.txt for MPI2 headers.
    * SCSI: mpt2sas: Added SCSIIO, Internal and high priority memory pools to support multiple TM
    * SCSI: mpt2sas: Target Reset will be issued from Interrupt context.
    * SCSI: mpt2sas: Update driver to MPI2 REV K headers.
    * SCSI: mvsas: Support Areca SAS/SATA HBA, ARC-1300/1320
    * SCSI: qla2xxx: Add asynchronous-login support.
    * SCSI: scsi_dh_rdac: add support for next generation of Dell PV array
    * SCSI: sd: Detach DIF from block integrity infrastructure
    * SCSI: sd: Support disks formatted with DIF Type 2
    * SCSI: ses: add support for enclosure component hot removal
    * SCSI: update MAINTAINERS with new email

Others

    * atmel-mci: unified Atmel MCI drivers
    * cciss: Add a "raid_level" attribute to each logical drive in /sys
    * cciss: Add cciss_allow_hpsa module parameter
    * cciss: Add lunid attribute to each logical drive in /sys
    * cciss: Add usage_count attribute to each logical drive in /sys
    * cciss: Allow triggering of rescan of logical drive topology via sysfs entry
    * MAINTAINERS: InfiniBand/RDMA mailing list transition to vger
    * omap4: mmc driver support on OMAP4

Quelle : www.heise.de
Titel: Kernel-Log – Was 2.6.32 bringt (4): Treiber
Beitrag von: SiLæncer am 23 November, 2009, 21:56
Die in Kürze erwartete Linux-Version 2.6.32 bringt zahlreiche neue und verbesserte Treiber mit – etwa solche für die Hauppauge-HVR-Modelle 2200 und 2250, einige Thinkpad-Notebooks von IBM/Lenovo oder den Fingerabdrucksensor im MSI Wind. Die Hyper-V-Treiber von Microsoft haben die Kernel-Entwickler in den Staging-Bereich aufgenommen.

In der Nacht von Donnerstag auf Freitag hat Linus Torvalds 2.6.32-rc8 veröffentlicht. Dabei deutete er an, dass dies die letzte Vorabversion von Linux 2.6.32 sei, wenn die Dinge weiter so laufen wie bisher – also keine größeren neuen Probleme auftauchen und die Entwickler weiter an bekannten Fehlern arbeiten, ohne dass dazu größere Umbaumaßnahmen nötig sind. Er hofft zudem, dass sich noch mehr Entwickler mit der Beseitigung solcher Fehler beschäftigen – an einem gewissen Punkt müsse er aber "jetzt ist genug" sagen und die neue Version veröffentlichen.

Nach den Übersichten über die Änderungen im Netzwerksubsystem, jenen für Grafik-Hardware und die rund um Storage-Hardware und Dateisysteme widmet sich der vierte Teil der Serie "Was Linux 2.6.32 bringt" nun Treiber für andere Hardware-Komponenten.

Audio und Video

Die Audio-Treiber des Kernels sind nun auf dem Niveau von Alsa 1.0.21. Der Treiber für HD-Audio-Hardware unterstützt nun – so Subsystem-Maintainer Takashi Iwai in seinem Haupt-Git-Pull-Request – eine Art "Firmware", mit der man dem Treiber Hardware-spezifische Sonderbehandlungen ("quirks") dynamisch mitteilen kann, falls das BIOS nicht genügend oder inkorrekte Informationen zur Konfiguration des Codec übermittelt. Laut Commit-Kommentar soll das aber nur eine Übergangslösung für Anwender darstellen, bis die Entwickler die entsprechenden Informationen im Treiber selbst aufnehmen – genau das machten die Kernel-Hacker auch in diesem Entwicklungszyklus für zig verschiedene PCs und Notebooks wie etwa den Dell Mini 9 oder das MacBook Pro 5,5.

Im Git-Pull-Request hatte Iwai zudem betont, dass es ganz allgemein viele Verbesserung zur Codec-Konfiguration bei Notebooks von Dell und HP gab; auch Realtek-Codecs sollen die Sound-Treiber nun zuverlässiger konfigurieren. Verbesserungen gab es zudem beim Treiber für die auf LGA1156-Boards verbauten Intel-Chipsätze (P55/IbexPeak). Wie immer gab es auch zahlreiche Neuerungen für ASoC (Alsa System on Chip) – Mark Brown von Wolfsonmicro nennt einige der wichtigsten in einer Mail, weitere finden sich in der Liste am Ende des Artikels.

Mauro Carvalho Chehab gibt in seinem beiden Haupt-Patches (1, 2) einen Überblick über die wichtigsten Neuerungen im von ihm betreuten V4L/DVB-Subsystem. Neu dabei ist etwa der Treiber cx25821 für auf dem gleichnamigen Chip basierende TV-Karten. Ebenfalls dazu gestoßen ist der Treiber saa7164 für den Chip, der auf den Hauppauge-HVR-Modellen 2200 und 2250 sitzt.

Das Gspca-Framework enthält nun einen Treiber für den Chip GL860, der in verschiedenen Modellen der Genesys Logic PC Camera steckt. Neu dabei ist auch der Treiber jeilinj für Webcams mit einen dem namensgleichen Video-Chip. Der Treiber uvcvideo für USB-Webcams, die nach der USB Device Class Definition for Video Devices arbeiten, verarbeitet nun auch mehrere Eingabeströme parallel (1, 2).

Programmierer finden in der Kernel-Dokumentation nun API-Informationen zum V4L/DVB-Subsystem im Docbook-Format. Das V4L/DVB-Subsystem unterstützt nun auch die derzeit vornehmlich in Japan und Brasilien eingesetzten Übertragungsstandards ISDB-T (Broadcast TV) und ISDB-S (Satellit). Zudem haben die Entwickler den Code zur Unterstützung von Infrarot-Fernbedienungen renoviert und dabei einige bisher Treiber-spezifische Keymappings vereinheitlicht.

Unreif

Wie schon bei den vorangegangenen Linux-Versionen sind auch in diesem Entwicklungszyklus viele Änderungen im Staging-Zweig, der unreife, den Qualitätsansprüchen der Kernel-Hacker Entwickler nicht genügende Treiber aufnimmt, sehr umfangreich. Sie sind der Hauptgrund, warum derzeit bei jeder neuen Kernel-Version deutlich mehr Zeilen Quellcode neu zum Kernel stoßen oder rausfliegen als vor ein oder zwei Jahren. Satte 3,5 MByte groß ist allein der Patch, der den Treiber RT3090 für den gleichnamigen WLAN-Chips von Ralink nachrüstet; auf über 2 MByte beläuft sich der Commit, der einen Treiber für den Realtek-WLAN-Chip 8192 einbindet.

Beiden nutzen genau wie viele anderen WLAN-Treiber im Staging-Bereich spezielle WLAN-Stacks und nicht den des Kernels, der WLAN-Treibern verschiedene Basis-Funktionen bereitstellt. Userspace-Programme arbeiten deshalb häufig nicht so gut mit WLAN-Treibern aus dem Staging-Bereich zusammen. Dan Williams, Entwickler des bei vielen Distributionen eingesetzten NetworkManagers, hat die Staging-WLAN-Treiber daher schon mehrfach kritisiert (1, 2) und die Kritik erst kürzlich mit einem ausführlichen, einige Probleme konkret benennenden Blog-Post wiederholt. Auch einige Entwickler der WLAN-Treiber im Kernel haben in der Vergangenheit schon Kritik an den Staging-Treibern geübt. Erst kürzlich gab es zudem mehrere, gelegentlich wenig freundliche Diskussionen zwischen Entwicklern der Ralink-Treiber im WLAN-Subsystem und jenen, die sich mit den Ralink-Treibern im Staging-Bereich beschäftigen.

Staging-Treiber haben aber nicht nur Qualitätsmängel, sondern verschwinden anders als reguläre Kernel-Treiber gelegentlich ohne längere Vorwarnzeit, wenn sich keiner mehr um sie kümmert – dieses Schicksal ereilte in diesem Entwicklungszyklus unter anderem die Treiber agnx, epl, sxg und sxg und heci. Entfernt haben die Entwickler den Staging-Treiber cpc-usb, denn seine Funktionen übernimmt nun der parallel im normalen USB-Subsystem integrierte Treiber ems_usb. Rausgeflogen ist auch der WLAN-Treiber at76_usb, denn die von ihm betreute Hardware unterstützt Linux seit Version 2.6.30 mit dem Treiber at76c50x-usb.

Wie erwartet haben die Kernel-Entwickler die kürzlich unter der GPL freigegebenen Hyper-V-Treiber von Microsoft in den Staging-Bereich aufgenommen. Linux-Gastsysteme können mit ihnen die Hardware-Emulation beim Betrieb unter einigen Microsoft-Virtualisierungslösungen teilweise umgehen und so deutlich bessere I/O-Performance erzielen. Seitdem die Microsoft-Entwickler wieder aktiv sind, ist es unwahrscheinlich, dass die Treiber bei 2.6.33 schon wieder rausfliegen – letzteres hatte der Verwalter des Staging-Bereiches vor einigen Wochen angedroht, weil er über einen längeren Zeitraum nichts von den Microsoft-Entwicklern gehört hatte. Den am Anfang des aktuellen Entwicklungszyklus integrierten Treiber cowloop haben die Entwickler aufgrund von Problemen noch vor der Freigabe von 2.6.32 wieder entfernt.

USB, Notebooks, Eingabegeräte, Hardware-Monitoring und Co.

Die bei 2.6.31 aufgenommenen USB-3.0-Treiber sollen durch verschiedene in 2.6.32 eingeflossene Änderungen nun richtig rund laufen – einige dieser Patches sind aber auch in die Stable-Kernel der 2.6.31-Serie eingeflossenen, um deren USB-3.0-Unterstützung zu verbessern. Über ein neues API können Anwendungen den Kernel nun anweisen, bestimmte USB-Ports und die dort angeschlossenen Geräte zu ignorieren, weil sich die Anwendung selbst komplett um diese kümmert – das kann etwa für Virtualisierungslösungen interessant sein, die USB-Geräte an Gäste durchreichen.

Der Treiber thinkpad-acpi wurde erheblich überarbeitet – zu den Verbesserungen zählen die Unterstützung für Thinkpads mit einer neueren Firmware-Generation ("second-gen firmware") und bessere Koordination mit dem Userspace bei Lautstärke- und Helligkeitsregelung über Hotkeys. Neu dabei ist ein Treiber für das Netbook Topstar N01.

Das Input-Subsystem für Eingabegeräte bringt nun einen Treiber für das Sentelic Finger Sensing Pad mit – ein Fingerabdrucksensor, der in einigen Geräten der Wind-Serie von MSI steckt. Erstmals Bestandteil des offiziellen Kernels ist auch ein Treiber für den von Winbond gefertigten Infrarot-Controller (CIR/Consumer IR) WPCD376I, der etwa auf dem DG45FC-Mainboard von Intel zum Einsatz kommt.

UIO (Userspace I/O) bietet nun einen generischen Treiber für PCI-2.3-Geräte – dessen Entwickler will ihn zusammen mit Qemu im Virtualisierungsumfeld einsetzen. Das I2C-Subsystem unterstützt bereits jetzt AMDs noch nicht mal offiziell angekündigte Southbridge SB900. Neu dabei ist ein I2C-Treiber für das generische, auf ACPI aufsetzende SMBus Control Method Interface (CMI). Ebenfalls neu ist EDAC-Unterstützung für die Intel- auf Xeon-CPUs mit LGA775-Gehäuse ausgelegt sind.Chipsätze 3200 und 3210.

Die kleinen Perlen

Viele weiteren nicht ganz so wichtige Neuerungen finden sich in der folgenden Liste mit den englischen Commit-Überschriften der jeweiligen Änderung. Die Einträge verlinken genau wie viele der Verweise im vorangegangenen Text auf das Webfrontend des von Linus Torvalds betreuten Git-Zweigs mit den Kernel-Quellen auf Kernel.org. Im Webfrontend liefern normalerweise der Commit-Kommentar und der Patch selbst zahlreiche weitere Informationen zur jeweiligen Änderungen.

Audio

    * ALSA: azt3328: fix previous breakage, improve suspend, cleanups
    * ALSA: azt3328: large codec cleanup, add I2S port etc.
    * ALSA: bt87x - Add a whitelist for Pinnacle PCTV (11bd:0012)
    * ALSA: ctxfi - Native timer support for emu20k2
    * ALSA: dummy - Add debug proc file
    * ALSA: dummy - Add more description
    * ALSA: dummy - Support high-res timer mode
    * ALSA: hda: add 2-channel mode to Intel ALC889/ALC889A models
    * ALSA: hda - Add another entry for Nvidia HDMI device
    * ALSA: hda - Add another Nvidia HDMI codec id (10de:0005)
    * ALSA: hda - Add auto-mic support for Realtek codecs
    * ALSA: hda - Add a white-list for MSI option
    * ALSA: hda - Add a workaround for ASUS A7K
    * ALSA: hda - Add Cirrus Logic CS420x support
    * ALSA: hda - Add CX20582 and OLPC XO-1.5 support
    * ALSA: hda - Add description about patch loading
    * ALSA: hda - Add description of new models for ALC889/889A
    * ALSA: hda - Added quirk to enable sound on Toshiba NB200
    * ALSA: hda - Add / fix model entries for HD-audio driver
    * ALSA: hda - Add full audio support on Acer Aspire 7730G notebook
    * ALSA: hda - Add full rates/formats support for Nvidia HDMI
    * ALSA: hda - Add GPIO setup for MacBook pro 5,5 with CS420x
    * ALSA: hda: add HP automute support to Intel ALC889/ALC889A models
    * ALSA: hda - Add HP Pavilion dv4t-1300 to MSI whitelist
    * ALSA: hda: add IbexPeak/Clarkdale HDMI model with static cvt/pin number
    * ALSA: hda - Add line-out jack detection on IDT/STAC codecs
    * ALSA: hda - Add missing model=auto entry for ALC269
    * ALSA: hda - Add more quirk for HP laptops with AD1984A
    * ALSA: hda - Add OLPC XO-1.5 PCI ID
    * ALSA: hda - Add quirks for RTL888 and RV630/M76 based MSI GX710
    * ALSA: hda - Add quirks for some HP laptops
    * ALSA: hda - Add support for HP dv6
    * ALSA: hda - Add support for new AMD HD audio devices
    * ALSA: hda - Add support of Alienware M17x laptop
    * ALSA: hda - Add support of docking auto-mute/mic for AD1984A laptop model
    * ALSA: hda - Allow all formats as default for Nvidia HDMI
    * ALSA: hda - Analog Devices AD1984A add HP Touchsmart model
    * ALSA: hda - Check "beep" hint
    * ALSA: hda - Dell Studio 1557 hd-audio quirk
    * ALSA: hda - Enable HP output with Macbook Pro 5, 5
    * ALSA: hda - Fix mute sound with STAC9227/9228 codecs
    * ALSA: hda - Fix volume-knob setup for Dell laptops with STAC9228
    * ALSA: hda_intel: Add the Linux device ID for NVIDIA HDA controller
    * ALSA: hda - Merge patch_alc882() and patch_alc883()
    * ALSA: hda - More description about patch module option
    * ALSA: hda/realtek: Added support for CLEVO M540R subsystem, 6 channel + digital
    * ALSA: hda - Reduce click noise at power-saving
    * ALSA: hda - Reword information messages for BIOS auto-probing mode
    * ALSA: hda - Support auto-mic switching with IDT/STAC codec
    * ALSA: hda - Use auto model for HP laptops with ALC268 codec
    * ALSA: hda: Use model=auto quirk for Sony VAIO VGN-FW170J using ALC262
    * ALSA: hda: Use model=mb5 for MacBookPro 5,2
    * ALSA: hda: Use quirk mask for Dell Inspiron Mini9/Vostro A90 using ALC268
    * ALSA: ice1724 - Patch for suspend/resume for Audiotrak Prodigy HD2
    * ALSA: intel8x0: Mute External Amplifier by default for another Sony model
    * ALSA: intel8x0 - Mute External Amplifier by default for Sony VAIO VGN-B1VP
    * ALSA: intel8x0 - Mute External Amplifier by default for Sony VAIO VGN-T350P
    * cmi8330: Add basic CMI8329 support
    * sound: make OSS device number claiming optional and schedule its removal
    * sound: request char-major-* module aliases for missing OSS devices
    * sound: usb-audio: use multiple output URBs
    * sound: ymfpci: increase timer resolution to 96 kHz

ASoC

    * ASoC: Add ak4642/ak4643 codec support
    * ASoC: add DAI platform ssi driver for MXC
    * ASoC: add DMA platform driver for MX1x and MX2x
    * ASoC: Add FSI-AK4642 sound support for SuperH
    * ASoC: add machine driver for i.mx27_visstrim_m10 board
    * ASoC: Add machine driver support for DM646x
    * ASoC: Add mcasp support for DM646x
    * ASoC: Add Openmoko Neo FreeRunner (GTA02) audio driver
    * ASoC: Add stub suspend and resume calls for ASoC subdevices
    * ASoC: Add SuperH FSI driver support for ALSA
    * ASoC: add support for Amstrad E3 (Delta) machine
    * ASoC: Add support for Conexant CX20442-11 voice modem codec
    * ASoC: Add WM8523 CODEC driver
    * ASoC: Add WM8776 CODEC driver
    * ASoC: Add WM8961 driver
    * ASoC: Add WM8974 CODEC driver
    * ASoC: Add WM8993 CODEC driver
    * ASoC: blackfin I2S(TDM mode) CPU DAI driver
    * ASoC: DaVinci: Support Audio on DA830 EVM
    * ASoC: new ad1938 codec driver based on asoc
    * ASoC: S3C24XX: Add audio core and tlv320aic23 for Simtec boards
    * ASoC: WM8993 digital mixing support
    * ASoC: Zoom2: Add machine driver for Zoom2 board
    * new ad1836 codec driver based on asoc

Hardware-Monitoring, I2C, EDAC

    * amd64_edac: build driver only on AMD hardware
    * amd64_edac: fix chip select handling
    * ARM: HWMON: S3C24XX series ADC driver
    * drivers/hwmon/adm1021.c: add low_power support for adm1021 driver
    * drivers/hwmon/coretemp.c: enable the Intel Atom
    * EDAC, AMD: decode bus unit MCEs
    * EDAC, AMD: decode data cache MCEs
    * EDAC, AMD: decode instruction cache MCEs
    * EDAC, AMD: decode load store MCEs
    * edac: i3200 memory controller driver
    * edac: mpc85xx add mpc83xx support
    * edac: mpc85xx add P2020DS support
    * hwmon: (abituguru3) Support multiple DMI strings per chip ID
    * hwmon: Add driver for Texas Instruments TMP421/422/423 sensor chips
    * hwmon: (adm1031) Add sysfs files for temperature offsets
    * hwmon: (asus_atk0110) Add maintainer information
    * hwmon: (asus_atk0110) Enable the EC
    * hwmon: Clearly mark ACPI drivers as such
    * hwmon: (coretemp) Add Lynnfield CPU
    * hwmon: (coretemp) Add support for Penryn mobile CPUs
    * hwmon: (coretemp) Fix Atom CPUs support
    * hwmon: Delete deprecated FSC drivers
    * hwmon: enhance the sysfs API for power meters
    * hwmon: (pcf8591) Documentation clean-ups
    * hwmon: (tmp421) Add documentation
    * hwmon-vid: Ignore 6th VID pin of AMD family 0Fh processors
    * hwmon: WM831x PMIC hardware monitoring driver
    * i2c/chips: Remove deprecated pca9539 driver
    * i2c/chips: Remove deprecated pcf8574 driver
    * i2c/chips: Remove deprecated pcf8575 driver
    * i2c: Clearly mark ACPI drivers as such
    * i2c-piix4: Add AMD SB900 SMBus device ID
    * lis3: add free-fall/wakeup function via platform_data
    * lis3: add power management functions
    * lis3: add support for the HP EliteBook 8530w
    * lis3: add support for the HP HDX 18
    * WATCHDOG: add SBC-FITPC2 watchdog driver
    * WATCHDOG: Add support for the Avionic Design Xanthos watchdog timer.
    * WATCHDOG: Add support for WM831x watchdog
    * WATCHDOG: Add watchdog driver for NUC900
    * x86, mce: pass mce info to EDAC for decoding

Input

    * HID: add force feedback support for Logitech WingMan Formula Force GP
    * HID: add rumble support for Thrustmaster Dual Trigger 3-in-1
    * HID: driver for Twinhan USB 6253:0100 remote control
    * HID: Support new variants of Samsung USB IR receiver (0419:0001)
    * HID: use debugfs for report dumping descriptor
    * hwmon: Add WM835x PMIC hardware monitoring driver
    * Input: ad7879 - add support for AD7889
    * Input: add Blackfin rotary input driver
    * Input: add driver for ADP5588 QWERTY I2C Keypad
    * Input: add driver for Atmel AT42QT2160 Sensor Chip
    * Input: add driver for Maxim MAX7359 key switch controller
    * Input: add driver for OpenCores Keyboard Controller
    * Input: add generic suspend and resume for input devices
    * Input: add keypad driver for w90p910
    * input: Add support for the WM831x ON pin
    * Input: add touchscreen driver for MELFAS MCS-5000 controller
    * Input: add twl4030_keypad driver
    * Input: atkbd - add a quirk for OQO 01+ multimedia keys
    * Input: atkbd - rely on input core to restore state on resume
    * Input: dm355evm_keys - use threaded IRQs
    * Input: i8042 - add Sony Vaio VGN-FZ240E to the nomux list
    * Input: max7359 - use threaded IRQs
    * input: PCAP2 based touchscreen driver
    * input: PCAP2 misc input driver
    * Input: synaptics - add another Protege M300 to rate blacklist
    * Input: usbtouchscreen - add support for e2i touchscreen controller
    * Input: usbtouchscreen - support for JASTEC/DigiTech DTR-02U USB touch controllers
    * Input: wistron_btns - add keymap for AOpen 1557
    * Input: wm97xx - add Palm support to Mainstone accelerated touch
    * Input: xpad - add BigBen Interactive XBOX 360 Controller
    * Input: xpad - add USB ID for the drumkit controller from Rock Band
Net- und Notebooks

    * acerhdf: additional BIOS versions
    * acerhdf: fix fan control for AOA150 model
    * asus-laptop: Add "calculator" hotkey
    * asus-laptop: Add suport for another "Media" key
    * asus-laptop: Add support for Keyboard backlight
    * asus-laptop: document sysfs interface
    * asus-laptop: document the module
    * asus-laptop: Map X50R hotkeys
    * asus-laptop: set maximum led brightness
    * backlight/eeepc-laptop: Update the backlight state when we change brightness
    * eeepc-laptop: add rfkill support for the Wimax in ASUS Eee PC 1000HG
    * eeepc-laptop: allow rfkill hotplug to work on the 900A model
    * eeepc-laptop: document sysfs interface
    * eeepc-laptop: don't enable camera at startup if it's already on.
    * fujitsu-laptop: fix config corner case
    * Input: wistron_btns - add DMI entry for Medion WIM2030 laptop
    * sony-laptop: re-read the rfkill state when resuming from suspend
    * thinkpad-acpi: add internal hotkey event API
    * thinkpad-acpi: be more strict when detecting a ThinkPad
    * thinkpad-acpi: deprecate hotkey_bios_mask
    * thinkpad-acpi: firmware version checks
    * thinkpad-acpi: Fix procfs hotkey reset command
    * thinkpad-acpi: hotkey poll fixes
    * thinkpad-acpi: report brightness events when required
Staging

    * cpc-usb: Removed driver from staging tree
    * Staging: add cowloop driver
    * Staging: add cowloop to the build
    * Staging: add Support for Quatech ESU2-100 USB 2.0 8-port serial adaptor
    * Staging: android: mark subsystem as broken
    * Staging: Comedi: Lindent changes to comdi driver in staging tree
    * Staging: cowloop: add TODO file
    * Staging: dream: add support for input on GPIO pins
    * Staging: dream: synaptics touchscreen for dream: documentation
    * Staging: HTC Dream: add camera support
    * Staging: HTC Dream: add qdsp support
    * Staging: HTC Dream: add rpcrouter driver
    * Staging: HTC Dream: add smd code
    * Staging: HTC Dream: touchscreen driver for staging
    * Staging: hv: add a TODO file
    * Staging: hv: add the Hyper-V api header files
    * Staging: hv: add the Hyper-V virtual block driver
    * Staging: hv: add the Hyper-V virtual block driver to the build
    * Staging: hv: add the Hyper-V virtual bus
    * Staging: hv: add the Hyper-V virtual bus to the build
    * Staging: hv: add the Hyper-V virtual network driver
    * Staging: hv: add the Hyper-V virtual network driver to the build
    * Staging: hv: add the Hyper-V virtual scsi driver to the build
    * Staging: hv: add the Hyper-V virtual storage driver
    * Staging: hv: force hyper-v drivers to be built as a module
    * Staging: hv: Remove C99 comments
    * Staging: hv TODO patches
    * Staging: hv: update the TODO file
    * Staging: IIO: Add generic ring buffer support to the IIO core
    * Staging: IIO: Add todo list for staging
    * Staging: IIO: core support for device registration and management
    * Staging: IIO: Initial documentation
    * Staging: IIO: kxsd9 accelerometer minimal support
    * Staging: IIO: lis3l02dq accelerometer core support
    * Staging: IIO: max1363 ADC driver
    * Staging: IIO: Periodic timer based trigger
    * Staging: IIO: Proof of concept gpio trigger
    * Staging: IIO: Ring buffer: Initial pass at rarely locked ring buffer
    * Staging: IIO: Trigger support added to core.
    * Staging: IIO: tsl2561 digital light sensor core support
    * Staging: IIO: VTI sca3000 series accelerometer driver (spi)
    * Staging: meilhaus: remove the drivers
    * Staging: pata_rdc: remove the driver from the staging tree
    * Staging: remove at76_usb wireless driver.
    * Staging: remove cowloop driver
    * Staging: remove me4000 driver.
    * Staging: remove no longer needed rt3070 driver
    * Staging: remove stlc45xx driver
    * Staging: rspiusb: remove the driver
    * Staging: rt2860: add new device ids
    * Staging: rt2870: add Antenna Diversity support
    * Staging: rt2870: add eFuse support
    * Staging: rt2870: new USB ID for Belkin N+ F5D8055
    * Staging: rt2870sta interface names
    * Staging: rt3070: add remaining rt2870 device ids
    * Staging: rt3070: add support for Linksys WUSB54GC-EU v3
    * Staging: rt3090: add device id 1462:891a
    * Staging: rt3090: rename device from raX to wlanX
    * Staging: rtl8187se: add TODO
    * Staging: rtl8192e: remove firmware header file not being used
    * Staging: rtl8192e: remove unneeded ieee80211 files
    * Staging: rtl8192su: add TODO
    * Staging: rtl8192su: remove dead code
    * Staging: rtl8192su: remove kernel version compatibility wrappers
    * Staging: rtl8192su: remove more unused files
    * Staging: rtl8192su: remove RTL8192SU ifdefs
    * Staging: rtl8192su: remove unused files
    * Staging: rtxx70: merge rt3070 with rt2870
    * Staging: sep: Move the RAR support into staging where it is supposed to be
    * Staging: sep: Upstream revision 3 of the security processor kernel driver
    * Staging: vme: add TODO file
    * Staging: vme: add Tundra TSI148 VME-PCI Bridge driver
    * Staging: vme: add Universe I/II bridge driver
    * Staging: vme: add VME Location Monitor management mechanism
    * Staging: vme: add VME userspace driver
    * Staging: VME Framework for the Linux Kernel
    * Staging: vme: Separate the list of TODOs from the API documentation
    * Staging: vme: Update support for the Universe II VME driver
    * Staging: vt6655: add TODO
    * Staging: vt6656: Add includes to drivers/staging/vt6656.
    * Staging: vt6656: add TODO
    * Staging: vt6656: Build vt6656.ko, not vntwusb.ko.
    * Staging: vt6656: Integrate vt6656 into build system.
USB

    * usb: add clock support to r8a66597 gadget driver
    * USB: Add nuvoton Ehci driver for w90p910 platform
    * USB: ark3116: add IrDA support for Gembird UIR-22
    * USB: at91: Add USB EHCI driver for at91sam9g45 series
    * USB: at91: Add USB gadget driver selection for at91sam9g45 series
    * USB: EHCI: Add Intel Moorestown EHCI controller HOSTPCx extensions and support phy low power mode
    * USB: ehci-dbgp,documentation: Documentation updates for ehci-dbgp
    * USB: Fix sysfs paths in documentation
    * USB: ftdi_sio: re-implement read processing
    * USB: full autosuspend and power management support for usbsevseg
    * USB: full power management support for the idmouse driver
    * USB: gadget: Add EEM gadget driver
    * usb: gadget: R8A66597 peripheral controller support.
    * USB: NXP ISP1362 USB host driver
    * USB: ohci: quirk AMD prefetch for USB 1.1 ISO transfer
    * USB: option.c: add support for D-Link DWM-162-U5
    * USB: option.c Add support for ZTE AC2726 EVDO modem
    * USB: option: Patch for Huawei Mobile Broadband E270+ Modem
    * USB: option: Support for AIRPLUS MCD650 Datacard
    * USB: option: TELIT UC864G support
    * USB: option: TLAYTECH TUE800 support
    * USB: option: Toshiba G450 device id
    * usb: r8a66597-hcd platform data on_chip support
    * USB: rename Documentation/ABI/.../sysfs-class-usb_host
    * USB: serial: fix assumption that throttle/unthrottle cannot sleep
    * USB: serial: full autosuspend support for the option driver
    * USB: serial: pl2303: new hardware support - sanwa multimeter
    * USB: support for autosuspend in sierra while online
    * USB: suspend/resume support for usbtmc
    * USB: usbmon: drop Kconfig defaults
    * USB: usbmon: end ugly tricks with DMA peeking
    * USB: usb-storage fails to attach to Huawei Datacard cdrom device
    * USB: xhci: Add quirk for Fresco Logic xHCI hardware.
    * USB: xhci: Change how xHCI commands are handled.
    * USB: xhci: Support full speed devices.
    * USB: xhci: Support interrupt transfers.
    * USB: xhci: Support USB hubs.
Video

    * cx25821: Add driver to the building system
    * DocBook/media: Remove Satellites from Analog TV Tuners and Modulators
    * DocBook/media: update dvb url's and use ulink tag instead of emphasis
    * V4L/DVB (12175): davinci/vpif: Add Video Port Interface (VPIF) driver
    * V4L/DVB (12176): davinci/vpif_display: Add VPIF display driver
    * V4L/DVB (12177): dm646x: Add an entry for dm646x EVM card at building system
    * V4L/DVB (12190): em28xx: Add support for Gadmei UTV330+
    * V4L/DVB (12209): ivtv: Add card entry for AVerMedia UltraTV 1500 MCE (M113 variant)
    * V4L/DVB (12227): gspca - pac7311: Webcam 093a:2629 added.
    * V4L/DVB (12228): gspca - vc032x: Webcam 0ac8:c301 added.
    * V4L/DVB (12248): v4l: vpfe capture bridge driver for DM355 and DM6446
    * V4L/DVB (12250): v4l: dm355 ccdc module for vpfe capture driver
    * V4L/DVB (12251): v4l: dm644x ccdc module for vpfe capture driver
    * V4L/DVB (12254): v4l: Makefile and config files for vpfe capture driver
    * V4L/DVB (12271): lgs8gxx: add lgs8g75 support
    * V4L/DVB (12272): cx23885: add card Magic-Pro ProHDTV Extreme 2
    * V4L/DVB (12281): gspca - sunplus: Webcam 052b:1803 added.
    * V4L/DVB (12287): dvb-pll: Add Samsung TDTC9251DH0 DVB-T NIM
    * V4L/DVB (12288): dvb-pll: Add support for Samsung TBDU18132 DVB-S NIM
    * V4L/DVB (12289): dvb-pll: Add support for Samsung TBMU24112 DVB-S NIM
    * V4L/DVB (12290): dvb-pll: Add support for Alps TDEE4 DVB-C NIM
    * V4L/DVB (12306): cx23885: Add support for ATSC/QAM on Hauppauge HVR-1850
    * V4L/DVB (12325): Implement changing resolution on the fly for zr364xx driver
    * V4L/DVB (12334): tuner-simple: Add an entry for the Partsnic PTI-5NF05 NTSC tuner
    * V4L/DVB (12353): gspca - vc032x: Add the 1280x960 resolution for sensor mi1310_soc
    * V4L/DVB (12356): gspca - sonixj: Webcam 0c45:6148 added
    * V4L/DVB (12367): cx18: Add i2c initialization for Z8F0811/Hauppage IR transceivers
    * V4L/DVB (12368): ir-kbd-i2c: Add support for Z8F0811/Hauppage IR transceivers
    * V4L/DVB (12396): [patch] Added Support for STK7700D (DVB)
    * V4L/DVB (12416): radio-si470x: add i2c driver for si470x
    * V4L/DVB (12439): cx88: add support for WinFast DTV2000H rev. J
    * V4L/DVB (12444): em28xx: add support for Terratec Cinergy Hybrid T USB XS remote control
    * V4L/DVB (12461): Add ce5039(zl10039) tuner support.
    * V4L/DVB (12462): Add TeVii S630 USB DVB-S card support.
    * V4L/DVB (12463): Add support for Compro VideoMate S350 DVB-S PCI card.
    * V4L/DVB (12475): Add support for Humax/Coex DVB-T USB Stick 2.0 High Speed
    * V4L/DVB (12510): soc-camera: (partially) convert to v4l2-(sub)dev API
    * V4L/DVB (12511): V4L2: add a new V4L2_CID_BAND_STOP_FILTER integer control
    * V4L/DVB (12513): soc-camera: add support for camera-host controls
    * V4L/DVB (12534): soc-camera: V4L2 API compliant scaling (S_FMT) and cropping (S_CROP)
    * V4L/DVB (12540): v4l: simplify v4l2_i2c_new_subdev and friends
    * V4L/DVB (12552): FM TX: si4713: Add files to handle si4713 i2c device
    * V4L/DVB (12554): FM TX: si4713: Add document file
    * V4L/DVB (12564): ir-keymaps: Replace most KEY_[A-Z] to the proper definitions
    * V4L/DVB (12565): ir-keymaps: standardize timeshift key
    * V4L/DVB (12566): ir-keymaps: Fix IR mappings for channel and volume +/- keys
    * V4L/DVB (12573): FM1216MK5 FM radio
    * V4L/DVB (12574): support AverMedia Studio 505
    * V4L/DVB (12584): Support for Kaiser Baas ExpressCard Dual HD Tuner
    * V4L/DVB (12585): Add remote support to cph03x bttv card
    * V4L/DVB (12587): Add support BeholdTV X7 card
    * V4L/DVB (12589): Add support for RoverMedia TV Link Pro FM
    * V4L/DVB (12591): em28xx: Add entry for GADMEI UTV330+ and related IR keymap
    * V4L/DVB (12618): gspca: mr97310a add support for CIF and more VGA camera's
    * V4L/DVB (12690): gspca - pac7311: Webcam 06f8:3009 added.
    * V4L/DVB (12696): gspca - sonixj / sn9c102: Two drivers for 0c45:60fc and 0c45:613e.
    * V4L/DVB (12705): gspca - sn9c20x: Add SXGA support to SOI968
    * V4L/DVB (12707): gspca - sn9c20x: Add SXGA support to MT9M111
    * V4L/DVB (12720): em28xx-cards: Add vendor/product id for Kworld DVD Maker 2
    * V4L/DVB (12742): em28xx: add raw VBI support for NTSC
    * V4L/DVB (12752): get_dvb_firmware: add af9015 firmware
    * V4L/DVB (12847): cx25821: Add README with todo list
    * V4L/DVB (12861): tda18271: add support for additional low-power standby modes
    * V4L/DVB (12886): Added new Pinnacle USB devices
    * V4L/DVB (12888): STK7770P: Add support for STK7770P
    * V4L/DVB (12889): DIB0700: added USB IDs for a Terratec DVB-T XXS
    * V4L/DVB (12892): DVB-API: add support for ISDB-T and ISDB-Tsb (version 5.1)
    * V4L/DVB (12898): DiB0070: Update to latest internal release
    * V4L/DVB (12900): DiB8000: added support for DiBcom ISDB-T/ISDB-Tsb demodulator DiB8000
    * V4L/DVB (12901): DiB0700: add support for STK807XP and STK807XPVR
    * V4L/DVB (12902): Documentation: synchronize documentation for Technisat cards
    * V4L/DVB (12906c): V4L : vpif capture driver for DM6467
    * V4L/DVB (12906): dib0700: Add support for Prolink SBTVD
    * V4L/DVB (12915): DocBook/media: Add isdb-t documentation
    * V4L/DVB (12917): DocBook/media: add V4L2_PIX_FMT_TM6000
    * V4L/DVB (12936): SAA7164: Added waitsecs module parameter
    * V4L/DVB (12946): SAA7164: Add support for a new HVR-2250 hardware revision
    * V4L/DVB (12950): tuner-simple: add Philips CU1216L
    * V4L/DVB (12951): em28xx: add Reddo DVB-C USB TV Box
    * V4L/DVB (12964): tuner-core: add support for NXP TDA18271 without TDA829X demod
    * V4L/DVB (12997): Add the DTV_ISDB_TS_ID property for ISDB_S
    * V4L/DVB (12999): Add a driver for Earthsoft PT1
    * V4L/DVB (13000): add driver for 774 Friio White USB ISDB-T receiver
    * V4L/DVB (13002): Adds support for Zolid Hybrid PCI card:
    * V4L/DVB (13014): Add support for Compro VideoMate E800 (DVB-T part only)
    * V4L/DVB (13019): video: initial support for ADV7180
    * V4L/DVB (13020): go7007: Updates to Kconfig and Makefile
    * V4L/DVB: af9015: add new USB ID for KWorld PlusTV Dual DVB-T Stick (DVB-T 399U)
Various other drivers

    * 8250_pci: add IBM Saturn serial card
    * backlight: Add support for new Apple machines.
    * backlight: Add support for the Avionic Design Xanthos backlight device.
    * backlight: Add WM831x backlight driver
    * backlight: mbp_nvidia_bl: add support for MacBookAir 1,1
    * backlight: new driver for ADP5520/ADP5501 MFD PMICs
    * backlight: spi driver for LMS283GF05 LCD
    * bfin-otp: add writing support
    * Driver core: allow certain drivers prohibit bind/unbind via sysfs
    * drivers/char/uv_mmtimer.c: add memory mapped RTC driver for UV
    * gpio: add Intel Moorestown Platform Langwell chip gpio driver
    * gpio: gpio support for ADP5520/ADP5501 MFD PMICs
    * gpiolib: allow exported GPIO nodes to be named using sysfs links
    * i2c-piix4: Modify code name SB900 to Hudson-2
    * ioat3: interrupt descriptor support
    * ioat3: ioat3.2 pci ids for Jasper Forest
    * ioat3: pq support
    * ioat3: support xor via pq descriptors
    * ioat3: xor support
    * ioat: driver version 4.0
    * leds: Add WM831x status LED driver
    * mfd/gpio: add a GPIO interface to the UCB1400 MFD chip driver via gpiolib
    * N770: enable LCD MIPI-DCS in Kconfig
    * omapfb: add support for MIPI-DCS compatible LCDs
    * omapfb: add support for the Gumstix Overo LCD
    * omapfb: add support for the ZOOM MDK LCD
    * power_supply: Add a charge_type property, and use it for olpc driver
    * power_supply: Add driver for the PMU on WM831x PMICs
    * regulator: AB3100 support
    * regulator: Add Freescale MC13783 driver
    * Regulator: Adding TPS65023 and TPS6507x in Kconfig and Makefile
    * regulator: add pcap driver
    * regulator: Add some brief design documentation
    * regulator: Add WM831x DC-DC boost convertor support
    * regulator: Add WM831x DC-DC buck convertor support
    * regulator: Add WM831x EPE support
    * regulator: Add WM831x ISINK support
    * regulator: Add WM831x LDO support
    * rtc: AB3100 RTC support
    * rtc: add boot_timesource sysfs attribute
    * rtc: add driver for MXC's internal RTC module
    * rtc: add Freescale stmp37xx/378x driver
    * rtc: Add support for RTCs on Wolfson WM831x devices
    * rtc: document the sysfs interface
    * rtc: driver for PCAP2 PMIC
    * rtc: Philips PCF2123 RTC SPI driver
    * rtc: U300 COH 901 331 RTC driver v3
    * serial: add ADDI-DATA GmbH PCI-Express communication cards in 8250_pci.c and pci_ids.h
    * serial: add support for the Lava Quattro PCI quad-port 16550A card
    * tty: Mark generic_serial users as BROKEN

Quelle : www.heise.de
Titel: Kernel-Log – Was 2.6.32 bringt (5): Architektur und Virtualisierung
Beitrag von: SiLæncer am 27 November, 2009, 17:37
Die nächste Kernel-Version bringt Unterstützung für Intels Moorestown-Plattform, deren ACPI-Alternative SFI und die früher als "LaGrande" bezeichnete Trusted Execution Technology. Das neue KSM reduziert auf Wunsch den Speicherverbrauch, indem es gleiche Speicherinhalten von virtuellen Maschinen zusammenlegt. Mit Timechart lässt sich in Zukunft besser visualisieren, was System und Kernel eigentlich treiben.

Da Linus Torvalds diese Woche unterwegs ist, gab es in den vergangen Tagen keine Änderungen im Hauptentwicklungszweig. Zahlreiche Entwickler haben den Linux-Vater aber bereits in LKML-Mails um die Aufnahme von Fehlerkorrekturen gebeten. Je mehr sich davon ansammeln, desto größter wird die Wahrscheinlichkeit, dass Torvalds nach seiner Rückkehr doch noch eine weitere Vorabversion von 2.6.32 veröffentlicht – bei der Freigabe des RC8 hatte Torvalds noch gehofft, dass das die letzte Vorabversion sein könnte.

Der fünfte und vorletzte Teil der Serie "Was Linux 2.6.32 bringt" beschäftigt sich mit den Änderungen an und um architekturspezifischen Code, Speichermanagement, Virtualisierung und Tracing. Die vier vorangegangenen Teile der Serie hatten sich mit den Neuerungen im Netzwerksubsystem, bei für Grafik-Hardware, im Bereich Storage und Dateisysteme sowie bei anderen Treibern beschäftigt.

X86-Systeme

Neu zum Kernel gestoßen ist Unterstützung für Intels früher als LaGrande Technology bezeichnete Trusted Execution Technology (TXT). Vor dem Ausführen des Kernels können TXT-Systeme zusammen mit den Komponenten des Projekts Trusted Boot (tboot) sicherstellen, dass der Kernel nicht von einem Angreifer modifiziert wurde. Details zu der Technik finden sich in der Kernel-Dokumentation und einem Artikel auf LWN.net.

Der Linux-Kernel lässt sich beim Kompilieren nun speziell für Atom-CPUs optimieren. Die Kernel-Hacker haben außerdem die Unterstützung für Intels Simple Firmware Interface (SFI) integriert. Dabei handelt es sich um eine von Intel entwickelte ACPI-Alternative, die bei der für Smartphones, Mobile Internet Devices (MIDs) und Embedded-Umgebungen gedachten Moorestown-Plattform zum Einsatz kommen soll. Moorestown soll nächstes Jahr kommen und auch unter Linux laufen. Details zu SFI finden sich in einem Vortrag, den ACPI-Subsystem-Verwalter und Intel-Mitarbeiter Len Brown auf dem Linux Symposium 2009 gehalten hat.

Zum Kernel stießen zudem weitere Teile zur Unterstützung von Moorestown – sie bauen auf einer zuvor von Thomas Gleixner eingebrachten Überarbeitung einiger Teile der x86-Unterstützung auf, durch die sich spezielle x86-Plattformen wie Moorestown besser abstrahieren lassen.

Virtualisiert

KVM unterstützt jetzt den "unrestricted guest"-Modus von Intels nächster Generation von Desktop- und Notebook-Prozessoren (Westmere), die Anfang 2010 unter Produktnamen wie Core i3 oder Core i5 in den Handel kommen sollen. Der Haupt-Patch von KVM-Entwickler Avi Kivity erläutert einige weitere Verbesserungen für KVM – darunter bessere Möglichkeiten zum Tracing und die Eventfd-basierten Mechanismen zum Verbinden von User- und Kernel-Software mit Gastsystemen über irqfd und ioeventfd.

Dass Paravirtualisierung an Bedeutung verliert, deutet eine von VMWare-Entwicklern eingebrachte Änderung an, die das Entfernen des früher von VMWare propagierten Virtual Machine Interface (VMI) bei Linux 2.6.37 ankündigt. Der Grund für diesen zuvor ausführlich diskutierten Schritt: Die Virtualisierungstechniken moderner CPUs seien so gut, dass die über VMI genutzte Paravirtualisierung zumeist keinen sonderlichen Performance-Vorteil bringe.

Memory-Management

Neu dabei ist auch das im Umfeld der KVM-Entwickler entstandene KSM. Das Kürzel steht für "Kernel Shared Memory" oder "Kernel SamePage Merging" und bezeichnet ein Framework, das den Speicher mehrerer Userland-Prozesse nach identischen Bereichen absucht; findet es welche, führt es sie zusammen und reduziert durch Freigabe der nun unnützen Kopien den Speicherverbrauch. Das ist etwa bei der Virtualisierung mit KVM interessant, wenn mehrere ähnliche Gastbetriebssysteme mit gleichen Software-Bibliotheken und Programmen auf einem Rechner laufen und dadurch größere Teile der im Arbeitsspeicher der Gäste gespeicherten Daten identisch sind.

Der Artikel zum Linux Symposiums 2009 und die dort verlinkte Textfassung eines OLS-2009-Vortrags erläutern die Technik näher und erklären, wie KSM sicherstellt, dass kein Chaos entsteht, wenn ein Prozess einen gemeinsam genutzten Speicherabschnitt verändert. Das PDF-Dokument erwähnt auch, wie das CERN mit Hilfe von KSM die Hardware-Anforderungen beim Auswerten der Daten des Teilchenbeschleunigers LHC (Large Hadron Collider) reduzieren konnte.

Durch das neue und von Intel-Entwickler Andi Kleen eingebrachte HWPOISON unterstützt der Linux-Kernel 2.6.32 außerdem einige der Techniken zur Behandlung und Umgehung von Speicherfehlern, die die Anfang 2010 erwarteten Server-Prozessoren aus Intels Nehalem-EX-Reihe bieten sollen. Details dazu finden sich im Commit-Kommentar, der Kernel-Dokumentation und einem LWN.net-Artikel.

Tracing

Die noch jungen Performance Counters wurden in Performance Events umbenannt, weil diese Bezeichnung besser zu dem in den vergangenen Monaten stark weiterentwickelten Code passt. Wie stark sich die Kernel-Infrastruktur zur Performance- und Laufzeit-Analyse sich wandelt, zeigen auch die umfangreichen Patches für die Performance Counter/Events (1, 2), das Tracing-Subsystem oder Oprofile , die die jeweils wichtigsten Neuerungen der Subsysteme kurz erwähnen. Etwa der nun ohne Sperren auskommende Ring-Buffer, den der Tracing-Code stark nutzt – Hintergründe hierzu liefert abermals LWN.net.

Neu ist auch das Subprogramm "perf sched" zur komfortableren Analyse des Prozess-Schedulers. Ebenfalls frisch dabei ist die Unterstützung für das maßgeblich von Arjan van de Ven entwickelte Timechart-Tool, mit dem sich zuvor mit "perf record" aufgezeichneter Traces zur einfacheren Analyse als SVG visualisieren lassen – van de Ven erklärt das ganze in seinem Blog detaillierter und zeigt dort verschiedene Einsatzmöglichkeiten.

Die kleinen Perlen

Viele weiteren nicht ganz so wichtige Neuerungen finden sich in der folgenden Liste mit den englischen Commit-Überschriften der jeweiligen Änderung. Die Einträge verlinken genau wie viele der Verweise im vorangegangenen Text auf das Webfrontend des von Linus Torvald betreuten Git-Zweigs mit den Kernel-Quellen auf Kernel.org. Im Webfrontend liefern normalerweise der Commit-Kommentar und der Patch selbst zahlreiche weitere Informationen zur jeweiligen Änderungen.

Architektur

ARM

    * Add i.MX25 support
    * Add support for Eukrea's CPUIMX27
    * Add support for Eukrea's MBIMX27
    * ARM: 5570/1: at91: Support for at91sam9g10: core chip board support
    * ARM: 5572/1: at91: Support for at91sam9g45 series: core chip board support
    * ARM: 5580/2: ARM TCM (Tightly-Coupled Memory) support v3
    * ARM: 5590/1: Add basic support for ST Nomadik 8815 SoC and evaluation board
    * ARM: 5629/1: Add support for Eukrea's CPU9260 CPU9G20
    * ARM: 5630/1: Add support for Eukrea's CPUAT91
    * ARM: 5641/1: bcmring: add Kconfig and Makefile entries in arch/arm
    * ARM: 5667/3: U300 SSP/SPI board setup and test
    * ARM: BAST: CPUFREQ: Add board support
    * ARM: implement highpte
    * ARM: Kirkwood: Marvell OpenRD-Base board support
    * ARM: orion5x: Add LaCie NAS 2Big Network support
    * ARM: OSIRIS: CPUFREQ: Add CPU frequency scaling support
    * ARM: pxa: balloon3 (http://balloonboard.org/) base machine support
    * ARM: S3C2410: CPUFREQ: Add core support.
    * ARM: S3C2412: CPUFREQ: Add core support.
    * ARM: S3C2440: CPUFREQ: Add core support.
    * ARM: S3C24XX: CPUFREQ: Add core support.
    * ARM: S3C6410: airgoo hmt board support
    * ARM: S3C: CPUFREQ: Add debugfs support for cpufreq
    * ARM: S3C: CPUFREQ: Add documentation for system
    * ARM: S5PC100: Board and configuration file
    * ARM: S5PC100: Clock and PLL support
    * ARM: S5PC100: CPU initialization
    * ARM: S5PC100: Kconfigs and Makefiles
    * ep93xx video driver platform support
    * Freescale i.MX25 PDK (3ds) board support
    * MAINTAINERS: move ARM lists to infradead
    * mx27: add support for phytec pca100 (phyCARD-s) board
    * MXC: add basic MXC91231 support
    * MXC: add iomux pins configuration support for MXC91231
    * nommu: Add MMU-less support for Integrator platforms
    * nommu: Add MMU-less support for the RealView boards
    * nommu: ptrace support
    * OMAP2: add board file for Nokia N800 and N810
    * OMAP3: Zoom2: Add TWL4030 support
Power

    * mpc5200: support for the MAN mpc5200 based board mucmc52
    * PCI: document PCIe fundamental reset interfaces
    * PCI/powerpc: support PCIe fundamental reset
    * powerpc/40x: Add support for the ESTeem 195E (PPC405EP) SBC
    * powerpc/44x: Add Eiger AMCC (AppliedMicro) PPC460SX evaluation board support.
    * powerpc/83xx: Add support for MPC8377E-WLAN boards
    * powerpc/85xx: Add support for P2020RDB board
    * powerpc: Enable GCOV
    * powerpc: Fix some late PowerMac G5 with PCIe ATI graphics
    * powerpc: introduce and document sdhci,wp-inverted property for eSDHC
    * powerpc/powermac: Thermal control turns system off too eagerly
    * powerpc: Remaining 64-bit Book3E support
x86

    * ACPI, x86: expose some IO-APIC routines when CONFIG_ACPI=n
    * intel_txt: Force IOMMU on for Intel TXT launch
    * Revert "x86, timers: Check for pending timers after (device) interrupts"
    * x86: Add early platform detection
    * x86: Add hardware_subarch ID for Moorestown
    * x86: Add Moorestown early detection
    * x86: Add Phoenix/MSC BIOSes to lowmem corruption list
    * x86: Add reboot quirk for 3 series Mac mini
    * x86/amd-iommu: replace "AMD IOMMU" by "AMD-Vi"
    * x86/amd-iommu: Workaround for erratum 63
    * x86, EDAC: Provide function to return NodeId of a CPU
    * x86, intel_txt: Intel TXT reboot/halt shutdown support
    * x86, intel_txt: Intel TXT Sx shutdown support
    * x86, mce: fix reporting of Thermal Monitoring mechanism enabled
    * x86, mce: Support specifying context for software mce injection
    * x86, mce: Support specifying raise mode for software MCE injection
    * x86: mce: Update X86_MCE description in x86/Kconfig
    * x86, msr: Export the register-setting MSR functions via /dev/*/msr
    * x86/oprofile: Enable multiplexing only if the model supports it
    * x86, pat/mtrr: Rendezvous all the cpus for MTRR/PAT init
    * x86, perf_counter, bts: Add BTS support to perfcounters
    * x86: Remove STACKPROTECTOR_ALL
    * x86, timers: Check for pending timers after (device) interrupts
    * x86,percpu: use embedding for 64bit NUMA and page for 32bit NUMA
    * x86: Provide an alternative() based cmpxchg64()
Others

    * core generic GPIO support for Freescale Coldfire processors.
    * davinci: Adding DM365 SOC Support
    * davinci: Add support for DA850/OMAP-L138 EVM board
    * davinci: da8xx: Add base DA830/OMAP-L137 SoC support
    * davinci: da8xx: Add support for DA830/OMAP-L137 EVM board
    * IA64: implement ticket locks for Itanium
    * m32r: bzip2/lzma kernel compression support
    * MAINTAINERS: add entry for TI DaVinci machine support
    * microblaze: Add architectural support for USB EHCI host controllers
    * microblaze: Add checking mechanism for MSR instruction
    * MIPS: BCM63xx: Add integrated ethernet mac support.
    * MIPS: BCM63xx: Add PCMCIA Cardbus support.
    * MIPS: BCM63xx: Add serial driver for bcm63xx integrated UART.
    * MIPS: BCM63xx: Add support for the Broadcom BCM63xx family of SOCs.
    * MIPS: Loongson: Add GCC 4.4 support for Loongson2E
    * MIPS: Loongson: Add oprofile support
    * OMAP2/3/4 core: create omap_device layer
    * OMAP2/3/4: create omap_hwmod layer
    * OMAP: PM counter infrastructure.
    * S390: 64-bit register support for 31-bit processes
    * S390: add call home support
    * S390: Enable guest page hinting by default.
    * score: add maintainers for score architecture
    * score: Add support for Sunplus S+core architecture
    * sh: Add CEU support for EcoVec24
    * sh: Add EcoVec (SH7724) board support
    * sh: add FSI driver support for ms7724se
    * sh: Add ftrace syscall tracing support
    * sh: Add initial support for SH7757 CPU subtype
    * sh: Add support DMA Engine to SH7722
    * sh: Add support DMA Engine to SH7780
    * sh: bzip2/lzma zImage support.
    * sh: Function graph tracer support
    * sh: kfr2r09 board support - mach-type and defconfig
    * sparc: add basic support for 'perf'
    * sparc: Add CONFIG_DMA_API_DEBUG support
    * sparc,leon: CONFIG_SPARC_LEON option and leon specific files.
    * sparc,leon: Introduce the sparc-leon CPU type.
    * sparc: Niagara1 perf event support.
    * sparc: Support all ultra3 and ultra4 derivatives.
Memory Management (MM)

    * cgroups: update documentation of cgroups tasks and procs files
    * Documentation/memory.txt: remove some very outdated recommendations
    * hugetlb: add MAP_HUGETLB example
    * hugetlb: clean up and update huge pages documentation
    * HWPOISON: Add basic support for poisoned pages in fault handler v3
    * HWPOISON: Add new SIGBUS error codes for hardware poison signals
    * HWPOISON: Add page flag for poisoned pages
    * HWPOISON: Add poison check to page fault handling
    * HWPOISON: Add support for poison swap entries v2
    * HWPOISON: x86: Add VM_FAULT_HWPOISON handling to x86 page fault handler v2
    * kmemcheck: update documentation
    * ksm: add mmu_notifier set_pte_at_notify()
    * ksm: add some documentation
    * ksm: change default values to better fit into mainline kernel
    * ksm: more on default values
    * ksm: sysfs and defaults
    * ksm: the mm interface to ksm
    * mm: allow memory hotplug and hibernation in the same kernel
    * mm: fix NUMA accounting in numastat.txt
    * mm: fix sparsemem configuration
    * mm: oom analysis: add buffer cache information to show_free_areas()
    * mm: oom analysis: add per-zone statistics to show_free_areas()
    * mm: oom analysis: add shmem vmstat
    * mm: vmstat: add isolate pages
    * nommu: add support for Memory Protection Units (MPU)
    * oom: make oom_score to per-process value
    * pagemap clear_refs: modify to specify anon or mapped vma clearing
    * pagemap: document KPF_KSM and show it in page-types
    * pagemap: export KPF_HWPOISON
    * page-types: add feature for walking process address space
    * page-types: add hwpoison/unpoison feature
    * page-types: introduce checked_open()
    * page-types: introduce kpageflags_flags()
    * page-types: make standalone pagemap/kpageflags read routines
    * page-types: make voffset local variables
    * proc: document `guest' column in /proc/stat
    * slub: add option to disable higher order debugging slabs
    * tracing, documentation: Add a document on the kmem tracepoints
    * truncate: new helpers
    * truncate: use new helpers
    * vm: document that setting vfs_cache_pressure to 0 isn't a good idea
Tracing

    * Add a tracepoint for block request remapping
    * drm/i915: Add tracepoints
    * ext4: Add a tracepoint for ext4_alloc_da_blocks()
    * ftrace: document function and function graph implementation
    * hrtimer: Add tracepoint for hrtimers
    * itimers: Add tracepoints for itimer
    * oprofile: Implement performance counter multiplexing
    * perf: Add a SVG helper library file
    * perf: Add a timestamp to fork events
    * perf: Add timechart help text and add timechart to "perf help"
    * perf_counter: powerpc: Add callchain support
    * perf_counter, sched: Add sched_stat_runtime tracepoint
    * perf report: Add raw displaying of per-thread counters
    * perf report: Fix and improve the displaying of per-thread event counters
    * perf sched: Account for lost events, increase default buffering
    * perf sched: Add --input=file option to builtin-sched.c
    * perf sched: Add involuntarily sleeping task in work atoms
    * perf sched: Add 'perf sched latency' and 'perf sched replay'
    * perf sched: Add 'perf sched map' scheduling event map printout
    * perf sched: Add 'perf sched trace', improve documentation
    * perf sched: Add runtime stats
    * perf sched: Add sched latency profiling
    * perf sched: Add support for sched:sched_stat_runtime events
    * perf sched: Display time in milliseconds, reorganize output
    * perf sched: Implement the 'perf sched record' subcommand
    * perf sched: Implement the scheduling workload replay engine
    * perf sched: Import schedbench.c
    * perf sched: Make it easier to plug in new sub profilers
    * perf sched: Output runtime and context switch totals
    * perf sched: Print PIDs too
    * perf: Tidy up after the big rename
    * perf timechart: Add a power-only mode
    * perf timechart: Add "perf timechart record"
    * perf timechart: Show the duration of scheduler delays in the SVG
    * perf timechart: Show the name of the waker/wakee in timechart
    * perf tools: Add an option to multiplex counters in a single channel
    * perf tools: Add missing parameters documentation
    * perf tools: Add perf trace
    * perf tools: Add trace event debugfs IO handler
    * perf tools: Add trace event information parser
    * perf tools: Allow the specification of all tracepoints at once
    * perf tools: Complete support for dynamic strings
    * perf tools: Factorize the thread code in a dedicated file
    * perf tools: Implement counter output multiplexing
    * perf util: Make the timechart SVG width dynamic
    * perf util: SVG performance improvements
    * powerpc/sputrace: Use the generic event tracer
    * ring-buffer: add design document
    * ring-buffer: make lockless
    * sched: Add wait, sleep and iowait accounting tracepoints
    * sched: Provide iowait counters
    * timers: Add tracepoints for timer_list timers
    * tracing: Add individual syscalls tracepoint id support
    * tracing: add latency format to function_graph tracer
    * tracing: add lock depth to entries
    * tracing: Add more namespace area to 'perf list' output
    * tracing: Add perf counter support for syscalls tracing
    * tracing: Add syscall tracepoints
    * tracing: Add trace events for each syscall entry/exit
    * tracing: Add vim script to enable folding for function_graph traces
    * tracing: create generic trace parser
    * tracing, documentation: add a document describing how to do some performance analysis with tracepoints
    * tracing/events: Add module tracepoints
    * tracing/events: Add trace_event boot option
    * tracing/filters: add filter Documentation
    * tracing/filters: improve subsystem filter
    * tracing: make testing syscall events a separate configuration
    * tracing, page-allocator: add a postprocessing script for page-allocator-related ftrace events
    * tracing: pass around ring buffer instead of tracer
    * tracing, perf: Convert the power tracer into an event tracer
    * tracing: Remove markers
    * tracing: Remove mentioning of legacy latency_trace file from documentation
    * tracing: Rename FTRACE_SYSCALLS for tracepoints
    * tracing: Support for syscall events raw records in perfcounters
    * tracing/syscalls: Add fields format for exit events
    * tracing/syscalls: Add filtering support
    * tracing: trace parser support for function and graph
    * tracing: trace parser support for set_event
    * x86, perf_counter, bts: Add BTS support to perfcounters
Virtualisierung

    * Documentation: Update KVM list email address
    * KVM: Add Directed EOI support to APIC emulation
    * KVM: Add MCE support
    * KVM: add module parameters documentation
    * KVM: add support for change_pte mmu notifiers
    * KVM: Add trace points in irqchip code
    * KVM: Cache pdptrs
    * KVM: Document basic API
    * KVM: Document KVM_CAP_IRQCHIP
    * KVM: Implement MSRs used by Hyper-V
    * KVM: introduce module parameter for ignoring unknown MSRs accesses
    * KVM: MMU: enable gbpages by increasing nr of pagesizes
    * KVM: MMU: shadow support for 1gb pages
    * KVM: Move common KVM Kconfig items to new file virt/kvm/Kconfig
    * KVM: PIT support for HPET legacy mode
    * KVM: powerpc: convert marker probes to event trace
    * KVM: report 1GB page support to userspace
    * KVM: SVM: enable nested svm by default
    * KVM: SVM: Improve nested interrupt injection
    * KVM: x86 emulator: Add missing EFLAGS bit definitions
    * KVM: x86 emulator: add syscall emulation
    * KVM: x86 emulator: Add sysenter emulation
    * KVM: x86 emulator: Add sysexit emulation
    * virtio: add virtio IDs file
    * xen: make -fstack-protector work under Xen

Quelle : www.heise.de
Titel: Kernel-Log – Was 2.6.32 bringt (6): Infrastruktur
Beitrag von: SiLæncer am 27 November, 2009, 19:16
Dank dem als "Devfs 2.0" verspottete devtmpfs soll der Linux-Kernel schneller starten und ohne Udev arbeiten. Neu sind Unterstützung für ACPI 4.0 sowie zwei Make-Targets, die eine zum laufenden System passende Kernel-Konfigurationen erzeugen. Änderungen am Power-Management-Subsystem steigern den Datendurchsatz und ermöglichen eine bessere Nutzung der Stromsparmechanismen moderner I/O-Geräte.

Der sechste Teil der Serie "Was Linux 2.6.32 bringt" beschreibt die Änderungen an und um die Infrastruktur des Kernels. Die fünf ersten Teile der Serie hatten sich mit den Neuerungen im Netzwerksubsystem, bei Grafik-Hardware, im Bereich Storage und Dateisysteme, bei weiteren Treibern sowie bei Architektur-Code, Virtualisierung und Tracing beschäftigt.

ACPI, PCI und PM

Verschiedene Patches erweitern der Linux-Kernel um Unterstützung für ACPI 4.0. Zusammen mit ihnen stieß auch ein Treiber für Leistungsmessgeräte nach ACPI 4.0 und der ACPI Processor Aggregator Device Driver zum Kernel. Letzterer legt einzelne CPUs schlafen, wenn er via ACPI 4.0 dazu angewiesen wird. Darüber lässt sich beispielsweise die Leistungsaufnahme vorübergehend reduzieren, um das System bei kritischer Stromversorgung oder drohender Überhitzung mit reduzierter Kraft weiterlaufen lassen zu können, statt es abschalten zu müssen. Der Aufnahme des Treiber ging eine längere Diskussion voran, in der Torvalds ein Machtwort zu Gunsten des Treibers sprach – Details dazu liefert ein Artikel bei LWN.net.

Im PCI-Subsystem haben die Kernel-Hacker die VGA-Arbitration-Patches integriert. Deren Code stellt bei Systemen mit mehreren Grafikkarten zusammen mit einem X-Server ab Version 1.7 sicher, dass die jeweils richtige Grafikkarte die ihr zugedachten VGA-Kommandos des X-Servers  erhält – das bringt deutlich mehr Flexibilität beim Aufsetzen von Multiseat-Umgebungen. Details dazu finden sich in der Kernel-Dokumentation und zwei älteren Blog-Einträgen von Dave Airlie und Tiago Vignatti. Einige weitere wichtige Änderungen im PCI-Subsystem listet dessen Verwalter Jesse Barnes in seinem Haupt-Patch; darunter Optimierungen für PCI ASPM (Active State Power Management) und bessere Reset-Möglichkeiten für PCIe-Geräte – die dafür verantwortlichen Änderungen finden Sie auch über die Liste am Ende des Artikels.

Einige umfangreichere Änderungen am Power-Management-Code legen die Basis zur besseren Nutzung der zur Laufzeit verwendbaren Stromsparmechanismen moderner I/O-Geräte – Details dazu liefert ein LWN.net-Artikel. Eine ebenfalls bei LWN.net erläuterte Optimierung am Cpuidle-Framework soll vor allem bei größeren Servern den I/O-Durchsatz steigern – teilweise deutlich. Einige weitere Änderungen am Power-Management-Code listet der Haupt-Patch von Rafael J. Wysocki.

Scheduling und Security

Zahlreiche Verbesserungen gab es am für die Zuteilung von Prozessorzeit an Anwendungen zuständigen Scheduler des Kernels (1, 2). So führt der Kernel Kind-Prozesse nach dem Fork nun als erstes aus und setzt die Priorität von Kind-Prozessen auf den Standardwert, sofern das neue Flag "SCHED_RESET_ON_FORK" gesetzt ist – Hintergründe zu diesen beiden Änderungen liefern zwei Artikel bei LWN.net (1, 2).

Einige der Änderungen am Prozess-Scheduler beseitigen zudem Schwächen, die bei Geschwindigkeitsvergleichen mit dem kürzlich von Con Kolivas veröffentlichten und unabhängig vom Kernel entwickelten BFS ("Brain Fuck Scheduler") gefunden wurden. Eines der ausgeräumten Probleme hat das Encoding mit x264 auf Mehrkern-Systemen erheblich verlangsamt – einer der x264-Entwickler erläutert die Hintergründe näher in seinem Blog und nutzt das für einige Empfehlungen zur besseren Zusammenarbeit zwischen Entwicklern.

Sysfs unterstützt nun Security Labels, was Sicherheitsframeworks wie SELinux eine Zugriffskontrolle in dem virtuellen Dateisystem ermöglicht. Einige der wichtigsten Änderungen im Crypto-Bereich fasst der für dies Subsystem zuständige Herbert Xu im Haupt-Patch für 2.6.32 zusammen.

Devfs im zweiter Anlauf

Nach längeren Diskussionen im Sommer schaffte das gelegentlich als "Devfs 2.0" verspottete devtmpfs den Sprung in den Kernel. Mit seiner Hilfe kann der Kernel beim Start eine mit einem Device-Dateisystem bestückte Ramdisk nun selbst anlegen und einbinden – das kann den Systemstart beschleunigen und ermöglicht das Booten ohne eine mit Udev bestückte Initrd.

Das sind aber nur einige der Vorteile des in einem älteren LWN.net-Artikel näher erläuterten devtmps, das dennoch von manchen Kernel-Entwicklern heftig kritisiert wurde – Torvalds gefiel das Konzept jedoch und begrüßte insbesondere, dass der Kernel nun alles zum Systemstart benötige selbst erledigen könne. Direkt nach der Aufnahme fiel allerdings auf, dass Udev nach dem Start weiter nötig sei, um unter anderem die Berechtigungen von /dev/null und /dev/zero zu setzen – durch einen wenig später eingepflegten Patch erledigt der Kernel nun auch das.

Passend konfiguriert

Kernel-Tester können mit Hilfe des neuen Make-Target "localmodconfig" nun relativ einfach eine zur eingesetzten Distribution und der jeweiligen Hardware passende Kernel-Konfiguration erstellen, bei der keine unnötigen Module kompiliert werden. Als Ausgangsbasis dient die Konfigurationsdatei des gerade laufenden Kernels; jedoch werden alle Module deaktiviert, die zu diesem Zeitpunkt nicht geladen sind.

Daher fehlen möglicherweise Treiber für Geräte, die beim Aufruf von Make nicht angeschlossen sind – etwa USB-Hardware. Tester könnten so aber beim Erstellen eines Kernels viel Zeit sparen, wie der für diese Änderungen zuständige Kernel-Hacker Steven Rostedt in seinem Patch erläutert. Dort erklärt Rostedt auch die Funktionsweise und das Make-Target "localyesconfig", das eine Kernel-Konfiguration erzeugt, bei der alle zum Aufrufzeitpunkt geladenen Module fest einkompiliert werden.

Die kleinen Perlen

Viele weiteren nicht ganz so wichtige Neuerungen finden sich in der folgenden Liste mit den englischen Commit-Überschriften der jeweiligen Änderung. Die Einträge verlinken genau wie viele der Verweise im vorangegangenen Text auf das Webfrontend des von Linus Torvalds betreuten Git-Zweigs mit den Kernel-Quellen auf Kernel.org. Im Webfrontend liefern normalerweise der Commit-Kommentar und der Patch selbst zahlreiche weitere Informationen zur jeweiligen Änderungen.

ACPI

    * ACPI: add AC/DC notifier
    * ACPI button: provide lid status functions
    * ACPICA: ACPI 4.0 : Add new return package type, restructure module.
    * ACPICA: ACPI 4.0: iASL/Disassembler - IPMI keyword support.
    * ACPICA: ACPI 4.0: Interpreter support for IPMI.
    * ACPICA: ACPI 4: Add validation for new predefined names.
    * ACPICA: Add 64-bit support to acpi_read and acpi_write
    * ACPICA: Add support for module-level executable AML code
    * ACPICA: Major update for acpi_get_object_info external interface
    * ACPICA: Update _OSI with new Windows OS strings
    * ACPICA: Windows compatibility: autoexecute root _INI method
    * ACPI: Make ACPI processor proc I/F depend on the ACPI_PROCFS
    * ACPI, PCI: Change PREFIX to "PCI" from "ACPI" in mmconfig-shared.c
    * led: document sysfs interface
    * Revert "ACPI: Attach the ACPI device to the ACPI handle as early as possible"
    * SFI: add capability to parse ACPI tables
    * SFI: add platform-independent core support
    * SFI: create linux/sfi.h
    * thermal: sysfs-api.txt - document passive attribute for thermal zones
    * video/backlight: document sysfs interface
    * video/lcd: document sysfs interface

Crypto

    * crypto: ahash - Convert to new style algorithms
    * crypto: api - Add new style spawn support
    * crypto: cryptd - Add support to access underlaying shash
    * crypto: gcm - Use GHASH digest algorithm
    * crypto: mv_cesa - Add support for Orion5X crypto engine
    * crypto: padlock - Switch sha to shash
    * crypto: sha256_generic - Add export/import support
    * crypto: shash - Add spawn support
    * crypto: talitos - add support for 36 bit addressing
    * crypto: vmac - New hash algorithm for intel_txt support

Security

    * Add audit messages on type boundary violations
    * CRED: Add some configurable debugging [try #6]
    * KEYS: Add a keyctl to install a process's session keyring on its parent [try #6]
    * KEYS: Add garbage collection for dead, revoked and expired keys. [try #6]
    * lsm: Add hooks to the TUN driver
    * LSM/SELinux: inode_{get,set,notify}secctx hooks to access LSM security context information.
    * security: introducing security_request_module
    * selinux: Support for the new TUN LSM hooks

PCI

    * agp: Add generic support for graphics dma remapping
    * genirq: Support nested threaded irq handling
    * intel_agp: Use PCI DMA API correctly on chipsets new enough to have IOMMU
    * intel-iommu: Kill DMAR_BROKEN_GFX_WA option.
    * intel-iommu: Support PCIe hot-plug
    * MAINTAINTERS: remove hotplug driver entries
    * PCI / ACPI PM: Propagate wake-up enable for devices w/o ACPI support
    * PCI ASPM: support L1 only
    * PCI ASPM: support partial aspm enablement
    * PCI ASPM: support per direction l0s management
    * PCI: Document pci_ids.h addition policy.
    * PCI hotplug: add pci_configure_slot()
    * PCI hotplug: add support for 5.0G link speed
    * PCI: support for PCI Express fundamental reset
    * spi: add SPI driver for most known i.MX SoCs
    * spi: add spi_ppc4xx driver
    * spi: add support for device table matching
    * spi: Freescale STMP driver
    * spi: McSPI off-mode support
    * spi: remove i.MX SPI driver
    * x86/amd-iommu: Support higher level PTEs in iommu_page_unmap

Powermanagement

    * CPUFREQ: Introduce global, not per core: /sys/devices/system/cpu/cpufreq
    * CPUFREQ: ondemand - Use global sysfs dir for tuning settings
    * CPUFREQ: Powernow-k8: Enable more than 2 low P-states
    * CPUFREQ: update Doc for cpuinfo_cur_freq and scaling_cur_freq
    * cpuidle: menu governor: reduce latency on exit
    * NOHZ: update idle state also when NOHZ is inactive
    * PM/Hibernate: Do not release preallocated memory unnecessarily (rev. 2)
    * PM/Hibernate: Do not try to allocate too much memory too hard (rev. 2)
    * PM/Hibernate: Rework shrinking of memory
    * tracing, x86, cpuidle: Move the end point of a C state in the power tracer

Scheduler

    * sched: Add come comments to the sched features
    * sched: Add new wakeup preemption mode: WAKEUP_RUNNING
    * sched: Add SCHED_RESET_ON_FORK functionality for nice < 0 tasks
    * sched: Add wait, sleep and iowait accounting tracepoints
    * sched: Clean up SCHED_RESET_ON_FORK
    * sched: Disable NEW_FAIR_SLEEPERS for now
    * sched: Ensure that a child can't gain time over it's parent after fork()
    * sched: Implement a gentler fair-sleepers feature
    * sched: Introduce SCHED_RESET_ON_FORK scheduling policy flag
    * sched: Merge select_task_rq_fair() and sched_balance_self()
    * sched: Turn off child_runs_first

Diverse andere Änderungen

    * cgroups: add a read-only "procs" file similar to "tasks" that shows only unique tgids
    * cgroups: let ss->can_attach and ss->attach do whole threadgroups at a time
    * cgroups: support named cgroups hierarchies
    * checkpatch: make -f alias --file, add --help, more verbose help message
    * connector: Provide the sender's credentials to the callback
    * docs: update patch size in SubmittingPatches
    * Documentation: ABI: document /sys/devices/system/cpu/
    * Documentation: ABI: rename sysfs-devices-cache_disable properly
    * Documentation: ABI: /sys/devices/system/cpu/cpuidle/
    * Documentation: ABI: /sys/devices/system/cpu/cpu#/node
    * Documentation: ABI: /sys/devices/system/cpu/cpu#/ topology files
    * Documentation: ABI: /sys/devices/system/cpu/ topology files
    * Driver core: Add support for compatibility classes
    * exec: let do_coredump() limit the number of concurrent dumps to pipes
    * futex: Add memory barrier commentary to futex_wait_queue_me()
    * futex: Make function kernel-doc commentary consistent
    * genirq: Add buslock support
    * genirq: Add oneshot support
    * kbuild: add static to prototypes
    * kbuild: introduce ld-option
    * kbuild: rename ld-option to cc-ldoption
    * kbuild: set -fconserve-stack option for gcc 4.5
    * kbuild: use INSTALLKERNEL to select customized installkernel script
    * kconfig: add streamline_config.pl to scripts
    * kconfig: add symbol value to help find the real depend
    * kconfig: make local .config default for streamline_config
    * kconfig: make localmodconfig to run streamline_config.pl
    * kconfig: test for /boot/config-uname after /proc/config.gz in localconfig
    * kernel-doc: allow multi-line declaration purpose descriptions
    * kernel hacking: move STRIP_ASM_SYMS from General
    * kmemleak: add clear command support
    * kmemleak: Dump object information on request
    * memcg: add comments explaining memory barriers
    * memcg: improve resource counter scalability
    * memcg: remove the overhead associated with the root cgroup
    * memcg: show swap usage in stat file
    * memory controller: soft limit documentation
    * memory controller: soft limit interface
    * memory controller: soft limit organize cgroups
    * memory controller: soft limit reclaim on contention
    * param: allow whitespace as kernel parameter separator
    * percpu: build first chunk allocators selectively
    * percpu: implement optional weak percpu definitions
    * percpu: introduce pcpu_alloc_info and pcpu_group_info
    * percpu: use dynamic percpu allocator as the default percpu allocator
    * printk: add printk_delay to make messages readable for some scenarios
    * rcu: Add synchronize_sched_expedited() rcutorture doc + updates
    * rcu: Kconfig help needs to say that TREE_PREEMPT_RCU scales down
    * rcu: Merge preemptable-RCU functionality into hierarchical RCU
    * rcu: Remove Classic RCU
    * rcu: Remove CONFIG_PREEMPT_RCU
    * rcu: Renamings to increase RCU clarity
    * scripts/get_maintainer.pl: add --git-blame
    * scripts/get_maintainer.pl: add .mailmap use, shell and email cleanups
    * scripts/get_maintainer.pl: add maintainers in order listed in matched section
    * scripts/get_maintainer.pl: add patch/file search for keywords
    * scripts/get_maintainer.pl: add --pattern-depth
    * scripts/get_maintainer.pl: add --remove-duplicates
    * scripts/get_maintainer.pl: add sections in pattern match depth order
    * time: add function to convert between calendar time and broken-down time for universal use
    * time: Introduce CLOCK_REALTIME_COARSE
    * timekeeping: Add timekeeper read_clock helper functions
    * timekeeping: Add xtime_shift and ntp_error_shift to struct timekeeper
    * timekeeping: Increase granularity of read_persistent_clock()
    * timekeeping: Introduce struct timekeeper
    * Update flex_arrays.txt

Nachzügler

Die vorangegangen Teile der Kernel-Log-Serie "Was Linux 2.6.32 bringt" haben bereits einen detaillierten Überblick über die wichtigsten Änderungen in vielen Bereichen des Linux-Kernels 2.6.32 gegeben, weil das Gros der Änderungen wie vorgesehen in der ersten Phase des Entwicklungszyklus in den Hauptentwicklungszweig einzog. Einige kleinere, zumeist nicht ganz so wichtige Änderungen der Kategorie "Die kleineren Perlen" haben sich aber noch später eingeschlichen. Die wichtigsten von ihnen finden Sie in der folgenden Liste:

Grafik

    * drm: Add the basic check for the detailed timing in EDID
    * drm/radeon/kms: add debugfs for power management for AtomBIOS devices
    * drm/radeon/kms: add quirk for acer 5102
    * drm/radeon/kms: add quirk for hp dc5750
    * drm/radeon/kms: add support for msi
    * drm/radeon/kms/atom: add support for AdjustDisplayPll
    * drm/radeon/kms/atom: add support for spread spectrum (v2)
    * drm/radeon/kms: fix support for original r100
    * drm/radeon/kms: initial mode validation support

Netzwerk

    * ath5k: add LED definition for BenQ Joybook R55v
    * ath5k: add LED support for HP Compaq CQ60
    * e1000e: config PHY via software after resets
    * e100: e100_phy_init() isolates selected PHY, causes 10 second boot delay
    * iwlwifi: Use RTS/CTS as the preferred protection mechanism for 6000 series
    * mlx4_core: Add a new supported 40 GigE device ID
    * netdev: usb: dm9601.c can drive a device not supported yet, add support for it

Quelle : www.heise.de
Titel: Linux-Kernel 2.6.32 freigegeben
Beitrag von: SiLæncer am 03 Dezember, 2009, 08:40
Linus Torvalds hat die Version 2.6.32 des Linux-Kernels freigegeben. Wie ihre Vorgänger der Linux-Hauptentwicklungslinie bringt auch die neue Kernel-Ausgabe wieder Tausende von Verbesserungen – darunter KMS- und 3D-Unterstützung für Radeon-Grafikkarten der Serien 2000, 3000 und 4000, das identische Speicherbereiche verschiedener Userland-Prozesse zusammenführende KSM oder devtmpfs, durch das der Linux-Kernel schneller startet und ohne Udev arbeitet.

Ausführliche Informationen zu diesen und zahlreichen weiteren wichtigen Neuerungen von Linux 2.6.32 liefert ein Artikel auf heise open:

    * Die Neuerungen von Linux 2.6.32 (http://www.heise.de/open/artikel/Die-Neuerungen-von-Linux-2-6-32-870416.html)

Quelle : www.heise.de
Titel: Linus Torvalds nimmt DRBD in den Linux-Kernel auf
Beitrag von: SiLæncer am 10 Dezember, 2009, 16:39
Linus Torvalds, der Initiator des Linux-Kernels, hat am 8. Dezember 2009 die freie Daten-Replikationslösung DRBD als offizielle Komponente in Linux aufgenommen. Die kommende Version 2.6.33 von Linux wird damit erstmals DRBD integriert mitbringen, wodurch die Pflege eines externen Moduls für viele Systemadministratoren entfällt. Nach auf den Tag genau zehn Jahren Entwicklungsarbeit - die ersten Zeilen des Quelltextes schrieb DRBD-Erfinder Philipp Reisner am 8. Dezember 1999 - erreicht die Geschichte von DRBD damit ihren vorläufigen Höhepunkt.

Philipp Reisner veröffentlichte das »Distributed Replicated Block Device« ursprünglich als Teil seiner Diplomarbeit an der TU Wien und stellte das Subsystem und aktuelle Neuerungen auf mehreren Linux-Konferenzen vor. Ursprünglich angetreten mit dem Ziel, eine Lösung für das redundante Sichern von E-Mails zu schaffen, merkte er schnell, dass seine Software auch für andere Einsatzszenarien bestens geeignet ist. Im November 2001 gründete er zusammen mit vier Kollegen das Unternehmen LINBIT mit Sitz in Wien, das sich in der Folge um die Entwicklung von DRBD kümmerte - damals noch in der Version 0.6.

Im Mai 2005 stieß Lars Ellenberg zu LINBIT und übernahm die Leitung der Entwicklungsabteilung an der Seite von Philipp Reisner. Er zeichnet damit maßgeblich verantwortlich für die im Januar 2007 veröffentlichte Version 8 von DRBD, welche insbesondere große Fortschritte in der Geschwindigkeit brachte und erstmals die Möglichkeit bot, auf beide Clusterknoten gleichzeitig schreibend zuzugreifen. Seit Juli 2008 kümmert sich die eigens gegründete LINBIT HA-Solutions GmbH um die Weiterentwicklung von DRBD. In letzter Zeit sorgte vor allem die Integration des vormals kommerziellen DRBD-Addons DRBD+ in den DRBD-Hauptzweig für Furore - DRBD 8.3 erlaubt erstmals die so genannte Drei-Knoten-Replikation. Für DRBD 9 sind unter anderem mehr als zwei primäre Knoten und eine Integration mit dem Device Mapper geplant.

Philipp Reisner und LINBIT fühlen sich mit der Aufnahme des Moduls in Linux 2.6.33 in ihrer Arbeit bestätigt und angespornt. Laut LINBIT-Geschäftsführer Gerhard Sternath ist DRBD die bedeutendste Lösung für redundante Datenspeicherung in Linux.

Quelle : www.pro-linux.de
Titel: Kernel-Log: neue Stable-Kernel, 2.6.33 mit DRBD und RT2800PCI
Beitrag von: SiLæncer am 11 Dezember, 2009, 10:24
Die Kernel-Versionen 2.6.27.40, 2.6.27.41 und 2.6.31.7 bringen kleinere Verbesserungen und korrigieren Fehler – darunter auch eine Sicherheitslücke. Torvalds setzte bereits über 5000 Änderungen für Linux 2.6.33 um, dessen Merge Window noch etwas mehr als eine Woche offen sein dürfte. Verschiedene Entwickler arbeiten derweil signifikanten Verbesserungen für die quelloffenen Radeon-Grafiktreiber.

Entwicklung von Linux 2.6.33 angelaufen

Wie üblich begann Torvalds kurz nach der Freigabe von Linux 2.6.32 am vergangenen Donnerstag mit der Aufnahme der ersten Änderungen für die Version 2.6.33 des Linux-Kernels. Insgesamt nahm er bislang über 5000 Commits vor – rund 2900 davon fanden am Dienstag Abend den Weg in den öffentlichsten Git-Tree von Linux, wodurch Torvalds die Posteingangs-Ordner all derjenigen überflutete, die sich über die Mailingliste git-commits-head@vger.kernel.org die Commits im Hauptentwicklungszweig als Mail zustellen lassen.

Unter den bislang aufgenommenen Änderungen fand sich unter anderem die vor allem im High-Availability(HA)-Umfeld genutzte Replikationslösung DRBD (Distributed Replicated Block Device) – rausgeflogen ist hingegen der Anticipatory IO-Scheduler (AS), denn er biete nur einen Teil der Funktionen, die auch CFQ beherrsche ("AS is mostly a subset of CFQ, so there's little point in still providing this separate IO scheduler"). Einer der vielen neu aufgenommenen Treibern ist rt2800pci für die PCI-WLAN-Chips rt2860 und rt3090 von Ralink – diese Chips ließen sich bislang nur mit Treibern ansprechen, die den Qualitätsansprüchen der Kernel-Entwickler nicht genügten.

Das Gros der integrierten Änderungen haben wie üblich die Verwalter der verschiedenen Kernel-Subsysteme zuvor begutachtet, in einem Git-Zweig gesammelt und Torvalds anschließend mittels eines Git-Pull-Request gebeten, die Änderungen in den Hauptentwicklungszweig einzupflegen. Dass der Linux-Vater aber durchaus nochmal schaut, was er denn da integrieren soll, zeigt die LKML-Diskussion um den Git-Pull-Request des Power-Management-Subsystemverwalters. Dort kritisierte der Linux-Vater nämlich einen Teil der zur Integration gesammelten Patches nachhaltig und löste so eine längere, noch andauernde Diskussion aus.

Der Verwalter des Power-Management-Subsystems hat die kritisierten Änderungen zwischenzeitlich zurückgestellt und Torvalds in einem neuen Git-Pull-Request um die Aufnahme der anderen Patches gebeten, die Letzterer mittlerweile einpflegte. Zahlreiche weitere Änderungen aus anderen Bereiche dürfte der Linux-Vater in der kommenden Woche noch einspielen, die das Merge Window von 2.6.33 noch offen ist.

Linux-Versionsstatus

Die Betreuer der Linux-Stable-Series haben in der Nacht von Dienstag auf Mittwoch die Linux-Versionen 2.6.27.40, 2.6.27.41 und 2.6.31.7 freigegeben. Wie üblich bringen sie im wesentlichen kleinere Korrekturen und Verbesserungen, wobei die Version 2.6.27.41 lediglich einen zuvor bei 2.6.27.40 eingeschleppten Fehler behebt.

Die Version 2.6.31.7 zählt zu den Stable-Kerneln mit vergleichsweise viel Änderungen, denn sie unterscheidet sich durch knapp 120 Patches von ihrem Vorgänger. In den Freigabe-Mails raten die Betreuer der Stable-Series allen Anwendern von selbstkompilierten Vorgänger-Versionen zum Update auf die neue Linux-Kernel, ohne diese näher zu begründen oder Sicherheitskorrekturen auszuweisen ("All users of the 2.6.31 kernel series are very strongly encouraged to upgrade."). Zumindest einer der für 2.6.31.7 eingepflegten Patches korrigiert allerdings eine als CVE-2009-1298 geführte Sicherheitslücke, die einige Distributionen bereits durch Kernel-Updates stopfen.

Neue Stable-Kernel, die die kürzlich bekannt gewordenen Sicherheitslücke im Ext4-Dateisystem korrigieren, sind bislang nicht in Sicht.

Kernel-Staccato

Kernel

    * Clemens Ladisch bemüht sich um die Integration des Treiber k10temp, mit dem sich die Temperatursensoren moderner AMD-CPUs auslesen lassen sollen. Da viele CPUs jedoch fehlerhafte Werte liefern, arbeitet der zur Aufnahme bei 2.6.33 vorgesehene Code erst nach Angabe eines speziellen Parameters.
    * Laut einem Blog-Eintrag zu den von Harald Welte zu der möglichen GPL-Verletzung des Smartphone Palm Pre nutze das Unternehmen auch zahlreiche proprietäre Kernel-Treiber, die vorgeben, unter der GPL zu stehen – auf Anfrage konnte Palm aber Quellen der Treiber nicht bereitstellen.

System ("Plumbing layer")

    * Richard Hughes hat die Version 0.5.14 von Hal veröffentlicht, einer Schnittstelle zwischen Anwendungen und Kernel. Es sei vermutlich die letzte, die von der Linux-Seite erfolge – viele der bislang auf Hal aufsetzenden Anwendungen verwenden statt der Abstraktionsschicht nun Software wie udev oder libudev direkt, sodass Hal in der Linux-Welt mehr und mehr an Bedeutung verliert.
    * Douglas Gilbert hat die Version 0.23 von lsscsi freigegeben.
    * Karel Zak hat die Version 2.16.2 der util-linux-ng veröffentlicht, die unter anderem einige Korrekturen und kleine Verbesserungen für hwclock, libblkid, mkswap, mount oder sfdisk enthält. Zak arbeitet bereits an der Version 2.17, die erstmals das Kommando unshare mirbringen soll, dessen Einsatz der Entwickler in seinem Blog beschreibt .
    * Nach den Problemen mit der zurückgezogenen Version 3.1.0 von mdadm hat Neil Brown in der zweiten Novemberhälfte die Version 3.1.1 des Programms freigegeben und hebt die größeren Unterschiede zur 3.0er-Reihe nochmal explizit in der Freigabemail hervor.

Grafik

    * X.org-Entwickler Peter Hutterer hatte kürzlich die Version 1.7.2 des X-Servers freigegeben, die durch verschiedene, meist kleinere Änderungen einige Probleme der Vorgänger aus der 1.7er-Reihe beseitigen sollte. Die neue Version hatte jedoch ein Problem, daher hat Hutterer kurzfristig die Version 1.7.3 nachgeschoben.
    * Kristian Høgsberg hat die Version 2.4.16 der libdrm freigegeben. Wie der Intel-Entwickler schreibt, enthält die Version zahlreiche Änderungen – so wurden unter anderem verwaiste Linux- und BSD-Treiber entfernt.
    * Auch die X-Entwickler wollen von Hal weg und haben entsprechende Pläne kürzlich im Wiki zusammengefasst.
    * Peter Hutterer hat die Versionen 0.10.1 und 0.10.2 des noch jungen Treibers xf86-input-wacom freigegeben. Bei ihm handelt es sich um einen im Rahmen von X.org und Freedesktop.org weiterentwicken Fork des Treibers linuxwacom für Wacom-Grafiktabletts.
    * Der bei AMD beschäftigte Entwickler Alex Deucher hat DRM-Patches vorgestellt, der die Treiber für Radeon-GPUs der Serien R600 und R700 um Unterstützung für Interrupts erweitert – durch diese Änderungen lassen sich Monitorwechsel ohne Polling erkennen oder die Darstellung von neuem Bildschirminhalt besser mit dem Bildwechsel synchronisieren. Rafał Miłecki arbeitet derweil an Code zur dynamischen, lastabhängigen Taktanpassung von Radeon-GPUs und deren Speicher; Dave Airlie berichtet in seinem Blog über die Fortschritte bei der Unterstützung von DisplayPort-Ausgängen im Treiber-Code für Radeon-Grafikhardware.
    * Matthew Garrett und Peter Hutterer erklären in ihren Blogs, warum das Aktivieren der Option "SHMConfig" in älteren Versionen des Touchpad-Treibers synaptics unklug ist.

Quelle : www.heise.de
Titel: Kernel-Log: Linux 2.6.33 bringt Nvidia-Grafiktreiber "nouveau"
Beitrag von: SiLæncer am 14 Dezember, 2009, 11:04
Linus Torvalds hat den Kernel-Code des für GeForce-Grafikchips geeigneten Open-Source-Grafiktreibers Nouveau als Staging-Treiber in den Hauptentwicklungszweig von Linux eingepflegt. Daraus sollte in zirka zweieinhalb Monaten die Kernel-Version 2.6.33 hervorgehen. Diese Version sollte daher das bislang nur bei Grafikchips von AMD und Intel unterstützte Kernel-based Mode-Setting (KMS) auch mit dem Gros älterer und moderner Grafikchips (GPUs/Graphics Processing Units) von Nvidia beherrschen.

Die Integration des Treibers ermöglicht unter anderem einen flackerfreien Startvorgang, denn der Linux-Kernel stellt direkt beim Initialisieren der Hardware eine zum jeweiligen Monitor passende Bildschirmauflösung ein. Der Nouveau-Kernel-Code und der darauf aufsetzende Nouveau-Treiber für X.org ermöglichen zudem Zweischirmbetrieb sowie mit neueren GeForce-Modellen Xvideo-Beschleunigung – mit dem bislang von vielen Distributionen für Nvidia-Hardware vorkonfigurierten Treiber "nv" (korrekt eigentlich: xf86-video-nv) gelingt beides nicht.

3D-Beschleunigung bieten allerdings weder der maßgeblich von Nvidia-Mitarbeitern betreute Treiber nv noch Nouveau, dessen Programmierer bei der Entwicklung auf die Hilfe von Reverse Engineering zurückgreifen mussten. Für Nouveau ist 3D-Unterstützung zwar bereits in Arbeit und laut dem Projekt-Wiki manchmal bereits benutzbar, aber noch als experimentell einzustufen ("3D support is worked on using Gallium3D and can (depending on the Chip generation and the applications) be quite usable, butAt the moment, the nv50 (GeForce 8 and up) gallium driver can actually run compiz to some extent already. There's some minor graphical issues, but it works. Still officially considered experimental.")

Der für die Grafikunterstützung des Kernels zuständige und bei Red Hat an Fedora mitarbeitende Dave Airlie hatte Nouveau ursprünglich erst für eine spätere Kernel-Version einsenden wollen. Torvalds drängte allerdings Ende vergangener Woche nachhaltig auf die Aufnahme und hob dabei mehrfach hervor, dass der Treiber aktuellen Fedora-Distributionen zwar beiliege, die Fedora-Entwickler den Code aber nicht übermitteln würden. Daraus entstand eine längere Diskussion um organisatorische und technische Aspekte – nach einigen kurzfristigen Anpassungen durch einen auf Nouveau spezialisierten Red-Hat-Entwickler sandte Dave Airlie den Code dann aber doch recht flott zur Aufnahme ein, worauf Torvalds auch prompt reagierte.

Durch die Last-Minute-Änderungen kann der Treiber die bislang mit ihm verflochtene Firmware ("Ctx_Voodoo") nun nachladen und unabhängig vom Kernel ausliefern. Ob diese Firmware aber überhaupt weitervertrieben werden darf, scheint derzeit ungewiss: Deren Code haben die Nouveau-Entwickler aus Grafikkarten ausgelesen, nachdem sie diese mit den proprietären Treibern von Nvidia initialisiert hatten. Das Fedora-Projekt, das an viele Copyright-Aspekte strikter herangeht als manch andere Mainstream-Distributionen und abgesehen von Firmware ausschließlich Open-Source-Software in die Distribution aufnimmt, hat das aber wohl bislang nicht als Problem eingestuft.

Quelle : www.heise.de
Titel: Linux Kernel 2.6.32.1 erschienen
Beitrag von: SiLæncer am 14 Dezember, 2009, 20:42
Das Changelog dazu gibts hier (http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.32.1).

http://www.kernel.org/
Titel: Linux-Kernel 2.6.33 tritt in die Testphase ein
Beitrag von: SiLæncer am 18 Dezember, 2009, 10:31
Linux-Initiator Linus Torvalds hat die Kernel-Version 2.6.33-rc1 freigegeben, die die Nouveau- und DRBD-Treiber enthält.

Anzahl und Umfang der Änderungen sind in dieser Version etwas geringer als in den vorangegangenen Versionen. Über 8900 Änderungen wurden von Torvalds bisher integriert. In der bevorstehenden etwa zehnwöchigen Testphase werden noch einige hundert hinzukommen, allerdings überwiegend Korrekturen.

Wie Torvalds anmerkt, sind zwei Drittel der Änderungen dem Bereich der Treiber zuzurechnen. Von diesen entfiel die Hälfte auf die experimentellen Treiber im Verzeichnis »staging«.

Die wichtigste Neuerung im Treiber-Bereich dürfte die Aufnahme des freien Nvidia-Treibers Nouveau sein. Die nötige Firmware muss man jedoch aus anderen Quellen beschaffen. Ein weiterer Meilenstein stellt die Hinzufügung von DRBD dar.

Das Dateisystem Reiserfs erhielt verfeinerte Sperren und benötigt nun nicht mehr den »Big Kernel Lock«. Das Dateisystem ext4 kann nun ext2- und ext3-Dateisysteme mounten, so dass man einen Kernel ohne ext2 und ext3 generieren kann, der trotzdem diese Dateisysteme verwenden kann. Der Device Mapper wurde um ein Target »Snapshot Merge« erweitert. Eine korrekte Implementierung der Flags O_SYNC und O_DSYNC wurde hinzugefügt; O_DSYNC ist in den relevanten Standards optional und war bisher unter Linux nicht implementiert. Das Dateisystem xfs wurde mit zahlreichen Trace-Points ausgestattet.

Das ftrace-Framework zum Tracen von Code erhielt mehrere Erweiterungen. So können nun mehrere Prozesse gleichzeitig verfolgt werden. Die Filter können mit regulären Ausdrücken arbeiten. Dank des Patchsets für Dynamic Probes können nun außerdem beliebige Trace-Punkte zur Laufzeit gesetzt werden. Dies wird von dem Tool »perf« bereits genutzt, das zudem andere Verbesserungen aufweist.

Die Unterstützung für binäre sysctl-Aufrufe gilt als obsolet, kann aber nicht entfernt werden, solange es noch Programme gibt, die sie nutzen. Die Implementierung wurde jetzt aber radikal reduziert, sie emuliert jetzt die Funktion durch äquivalente Operationen auf /proc/sys.

Auch der »anticipatory« I/O-Scheduler wurde entfernt. Die Entwickler sehen den I/O-Scheduler CFQ als weit flexiblere Alternative, die eine Obermenge der Funktionalität des »anticipatory« I/O-Schedulers bietet. Neu hinzu kamen dagegen der Systemaufruf recvmmsg und ein vereinheitlichter Bandbreiten-Controller für Blockgeräte. Der TCP-Stack wurde um TCP Cookie-Transaktionen (PDF) erweitert, was einen schnelleren und sichereren Verbindungsaufbau bringen soll, wie ihn insbesondere die DNS-Betreiber für DNSSEC benötigen.

Daneben enthält Linux 2.6.33-rc1 zahlreiche neue Treiber, beispielsweise für Neuros OSD 2.0 und die paravirtualisierten SCSI-Treiber für VMware, und andere Änderungen. Kernel, Patch- und Änderungslog-Dateien sind von zahlreichen Spiegelservern von kernel.org herunterzuladen.

Quelle : www.pro-linux.de
Titel: Linux Kernel 2.6.32.2
Beitrag von: SiLæncer am 19 Dezember, 2009, 10:46
Das Changelog dazu gibts hier (http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.32.2).

http://www.kernel.org/
Titel: Linux 2.6.33 ohne Android-Treiber
Beitrag von: SiLæncer am 23 Dezember, 2009, 16:57
Die in Linux 2.6.29 experimentell hinzugekommenen Treiber für Android-Geräte werden wegen des fehlenden Engagements der Entwickler bei Google wieder entfernt.

In einem Memo erklärt Jonathan Rosenberg, Vizepräsident bei Google, was der Konzern seiner Ansicht nach unter »Open« versteht - darunter findet sich unter anderem auch der Passus »Stelle sicher, dass du die Ressourcen hast, dich um deinen Code zu kümmern«. Drei Tage zuvor hatte Greg Kroah-Hartmann die Android-Treiber aus dem staging-Zweig entfernt - weil Google sich seiner Ansicht nach nicht darum kümmerte.

Android wurde lange Zeit hinter geschlossenen Türen entwickelt. Auch nach der Veröffentlichung des Quellcodes zeigten die Entwickler nur wenig Interesse daran, die entwickelten Komponenten wieder in die ursprünglichen Projekte zurückfließen zu lassen - eine Politik die auch bei Chrome, dem Google-eigenen Web-Browser, bemängelt wird. Einige Kernel-Treiber für Android landeten nach kurzer Zeit ohne großes Zutun von offizieller Seite im staging-Zweig des Linux-Kernels, dem Ort, an dem Projekte so lange reifen können, bis sie den Richtlinien für eine vollständige Aufnahme entsprechen.

Android-Entwickler Arve Hjønnevåg startete im Februar 2009 den Aufnahme-Prozess für einige Teile der Android-Infrastruktur, scheiterte jedoch an den sogenannten »wakelocks«: Ein Wake Lock ist in der Android-Welt ein Mechanismus, der das System davon abhält, sich in einen Stromspar-Zustand zu begeben - etwa weil sich dadurch die Latenzzeiten bei der Verarbeitung von Ereignissen erhöhen können.

Einen solchen Mechanismus gibt es mit pm_qos bereits - die Funktionalität reicht den Android-Entwicklern allerdings angeblich nicht aus. Bei den Kernel-Entwicklern stoßen wakelocks auf wenig Gegenliebe. Benjamin Herrenschmidt unterstellt dem Android-Team, lieber eine neue Lösung für seine eigenen Bedürfnisse zu erfinden, als sich mit einer Anpassung der vorhandenen Infrastruktur auseinanderzusetzen (ähnliche Kritik betrifft auch Google Chrome).

Pavel Machek ist gar der Meinung, dass das wakelock-Konzept fehlerhaft ist und überhaupt nicht korrekt eingesetzt werden kann: Das System erlaubt etwa normalen Anwendungen das Setzen eines Locks, hat aber keine Fehlerbehandlung für den Fall, dass der Prozess abbricht, ohne den Lock zu entfernen - das Gerät kann also nie wieder in einen Stromsparmodus wechseln. Mehrere Anwendungen können unabhängig voneinander Wake-Locks registrieren und sich gegenseitig blockieren.

Das Android-Team ignoriert damit konsequent die Richtlininen der Kernel-Entwicklung. Anstatt von Anfang an mit offenen Karten zu spielen und für eine bestmögliche Geräte-Unterstützung durch den Standard-Kernel zu sorgen, wurde zwei Jahre hinter geschlossenen Türen gearbeitet, ohne Rücksicht auf andere Projekte und die Code-Qualität. Ein typischer Fehler in Embedded-Projekten: Die Hersteller wollen der Konkurrenz durch Geheimhaltung zuvorkommen, am Ende entstehen inkompatible Software-Zweige.

Kroah-Hartmann versuchte mehrfach, das Android-Team bei Google zu einer Zusammenarbeit zu bewegen, und drohte zuletzt im Oktober mit einer Entfernung der mehrere tausend Zeilen Code schweren Treiber aus dem staging-Zweig. Dies ist nun geschehen. Google ist damit in guter Gesellschaft von Microsoft, deren HyperV-Treiber wieder auf der Abschussliste stehen - nachdem sich die zuständigen Entwickler nach einer Rüge im September 2009 wieder gemeldet hatten, scheint nun erneut Funkstille eingetreten zu sein. Kroah-Hartmann droht mit einer endgültigen Entfernung in Kernel 2.6.35.

Die Nutzung von Linux und freier Software in kommerziellen Embedded-Produkten scheint die Hersteller zunehmend in zwei Gruppen zu trennen: Auf der einen Seite befinden sich jene, die gerne auf freie Projekte zurückgreifen, sich aber nur wenig um die Meinung der Gemeinschaft kümmern. Im besten Fall entsteht dann eine Menge Code, der nur unter großen Anstrengungen wieder in das Ursprungsprojekt eingegliedert werden kann, im schlechtesten Fall muss der Hersteller durch eine Lizenzklage zur Herausgabe gezwungen werden. Dass es auch anders geht, zeigt etwa Nokia mit Maemo.

Im Falle von Google scheint zudem ein tiefer Spalt zwischen Rosenbergs Memo und der Realität zu klaffen - Google verscherzt sich zunehmend den Respekt der Entwickler. Matt Porter kam in seiner Präsentation »Android Mythbusters (PDF)« auf der Embedded Linux Conference Europe etwa gar zu dem Schluss, dass Android im Kern überhaupt kein Linux sei.

Quelle und Links : http://www.pro-linux.de/news/2009/15118.html
Titel: Linux Kernel 2.6.32.3 erschienen
Beitrag von: SiLæncer am 07 Januar, 2010, 09:02
Ein Changelog gibts hier (http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.32.3).

http://www.kernel.org/
Titel: Kernel-Log – Was 2.6.33 bringt (1): Netzwerk
Beitrag von: SiLæncer am 09 Januar, 2010, 17:24
Linux 2.6.33 kommt mit neuen und verbesserten Treibern für WLAN-Chips von Intel, Ralink und Realtek. Einige Treiber für alte WLAN-Hardware ziehen in den Staging-Bereich um und fliegen vermutlich bald raus. Neu dabei sind auch einige Treiber für LAN-Chips und Verbesserungen am Netzwerk-Stack.

In der Nacht von Dienstag auf Mittwoch hat Linus Torvalds mit Linux 2.6.33-rc3 die dritte Vorabversion der Anfang März erwarteten Linux-Version 2.6.33 veröffentlicht. Sie bringt etwas weniger Änderungen als an diesem Zeitpunkt des Entwicklungszyklus üblich – offensichtlich haben es auch einige Kernel-Hacker über die Feiertage etwas ruhiger angehen lassen.

Alle wesentlichen Neuerungen für die nächste Version des Hauptentwicklungslinie von Linux hatten Torvalds und die ihm zuarbeitenden Programmierer aber ohnehin bereits in der ersten, "Merge Window" genannten Phase des Entwicklungszyklus eingepflegt, daher kann das Kernel-Log bereits jetzt einen umfassenden Überblick über die größten Neuerungen von Linux 2.6.33 geben.

Um nicht in der Fülle an Neuerungen zu ersticken, liefern wir den Überblick wie üblich in einer mehrteiligen Artikel-Serie, die sich den verschiedenen Funktionsbereichen des Kernels widmet. Den Anfang der Serie "Was 2.6.33 bringt" machen die Änderungen rund um die Netzwerkunterstützung des Kernels. In den kommenden Wochen bis zum Erscheinen von Linux-Kernel 2.6.33 werden Artikel zu Storage-Hardware, Dateisystemen, Grafik-Unterstützung, Architektur-Code, Treibern und einigen weiteren Funktionsbereichen des Linux-Kernels folgen.

Funken

Der Treiber iwlwifi spricht nun verschiedene, zuvor vom Treiber nicht unterstützte Intel-WLAN-Module der Serien 1000, 5000 und 6000 an (1, 2, 3) und bietet nun auch Unterstützung für die Wimax-Funktion der 6x50-Serie (1, 2). Neu dabei ist der "Intel Wireless MultiCom 3200 top driver (iwmc3200top)" für einen neuen Intel-Funkchip, der GPS, Bluetooth, WLAN und WiMAX unterstützt. Die Stromsparfunktionen des Intel-WLAN-Treiber iwl3945 haben Entwickler aufgrund von Problemen vorerst deaktiviert.

Neu aufgenommen für Linux 2.6.33 haben die Kernel-Entwickler den an diesem Punkt des Entwicklungszyklus noch als "sehr experimentell" und "nur für Entwickler gedacht" eingestuften Treiber rt2800pci, der die bei neueren Net- und Notebooks häufiger zu findenden PCI-WLAN-Chips RT2760, RT2790, RT2860, RT2880, RT2890 und RT3052 von Ralink anspricht. Die ließen sich bislang nur mit einem Treiber des Herstellers nutzen, der sich seit einigen Monaten im Staging-Bereich des Kernel für nicht ausgereifte Treiber befindet. Da manche Distributionen Staging-Treiber aber nicht mit ausliefern und die Treiber aufgrund eines eigenen WLAN-Stack gelegentlich Schwierigkeiten mit Konfigurationstools wie dem NetworkManager machen, waren die Treiber von Ralink zwar besser als nichts, aber auch keine wirklich ordentliche Lösung – das dürfte das allerdings zunächst auch für rt2800pci gelten.

Der neue Treiber stammt maßgeblich aus der Feder der Entwickler des Projekts rt2x00, das sich auch um andere Treiber für Chips von Ralink kümmert. Auch einige andere Treiber des Projekts wurden für 2.6.33 verbessert und sprechen nun mehr USB-WLAN-Hardware an als zuvor – Details finden sich über die Links im Abschnitt "Die kleinen Perlen" am Ende des Artikels. Die neue Unterstützung für den Ralink-WLAN-Chip RT3070 im Treiber rt2800usb gilt allerdings ebenfalls als "noch nicht recht funktionstüchtig" – die Entwickler haben aber bereits einige möglicherweise noch in 2.6.33 einfließenden Patches für die beiden rt2800-Treiber vorbereitet, um die Treiber in einen "brauchbaren Zustand" zu versetzen.

In den Staging-Bereich pflegten die Kernel-Hacker den Treiber rtl8192u für die gleichnamigen Chips von Realtek ein. Zudem sind die WLAN-Treiber arlan, netwave, strip und wavelan in den Bereich für minderwertige Treiber umgezogen, da sie nicht auf den MAC80211-WLAN-Stack des Linux-Kernels aufsetzen und laut den Kernel-Entwicklern vermutlich kaum mehr genutzt werden – deshalb sind sie nach derzeitiger Einschätzung den Portierungsaufwand auf den neuen WLAN-Stack nicht wert. Wenn sich niemand der Treiber annimmt, sollen sie bei Linux 2.6.35 rausfliegen.

LAN, Network Stack und Co.

Einige weitere Änderungen im Netzwerksubsystem:

    * Der Treiber sfc unterstützt nun die zur SFC9000-Reihe von gehörenden 10-Gigabit-Ethernet-Controller SFL9021 'Siena' und SFC9020 'Bethpage' von Solarflare (1, 2).
    * Neu dabei ist der LAN-Treiber octeon_mgmt für die Octeon-Chips CN57XX, CN56XX, CN55XX, CN54XX, CN52XX und CN6XXX von Cavium Networks.
    * Der Treiber bnx2x spricht jetzt auch die Broadcom-Chips BCM8481/BCM84823 und BCM84823 an (1, 2) und bietet zusammen mit dem Treiber cnic erweiterte iSCSI-Unterstützung (1, 2, 3).
    * Über den neuen Socket-Syscall recvmmsg lassen sich mehrere Messages mit in einem Rutsch annehmen, was den Verwaltungsaufwand bei der Verarbeitung reduzieren soll (siehe auch Kurzbeschreibung bei LWN.net).
    * Die neuen TCP Cookie Transactions sollen eine schnellere, sichere und robustere Initialisierung von TCP-Verbindungen ermöglichen (1,  2, 3, 4, 5, 6, 7).

Allein über den ersten Git-Pull-Request des für das Netzwerk-Subsystem zuständigen Verwalters David S. Miller fanden über 1800 Änderungen den Weg in Linux 2.6.33 – damit ging ungefähr ein Fünftel aller im Merge Window von 2.6.33 vorgenommenen Commits zuvor durch die Hände von Miller, der sich zudem auch noch um das alte IDE-Subsystem und den Sparc-Code kümmert. Das Gros der Änderungen modifiziert C-Quellcode, einige passen aber auch die dem Kernel beiliegende Firmware an, was die Zahl der neuen, entfernten oder bewegten Zeilen Quellcode teilweise erheblich ansteigen lässt – deutlich zeigen das zwei jeweils ungefähr 1 MByte große Patches, die die Firmware des Treibers bnx2x aktualisieren (1, 2).

Die kleinen Perlen

Viele weiteren nicht ganz so wichtige, aber keineswegs unbedeutende Neuerungen finden sich in der folgenden Liste mit den englischen Commit-Überschriften der jeweiligen Änderung. Die Einträge verlinken genau wie viele der Verweise im vorangegangenen Text auf das Webfrontend des von Linus Torvalds gepflegten Git-Zweigs mit den Kernel-Quellen auf Kernel.org. Im Webfrontend liefern normalerweise der Commit-Kommentar und der Patch selbst zahlreiche weitere Informationen zur jeweiligen Änderungen.

LAN

    * atl1e: Allow TX checksum offload and TSO to be disabled and reenabled
    * be2net: Add support for ethtool self test
    * be2net: Add support for next generation of BladeEngine device.
    * be2net: Add the new PCI IDs to PCI_DEVICE_TABLE.
    * be2net: Support for WoL using magic packet after suspend.
    * bnx2x: Handle Rx and Tx together in NAPI
    * DM9000: Wake on LAN support
    * e1000e: add missing tests for 82583 in ethtool functions
    * e1000e: correct ICH/PCH PHY operations function pointers
    * e1000e: enable new 82567V-3 device
    * ethtool: Add Direct Attach support to connector port reporting
    * fsl_pq_mdio: Add Suport for etsec2.0 devices.
    * gianfar: Add Multiple group Support
    * gianfar: Add Multiple Queue Support
    * gianfar: Add per queue structure support
    * gianfar: Add support for hibernation
    * gianfar: Introduce logical group support.
    * igb: Add full support for 82580 devices
    * igb: add new data structure for handling interrupts and NAPI
    * igb: add single vector msi-x testing to interrupt test
    * igb: add support for 82576NS SerDes adapter
    * igb: add support for 82580 MAC
    * igb: add support for seperate tx-usecs setting in ethtool
    * igb: add support for the 82580 phy
    * igb: make use of the uta to allow for promiscous mode filter
    * igb: remove microwire support from igb
    * ixgbe: Add support for 82599 alternative WWNN/WWPN prefix
    * ixgbe: add support for 82599 based Express Module X520-P2
    * ixgbe: add support for 82599 KR device 0x1517
    * ixgbe: Add support for netdev_ops.ndo_fcoe_get_wwn to 82599
    * mwl8k: add support for the 88w8366
    * NET: Add driver for Octeon MDIO buses.
    * net: add Runtime PM to the sh_eth driver
    * net/appletalk: push down BKL into a atalk_dgram_ops
    * net: enable smsc911x on MIPS
    * net/ipx: push down BKL into a ipx_dgram_ops
    * NET/KS8695: add support NAPI for Rx
    * net/ps3: Add support for gelic link negotiation
    * netxen: add access to on chip memory for tools
    * netxen: add PCI IDs for new chip
    * netxen: add sysfs entries for diag tools
    * pasemi_mac: ethtool set settings support
    * qlge: Add CBFC pause frame counters to ethtool stats.
    * qlge: Add ethtool blink function.
    * qlge: Add ethtool get/set pause parameter.
    * qlge: Add ethtool register dump function.
    * qlge: Add ethtool self-test.
    * qlge: Add ethtool wake on LAN function.
    * sfc: Add firmware protocol definitions (MCDI)
    * sfc: Add power-management and wake-on-LAN support
    * sfc: Extend MTD driver for use with new NICs
    * sfc: Move shared NIC code from falcon.c to new source file nic.c
    * sfc: Separate shared NIC code from Falcon-specific and rename accordingly
    * sfc: Update hardware definitions for Siena
    * sfc: Update version, copyright dates, authors
    * sky2: 88E8059 support
    * sky2: add register definitions for new chips
    * sky2: add SK-9E21M device id
    * tc35815: Enable NAPI
    * tg3: Add 50610M phy ID for 5785
    * tg3: Add 5717 phy ID
    * tg3: Add 57765 asic rev
    * tg3: Add AC131 power down support
    * tg3 / broadcom: Add APD support for GPHYs
    * tg3: Fix DIDs, Enable 5717 support
    * tg3: Improve 5785 PCIe performance
    * TI DaVinci EMAC: Add suspend/resume capability
    * via-velocity: Add ethtool interrupt coalescing support
    * via-velocity: Implement NAPI support
    * via-velocity: Re-enable transmit scatter-gather support
    * vxge: Removed accessing non-supported registers.

WLAN

    * ar9170: Add support for D-Link DWA 160 A2
    * ath5k: add LED support for Acer Aspire One AO751h/AO531h
    * ath5k: add support for Dell Vostro A860 LED
    * ath5k: enable Power-Save Polls by setting the association ID
    * ath5k: use noise calibration from madwifi hal
    * ath9k_common: add new module to share 802.11n driver helpers
    * ath9k_hw: add AR9271 srev and device ID to allow hw to support ar9271
    * ath9k_hw: print device ID if not supported
    * ath9k: move hw code to its own module
    * atheros: add common debug printing
    * b43: LP-PHY: Begin implementing calibration and software RFKILL support
    * cfg80211: add firmware and hardware version to wiphy
    * cfg80211: Add PMKSA wext compatibility handler
    * gianfar: Basic Support for programming hash rules
    * i2400m: minimal ethtool support
    * iwlwifi: add aggregation tables to the rate scaling algorithm
    * iwlwifi: add channel switch support to 5000 series and up
    * iwlwifi: add LED mode to support different LED behavior
    * iwlwifi: add module firmware info for 1000 series
    * iwlwifi: add SM PS support for 6x50 series
    * iwlwifi: Chain Noise Calibration for 6000 series
    * iwlwifi: device tracing
    * iwlwifi: drop lib80211 dependency
    * iwlwifi: LED cleanup
    * iwlwifi: provide firmware version
    * iwlwifi: reliable entering of critical temperature state
    * iwlwifi: rework for static power save
    * iwlwifi: support idle for 6000 series hw
    * iwlwifi: update lowest API version support for 6x00 and 6x50 series
    * iwmc3200wifi: 802.11n Tx aggregation support
    * iwmc3200wifi: add BGN sdio device id
    * iwmc3200wifi: Add wifi-wimax coexistence mode as a module parameter
    * iwmc3200wifi: CT kill support
    * iwmc3200wifi: Enable wimax core through module parameter
    * iwmc3200wifi: WPS support
    * KVM: x86 emulator: Add 'push/pop sreg' instructions
    * libertas: Add auto deep sleep support for SD8385/SD8686/SD8688
    * libertas: first stab at cfg80211 support
    * libipw: initiate cfg80211 API conversion (v2)
    * mac80211: add MAC80211_VERBOSE_MHWMP_DEBUG
    * mac80211: async station powersave handling
    * MAINTAINERS: Add iwmc3200wifi entry
    * mwl8k: add support for enabling hardware sniffer mode
    * mwl8k: handle loading AP firmware images
    * mwl8k: implement AP firmware antenna configuration
    * nl80211: PMKSA caching support
    * rt2x00: Add rt2x00soc bus module
    * rt2x00: Add USB ID for Linksys WUSB 600N rev 2.
    * rt2x00: Disable powersaving for rt61pci and rt2800pci.
    * rt2x00: more ids to rt2800usb.c
    * rt2x00: Only initialize HT on rt2800 devices that support it.
    * wimax: allow specifying debug levels as command line option
    * wimax/i2400m: implement passive mode as a module option
    * wimax/i2400m: Implement pre/post reset support in the USB driver
    * wimax/i2400m: rework bootrom initialization to be more flexible
    * wimax/i2400m: support extended firmware format
    * wimax/iwmc3200: add new sdio device ID to support iwmc3200 2.5GHz sku
    * wireless: implement basic ethtool support for cfg80211 devices
    * wireless: remove remaining qual code
    * wireless: remove WLAN_80211 and WLAN_PRE80211 from Kconfig
    * wl1251: Add connection monitoring configuration
    * wl1251: add support for PG11 chips.
    * wl1251: enable power save
    * wl1271: Added 5 GHz parameters for wl1273
    * wl1271: Added 5 GHz support to join and rx
    * wl1271: Added support to scan on 5 GHz band
    * wl1271: Add retry implementation for PSM entries
    * wl1271: Enable ELP
    * wl1271: Enable smart reflex
    * wl1271: Support for IPv4 ARP filtering

Various others network drivers, network stack

    * Bluetooth: Add L2CAP option for max transmit value
    * Bluetooth: Add RFCOMM option to use L2CAP ERTM mode
    * Bluetooth: Enable auto sleep mode for btmrvl driver
    * Bluetooth: Implement raw output support for HIDP layer
    * bond: Add support for multiple network namespaces
    * bonding: introduce primary_reselect option
    * bridge: Allow enable/disable UFO on bridge device via ethtool
    * can: add the driver for Analog Devices Blackfin on-chip CAN controllers
    * can: add TI CAN (HECC) driver
    * can: Driver for the Microchip MCP251x SPI CAN controllers
    * ethtool: Add reset operation
    * ethtool: Remove support for obsolete string query operations
    * fakehard: claim all 2.4 Ghz channels as supported
    * gigaset: add Kernel CAPI interface (v3)
    * gigaset: allow building without I4L
    * gigaset: documentation amendments
    * gigaset: prepare for CAPI implementation
    * ieee802154: add LIST_PHY command support
    * ieee802154: add support for creation/removal of logic interfaces
    * inet: rename some inet_sock fields
    * ip: update the description of rp_filter in ip-sysctl.txt
    * ipv4 05/05: add sysctl to accept packets with local source addresses
    * ipv4: fib table algorithm performance improvement
    * ipv4: udp: Optimise multicast reception
    * ipv4: udp: optimize unicast RX path
    * ipv6 sit: 6rd (IPv6 Rapid Deployment) Support.
    * ipv6: udp: Optimise multicast reception
    * ipv6: udp: optimize unicast RX path
    * net: Add sk_mark route lookup support for IPv4 listening sockets
    * net: Add support for batching network namespace cleanups
    * net/can: add driver for mscan family and mpc52xx_mscan
    * net/can/mpc52xx_can: improve properties and their description
    * net: export device speed and duplex via sysfs
    * netfilter: nf_ct_tcp: improve out-of-sync situation in TCP tracking
    * netfilter: xtables: document minimal required version
    * net: Generalize socket rx gap / receive queue overflow cmsg
    * net/irda: push BKL into proto_ops
    * net: Remove BKL from tun
    * net: Support specifying the network namespace upon device creation.
    * net/x25: push BKL usage into x25_proto
    * sctp: remove deprecated SCTP_GET_*_OLD stuffs
    * udp: dynamically size hash tables at boot time
    * usbnet: Set device type for wlan and wwan devices
    * usbnet: Use wwan%d interface name for mobile broadband devices
    * vlan: Add support to netdev_ops.ndo_fcoe_get_wwn for VLAN device
    * vlan: support "loose binding" to the underlying network device

Quelle : www.heise.de
Titel: Linux Kernel 2.6.32.4 freigegeben
Beitrag von: SiLæncer am 18 Januar, 2010, 21:46
ChangeLog (http://kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.32.4)

http://www.kernel.org/
Titel: Kernel-Log: Langzeit-Pflege für 2.6.32, util-linux-ng erweitert
Beitrag von: SiLæncer am 22 Januar, 2010, 08:26
Der aktuelle Kernel 2.6.32 soll im Rahmen der Stable-Series zwei bis drei Jahre gewartet werden – die Pflege von 2.6.27 wird aber wohl bald eingestellt oder deutlich zurückgefahren. Die Werkzeug-Sammlung util-linux-ng richtet jetzt Partitionen optimal aus und enthält drei zusätzliche Programme. Der X-Server lässt sich in Zukunft flexibler konfigurieren und kommt ohne HAL aus.

Kurz nach der Veröffentlichung der drei neuen Stable-Kernel 2.6.27.44, 2.6.31.12  und 2.6.32.4  hat Greg Kroah-Hartman die weiteren Planungen für die von ihm mitbetreuten Kernel der Stable-Series in einer Mail an die LKML  dargelegt.

Die 2.6.27er-Serie als derzeitiges "long-term stable release" will er auch in naher Zukunft weiter warten. Er warnt die Anwender von 27er-Kerneln jedoch, dass diese Versionsreihe ihre Daseinsberechtigung mit zunehmenden Alter verliere ("But, I do have to warn users of this tree, the older it gets, the less viable it becomes."). In den zwei Jahren seit der Veröffentlichung von 2.6.27 hätte sich Linux zudem stark verändert, was die Portierung von Korrekturen für neuere Kernel auf 2.6.27 mehr und mehr erschwere.

Kroah-Hartman will die 27er-Reihe zwar noch mindestens sechs bis acht Monate weiter pflegen, weiß aber nicht, ob er sie auch danach noch am Leben erhalten mag ("I'll probably keep maintaining it for at least 6-8 more months, but after that, I can not guarantee it's viability."). Allerdings erwägt Willy Tarreau, der derzeitige Betreuer der 2.4er-Serie, die Betreuung von Linux 2.6.27 an diesem Punkt zu übernehmen; er will dann aber nur noch kritische Fehler korrigieren.

Nachdem 2.6.28, 2.6.29 und 2.6.30 schon länger nicht mehr gepflegt werden, soll die jetzt veröffentlichte Version 2.6.31.12 das Ende von Linux 2.6.31 markieren – Greg Kroah-Hartman rät allen Anwendern dieser Serie daher nachdrücklich zum Umstieg auf den aktuellen Kernel 2.6.32.

Linux 2.6.32 soll die 2.6.27er-Kernel als "long-term stable release" beerben, denn mindestens zwei Distributoren würden nach Information von Kroah-Hartman bei länger gepflegten "Enterprise-"Distributionen auf Linux 2.6.32 setzen. Kroah-Hartman hofft, den Kernel 2.6.32 zwei bis drei Jahre pflegen zu können, merkt aber an, dass er dabei auf Unterstützung durch die Distributoren angewiesen sei: Wenn die fehle, habe er auch kein Problem damit, die Pflege dieser Serie einzustellen.

Linux-Versionsstatus

Wie so häufig rieten die Betreuer der Stable-Series in den Freigabe-Mails zu den neuen, oben bereits genannten Stable-Kerneln nachdrücklich zum Wechsel auf die aktuelle Version, ohne zu erwähnen, ob sich unter den Fehlerkorrekturen und Detailverbesserungen auch solche finden, die Sicherheitslücken beseitigen. Die neuen 31er- und 32er-Versionen korrigieren aber mindestens das als CVE-2010-0006 geführte Problem, das einigen Distributionen die Veröffentlichung eines Kernel-Updates wert ist.

Die Entwicklung von Linux 2.6.33 schreitet derweil voran. Die neuste Vorabversion ist 2.6.33-rc4 – dem grob wöchentlichen Erscheinungsrhythmus folgend dürfte Torvalds in Kürze den RC5 veröffentlichen. Geht es im üblichen Tempo weiter, dürfte 2.6.33 Ende Februar oder Anfang März erscheinen. Auch bei der Stable-Series steht nicht still, denn 2.6.32.5 befindet sich bereits in Vorbereitung und dürfte am Wochenende erscheinen.

Standard-Tools

Karel Zak hat kürzlich die Version 2.17 der bei allen größeren Linux-Distributionen eingesetzten Werkzeug-Sammlung util-linux-ng freigegeben. Zu ihre gehört unter anderem das Programm fdisk, das nun versucht, neue Partitionen an Sektor- oder Chunk-Size-Grenzen auszurichten – das ist insbesondere für optimale Performance bei RAIDs-Arrays und den in Kürze erwarteten Festplatten mit einer physischen Sektorgröße von 4 Kbyte wichtig, damit nicht mehr Daten gelesen oder geschrieben werden müssen als nötig. Die Entwickler diskutieren allerdings bereits weitere Änderungen in diesem Bereich und erwägen, Partitionen ähnlich wie Windows Vista oder 7 Standardmäßig an Megabyte-Grenzen auszurichten.

Die Programmsammlung wurde zudem um drei Kommandozeilen-Tools erweitert. Über "fallocate" lässt sich bei Dateisystemen mit Fallocate-Unterstützung ein zur Speicherung von Daten vorgesehener Bereich vorab reservieren, damit die Daten nach dem Schreiben möglichst zusammenhängend im Dateisystem liegen. Das neue "wipefs" entfernt Dateisystem- und RAID-Signaturen, damit die bei einer späteren Nutzung des Datenträgers nicht stören. Über "unshare" lassen sich Dateisysteme einhängen, sodass sie nur im Kontext (Namespace) der jeweiligen Shell sichtbar sind – ein Einsatzbeispiel liefert Zak in seinem Blog.

X.org

Bereits zum Jahreswechsel haben die Entwickler von X.org die Grafiktreiber xf86-video-vmware 10.16.9 und xf86-video-vesa 2.3.0 freigegeben.Wenig später veröffentlichte Intel die Version 2.10.0 des X.org-Treibers xf86-video-intel. Es ist die erste Version, die einen Kernel mit KMS-Unterstützung voraussetzt. Die Entwickler empfehlen mindestens Linux 2.6.32. Mit 2.6.33 oder einem Patch für 2.6.32 soll der Treiber nun auch Unterstützung für Video Overlays bieten; außerdem wollen die Entwickler einige Performance-Probleme ausgeräumt haben. Der neue Treiber ist auch Bestandteil des mittlerweile erschienenen "Intel 2009Q4 release", das zum Treiber passende Versionen von Mesa und Libdrm referenziert.

Dave Airlie gab diesen Monat die erste Version des im Rahmen von X.org entwickelten Grafiktreibers xf86-video-qxl (kurz: QXL) frei, der die virtuelle GPU des unter anderem in Red Hat Enterprise Linux eingesetzten Virtualisierungsprotokoll Spice unterstützt.
Kernel-Log-Staccato

Kernel

    * Christoph Hellwig gibt im "XFS status update for December 2009" einen Überblick über die jüngsten Entwicklungen rund um das XFS-Dateisystem.

Kernel-Umland ("Plumbing layer") und Userland-Treiber

    * Lennart Poettering hat das Programm udev-browse vorgestellt, das das normalerweise unter /sys eingehängte Sysfs grafisch aufbereitet darstellt und dem Anwender komplexe Aufrufe von "udevadm info" abnimmt.
    * Clark Williams hat die Version 0.6.0 der vor allem im Realtime-Umfeld genutzten Testsammlung rt-tests veröffentlicht.
    * Bereits an Weihnachten hat Stephen Hemminger die Version 2.6.32 des Netzwerktool-Sammlung iproute veröffentlicht, die Linux 2.6.32 besser unterstützt als frühere Version von iproute.

Grafik

    * Die Entwickler von Nouveau haben aus den Quellen des Treibers für X.org zahlreiche Codeabschnitte entfernt, die für den Betrieb ohne Kernel-based Mode-Setting (KMS) zuständig waren. Zukünftig ist der Treiber daher auf einen Kernel mit Nouveau-KMS-Unterstützung angewiesen.
    * Die X-Entwickler haben einige maßgeblich von Dan Nicholson und Julien Cristau entwickelte Änderungen in den Entwicklerzweig aufgenommen, die den Hot-Plug- und Konfigurationscode erheblich verändern. Dadurch greift der X-Server 1.8 nun statt über HAL direkt auf Udev zu. Wie die derzeitigen Versionen des X-Servers soll auch 1.8 ohne Konfigurationsdatei arbeiten können – wenn es aber doch etwas manuell zu konfigurieren gibt, kann sich der X-Server die Konfiguration nun aus einzelnen, in /etc/X11/xorg.conf.d/ gespeicherten Dateien zusammensetzen. Hintergründe zu diesen und weiteren Änderungen liefert Peter Hutterer in einem Blog-Eintrag.

Quelle : www.heise.de
Titel: Linux Kernel 2.6.32.5
Beitrag von: SiLæncer am 23 Januar, 2010, 09:08
ChangeLog (http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.32.5)

http://www.kernel.org/
Titel: Linux Kernel 2.6.32.6
Beitrag von: SiLæncer am 25 Januar, 2010, 22:30
Changelog (http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.32.6)

http://www.kernel.org/
Titel: Kernel-Log – Was 2.6.33 bringt (2): Storage
Beitrag von: SiLæncer am 27 Januar, 2010, 09:40
Durch erweiterte Discard-Unterstützung beherrscht Linux nun ATA Trim, was Lebensdauer und Durchsatz von SSDs steigern kann. Neu zum Linux-Kernel stieß nicht nur die HA-Lösung DRBD, sondern auch Treiber für Storage-Hardware von HP, LSI und Vmware. Außerdem enthält die Anfang März erwartete Kernel-Version zahlreiche Detailverbesserungen am Code der Dateisysteme Btrfs, Ext4 und Reiserfs.

um Ende der vergangenen Woche hat Linus Torvalds die fünfte Vorabversion der in 4 bis 5 Wochen erwarteten Linux-Version 2.6.33 veröffentlicht. Normalerweise finden in dieser Phase des Entwicklungszyklus  vorwiegend kleinere Änderungen und Korrekturen den Weg in den Hauptentwicklungszweig. Für Treiber machen die Kernel-Hacker  aber gelegentlich Ausnahmen – bei Linux 2.6.33-rc5 stieß noch ein V4L/DVB-Treiber zum Kernel, der den auf diversen TV-Karten verbauten Mantis-Chipsatz unterstützt.

Die Neuheiten im V4L/DVB-Subsystem von Linux 2.6.33 sind allerdings Thema einer der kommenden Teile der Mini-Serie "Was 2.6.33 bringt" – nachdem sich der erste Teil der Serie den Änderungen im Netzwerkbereich gewidmet war, soll es jetzt um die Neuerungen rund um Dateisysteme und das Storage-Subsystem des Kernels gehen.

Trimmen

Einige Teile des Kernels bieten schon seit einigen Monaten eine rudimentäre "Discard"-Infrastruktur, über die Treiber für Massenspeicheradapter erfahren können, wenn Speicherbereiche eines Datenträgers freigegeben werden – etwa durch Löschen einer Datei oder Formatieren einer Partition. Sie wurde bei 2.6.33 überarbeitetet und ausgebaut; dadurch unterstützt nun auch das Libata-Subsystem Discard und kann Informationen über freigegeben Speicherbereite über das ATA-Kommando Trim an Massenspeicher weiterleiten. Das ist insbesondere für SSDs (Solid-State Disks) interessant, denn die erfahren auf diese Weise von freigegebenen Speicherbereichen und können so die SSD-eigene Garbage Collection optimieren – das steigert Performance und Lebensdauer von SSDs.

Damit die Discard-Infrastruktur voll zum Zuge kommt, müssen andere Teile des Kernels das Storage-Subsystem aber auch über freigegebene Bereiche informieren. Das Dateisystem Btrfs beherrscht das schon bei Linux 2.6.32, für Ext4 stieß entsprechender Code nun hinzu – da der aber noch nicht ausgiebig getestet wurde, ist die Funktion in der Standardkonfiguration vorerst inaktiv. Auch die neue Discard-Unterstützung im Code des FAT-Dateisystems ist optional.

Repliziert

Nachdem das maßgeblich von der in Wien ansässigen Firma Linbit entwickelte DRBD (Distributed Replicated Block Device) bei 2.6.32 noch außen vor blieb nahmen die Kernel-Hacker die vor allem im High-Availability-Umfeld eingesetzte Replikationslösung für 2.6.33 schließlich in Linux auf. DRBD lässt sich grob als "RAID-1-Gerät übers Netz" klassifizieren: Der oder die Datenträger eines als Master bezeichneten Systems werden in Echtzeit auf einem anderen ("Slave") gespiegelt – beim Ausfall des Masters übernimmt der Slave die Arbeit, ohne dass Ausfallzeiten entstehen. Damit die Daten immer synchron sind, betrachtet der Master Schreibzugriffe erst als beendet, wenn auch der Slave das Schreiben abgeschlossen hat. Detaillierter Erklärungen zu DRBD liefern ein LWN.net-Artikel sowie die ausführliche Dokumentation auf der DRBD-Homepage.

Mehrere Entwicklergruppen arbeiteten in den letzten Monaten und Jahren an verschiedenen Lösungen, um die maximale Menge an Daten zu beschränke, die einzelne Prozesse oder Prozessgruppen in einem Zeitfenster mit Datenträgern austauschen, und die an unterschiedlichen Stellen des Kernels eingreifen. Das Rennen gemacht  hat jetzt das "Blkio Controller Cgroup Interface", das sich im CFQ-I/O-Scheduler (Completely Fair Queuing) einklinkt. Das ist aber keineswegs eine komplette Absage an die anderen Ansätze, sondern soll die Basis für weitere Verbesserungen und Funktionen bieten, die einige der konkurrierenden Lösungen ermöglichen. Hintergründe zum Thema finden sich über einen LWN.net-Artikel und die Dokumentation zum kurz Blkio genannten Framework.

Optimiert

Entfernt haben die Entwickler den Anticipatory I/O Scheduler (AS), der laut Commit-Kommentar nur eine Untermenge der Funktionen des CFQ-Schedulers bietet. Letzterer ist jetzt auch laut Beschreibung für Desktop und Server geeignet und bei vielen Distributionen ohnehin schon lange Standard. Ähnlich wie beim Prozess Scheduler gibt es mit nahezu jeder neuen Linux-Version zahlreiche Änderungen, die den CFQ-I/O-Scheduler für bestimmte Anwendungsszenarien optimieren – Details dazu finden sich über die Links im Abschnitt "die kleinen Perlen" am Ende dieses Artikels sowie im Haupt-Git-Pull-Request von Block-Subsystem-Verwalter Jens Axboe.

Verbessert wurde der Code zur Migration von mit mdadm verwalteten Software-RAIDs eines Levels in andere Level. Das MD-Subsystem unterstützt nun auch Schreibbarrieren – dadurch werden etwa Daten und Dateisystem-Journal in der von anderen Teilen des Kernels erwarteten Reihenfolge geschrieben. Das soll bei Abstürzen die Integrität von Dateisystemen besser sicherstellen, kann den Durchsatz aber spürbar schmälern, wie MD-Verwalter Neil Brown in seinem Haupt-Git-Pull-Request anmerkt. Weiter ausgebaut wurde auch die Unterstützung für Write Barriers im Device Mapper (DM) (Git-Pull-Request). Der bietet nun außerdem ein "Merge Target" (u. a. 1, 2), mit dessen Hilfe man zu einem Snapshot zurück wechseln kann – etwa nach einem Systemupdate, das Probleme verursacht (LWN.net-Artikel).

Treiber

Die Treiber des IDE-Subsystems gelten nun offiziell als "deprecated" – Anwendern wird geraten, auf die schon länger im Kernel enthaltenen und nun nicht mehr als experimentell eingestuften (1, 2) PATA-Treiber des Libata-Subsystems umzusteigen. Die erhielten bei 2.6.33 zahlreiche Detailverbesserungen und Korrekturen – einige davon stammen von Bartlomiej Zolnierkiewicz, der bis vor einigen Monaten das IDE-Subsystem betreut hatte.

Neu zum Kernel stießen die im SCSI-Subsystem angesiedelten Treiber 3w-sas für den LSI 3ware 9750 und vmw_pvscsi für die virtuelle, von Gastsystemen gesehene Hardware mancher VMWare-Hypervisor. Neuere Smart Array Controller von HP lassen sich nun nicht mehr nur über den bei 2.6.33 optimierten und im Block-Subsystem beheimateten Treiber cciss ansprechen, sondern auch über den neuen Treiber hpsa; da er im SCSI-Subsystem angesiedelt ist, stellt er genau wie jeder andere SCSI- und Libata-Treiber zum Zugriff ein normales Device (/dev/sdx) zur Verfügung. Ebenfalls frisch zum Kernel stieß der Treiber pm8001 für SAS/SATA-HBAs mit dem PMC-Sierra-Chip SPC 8001.

Verschiedenes

Einige weitere Änderungen rund um Dateisysteme und den Storage-Code des Kernels:

    * Am experimentellen und von verschiedenen wichtigen Linux-Entwicklern als "Next Generation File System for Linux" auserkorenen Btrfs gab es bei 2.6.33 vorwiegend kleine Verbesserungen und Korrekturen, wie Hauptentwickler Chris Mason im Haupt-Git-Pull-Request für 2.6.33 schreibt.
    * Das auf dem Dateisystem-Code von Ext2 und Ext3 basierende Ext4 kann von nun an auch Ext2- und Ext3-Dateisysteme einbinden – in Umgebungen, wo es auf ein möglichst kleines Kernel-Image ankommt, lässt sich so ein wenig Platz sparen.
    * Zur Aufnahme bei 2.6.33 vorgeschlagen war auch das verteilte Dateisystem Ceph. Torvalds hat es allerdings fürs erste außen vor gelassen – wie er schreibt, waren dafür einerseits Zeitgründe verantwortlich, anderseits hätten sich zu wenig Kernel-Entwickler und Distributoren für die Aufnahme stark gemacht. Hintergründe dazu liefert ein Artikel bei LWN.net.
    * Der Reiserfs-Code hat zwar schon länger keinen offiziellen Betreuer mehr, ein Entwickler hat sich aber die Mühe gemacht, die Nutzung des Big Kernel Locks (BKL) im Reiserfs-Code erheblich zu reduzieren – dadurch soll das Dateisystem besser skalieren und manchmal ein klein wenig flotter arbeiten.
    * Einige der wichtigsten Neuerungen von nilfs2 nennt der Git-Pull-Request von Nilfs2-Maintainer Ryusuke Konishi.
    * Das Virtual File System (VFS) implementiert O_SYNC nun korrekt – auch dazu liefert ein Artikel bei LWN.net weitere Details.
    * Im XFS-Dateisystemcode gab es größere Umbauarbeiten, die den XFS-eigenen Tracing-Code durch solchen ersetzen, der auf die noch junge, sich im vergangenen Jahr aber erheblich weiter entwickelte Tracing-Infrastruktur des Kernels aufsetzt.

Die kleinen Perlen

Viele weiteren nicht ganz so wichtige, aber keineswegs unbedeutende Neuerungen finden sich in der folgenden Liste mit den englischen Commit-Überschriften der jeweiligen Änderung. Die Einträge verlinken genau wie viele der Verweise im vorangegangenen Text auf das Webfrontend des von Linus Torvalds gepflegten Git-Zweigs mit den Kernel-Quellen auf Kernel.org. Im Webfrontend liefern normalerweise der Commit-Kommentar und der Patch selbst zahlreiche weitere Informationen zur jeweiligen Änderungen.

File systems

Btrfs

    * Btrfs: Avoid superfluous tree-log writeout
    * Btrfs: fail mount on bad mount options
    * Btrfs: Make fallocate(2) more ENOSPC friendly
    * Btrfs: make metadata chunks smaller
    * Btrfs: Make truncate(2) more ENOSPC friendly
    * Btrfs: Show discard option in /proc/mounts

Ext[234]

    * ext3: make "norecovery" an alias for "noload"
    * ext3: Support for vfsv1 quota format
    * ext3: Unify log messages in ext3
    * ext4: add tracepoint for ext4_forget()
    * ext4: Do not override ext2 or ext3 if built they are built as modules
    * ext4, jbd2: Add barriers for file systems with exernal journals
    * ext4: make "norecovery" an alias for "noload"
    * ext4: make trim/discard optional (and off by default)
    * ext4: Support for 64-bit quota format
    * ext4: Update documentation to correct the inode_readahead_blks option name

Various others

    * aio: implement request batching
    * CIFS: Enable mmap on forcedirectio mounts
    * direct-io: cleanup blockdev_direct_IO locking
    * exofs: Multi-device mirror support
    * fat: make discard a mount option
    * fiemap: Add new extent flag FIEMAP_EXTENT_SHARED
    * GFS2: add barrier/nobarrier mount options
    * GFS2: Add cached ACLs support
    * GFS2: Add get_xquota support
    * GFS2: Add get_xstate quota function
    * GFS2: Add set_xquota support
    * GFS2: Fix up system xattrs
    * GFS2: Improve statfs and quota usability
    * kill-the-BKL/reiserfs: add reiserfs_cond_resched()
    * nfs41: add support for callback with RPC version number 4
    * nfs41: add support for the exclusive create flags
    * NFS: Display compressed (shorthand) IPv6 in /proc/mounts
    * nfs: new subdir Documentation/filesystems/nfs
    * NFS: Revert default r/wsize behavior
    * nilfs2: add cache framework for persistent object allocator
    * nilfs2: add norecovery mount option
    * nilfs2: update mailing list address
    * nilfs2: Using nobarrier option instead of barrier=off
    * ocfs2: Always include ACL support
    * procfs: allow threads to rename siblings via /proc/pid/tasks/tid/comm
    * proc: partially revert "procfs: provide stack information for threads"
    * proc: remove docbook and example
    * quota: Implement quota format with 64-bit space and inode limits
    * reiserfs: kill-the-BKL
    * reiserfs, kill-the-BKL: fix unsafe j_flush_mutex lock
    * reiserfs: remove /proc/fs/reiserfs/version
    * sanitize xattr handler prototypes
    * seq_file: use proc_create() in documentation
    * UBIFS: support mounting of UBI volume character devices
    * ufs: NFS support
    * VFS: Export dquot_send_warning
    * xfs: event tracing support
    * xfs: improve metadata I/O merging in the elevator
    * xfs: use DECLARE_EVENT_CLASS

Storage

Block

    * Add a tracepoint for block request remapping
    * blkio: Export disk time and sectors used by a group to user space
    * blkio: Introduce per cfq group weights and vdisktime calculations
    * blkio: Introduce the notion of cfq groups
    * blkio: Introduce the root service tree for cfq groups
    * blkio: Some debugging aids for CFQ
    * block: add helpers to run flush_dcache_page() against a bio and a request's pages
    * block: Allow devices to indicate whether discarded blocks are zeroed
    * block: allow large discard requests
    * block: Expose discard granularity
    * block: use normal I/O path for discard requests
    * cfq-iosched: enable idling for last queue on priority class
    * cfq-iosched: fairness for sync no-idle queues
    * cfq-iosched: fix no-idle preemption logic
    * cfq-iosched: reimplement priorities using different service trees
    * cfq: merge cooperating cfq_queues

DM

    * dm: add request based barrier support
    * dm exception store: add merge specific methods
    * dm raid1: add framework to hold bios during suspend
    * dm raid1: support flush
    * dm: simplify request based suspend
    * dm snapshot: add allocated metadata to snapshot status
    * dm snapshot: permit only one merge at once

Libata

    * ahci: let users know that Promise PDC42819 support is limited to SATA devices
    * ata_piix: enable 32bit PIO on SATA piix
    * libata: add comment documenting PIO latency issues on UP
    * libata/drivers: Add driver for Apple "MacIO" IDE controller
    * libata: MWDMA0 is unsupported on PIIX-like PATA controllers
    * libata: Report zeroed read after TRIM and max discard size
    * pata_cs5520: remove dead VDMA support
    * pata_hpt37x: add proper cable detection methods
    * pata_it8213: MWDMA0 is unsupported
    * pata_legacy: fix QDI6580DP support
    * pata_piccolo: Driver for old Toshiba chipsets
    * sata_fsl: Add asynchronous notification support
    * sata_mv: add power management support for the PCI controllers.
    * sata_mv: add power management support for the platform driver
    * sata_mv: support clkdev framework
    * sata_sil24: MSI support, disabled by default

MD

    * md: add honouring of suspend_{lo,hi} to raid1.
    * md: add MODULE_DESCRIPTION for all md related modules.
    * md: add 'recovery_start' per-device sysfs attribute
    * md/raid1: add takeover support for raid5->raid1
    * md: revise Kconfig help for MD_MULTIPATH
    * md: support bitmap offset appropriate for external-metadata arrays.
    * md: support updating bitmap parameters via sysfs.
    * md: Support write-intent bitmaps with externally managed metadata.
    * raid: improve MD/raid10 handling of correctable read errors.

MFD/MMC/MTD

    * DaVinci: MMC: MMC/SD controller driver for DaVinci family
    * mfd: Add 88PM8607 driver
    * mfd: add AB4500 driver
    * mfd: Add ADP5520/ADP5501 driver
    * mfd: Add all twl4030 regulators to the twl4030 mfd driver
    * mfd: Add power control platform data to SDHI driver
    * mfd: Add SuperH Mobile SDHI platform driver
    * mfd: Add support for remapping twl4030-power power states
    * mfd: Add support for twl6030 irq framework
    * mfd: Add support for WM8320 PMICs
    * mfd: Add twl6030 regulator subdevices
    * mfd: Initial support for twl5031
    * mmc: add module parameter to set whether cards are assumed removable
    * mmc: atmel-mci: new MCI2 module support in atmel-mci driver
    * mmc: Blackfin SD Host Controller Driver
    * mtd: add ARM pismo support
    * mtd: Add bad block table overrides to Davinci NAND driver
    * mtd: add bcmring nand driver
    * mtd: add lock fixup for AT49BV640D and AT49BV640DT chips
    * mtd: add nand_ecc test module
    * mtd: add support for switching old SST chips into QRY mode
    * mtd: m25p80: Add support for CAT25xxx serial EEPROMs
    * mtd: m25p80: add support for Macronix MX25L4005A
    * mtd: maps: remove obsolete ipaq-flash driver
    * mtd: mtdoops: make record size configurable
    * mtd: mtdoops: refactor as a kmsg_dumper
    * mtd: nand: add option to quieten off the no device found messgae
    * mtd: nandsim: add support for 4KiB pages
    * mtd: OneNAND: multiblock erase support
    * mtd: Really add ARM pismo support
    * mtd: tests: fix read, speed and stress tests on NOR flash
    * mxc_nand: Add NFC V2 support
    * sdhci: add support for the SysKonnect CardBus2SDIO adapter
    * sdhci-of: add support for the wii sdhci controller
    * sdhci-of: reorganize driver to support additional hardware

SCSI

    * SCSI: add scsi target reset support to scsi ioctl
    * SCSI: be2iscsi: Adding msix and mcc_rings V3
    * SCSI: be2iscsi: Adding support for various Async messages from chip
    * SCSI: bnx2i: Add 5771E device support to bnx2i driver
    * SCSI: bnx2i: update CQ arming algorith for 5771x chipsets
    * SCSI: fcoe: add a separate scsi transport template for NPIV vports
    * SCSI: fcoe, libfc: adds enable/disable for fcoe interface
    * SCSI: fcoe: vport symbolic name support
    * SCSI: fnic: Add FIP support to the fnic driver
    * SCSI: ibmvfc: Add FC Passthru support
    * SCSI: libfc: Add libfc/fc_libfc.[ch] for libfc internal routines
    * SCSI: libfc: add some generic NPIV support routines to libfc
    * SCSI: libfc: add support of receiving ELS_RLS
    * SCSI: libfc, fcoe: Add FC passthrough support
    * SCSI: libfcoe, fcoe: libfcoe NPIV support
    * SCSI: libiscsi: add warm target reset tmf support
    * SCSI: lpfc 8.3.5: Add AER support
    * SCSI: lpfc 8.3.5: fix fcp command polling, add FIP mode, performance optimisations and devloss timout fixes
    * SCSI: lpfc 8.3.5: fix reset path, ELS ordering and discovery issues
    * SCSI: lpfc 8.3.5: fix sysfs parameters, vport creation and other bugs and update logging
    * SCSI: lpfc 8.3.6 : FC Protocol Fixes
    * SCSI: megaraid_sas: Add new megaraid SAS 2 controller support to the driver
    * SCSI: megaraid_sas: Add poll mechanism to megaraid sas driver
    * SCSI: megaraid_sas: add sysfs for AEN polling
    * SCSI: megaraid_sas: add the IEEE SGE support to SAS2 controller
    * SCSI: megaraid_sas: Add the support for updating the OS after adding/removing the devices from FW
    * SCSI: megaraid_sas: Update version number and documentation
    * SCSI: mpt2sas: Added command line option diag_buffer_enable.
    * SCSI: mpt2sas: Add Extended Type for Diagnostic Buffer support
    * SCSI: mpt2sas: Adding MPI Headers - revision L
    * SCSI: mpt2sas : Add support for RAID Action System Shutdown Initiated at OS shutdown
    * SCSI: mpt2sas: Add support in the driver to check for valid response info
    * SCSI: mpt2sas: New device SAS2208 support is added
    * SCSI: mpt2sas: Support for stopping driver when Firmware encounters
    * SCSI: mvsas: add support for Adaptec ASC-1045/1405 SAS/SATA HBA
    * SCSI: pm8001: enhance IOMB process modules
    * SCSI: pmcraid: support SMI-S object model of storage pool
    * SCSI: qla2xxx: Add firmware-dump kobject uevent notification.
    * SCSI: scsi: Add missing command definitions
    * SCSI: scsi_debug: Thin provisioning support
    * SCSI: scsi_dh_rdac: Add two new IBM devices to rdac_dev_list
    * SCSI: sd: WRITE SAME(16) / UNMAP support
    * SCSI: stex: add small dma buffer support
    * SCSI: stex: add support for reset request from firmware

Various others

    * Add COH 901 318 DMA block driver v5
    * cs5535: add pci id for AMD based CS5535 controllers
    * IB: Fix typo in ipoib.txt
    * MFD: twl4030: add twl4030_codec MFD as a new child to the core
    * MFD: twl4030: add twl4030_codec MFD as a new child to the core
    * ppc440spe-adma: adds updated ppc440spe adma driver
    * RDMA/nes: Add additional SFP+ PHY uC status check and PHY reset
    * RDMA/nes: Add support for IB_WR_*INV
    * RDMA/ucma: Add option to manually set IB path

Quelle : www.heise.de
Titel: Linux Kernel 2.6.32.7
Beitrag von: SiLæncer am 29 Januar, 2010, 13:35
Changelog (http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.32.7)

http://www.kernel.org/
Titel: Kernel-Log: Open-Source-Treiber für neue Radeon-Grafikchips
Beitrag von: SiLæncer am 03 Februar, 2010, 12:04
X.org- und Kernel-Entwickler arbeiten an Treibern zur Unterstützung der DirectX-11-Grafikkarten aus AMDs Radeon-HD-5000-Serie. Der proprietäre AMD-Treiber spricht diese Chips schon länger an, doch selbst die neueste, erst kürzlich freigegebene Version arbeitet nicht mit dem schon einige Monate alten X-Server 1.7 zusammen. Die Kernel-Entwickler gaben derweil zahlreiche neue Stable-Kernel frei und diskutierten ausführlich über die Aufnahme von Utrace.

Nach einer Ankündigung in seinem Blog hat der AMD-Mitarbeiter und langjähriger Open-Source-Entwickler Alex Deucher den Entwicklerzweig des Treiber-Pakets xf86-video-ati um Unterstützung für die Evergreen-Grafikchips von AMD erweitert. Auch ein Kernel-Treiber für Kernel-based Mode-Setting (KMS) sei kurz vor der Fertigstellung; 2D- und 3D-Beschleunigung würden beide Treiber aber zunächst nicht bieten.

Die Evergreen-GPUs mit DirectX-11-Unterstützung kommen auf verschiedenen Radeon-HD-Grafikkarten der im September vergangenen Jahres eingeführten und nach und nach um weitere Modelle erweiterten 5000er-Serie zum Einsatz. Bislang ließen sich diese Grafikkarten nur mit generischen VESA-Treibern oder dem proprietären Linux-Treiber von AMD einsetzen, der als Catalyst oder Fglrx bekannt ist. Aufgrund der umstrittenen Rechtslage beim Einsatz proprietärer Kernel-Module meiden allerdings viele Distributionen die Treiber komplett oder versuchen, das Problem durch Nachladen der Treiber aus dem Internet zu umschiffen.

Den Catalyst-Treiber hat AMD kürzlich in der Version 10.1 zum Download freigegeben. Zu den Neuerungen zählen laut Release-Notes offizielle Unterstützung für Ubuntu 9.10 und einige Fehlerkorrekturen – darunter eine, die einen Absturz beim Hot-Plug von HDMI-Monitoren unterbinden soll. Wie seine Vorgänger arbeitet aber auch diese Version nicht mit den zu X.org 7.5 gehörenden und seit Anfang Oktober letzten Jahres erhältlichen X-Servern der 1.7er-Serie zusammen, die Fedora 12 und einige andere in den letzten Monaten erschienenen oder in Entwicklung befindlichen Distributionen beiliegt.

Linux-Versionsstatus

Seit dem vorangegangenen Kernel-Log haben die Verwalter der Stable-Series die Kernel-Versionen 2.6.27.45, 2.6.32.5, 2.6.32.6 und 2.6.32.7 veröffentlicht. Die neuen Versionen korrigieren wie üblich vornehmlich Fehler der Vorgänger und werden von einem nachdrücklichen Rat begleitet, auf die neuen Versionen zu wechseln; dabei wird nicht explizit ausgewiesen, ob auch Sicherheitslücken geschlossen wurden. Eine solche beheben die beiden kürzlich von Willy Tarreau veröffentlichten Kernel-Versionen 2.4.37.8 und 2.4.37.9 im Netzwerktreiber e1000 für verschiedene Gigabit-LAN-Chips von Intel.

Mit der Veröffentlichung von 2.6.33-rc6 am vergangenen Freitag schreitet die Entwicklung von Linux 2.6.33 derweil im üblichen Tempo voran. Für einen längeren Mailwechsel auf der LKML sorgte im Ende Januar eine Diskussion um die Aufnahme von Utrace in Linux-Next. In der sprach sich unter anderem Torvalds ziemlich deutlich gegen die Integration des von Systemtap verwendeten Kernel-Frameworks zum Analysieren des Laufzeitverhaltens von Userspace-Anwendungen aus. Eine Zusammenfassung eines Teils der Diskussion und einige Hintergründe zum Thema liefert ein Artikel bei LWN.net.

Kernel-Log-Staccato

Kernel

    * Der Entwickler eines proprietären Linux-Treibers stieß kürzlich auf reichlich Opposition, als er auf der LKML darum bat, die explizite GPL-Kennzeichnung einiger Kernel-Funktion ("EXPORT_SYMBOL_GPL") zu entfernen, um sie in seinem Treiber nutzen zu können. Rik van Riel erklärte etwa, dass der von einer der Funktionen genutzte Code patentierte Techniken nutze, deren Verwendung nur für GPL-Code gestattet sei. Greg Kroah-Hartman wies die Forderung ebenfalls zurück und erklärte in dem Zusammenhang, er sei schon erfolgreich gegen Firmen vorgegangen, die "Nur GPL"-Einschränkungen in der Basis-Infrastruktur für Treiber ("Driver Core") zu umgehen versucht haben ("I've already successfully taken legal action against companies who have tried to go around the driver core's GPL-only symbols, so I can not, and will not, make this change.").
    * Simon Kagstrom hat einen Patch erarbeitet, der den Kernel auf verschiedene Weisen etwa abstürzen lässt, um eben den dabei ausgeführten Code testen zu können.
    * Ein Hinweis in eigener Sache: Der Kernel-Log-Autor gibt im Rahmen der Chemnitzer Linux-Tage einen Vortrag über aktuelle Entwicklungen rund um den Linux-Kernel – also genau jenen Themen, die im Kernel-Log zur Sprache kommen.

Kernel-Umland ("Plumbing layer") und Userland-Treiber

    * Die Grub-Entwickler haben die Version 1.97.2 des Boot-Loaders veröffentlicht.
    * Die Entwickler des Gphoto-Projekts haben die Version 2.4.8 der zum Auslesen vieler Digitalkameras genutzten Bibliothek libgphoto2 zum Download freigegeben. Sie bringt eine Reihe kleinerer Verbesserungen für Kameras und PTP-Geräte verschiedener Hersteller – darunter Unterstützung für einige neue Kameras von Canon, Fuji, Kodak und Nikon.
    * Die Entwickler des Projekts Flashrom haben die Version 0.9.1 des gleichnamigen Software freigegeben, mit der sich viele zum Speichern von Mainboard-BIOSen genutzte Flash-Chips identifizieren, lesen, beschreiben oder löschen lassen.

Grafik

    * PCI-Subsystem-Betreuer und Treiber-Entwickler Jesse Barnes gibt in einem längeren Blog-Eintrag eine Übersicht über die Entwicklungen in seinem Arbeitsumfeld. Dazu gehören eine jüngst erarbeitete Erweiterung des KMS-Codes und des DRI2-Protokolls, um die Bildausgabe mit Bildwechseln zu synchronisieren; auch beschreibt er seine Arbeit an Code zum Hochtakten des Grafikkerns der für Notebooks gedachten Westmere-Prozessoren, wenn deren CPU-Kerne nur teilweise ausgelastet sind (Turbo Boost/Intelligent Power Sharing/IPS).
    * X- und Kernel-Entwickler Dave Airlie beschreibt in zwei Blog-Einträgen seine Arbeit an Code zur Unterstützung von Hybrid Graphics bei einem Lenovo W500 (1, 2). Der soll eine Umschaltung zwischen Intel-Chipsatzgrafik und der Radeon-GPU im laufenden Betrieb ermöglichen – Airlie merkt jedoch an, dass ein Neustart des X-Server beim Wechsel auf absehbare Zeit unumgänglich bleibt.
    * Tiago Vignatti berichtet in seinem Blog über die Hintergründe und Fortschritte bei der Modularisierung von X.org.

Quelle : www.heise.de
Titel: Warum die Android-Treiber aus dem Linux-Kernel flogen
Beitrag von: SiLæncer am 03 Februar, 2010, 14:08
Der bekannte Kernel-Entwickler Greg Kroah-Hartman hat in einem Blog-Eintrag die Hintergründe dargelegt, die zur Entfernung einiger bislang im Staging-Treiber angesiedelten Android-Treiber aus der in einigen Wochen erwarteten Kernel-Version 2.6.33 geführt haben. Der unter anderem für den Staging-Bereich und das USB-Subsystem zuständige Kernel-Hacker  nutzt den Anlass auch, um einige allgemeine Probleme im Verhältnis zwischen Linux und Google beziehungsweise Android zu erklären.

Kroah-Hartman erläutert, dass er die Android-Plattform liebe und er sie auch aus technischer Sicht mag. Da sich aber niemand um den Code der Android-Treiber im für unreife und unfertige Treiber gedachten Staging-Bereich gekümmert hatte, habe er ihn entfernt. Ein ähnliches Schicksal hat aus dem gleichen Grund auch schon andere Staging-Treiber ereilt oder wird ihnen angedroht, damit sie nicht zur Last für die Kernel-Entwickler werden. Normale, nicht im Staging-Bereich angesiedelte Treiber werfen die Kernel-Entwickler nur in Ausnahmefällen raus, vielmehr kümmern sie sich sogar um Anpassungen an neue Techniken und Treiber-Schnittstellen.

Die Entfernung der Android-Treiber hatte Kroah-Hartman bereits Ende Oktober angekündigt; ein Google-Mitarbeiter hat auch gar nicht dagegen zu argumentieren versucht, aber vage angedeutet, dass sich die Programmierer langfristig durchaus um die Aufnahme von Android-Komponenten in den Hauptentwicklungszweig des Linux-Kernels bemühen wollen. Der Kernel-Entwickler will die Unordnung um Android ("the whole Android mess") in einem Vortrag auf dem "CE Linux Forum 2010" näher beschreiben

Weiter geht Kroah-Hartman auf einige allgemeine Aspekte in der Beziehung mit Linux ein. Android bestehe aus mehr als nur ein paar eigenartigen Treibern, die nun entfernt wurden. Vielmehr habe der Linux-Kernel von Android einige Besonderheiten und ein teilweise etwas bizarres Sicherheitsframework, auf das die Treiber teilweise abgestimmt seien; auch die Framebuffer-Infrastruktur sei eine vollkommen andere. Dadurch benötigen die für Android geschriebenen Treiber Anpassungen, bevor sie in den offiziellen Linux-Kernel einfließen können.

Sich vom offiziellen Kernel unterscheidende Entwicklerzweige seien indes durchaus akzeptabel und wären bei neuen Versionen von Linux-Distributionen ganz normal. Aber in diesem Fall sei es viel schlimmer, weil Google den Code nicht dem Hauptentwicklungszweig von Linux zukommen lasse und dadurch Unternehmen, die Treiber und Verbesserungen für die Android-Platform schreiben, von der Mitarbeit am offiziellen Linux-Kernel ausschließe oder ihnen die Arbeit erheblich erschwere.

Kroah-Hartman merkt abschließend an, dass zur Beseitigung dieser Probleme Hilfe von Google-Mitarbeitern nötig sei, da nur die den Android-Code ändern könnten, der auf den Kernel aufsetzt. Wie es weitergeht, wagt Google Kroah-Hartman nicht zu prognostizieren, weil das Unternehmen derzeit keine Anstalten mache, die eigenen Verbesserungen am Linux-Kernel in den Hauptentwicklungszweig zu integrieren.

Quelle : www.heise.de
Titel: Kernel-Log – Was 2.6.33 bringt (3): Grafik
Beitrag von: SiLæncer am 05 Februar, 2010, 18:45
Die nächste Linux-Version bringt nicht nur erstmals den KMS-Grafiktreiber Nouveau für Nvidia-Grafikhardware mit, sondern auch eine Vielzahl von Verbesserungen für die AMD/ATI- und Intel-Grafiktreiber mit Unterstützung für Kernel-based Modesetting (KMS).

Ende vergangener Woche hat Linus Torvalds mit Linux 2.6.33-rc6 die sechste Vorabversion der Ende Februar oder Anfang März erwarteten Linux-Version 2.6.33 veröffentlicht. Die Rate und der Umfang der Änderungen geht wie an diesem Abschnitt des Entwicklungszyklus  üblich langsam zurück; Torvalds schreibt, dass die Entwicklung an einen Punkt gelange, wo die Dinge größtenteils funktionieren sollten ('[...]we're getting to that stage of the release cycle where things mostly should "just work"[...]')

Thema dieses dritten Teils der Mini-Serie "Was 2.6.33 bringt" sind die Neuheiten rund um die Unterstützung von Grafikhardware. Den bedeutsamsten Änderungen bei der Netzwerkunterstützung sowie bei Dateisystemen und dem Storage-Subsystem hatten sich der erste und zweite Teil der Serie gewidmet.

Neuer Treiber für Nvidia-GPUs

Wie bereits gemeldet, haben die Kernel-Entwickler nach heftigem Drängen von Linus Torvalds den Kernel-Teil des Nouveau-Treibers für GeForce-Grafikkerne als Staging-Treiber in den Linux-Kernel aufgenommen. Die Kernel-Version 2.6.33 wird daher das bislang nur bei GPUs von AMD/ATI und Intel unterstützte Kernel-based Mode-Setting (KMS) auch mit vielen Grafikchips von Nvidia beherrschen. Das ermöglicht einen flackerfreien Startvorgang, eine schnelle Umschaltung zwischen X-Server und Textkonsole sowie eine zuverlässigere Reinitialisierung der Grafikhardware beim Aufwachen aus systemweiten Schlafzuständen.

Der auf dem neuen Kernel-Code aufsetzende Nouveau-Treiber für X.org beherrscht bereits den via RandR konfigurierbaren Zweischirmbetrieb sowie mit neueren GeForce-Modellen Xvideo-Beschleunigung – der bislang von vielen Distributionen für Nvidia-Hardware verwendete X.org-Treiber "nv" (korrekt "xf86-video-nv") kann beides nicht. 3D-Beschleunigung bietet allerdings keiner der beiden Treiber; für den mittels Reverse Engineering entwickelten Nouveau-Treiber ist sie in Arbeit, aber derzeit noch hochgradig experimentell.

Für 3D-Unterstützung braucht man daher weiter den proprietären Grafiktreiber von Nvidia, der bei manchen Grafikkarten auch erforderlich ist, um die Lüftersteuerung zu aktivieren. Nvidias Treiber arbeiten allerdings nur, wenn man der Nouveau-KMS-Code nicht aktiv ist – das lässt sich etwa durch Angabe des Kernel-Parameter "nomodeset" beim Booten bewerkstelligen.

Kurz vor der Aufnahme von Nouveau hatten die Entwickler noch einige Änderungen vorgenommen, durch die der Treiber den zuvor integrierten und häufig als "Firmware" eingestuften Bestandteil ctxprogs bei Bedarf nachlädt. Einige Distributionen liefern diesen bei neueren GPUs benötigten, gelegentlich auch "Voodoo" genannten Nicht-Open-Source-Code mit aus; allerdings ist unklar, ob das überhaupt rechtmäßig ist, da dieser Code aus den proprietären Grafiktreibern extrahiert wurde.

Ein Entwickler nahm die Diskussionen um diese Problematik zum Anlass, Open-Source-Code zu entwickeln, der Ctxprogs ersetzt. Dieser Code wurde einige Tage nach der Aufnahme von Nouveau ebenfalls für Linux 2.6.33 eingepflegt – bislang unterstützt er allerdings nur die GPUs der NV40-Generation, die auf GeForce-Karten der Serien 6000 und 7000 sitzen.

KMS wird zum Standard

Mit der Aufnahme des KMS-Treiber-Codes in den Kernel entfernten die Nouveau-Entwickler Anfang Januar ungefähr fünfzehntausend Codezeilen im Nouveau-Treiber für X.org, die sich um das Setzen der Video-Modi ohne KMS gekümmert haben; das soll Wartung und Weiterentwicklung von Nouveau vereinfachen. Damit sind sie nicht alleine, denn auch aus dem Intel-Grafiktreiber für X.org ist in der Anfang Januar freigegeben Treiberversion 2.10 der Code zum "User-Modesetting" (UMS) entfernt. Diese und zukünftige Versionen der Treiber sind daher auf Kernel mit KMS-Unterstützung angewiesen, was für eine recht zügige Verbreitung der noch vergleichsweise jungen Technik führen dürfte.

Die Version 2.10 der Intel-Grafiktreiber bietet zusammen mit dem bei 2.6.33 neuen "drmmode overlay support" im KMS-Treiber für Intel-GPUs nun auch Unterstützung für Video Overlays. Zahlreiche Verbesserungen gab es für die Ironlake-Grafikkerne, die in Westmere-CPUs wie den Anfang des Jahres vorgestellten Dual-Core-Prozessoren der Core-Baureihen i3 und i5 stecken. Der Intel-KMS-Treiber bietet nun auch Unterstützung für Auflösungen mit 30-Bit-Farbtiefe.

Der von den KMS-Treibern genutzte DRM (Direct Rendering Manager) des Kernels und der darauf aufsetzende Intel-Treiber bieten jetzt ein Interface, durch das Grafiktreiber in Zukunft die Darstellung von neuem Bildschirminhalt besser mit dem Bildwechsel synchronisieren können. Das soll die "Tearing" genannten Bildverzerrungen reduzieren oder vermeiden, die besonders bei der Video-Wiedergabe störend sein können.

Damit der Kernel-seitige "Page Flipping Support" nutzbar ist, mussten die Entwickler das DRI2-Protokoll erweitern. Die Technik wird daher erst mit Mesa 7.8, X-Server 1.9 und der noch in Entwicklung befindlichen Version 2.11 des Intel-Grafiktreibers für X.org funktionieren – weitere Details zum Thema finden sich in einem ausführlichen Blog-Eintrag von PCI-Subsystem-Betreuer und Treiber-Entwickler Jesse Barnes.

Radeon-Treiber besser eingestuft

Der DRM- und KMS-Code des Kernels für Radeon-Grafikchips unterstützt nun die Monitoransteuerung via DisplayPort (1, 2) und eDP (embedded DisplayPort); zudem beherrscht er die Audio-Ausgabe über HDMI. Die ebenfalls neue IRQ-Unterstützung für r6xx- und r7xx-GPUs ermöglicht die Erkennung von Monitorwechseln ohne wiederkehrende Abfragen (Polling) und ist bei Radeon-Karten eine Voraussetzung für den oben erwähnten Page Flipping Support – das ganze funktioniert aber nur in Verbindung mit einer aktualisierten Firmware.

Darüber hinaus gab es zahlreiche kleinere Korrekturen und Verbesserungen am Radeon-KMS-Treiber. Durch die ist der Code nun so weit gereift, dass die Entwickler die Klassifizierung für den Staging-Bereich des Kernels, der unreife und minderwertige Treiber ausnimmt, entfernten und im Commit-Kommentar andeuten, dass der Treiber-Code stabil genug zum Einsatz in Linux-Distributionen sei.

Neu zum Kernel stieß auch der KMS-Treiber xmgfx für die virtuelle, in Gastsystemen sichtbare SVGA2-Grafikhardware einiger VMWare-Hypervisor. Auch dieser Treiber ist ähnlich wie die KMS-Treiber für GeForce- und Radeon-Grafikhardware anfangs als Staging-Treiber gekennzeichnet, weil mindestens die für 3D-Unterstützung zuständige Treiber-Schnittstellen noch Anpassungen benötigen. Über einen Nokia-Entwickler fanden zudem das Display-Subsystem und weitere Treiber für OMAP2/3-Prozessoren den Weg in den Kernel – solche ARM-CPUs kommen etwa bei Nokias n900 oder dem Beagle Board zum Einsatz.

Die kleinen Perlen

Viele weiteren nicht ganz so wichtige, aber keineswegs unbedeutende Neuerungen finden sich in der folgenden Liste mit den englischen Commit-Überschriften der jeweiligen Änderung. Die Einträge verlinken genau wie viele der Verweise im vorangegangenen Text auf das Webfrontend des von Linus Torvalds gepflegten Git-Zweigs mit den Kernel-Quellen auf Kernel.org. Im Webfrontend liefern normalerweise der Commit-Kommentar und der Patch selbst zahlreiche weitere Informationen zur jeweiligen Änderungen.

    * backlight: mbp_nvidia_bl - add two more MacBookPro variants
    * davinci: fb: add framebuffer blank operation
    * davinci: fb : add suspend/resume suuport for DA8xx/OMAP-L1xx fb driver
    * drm: Add async event synchronization for drmWaitVblank
    * drm: Add dirty ioctl and property
    * drm: Add eDP connector type
    * drm: convert drm_ioctl to unlocked_ioctl
    * drm/edid: Add new detailed block types from EDID 1.4
    * drm/edid: Retry EDID fetch up to four times
    * drm/i915: Add ACPI OpRegion support for Ironlake
    * drm/i915: Add display hotplug event on Ironlake
    * drm/i915: Add HP nx9020/SamsungSX20S to ACPI LID quirk list
    * drm/i915: add render standby support
    * drm/i915: Check whether the LVDS downclock is found in VBT
    * drm/i915: debugfs interface to manually reset the GPU
    * drm/i915: disable LVDS downclock by default
    * drm/i915: enable 36bit physical address for hardware status page
    * drm/i915: Enable/disable the dithering for LVDS based on VBT setting
    * drm/i915: Enable LVDS downclock feature through EDID.
    * drm/i915: enable self-refresh on 965
    * drm/i915: execbuf2 support
    * drm/i915: Replace DRM_DEBUG with DRM_DEBUG_DRIVER
    * drm/i915: warn if Pineview CxSR can't be enabled
    * drm: Keep disabled outputs disabled after suspend / resume
    * drm/kms: properly handle fbdev blanking
    * drm/modes: Fall back to 1024x768 instead of 800x600
    * drm/modes: Limit fallback modes to 60Hz
    * drm/nouveau: Pre-G80 tiling support.
    * drm/nouveau: Pre-G80 tiling support.
    * drm/radeon/kms: add 3DC compression support
    * drm/radeon/kms: add additional safe regs for r4xx/rs6xx and r5xx
    * drm/radeon/kms: add cvt mode if we only have lvds w/h and no edid (v4)
    * drm/radeon/kms: add definitions for v4 power tables
    * drm/radeon/kms: add HDP flushing for all GPUs.
    * drm/radeon/kms: add hpd support for r1xx-r4xx asics
    * drm/radeon/kms: add hpd support for r5xx/rs600/rs690/rs740 asics
    * drm/radeon/kms: add hpd support for r6xx/r7xx/rs780/rs880 asics
    * drm/radeon/kms: add irq mitigation code for sw interrupt.
    * drm/radeon/kms: add quirk for Acer laptop
    * drm/radeon/kms: Add quirk for HIS X1300 board
    * drm/radeon/kms: add quirk for MSI S270
    * drm/radeon/kms: add support for external tmds on legacy boards
    * drm/radeon/kms: add tv standard property to tv connectors
    * drm/radeon/kms: AGP systems need PCI bus mastering enabled
    * drm/radeon/kms/avivo: add support for new pll selection algo
    * drm/radeon/kms: enable hpd support
    * drm/radeon/kms: fix r100->r500 CS checker for compressed textures. (v2)
    * drm/radeon/kms: get HPD info for connectors
    * drm/radeon/kms: init pm on all chipsets
    * drm/radeon/kms: Workaround RV410/R420 CP errata (V3)
    * drm/radeon: r6xx/r7xx possible security issue, system ram access
    * drm/ttm: Add user-space objects.
    * drm/ttm: Rework validation memory space allocation (V3)
    * fbdev: bfin-lq035q1-fb: new Blackfin Landscape LCD EZ-Extender driver
    * MAINTAINERS: Add OMAP2/3 DSS and OMAPFB maintainer
    * mb862xxfb: add acceleration support for Coral-P/Coral-PA. * imageblt * copyarea * fillrect
    * offb: Add support for framebuffer handoff to offb.
    * OMAP: Add support for VRFB rotation engine
    * OMAP: Add VRAM manager
    * OMAP: DSS2: Add generic and Sharp panel drivers
    * OMAP: DSS2: Add more core files
    * OMAP: DSS2: DISPC
    * OMAP: DSS2: Display Subsystem Driver core
    * OMAP: DSS2: DSI driver
    * OMAP: DSS2: omapfb driver
    * OMAP: DSS2: RFBI driver
    * OMAP: DSS2: Taal DSI command mode panel driver
    * OMAP: DSS2: Video encoder driver
    * OMAP: OMAPFB: add omapdss device
    * vc: Add support for hiding the cursor when creating VTs
    * vgacon: Add support for setting the default cursor state
    * viafb: documentation update
    * video: Allow selecting MSM framebuffer in Kconfig
    * vt: make the default cursor shape configurable

Quelle : www.heise.de
Titel: Linux Kernel 2.6.32.8
Beitrag von: SiLæncer am 09 Februar, 2010, 15:06
Changelog (http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.32.8)

http://www.kernel.org/
Titel: Kernel-Log – Was 2.6.33 bringt (4): Architektur, Infrastruktur ....
Beitrag von: SiLæncer am 12 Februar, 2010, 17:08
Dank einiger Änderungen am X86- und KVM-Code soll der Kernel-eigene Hypervisor schneller arbeiten. Überarbeitet und abermals erheblich erweitert haben die Kernel-Entwickler die recht junge Tracing-Infrastruktur. Der Power- und PowerPC-Code unterstützt nun auch die Spielkonsolen Gamecube und Wii.

Bei der Freigabe von Linux 2.6.33-rc7 Ende vergangener Woche zeigt sich Linus Torvalds ein wenig unzufrieden, weil der Hauptentwicklungszweig  derzeit mehr Fehler zeige, als ihm lieb ist. Er forderte die Entwickler auf, sich die Liste mit bekannten Fehlern der Vorabversion von 2.6.33 nochmal genauer anzusehen und deutet an, dass er vermutlich noch eine achte Vorabversion freigeben wird, bevor er Linux 2.6.33 veröffentlicht.

Der folgende vierte Teil der Mini-Serie "Was 2.6.33 bringt" widmet sich den Neuheiten rund um den Code für Architektur-Unterstützung, Kernel-Infrastruktur, Tracing und Virtualisierung. Den bedeutsamsten Änderungen rund um die Netzwerkunterstützung, Dateisysteme, das Storage-Subsystem und Grafikhardware hatten sich der erste, zweite und dritte Teil der Serie gewidmet.

Virtualisierung

Zahlreiche Verbesserungen gab es an der maßgeblich von Red Hat vorangetriebenen Virtualisierungslösung KVM (Kernel-based Virtual Machine). So interagiert der Kernel-eigene Hypervisor jetzt besser mit dem für das Hoch- und Runtertakten moderner Prozessoren zuständigen Cpufreq-Framework. Einige andere Änderungen an KVM sollen zusammen mit Anpassungen im X86-Code den Verwaltungsaufwand beim Context Switch reduzieren und dadurch die Performance verbessern (1, 2).

KVM blockiert die Virtualisierungsfunktionen moderner CPUs jetzt nur noch, wenn sie auch gebraucht werden; dadurch arbeiten andere Virtualisierungslösungen nun auch ohne ein vorheriges Entladen der für KVM zuständigen Kernel-Module, sofern KVM nicht aktiv ist. Speicherbereiche, die das bei Linux 2.6.32 eingeführte und im Umfeld von KVM entstandene KSM (Kernel Shared Memory) zusammengelegt hat, kann der Kernel jetzt in den Swap-Speicher verlagern. Verbesserungen gab es zudem für den Betrieb von paravirtualisierten Xen-Gastsystemen.

Der mit KVM verwandte, maßgeblich von Novell vorangetriebene sowie speziell auf High Performance Computing (HPC) und Echtzeitanwendungen ausgelegte Hypervisor AlacrityVM war zur Aufnahme bei 2.6.33 vorgeschlagen, blieb aber genau wie das verteilte Dateisystem Ceph außen vor. Laut Torvalds waren dafür einerseits Zeitgründe verantwortlich, anderseits hätten sich zu wenig Kernel-Entwickler und Distributoren für die Aufnahme stark gemacht.

Zuvor hatten bereits einige Kernel-Hacker den AlacrityVM-Entwicklern unzureichende Kooperation mit den KVM-Entwicklern vorgeworfen, was zu einer recht langen Diskussion führte; LWN.net hat die Hintergründe in einem Artikel zusammengefasst.

Tracing

Abermals stark erweitert und überarbeitet haben die Entwickler die Tracing-Infrastruktur rund um Ftrace und die früher Performance Counter genannten Performance Events (1, 2, 3). Über die neuen "kprobe-based event tracer" lassen sich Tracepoints nun zur Laufzeit an nahezu beliebige Stellen des Kernels einfügen (Dokumentation); nutzen können Anwender diese Infrastruktur mit dem Linux beiliegenden Programm "perf" und dessen neuem Unterkommando "probe".

Details zu einer früheren Entwicklerversion des nun aufgenommenen Codes liefert ein im vergangenen Sommer bei LWN.net veröffentlichter Artikel. Dort finden sich auch drei Artikel von Steven Rostedt, in der er die Möglichkeiten der teilweise von ihm mitentwickelten Tracing-Funktionen des Linux-Kernel beschreibt – der neuste stammt aus dem Januar und beschäftigt sich mit einigen fortgeschrittenen Einsatzmöglichkeiten der Tracing-Infrastruktur, verweist aber auf zwei frühere Artikel, die Grundlagen erläutern.

Durch einige andere Änderungen am Kernel lassen sich nun mehrere Prozesse gleichzeitig observieren oder die Nutzung des Big Kernel Lock (BKL) besser diagnostizieren. Die Analysedaten kann man in Zukunft über reguläre Ausdrücke filtern; ausgebaut haben die Kernel-Entwickler auch die Unterstützung für Perl-Skripte beim Perf-Kommando (u. a. 1, 2, 3, Dokumentation). Dessen mit 2.6.33 neue Unterkommando "bench" bietet einige Funktionen zur Geschwindigkeitsmessung (u. a. 1 2, 3, 4, Dokumentation). Neu sind auch die Perf-Unterkommandos "kmem" und "diff" sowie bessere Unterstützung für Kernel-Module in Perf.

Linux auf Gamecube und Wii

Der Architektur-Code für Power- und PowerPC-CPUs bringt nun Unterstützung für die von Nintendo gefertigten Spielkonsolen Gamecube und Wii mit (u. a. 1, 2); weitere Details dazu finden sich auf der Webseite des Projekts GC-Linux.

Kernel und Initial-Ramdisk (Initrd) lassen sich bei ARM-, MIPS und x86-Systemen nun mit LZO komprimieren, das laut Commit-Kommentar zwar nicht so effizient packt wie Gzip, aber auf ARM-Systemen deutlich schneller zu entpacken sei (1, 2, 3, 4, 5). Am ARM-Code gab es wieder eine große Zahl an Verbesserungen für dutzende verschiedene Systeme mit ARM-CPU oder -Kern; neu ist etwa die Unterstützung für den von Marvell gefertigten SOC (System-on-a-Chip) Dove (88AP510).

Auch der Code für andere Architekturen wurde um Unterstützung für Prozessoren und Systeme erweitert, von denen selbst viele eingefleischte Linux-Fans noch nie was gehört haben dürften – der MIPS-Code etwa wird ab Linux 2.6.33 Ciscos "Powertv cable settop box" unterstützen, die auf dem MIPS 24Kc basiert. Neu dabei ist auch Code für den Loongson 2F.

Im Umfeld der Realtime-Entwickler entstanden zahlreiche Änderungen, die die Nutzung des Big Kernel Lock (BKL) weiter reduzieren. Eine größere Umbenennung der Kernel-intern zum Locking kritischer Bereiche genutzten Spinlocks führt dazu, dass die mit aktivem Warten arbeitenden Sperrfunktionen, die auch in Zukunft nicht unterbrochen werden dürfen, nun arch_spinlock_t heißen. Diese Umstrukturierung erleichtert den Entwicklern der Echtzeitunterstützung für Linux die Arbeit erheblich und legt die Basis für den Umzug der "Sleeping Spinlocks" aus dem Realtime-/RT-Tree in den offiziellen Linux-Kernel.

Die Sleeping Spinlocks machen auch das Gros der Spinlocks unterbrechbar, die bislang durch aktives Warten versuchen, möglichst schnell exklusiven Zugriff auf gemeinsam genutzte Datenstrukturen zu bekommen – das ist der letzte größere Baustein für ordentliche Echtzeit-Eigenschaften, der dem offiziellen Linux-Kernel noch fehlt. Details zu der Umbenennung finden sich in einer kurzen Notiz bei LWN.net; zwei ältere Artikel liefern weitere Artikel zu den Sleeping Spinlocks und dem Entwicklungsstand des RT-Trees (1, 2).

ACPI, PCI und Power-Managent

Über Dateien im Sysfs lässt sich in Zukunft erkennen, falls das BIOS den Wechsel auf die maximale CPU-Frequenz in bestimmten Betriebsarten eines Gerätes via ACPI blockiert.

Rafael J. Wysocki hatte einige Patches zur Aufnahme eingesandt, durch die der Kernel einige Geräte beim Wechsel in oder aus dem Standby parallel statt sequenziell aufweckt oder schlafen legt. Das soll den Wechsel in oder aus dem Bereitschaftsmodus beschleunigen. Linus Torvalds wies die Änderungen aber mit recht deutlichen Worten als "völlig kaputt" zurück; Details dazu und den Patches liefert ein Artikel bei LWN.net.

Wysocki sparte die Änderungen daher fürs erste aus und übermittelte unter anderem einige Patches, die die bei 2.6.32 überarbeitete Infrastruktur zur Nutzung von Stromspartechniken von I/O-Geräten zur Laufzeit verbessern. Den Code zum "Asynchronous suspend and resume" hat er aber zwischenzeitlich überarbeitet und dürfte bei 2.6.34 einen weiteren Anlauf wagen.

Staccato

    * Bei Scheduler gab es diesmal nur kleinere Änderungen.
    * Das bei 2.6.32 eingeführte HWPOISON erhielt Fehlerkorrekturen und einige Verbesserungen.
    * Bei der Kernel-Konfiguration lässt sich in Zukunft das vom Kernel Standardmäßig genutzte Linux Security Modules (LSM) festlegen.
    * SELinux kann nun Klassen und Berechtigungen dynamisch beim Laden der Sicherheitsrichtlinien feststellen ("Modify SELinux to dynamically discover class and permission values upon policy load [...]").
    * Durch die bei 2.6.33 neue Unterstützung für die PCLMULQDQ-Instruktion kann der Kernel bestimmte Aufgaben bei der Hash-Berechnung an Intel-Prozessoren auslagern, die diese Instruktion unterstützen.

Die kleinen Perlen

Viele weiteren nicht ganz so wichtige, aber keineswegs unbedeutende Neuerungen finden sich in der folgenden Liste mit den englischen Commit-Überschriften der jeweiligen Änderung. Die Einträge verlinken genau wie viele der Verweise im vorangegangenen Text auf das Webfrontend des von Linus Torvalds gepflegten Git-Zweigs mit den Kernel-Quellen auf Kernel.org. Im Webfrontend liefern normalerweise der Commit-Kommentar und der Patch selbst zahlreiche weitere Informationen zur jeweiligen Änderungen.

Crypto and Security

    * crypto: hash - Remove legacy hash/digest code
    * crypto: padlock-sha - Add import/export support
    * LSM: Add security_path_chmod() and security_path_chown().
    * LSM: Add security_path_chroot().
    * remove CONFIG_SECURITY_FILE_CAPABILITIES compile option
    * security/tomoyo: Add a special case to handle accesses through the internal proc mount.
    * TOMOYO: Add recursive directory matching operator support.

Memory Management

    * Documentation: ABI: /sys/devices/system/cpu/cpu#/node
    * hugetlb: add nodemask arg to huge page alloc, free and surplus adjust functions
    * hugetlb: add per node hstate attributes
    * hugetlb: handle memory hot-plug events
    * hugetlb: update hugetlb documentation for NUMA controls
    * hugetlb: use only nodes with memory for huge pages
    * HWPOISON: Add Andi Kleen as hwpoison maintainer to MAINTAINERS
    * HWPOISON: add an interface to switch off/on all the page filters
    * HWPOISON: add fs/device filters
    * HWPOISON: add memory cgroup filter
    * HWPOISON: add page flags filter
    * HWPOISON: Add soft page offline support
    * HWPOISON: Add unpoisoning support
    * HWPOISON: limit hwpoison injector to known page types
    * memcg: add mem_cgroup_cancel_charge()
    * mm: add numa node symlink for cpu devices in sysfs
    * mm: add numa node symlink for memory section in sysfs
    * mm hugetlb: add hugepage support to pagemap
    * nommu: fix malloc performance by adding uninitialized flag
    * NOMMU: Optimise away the {dac_,}mmap_min_addr tests
    * page-types: add standard GPL license header
    * page-types: constify read only arrays
    * page-types: learn to describe flags directly from command line
    * page-types: unsigned cannot be less than 0 in add_page()
    * page-types: whitespace alignment
    * readahead: add blk_run_backing_dev

ACPI and PCI

    * ACPI: add kernel tainting after overriding an ACPI control method
    * ACPICA: Add more conversions to predefined name repair module
    * ACPICA: Add repair for bad _BIF/_BIX packages
    * ACPICA: Add repair for bad _FDE/_GTM buffers
    * ACPICA: Add repair for bad _MAT buffers
    * ACPICA: Add repair for predefined methods that must return sorted lists
    * ACPI: enable C2 and Turbo-mode on Nehalem notebooks on A/C
    * ACPI: introduce kernel parameter acpi_sleep=sci_force_enable
    * ACPI: support customizing ACPI control methods at runtime
    * dmar: support for parsing Remapping Hardware Static Affinity structure
    * intr-remap: generic support for remapping HPET MSIs
    * ipmi: add PNP discovery (ACPI namespace via PNPACPI)
    * PCI: add debug output for DMA mask info
    * PCI: PCIe AER: honor ACPI HEST FIRMWARE FIRST mode
    * PCI: support device-specific reset methods
    * pcmcia: add new CIS access helpers
    * pcmcia: autoload module pcmcia
    * pcmcia: convert net pcmcia drivers to use new CIS helpers
    * pcmcia: Pass struct pcmcia_device to pcmcia_map_mem_page()
    * pcmcia: pcmcia_request_window() doesn't need a pointer to a pointer
    * pcmcia: remove deprecated handle_to_dev() macro
    * pcmcia: rework the irq_req_t typedef
    * pcmcia/staging: update comedi drivers
    * pcmcia: use dynamic debug infrastructure, deprecate CS_CHECK (char)
    * pcmcia: use dynamic debug infrastructure, deprecate CS_CHECK (isdn)
    * pcmcia: use dynamic debug infrastructure, deprecate CS_CHECK (net)
    * pcmcia: use dynamic debug infrastructure, deprecate CS_CHECK (ray-cs.c)
    * pcmcia: use dynamic debug infrastructure, deprecate CS_CHECK (scsi)
    * pcmcia: use dynamic debug infrastructure, deprecate CS_CHECK (wireless)
    * pcmcia: use dynamic debug in PCMCIA socket drivers
    * PNP: add interface to retrieve ACPI device from a PNPACPI device
    * thermal: add sanity check for the passive attribute


Power Management

    * [CPUFREQ] Documentation: ABI: /sys/devices/system/cpu/cpu#/cpufreq/
    * [CPUFREQ] Document units for transition latency
    * [CPUFREQ] powernow-k6: set transition latency value so ondemand governor can be used
    * PCI/PM: Use per-device D3 delays
    * PM: Add flag for devices capable of generating run-time wake-up events
    * PM: Add initcall_debug style timing for suspend/resume
    * PM: Make the initcall_debug style timing for suspend/resume complete
    * PM: Measure device suspend and resume times
    * PM / Runtime: Make documentation of runtime_idle() agree with the code
    * PM: Runtime PM documentation update
    * PM / Runtime: Use device type and device class callbacks
    * PM: Use pm_runtime_put_sync in system resume

Scheduler

    * sched: Add pre and post wakeup hooks
    * sched: Add USER_SCHED to feature removal list
    * sched, cpuacct: Fix niced guest time accounting
    * sched: Fix missing sched tunable recalculation on cpu add/remove
    * sched: Make tunable scaling style configurable
    * sched: Rate-limit newidle

Tracing

    * Add a tracepoint for block request remapping
    * Documentation: Update ftrace-design.txt
    * Documentation: Update mmiotrace.txt
    * Documentation: Update tracepoint-analysis.txt
    * ftrace: add kernel command line graph function filtering
    * hw-breakpoints: Add two reserved fields for future extensions
    * hw-breakpoints: ftrace plugin for kernel symbol tracing using HW Breakpoint interfaces
    * hw-breakpoints: introducing generic hardware breakpoint handler interfaces
    * hw-breakpoints: Rewrite the hw-breakpoints layer on top of perf events
    * hw-breakpoints: sample HW breakpoint over kernel data address
    * hw-breakpoints: x86 architecture implementation of Hardware Breakpoint interfaces
    * lockstat: Fix min, max times in /proc/lock_stats
    * oprofile/x86: add Xeon 7500 series support
    * perf: Add kernel side syscall events support for breakpoints
    * perf: Add perf-probe document
    * perf bench: Add "all" pseudo subsystem and "all" pseudo suite
    * perf bench: Add new directory and header for new subcommand 'bench'
    * perf bench: Add subcommand 'bench' to the Makefile
    * perf buildid-list: New plumbing command
    * perf/core: Provide a kernel-internal interface to get to performance counters
    * perf kmem: Add help file
    * perf kmem: Add --sort hit and --sort frag
    * perf probe: Add glob matching support on --del
    * perf probe: Add perf probe command support without libdwarf
    * perf/probes: Support function entry relative line number
    * perf/probes: Update Documentation/perf-probe.txt
    * perf probe: Support --del option
    * perf probe: Support event name for --add option
    * perf probe: Support vmlinux on cwd by default
    * perf sched: Add -C option to measure on a specific CPU
    * perf sched: Add max delay time snapshot
    * perf stat: Add branch performance metric
    * perf timechart: Add a process filter
    * perf tools: Add debugfs utility routines for perf
    * perf tools: Add for_each macros for strlist
    * perf tools: Add ia64 support for tools/perf/
    * perf tools: Add support for breakpoint events in perf tools
    * perf tools: Add V=2 option to help debug config issues
    * perf tools: Create util/sort.and use it
    * perf tools: Introduce bitmask'ed additional headers
    * perf top: Support userspace symbols too
    * perf trace: Add a scripts/perl/bin for perf trace shell scripts
    * perf trace: Add filter Suppport
    * perf trace: Add scripting ops
    * perf trace/scripting: Add Fedora libperl install note to doc
    * perf trace/scripting: Add 'record' and 'report' options
    * perf trace/scripting: Add support for script args
    * perf trace/scripting: Don't display 'scripting unsupported' msg unnecessarily
    * perf trace/scripting: List available scripts
    * powerpc: tracing: Add hypervisor call tracepoints
    * powerpc: tracing: Add powerpc tracepoints for interrupt entry and exit
    * powerpc: tracing: Add powerpc tracepoints for timer entry and exit
    * rcu: Update trace.txt documentation for blocked-tasks lists
    * rcu: Update trace.txt documentation to reflect recent changes
    * selinux: drop remapping of netlink classes
    * trace-kprobe: Support delete probe syntax
    * tracing: Add kprobes event profiling interface
    * tracing: Add pipe_close interface
    * tracing: Add stack trace to irqsoff tracer
    * tracing: allow to change permissions for text with dynamic ftrace enabled
    * tracing/documentation: Cover new frame pointer semantics
    * tracing: Document HAVE_SYSCALL_TRACEPOINTS needs
    * tracing/kprobes: Add argument name support
    * tracing/kprobes: Add event profiling support
    * tracing/kprobes: Add $ prefix to special variables
    * tracing/kprobes: Add probe handler dispatcher to support perf and ftrace concurrent use
    * tracing/kprobes: Disable kprobe events by default after creation
    * tracing/kprobes: Make special variable names more self-explainable
    * tracing/kprobes: Remove '$ra' special variable
    * tracing/kprobes: Rename Kprobe-tracer to kprobe-event
    * tracing/kprobes: Show event name in trace output
    * tracing/kprobes: Support custom subsystem for each kprobe event
    * tracing: Kprobe-tracer supports more than 6 arguments
    * tracing/profile: Add filter support

Virtualization

    * core, x86: Add user return notifiers
    * KVM: allow userspace to adjust kvmclock offset
    * KVM: Enable 32bit dirty log pointers on 64bit host
    * KVM: SVM: Add tracepoint for injected #vmexit
    * KVM: SVM: Add tracepoint for invlpga instruction
    * KVM: SVM: Add tracepoint for nested #vmexit
    * KVM: SVM: Add tracepoint for nested vmrun
    * KVM: SVM: Add tracepoint for skinit instruction
    * KVM: SVM: Add tracepoint for #vmexit because intr pending
    * KVM: SVM: Support Pause Filter in AMD processors
    * KVM: VMX: Add support for Pause-Loop Exiting
    * KVM: x86: Add KVM_GET/SET_VCPU_EVENTS
    * KVM: x86 emulator: Add pusha and popa instructions
    * KVM: x86: Extend KVM_SET_VCPU_EVENTS with selective updates
    * KVM: Xen PV-on-HVM guest support

Architecture Support

X86

    * core, x86: Add user return notifiers
    * cs5535: add a generic MFGPT driver
    * cs5535: drop the Geode-specific MFGPT/GPIO code
    * x86: Add a Kconfig option to turn the copy_from_user warnings into errors
    * x86: Add Dell OptiPlex 760 reboot quirk
    * x86: Add new Intel CPU cache size descriptors
    * x86: Add quirk for Intel DG45FC board to avoid low memory corruption
    * x86: Allow x86-32 instruction decoder selftest on x86-64
    * x86: AMD Geode LX optimizations
    * x86/amd-iommu: Remove support for domain sharing
    * x86, apic: Enable lapic nmi watchdog on AMD Family 11h
    * x86, apic: Explain show_lapic= in kernel parameters list
    * x86, apic: Limit apic dumping, introduce new show_lapic= setup option
    * x86, apic: Use apic noop driver
    * x86: arch specific support for remapping HPET MSIs
    * x86: ASUS P4S800 reboot=bios quirk
    * x86, compress: Force i386 instructions for the decompressor
    * x86: Disable HPET MSI on ATI SB700/SB800
    * x86: Eliminate redundant/contradicting cache line size config options
    * x86, hpet: Disable per-cpu hpet timer if ARAT is supported
    * x86: Instruction decoder API
    * x86, mce: Thermal monitoring depends on APIC being enabled
    * x86, mm: Report state of NX protections during boot
    * x86, msr: Add support for non-contiguous cpumasks
    * x86: Prevent GCC 4.4.x (pentium-mmx et al) function prologue wreckage
    * x86: Reenable TSC sync check at boot, even with NONSTOP_TSC
    * x86: Regex support and known-movable symbols for relocs, fix _end
    * x86: Relegate CONFIG_PAT and CONFIG_MTRR configurability to EMBEDDED
    * x86: Remove usedac in feature-removal-schedule.txt
    * x86: Remove "x86 CPU features in debugfs" (CONFIG_X86_CPU_DEBUG)
    * x86, setup: Store the boot cursor state
    * x86: UV RTC: Add clocksource only boot option
    * x86: X86 instruction decoder build-time selftest

ARM

    * add gpiolib support to ucb1x00
    * Add KZM-ARM11-01 support
    * ALSA: ARM: add Raumfeld audio support
    * AM35xx: Add support for AM3517 EVM board
    * ARM: 5770/1: Add DMA Engine support to at91sam9g45
    * ARM: 5775/1: ep93xx: add keypad core support
    * ARM: 5778/1: AT91: Add cpuidle support
    * ARM: 5782/1: at91: support for eco920
    * ARM: 5786/1: Introduce plat-nomadik, MTU code re-organization
    * ARM: 5791/1: ARM: MM: use 64bytes of L1 cache on plat S5PC1xx
    * ARM: 5813/1: SA1100: h3100/h3600: add htc-egpio driver
    * ARM: 5823/1: SA1100: h3100/h3600: add support for gpio-keys
    * ARM: 5831/1: ARM: U8500 core machine support
    * ARM: 5834/1: ARM: U8500 integrate to ARM architecture
    * ARM: 5841/1: a driver for on-chip ETM and ETB
    * ARM: 5842/1: add spi resource support for nuc900
    * ARM: 5843/1: OMAP3: add AMBA devices for ETM and ETB
    * ARM: 5846/1: MAINTAINERS: Add arm Nomadik support
    * ARM: Add an earlyprintk debug console
    * ARM: Add Tauros2 L2 cache controller support
    * Armadillo500 Add i2c second bus support.
    * Armadillo500 Add support for onboard GPIO Buttons.
    * Armadillo500 Add support for Seiko Instruments S-35390A rtc over i2c.
    * ARM: H1940: add lcd/backlight device definition
    * ARM: H1940: add mmc device
    * ARM: H1940: Convert h1940 bluetooth driver to rfkill
    * ARM: Kill CONFIG_CPU_32
    * ARM: Kirkwood: Add LaCie Network Space v2 support
    * ARM: Kirkwood: Add MPP36 for QNAP TS-11x/TS-21x
    * ARM: Kirkwood: Add QNAP TS-110/TS-210 to Kconfig help text
    * ARM: Kirkwood: Add support for QNAP TS-41x Turbo NAS
    * ARM: MX3: add MMC/SDHC support to mx31lite-db.c
    * ARM: MX3: add NOR flash support via physmap mtd driver
    * ARM: MX3: Add pad config for MMC pins on lilly-db
    * ARM: MX3: add SPI devices for mx31lite
    * ARM: MX3: add SPI functions for lilly1131-db
    * ARM: MX3: add support for GPIO LEDs on litekit db
    * ARM: MX3: add support for mc13783 on lilly-db
    * ARM: MX3: add USB functions for mx31litekit
    * ARM OMAP3: RX-51 board - add initialization of gpio keys
    * ARM: OMAP4: PM: Add init api for DPLL nodes
    * ARM: OMAP4: PM: Adds PRM register defs for OMAP4
    * ARM: OMAP4: PM: Adds PRM register shift and mask bits
    * ARM: OMAP4: PM: Add support for OMAP4 dpll api's
    * ARM: OMAP4: PM: OMAP4 clock tree and clkdev registration
    * ARM: OSIRIS: DVS (Dynamic Voltage Scaling) supoort.
    * ARM: pxa: add apmu clock support in mmp
    * ARM: pxa: add missing irq events for pxa168
    * ARM: pxa: add nand device and clock for pxa168/pxa910
    * ARM: pxa: add nand support in aspensite board
    * ARM: pxa: add onenand support for SAAR
    * ARM: pxa: add onenand support for TTC-DKB
    * ARM: pxa/cm-x300: add ac97 controller registration
    * ARM: pxa/cm-x300: add da9030 support
    * ARM: pxa/cm-x300: add PWM backlight support
    * ARM: pxa/cm-x300: add PWM backlight support
    * ARM: pxa/cm-x300: add support for PXA310 cpu
    * ARM: pxa/cm-x300: add TDO35S lcd support
    * ARM: pxa/cm-x300: add Wi2Wi chip (Bluetooth and WiFi) initialization
    * ARM: pxa/cm-x300: enable USB port 2 for PXA300
    * ARM: pxa/ezx: add camera support for A780 and A910 EZX phones
    * ARM: pxa/ezx: add leds-lp3944 support for A910 EZX phone
    * ARM: pxa: introduce CONFIG_MACH_ZYLONITE{300,320} for CPU_PXA* removing
    * ARM: pxa: make CPU_PXA* to be selectable hidden options
    * ARM: pxa: re-order platforms in Kconfig and Makefile
    * ARM: pxa/treo: add Palm Centro 685 support
    * ARM: pxa/treo: generalisation of Treo680 code
    * ARM: pxa/zeus: basic support for Arcom Zeus SBC
    * ARM: S3C24XX: Add documentation for arch/arm/plat-s3c24xx/include/plat/mci.h
    * ARM: S3C24XX: machine support for Simtec Audio
    * ARM: S3C64XX: add HSMMC2 support
    * ARM: S3C64XX: add support for all group 0 external interrupts
    * ARM: S3C: Add NAND device platform data set call
    * ARM: S5PC1XX: add cpu idle and system reset support
    * ARM: S5PC1XX: add GPIO L banks to register definition
    * ARM: S5PC1xx: add gpiolib and external/gpio interrupt support
    * ARM: S5PC1xx: add platform helpers for i2c adapter devices
    * ARM: S5PC1xx: add platform helpers for s3c-fb device
    * ARM: S5PC1xx: add platform helpers for SDHCI host controllers
    * ARM: SAMSUNG: Add plat-samsung as starting point for plat-s3c* moves
    * AT91: add touchscreen support for at91sam9g45ekes
    * at91: at91sam9g20ek modify dual slot evaluation kit
    * collie: support pda_power driver
    * da850/omap-l138: add callback to control LCD panel power
    * DA8xx/OMAP-L1xx: Add high speed SD/MMC capabilities
    * davinci: add CPU idle driver
    * davinci: Add DA830/OMAP-L137 EVM specific pinmux setting for McASP1
    * davinci: add generic CPUFreq driver for DaVinci
    * davinci: Add LCD Graphics support for DA830/OMAP-L137 EVM
    * davinci: Add MMC/SD support for DA830/OMAP-L137 EVM
    * davinci: Add NAND support for DA830/OMAP-L137 EVM platform
    * davinci: Add RTC support for DA8xx/OMAP-L13x SoC's
    * davinci: Add support for Sharp LCD035Q3DG01 graphical LCD
    * davinci: da830: add support for new silicon revisions
    * davinci: DA830/OMAP-L137 EVM: use runtime detection for UI card
    * davinci: DA850/OMAP-L138: add frequency scaling support
    * davinci: DA850/OMAP-L138: add voltage regulation support
    * davinci: DA850/OMAP-L138 EVM: add support for TPS65070 PMIC
    * davinci: DA850/OMAP-L138 EVM: register for CPUFreq support
    * davinci: DA850/OMAP-L138 EVM: register for cpuidle support
    * davinci: DA8XX/OMAP-L1XX: add support for cpuidle driver register
    * Davinci: DM365: Add platform device for McBSP
    * Davinci: DM365: Enable DaVinci Key Scan support for DM365 EVM
    * DaVinci: DM365: Enable DaVinci RTC support for DM365 EVM
    * davinci: dm646x: Add support for 3.x silicon revision
    * davinci: dm646x-evm: Add platform data for NAND
    * davinci: DMx and da8xx defconfig updates
    * davinci: fb: add cpufreq support
    * davinci: Initial support for Neuros OSD2 platform.
    * davinci: mmc: add cpufreq support
    * davinci: RMII support for DA850/OMAP-L138 EVM
    * davinci: support changing the clock rate in clock framework
    * davinci: support re-parenting a clock in the clock framework
    * iop: clockevent support
    * iop: clocksource support
    * iop: enable generic time
    * IXP4xx: Extend PCI MMIO indirect address space to 1 GB.
    * msm: add minimal board file for HTC Dream device
    * mx25: add support for FEC on i.MX25
    * mx27: Add basic support for Maxtrack i-MXT TD60
    * mx27: mxt_td60: Add support to SD/MMC
    * mx31moboard: camera support
    * mx31moboard: SPI and MC13783 voltage regulator support
    * mx31moboard: support for pin linked for battery presence check
    * mx31moboard: support for usbh1 and usbh2
    * mx35: add usb gadget support in mx35pdk.c
    * mx3: Add SSI pins to iomux table
    * mx3: add support for the mt9v022 camera sensor to pcm037 platform
    * MXC: Add a digital audio multiplexer driver
    * MXC: Add support for ULPI Viewports
    * mxc: mx1/mx2 DMA: add a possibility to create an endless DMA transfer
    * MXC NFC: Add the clock resource to support NFC in i.MX35
    * omap1: Add board support and LCD for HTC Herald
    * omap1: Add omap7xx USB support
    * omap1: mmc: Add platform init for omap7xx
    * omap1: omap_udc: Add clocking and disable vbus sense for omap7xx
    * omap3630: Add HSMMC related checks
    * omap: 3630sdp: introduce 3630 sdp board support
    * omap3: Add CompuLab CM-T35 board support
    * omap3: Add CompuLab CM-T35 defconfig
    * omap3: Add minimal IGEP v2 support
    * omap3: Allow EHCI to be built on OMAP3
    * omap3: Board file of Always Innovating OMAP3-based Touch Book
    * omap3evm: Add board revision function
    * omap3evm: ehci: Update EHCI support on OMAP3EVM (Rev >= E)
    * OMAP3 hwmod: Add automatic OCP_SYSCONFIG AUTOIDLE handling
    * omap3: Introduce OMAP3630
    * OMAP3: PM: CORE domain off-mode support
    * OMAP3: PM: CPUidle: Add new lower-latency C1 state
    * OMAP3: PM: CPUidle: base driver and support for C1-C2
    * OMAP3: PM: CPUidle: support retention and off-mode C-states
    * OMAP3: PM: MPU off-mode support
    * OMAP3 PM: off-mode support for HS/EMU devices
    * omap3: rx51: Add SDRAM init
    * omap3: rx51: Add wl1251 wlan driver support
    * omap3: zoom: Introduce zoom3 board support
    * OMAP7XX: Clocks: Add ck_ref and armxor
    * OMAP7XX: Clocks: Add omap850 support
    * OMAP7XX: McBSP: Add omap850 support
    * OMAP7XX: PM: Add omap850 support
    * OMAP850: PM: Add an ARCH_OMAP850 check
    * omap: Add OMAP4 L3 and L4 peripherals.
    * omap: Add platform init code for EHCI driver
    * OMAP: DSS2: Documentation for DSS2
    * omap: introduce OMAP_LL_DEBUG_NONE DEBUG_LL config
    * omap: mailbox: Add build specific changes to support omap mailbox
    * omap: mailbox: Add resources and mailbox register base address for OMAP4 mailbox
    * omap: mailbox: Adds code changes to support OMAP4 mailbox
    * omap: mailbox: OMAP4 Mailbox-driver Patch to support tasklet implementation
    * omap: mux: Add 36xx CBP package support
    * omap: mux: Add new style pin multiplexing code for omap3
    * omap: mux: Add new style pin multiplexing data for 34xx
    * OMAP: Platform support for twl4030_codec MFD
    * OMAP: Platform support for twl4030_codec MFD
    * OMAP: PM: DMA context save/restore for off-mode support
    * pxa3xx_nand: add new nand chip support
    * pxa3xx_nand: update dependancy to support ARCH_MMP
    * pxafb: add transparency field to pxafb_mode_info struct
    * revert "ARM: pxa/cm-x300: add PWM backlight support"
    * SMDKC100: add I2C0 and I2C1 buses support
    * SMDKC100: add SDHCI controllers 0, 1 and 2 support
    * SMDKC100: enable S3C FrameBuffer

Power

    * collie: add battery driver
    * Include Book3s_64 target in buildsystem
    * MAINTAINERS: Add PowerPC patterns
    * mpc52xx/wdt: OF property to enable the WDT on boot
    * powerpc/44x: Extend Katmai dts for ADMA and RAID56 support
    * powerpc/5200: add LocalPlus bus FIFO device driver
    * powerpc/5200: Add mpc5200-spi (non-PSC) device driver
    * powerpc/83xx: Add power management support for MPC83xx QE boards
    * powerpc/85xx/86xx: Add suspend/resume support
    * powerpc/85xx: Added P1020RDB Platform support.
    * powerpc/85xx: Add power management support for MPC85xxMDS boards
    * powerpc/86xx: Add power management support for MPC8610HPCD boards
    * powerpc/86xx: Enable NVRAM on GE Fanuc's SBC610
    * powerpc/86xx: Support for NVRAM on GE Fanuc's PPC9A
    * powerpc/86xx: Support for NVRAM on GE Fanuc's SBC310
    * powerpc: Add kdump support to Collaborative Memory Manager
    * powerpc: broadway processor support
    * powerpc/chrp: Use the same RTAS daemon as pSeries
    * powerpc/fsl: Add PCI device ids for new QoirQ chips
    * powerpc/fsl: try to explain why the interrupt numbers are off by 16
    * powerpc: gamecube: bootwrapper bits
    * powerpc: gamecube: device tree
    * powerpc: gamecube: platform support
    * powerpc: gamecube/wii: declare as non-coherent platforms
    * powerpc: gamecube/wii: do not include PCI support
    * powerpc: gamecube/wii: early debugging using usbgecko
    * powerpc: gamecube/wii: flipper interrupt controller support
    * powerpc: gamecube/wii: introduce GAMECUBE_COMMON
    * powerpc: gamecube/wii: udbg support for usbgecko
    * powerpc: gamecube/wii: usbgecko bootwrapper console support
    * powerpc: Make it possible to select hibernation on all PowerPCs
    * powerpc: Make NR_IRQS a CONFIG option
    * powerpc/mm: Allow more flexible layouts for hugepage pagetables
    * powerpc: Move /proc/ppc64 to /proc/powerpc and add symlink
    * powerpc/p4080: Add basic support for p4080ds platform
    * powerpc/pseries: Add hooks to put the CPU into an appropriate offline state
    * powerpc/pseries: Kernel DLPAR Infrastructure
    * powerpc/qe: Add qe_upload_firmware() stub for non-QE builds
    * powerpc: wii: bootwrapper bits
    * powerpc: wii: device tree
    * powerpc: wii: hollywood interrupt controller support
    * powerpc: wii: platform support
    * powerpc/windfarm: Add detection for second cpu pump
    * pseries/pseries: Add code to online/offline CPUs of a DLPAR node
    * sysfs/cpu: Add probe/release files

Others

    * alpha: Add minimal support for software performance events
    * alpha: add myself as a maintainer, and drop mention of 2.4
    * avr32: add support for ATNGW100 mkII board
    * bfin-otp: add BF51x to the supported arch list
    * Blackfin: add an example showing how to use the gptimers API
    * Blackfin: add an uncompressed vmImage target
    * Blackfin: add support for the Acvilon BF561 board
    * Blackfin: bf537-stamp: add ADF702x network driver resources
    * Blackfin: bf537-stamp: add ADP8870 resources
    * Blackfin: bf537-stamp: add ADXL346 orientation sensing support
    * Blackfin: bf537-stamp: add CAN resources
    * Blackfin: bf538: add support for extended GPIO banks
    * Blackfin/ipipe: introduce support for CONFIG_MPU
    * Blackfin: MPU: support XIP in async flash memory
    * Blackfin: punt cache lock documentation
    * Blackfin: support smaller uncached DMA chunks for memory constrained systems
    * ia64: convert to dynamic percpu allocator
    * m68knommu: add uboot commandline argument passing support
    * microblaze: Add IRQENTRY_TEXT to lds
    * microblaze: Add PVR for Microblaze v7.30.a
    * microblaze: Add TRACE_IRQFLAGS_SUPPORT
    * microblaze: Core oprofile configs and hooks
    * microblaze: Enable asm optimization only for HW with barrel-shifter
    * microblaze: Enable DTC compilation
    * microblaze: Extend cpuinfo for support write-back caches
    * microblaze: ftrace: Add dynamic function graph tracer
    * microblaze: ftrace: Add dynamic trace support
    * microblaze: ftrace: add function graph support
    * microblaze: ftrace: add static function tracer
    * microblaze: Futex support
    * microblaze: Lockdep support
    * microblaze: preliminary enabling for LATENCYTOP support in Kconfig
    * microblaze: Stack trace support
    * microblaze: Support for WB cache
    * microblaze: support U-BOOT image format
    * MIPS: Add basic CPUFreq options.
    * MIPS: Add support for GZIP / BZIP2 / LZMA compressed kernel images
    * MIPS: Add support for uncached accelerated mappings.
    * MIPS: eXcite: Remove platform.
    * MIPS: Fix and enhance built-in kernel command line
    * MIPS: Lemote 2F: Add a LEMOTE_MACH2F kernel option
    * MIPS: Lemote 2F: Add basic CS5536 VSM support
    * MIPS: Lemote 2F: Add cs5536 MFGPT timer support
    * MIPS: Lemote 2F: Add IRQ support
    * MIPS: Lemote 2F: Add Lynloong support
    * MIPS: Lemote 2F: Add NAS support
    * MIPS: Lemote 2F: Add PCI support
    * MIPS: Lemote 2F: Add reset support
    * MIPS: Lemote 2f: Enable legacy RTC driver
    * MIPS: Loongson 2F: Add CPU frequency scaling support
    * MIPS: Loongson 2F: Add suspend support framework
    * MIPS: Loongson: Add serial port support
    * MIPS: Move EARLY_PRINTK to Kconfig.debug
    * MIPS: No longer hardwire CONFIG_EMBEDDED to y
    * MIPS: Tracing: Add an endian argument to scripts/recordmcount.pl
    * MIPS: Tracing: Add dynamic function graph tracer for MIPS
    * MIPS: Tracing: Add dynamic function tracer support
    * MIPS: Tracing: Add function graph tracer support for MIPS
    * MIPS: Tracing: Add IRQENTRY_EXIT section for MIPS
    * MIPS: Tracing: Add static function tracer support for MIPS
    * MIPS: Yeeloong 2F: Add basic EC operations
    * MIPS: Yeeloong 2F: Add board specific suspend support
    * MIPS: Yeeloong 2F: Add LID open event as the wakeup event
    * of/platform: Implement support for dev_pm_ops
    * parisc: convert /proc/pdc/{lcd,led} to seq_file
    * S390: cio: add per device initialization status flag
    * S390: dasd: support DIAG access for read-only devices
    * S390: Improve address space mode selection.
    * S390: MAINTAINERS: Add s390 drivers block
    * S390: zcrypt: add support for cex3 device types
    * S390: zcrypt: special command support for cex3 exploitation
    * sh: Add notifiers chains for cpu/board code
    * sh: add SDHI1 support to ms7724se
    * sh: Add SDHI power control support to Ecovec
    * sh: add sleazy FPU optimization
    * SH: add support for the RJ54N1CB0C camera for the kfr2r09 platform
    * sh: dmaengine support for sh7724.
    * sh: dmaengine support for SH7785
    * sh: Don't default enable PMB support.
    * sh: intc: dynamic IRQ support.
    * sh: mach-ecevec24: Add SDHI support
    * sh: mach-ecovec24: Add FSI sound support
    * sh: mach-ecovec24: Add mt9t112 camera support
    * sh: mach-ecovec24: Add tw9910 support
    * sh: mach-ecovec24: Add USB1 gadget support
    * sh: ms7724se: Add ak4642 support
    * sh: ms7724se: Add runtime PM support for FSI
    * sh: perf events: Add preliminary support for SH-4A counters.
    * sh: perf events: Add support for SH7750-style counters.
    * sh: perf events: Preliminary callchain support.
    * sh: Prepare for dynamic PMB support
    * sh: sh7724: Add SPU2 support
    * sh: Support SCHED_MC for SH-X3 multi-cores.
    * sparc64: Add syscall tracepoint support.
    * sparc64: Faster early-boot framebuffer console.
    * sparc64: Fully support both performance counters.
    * sparc: Add alignment and emulation fault perf events.
    * sparc,leon: Sparc-Leon SMP support
    * sparc: Support for GRLIB APBUART serial port

Quelle : www.heise.de
Titel: Kernel-Log – Was 2.6.33 bringt (5): Treiber
Beitrag von: SiLæncer am 19 Februar, 2010, 08:04
Verbesserungen im Alsa-Code für HD-Audio-Codecs, ein V4L/DVB-Treiber für den Mantis-TV-Chip sowie Treiber für MSI-Notebooks und neuere AMD-CPUs und einiges mehr verbessern die Hardware-Unterstützung von Linux. Die Android-Treiber sind aus dem Staging-Bereich geflogen, Ramzswap (früher Compcache), Framework zum Komprimieren von Arbeitsspeicher, hinzugekommen.

Ende vergangener Woche hat Linus Torvalds mit Linux 2.6.33-rc8 die achte Vorabversion des Linux-Kernel 2.6.33 freigegeben. Er denkt laut Freigabemail, dass dies die letzte Vorabversion sei, was auf die Freigabe der nächsten Kernel-Version aus dem Hauptentwicklungszweig Ende dieser oder Anfang nächster Woche hindeutet; es wäre aber auch nicht das erste Mal, dass Torvalds doch noch eine weitere Version einschiebt und den Kernel drei bis sieben Tage später veröffentlicht.

Die folgende Beschreibung der Neuheiten rund um Treiber in den Bereichen Audio und Video, Notebooks, Eingabegeräte und Hardware-Monitoring, USB und Firewire sowie der sie umgebenden Infrastruktur schließt die Berichterstattung über die wichtigsten Neuheiten von Linux 2.6.33 im Rahmen der Mini-Serie "Was 2.6.33 bringt" ab. Die bedeutsamsten Änderungen inklusive neuer Treiber rund um die Netzwerkunterstützung, Dateisysteme, Storage-Subsystem, Grafikhardware, Architektur, Tracing und Virtualisierung waren Thema im ersten, zweiten, dritten und vierten Teil der Serie.

Audio und Video

Bei den Audio-Treiber gäbe es diesmal nicht so viel Änderungen wie bei 2.6.31 und 2.6.32, erklärte Takashi Iwai in einer Mail, in der er die wichtigsten der für 2.6.33 vorbereiteten Neuerungen zusammengefasst hat. So hebt er hervor, dass sich der Code zur Unterstützung von HD-Audio-Codecs stabilisiere, auch wenn es noch viele Änderungen gebe. Erwähnenswert ist ihm auch die Unterstützung für HDMI-Audio-Codecs von Intel sowie der Code zum Ansprechen zahlreicher von VIA gefertigten HD-Audio-Codecs – deren Namen und Links zu diesen und anderen Commits finden sich im Abschnitt "Die kleinen Perlen" in der zweiten Hälfte des Artikels. Dort sind wie immer auch viele systemspezifische Sonderbehandlungen ("Quirks") verzeichnet, die die Kernel-Entwickler für zahlreiche separat verkaufte oder in PCs oder Notebooks eingesetzte Mainboards aufgenommen haben. Entfernt haben die Kernel-Hacker OSS-Audio-Treiber für Ensoniq-SoundScape-Hardware.

Von den über zehntausend seit der Freigabe von Linux 2.6.32 im Hauptentwicklungszweig vorgenommenen Commits sind über 330 im Audio-Subsystem angesiedelt. Das V4L/DVB-Subsystem übertrifft das aber locker, denn dort gab es diesmal über 600 große und kleine Änderungen. Die wichtigsten hebt Subsystem-Verwalter Mauro Carvalho Chehab in seinen Haupt-Git-Pull-Requests hervor. Unter den neuen Treiber sind etwa die neuen Gscpa-Subtreiber pac7302 und stv0680 für diverse Webcams-Chips. Größere Umbauarbeiten gab es auch an der Infrastruktur zum Ansprechen vom Infrarot-Empfängern für Fernbedienungen. Erst kurz vor der fünften Vorabversion stieß zudem der Treiber Mantis zum Kernel, der den gleichnamigen Chipsatz und den auf diversen TV-Karten eingesetzten Chip unterstützt.

Notebooks, Eingabegeräte und Hardware-Monitoring

Neu zum Kernel stieß der Treiber msi-wmi, mit dessen Hilfe die Funktionstasten zum Regeln der Lautstärke oder Displayhelligkeit einiger MSI-Notebooks auch unter Linux arbeiten sollten. Auch der Treiber classmate-laptop für Intels Classmate-PCs ist neu dabei. Erheblich überarbeitet haben die Kernel-Hacker einige Teile rund um die Audio-Unterstützung des Treibers für Thinkpad-Notebooks von IBM und Lenovo (1, 2, 3).

Den Treiber wacom erweiterten die Kernel-Entwickler um Unterstützung für die von Wacom gefertigten Single- und Multi-Touch-LCD-ISDv4-Tablets mit den Identifikationscodes 9F, E2 und E3. Verbessert haben die Entwickler die Unterstützung für Geräte wie die Dell-Latitude-Notebooks der Serie E6x00, die Touchpads und Trackpoints von ALPS haben. Der ALPS-Treibercode unterstützt nun auch die etwa bei Notebooks von Acer gelegentlich zu findenden Touchpads mit einem "4-directional button" besser.

Mit Hilfe des neu zum Kernel gestoßenen Treibers k10temp lassen sich die Temperatursensoren verschiedener neuerer AMD-CPUs auslesen. Da viele CPUs jedoch fehlerhafte Werte liefern, arbeitet der Code erst nach Angabe eines speziellen, in der Dokumentation angegebenen Parameters. Der Treiber via-cputemp ist ebenfalls frisch dabei und gibt die Daten der Temperatursensoren in neueren VIA-CPUs aus.

USB und Firewire

Zum USB-Subsystem stieß ein maßgeblich von Nokia entwickelter Treiber für den USB-EHCI-Controller von OMAP-34xx-Prozessoren. Einige weitere Änderungen im USB-Subsystem finden sich über die Links in der zweiten Artikelhälfte und den Git-Pull-Request des USB-Subsystem-Verwalters.

Der Verwalter des FireWire-Codes von Linux, Stefan Richter, rät Distributionen über einen Git-Pull-Request und einigen Änderungen am bei der Kernel-Konfiguration eingeblendeten Hilfe-Text nun nachhaltig zum Umstieg auf des neueren, Juju genannten FireWire-Stack. Details zu den nötigen Schritten liefert das Wiki der Linux-FireWire-Entwickler; dort sind auch einige weitere Korrekturen und Verbesserungen am FireWire-Code von Linux 2.6.33 gelistet.

Staging

Wie bereits ersten Teil der Mini-Serie "Was 2.6.33 bringt" erwähnt, nahmen die Kernel-Entwickler den Treiber rtl8192u für die gleichnamigen WLAN-Chips von Realtek in den Staging-Zweig auf – er ist leicht zu verwechseln mit den Treibern rtl8192e und rtl8192su, die schon bei früheren Kerneln in den Bereich für unreife und "mistige" Treiber aufgenommen wurden. Umbenannt wurde der Treiber rtl8187se, da ein ordentlicher Linux-Treiber in Zukunft diesen Namen tragen soll.

Größere Änderungen gab es auch an den Staging-Treiber für neuere WLAN-Chips von Ralink – der Treiber rt3090 etwa konnte entfernt werden, weil dessen Funktionen nun der Staging-Treiber rt2860 erledigt. Diese Staging-Treiber basieren auf einigen von Ralink selbst entwickelten und unter der GPL freigegebenen Treibern, die der Hersteller zwischenzeitlich aktualisiert hat – einige der dort enthaltenen Verbesserungen haben die Kernel-Entwickler in die Staging-Treiber des Kernels überführt.

Im Staging-Zweig landete auch das zuvor Compcache und nun Ramzswap genannte Framework, das die auf einem virtuellen Swap-Device abgelegten Daten komprimiert im Arbeitsspeicher ablegt, um diesen effizienter zu nutzen – Hintergründe zu der Technik liefert die Dokumentation sowie ein im Mai vergangenen Jahres bei LWN.net publizierter Artikel. Neu dabei ist auch Code zur Überstützung des Protokolls B.A.T.M.A.N. (Better Approach To Mobile Ad-Hoc Networking), das den Aufbau von Ad-Hoc-Mesh-Netzwerken ermöglicht – Details dazu finden sich bei open-mesh.org

Wie erwartet wurde der Code für Distributed storage (DST) und einige Treiber für Googles Android aus dem Staging-Bereich entfernt, weil sich niemand um deren Code gekümmert hat. Die Hintergründe im Fall der Android-Treiber erläuterte Staging-Verwalter Greg Kroah-Hartman in einem Blog-Post genauer, über das wir bereits berichteten.

Einen Überblick über weitere Änderungen im Staging-Bereich und deren Hintergründe liefert Kroah-Hartman in einem zweiten Blog-Eintrag. Dort droht er auch einigem anderen Treibern einen Rauswurf in naher Zukunft an. Darunter sind auch die Treiber zur Unterstützung von Hyper-V, weil die dafür zuständigen Microsoft-Entwickler wieder einmal verschwunden seien ("The developers again seem to have disappeared, this is getting old"). Bereits im vergangenen September hatte Kroah-Hartman deren Rauswurf aus dem selben Grund angedroht, dann tauchten die Entwickler aber wieder auf – so auch jetzt, sodass der Rauswurf fürs erste abgewendet scheint.

Die kleinen Perlen

Viele weitere nicht ganz so wichtige, aber keineswegs unbedeutende Neuerungen finden sich in der folgenden Liste mit den englischen Commit-Überschriften der jeweiligen Änderung. Die Einträge verlinken genau wie viele der Verweise im vorangegangenen Text auf das Webfrontend des von Linus Torvalds gepflegten Git-Zweigs mit den Kernel-Quellen auf Kernel.org. Im Webfrontend liefern normalerweise der Commit-Kommentar und der Patch selbst zahlreiche weitere Informationen zur jeweiligen Änderungen.

Audio

    * ALSA: ac97: add AC97 STMicroelectronics' codecs
    * ALSA: ac97: Add Dell Dimension 2400 to Headphone/Line Jack Sense blacklist
    * ALSA: ak4113 support
    * ALSA: ak4620 support, codec regs listed in proc
    * ALSA: cs4236: add dB scale for all volume controls
    * ALSA: cs5535audio: free OLPC quirks from reliance on MGEODE_LX cpu optimization
    * ALSA: document: Add direct git link to grub hda-analyzer
    * ALSA: hda - Add ALC661/259, ALC892/888VD support
    * ALSA: hda - Add an ASUS mobo to MSI blacklist
    * ALSA: hda - Add a pin-fix for FSC Amilo Pi1505
    * ALSA: hda - Add a position_fix quirk for MSI Wind U115
    * ALSA: hda - add beep_mode module parameter
    * ALSA: hda - Add description of beep_mode in ALSA-Configuration.txt
    * ALSA: hda - Add missing Line-Out and PCM switches as slave
    * ALSA: hda - Add MSI blacklist
    * ALSA: hda - Add PCI IDs for Nvidia G2xx-series
    * ALSA: hda - Add position_fix quirk for HP dv3
    * ALSA: hda - add possibility to choose speakers configuration for 4930g
    * ALSA: hda - Add power on/off counter
    * ALSA: HDA: add powersaving hook for Realtek
    * ALSA: hda - Add reboot notifier to each codec
    * ALSA: hda - Add STAC9205 PCI_QUIRK for Dell Vostro 1700
    * ALSA: hda - Add support for the new 27 inch IMacs
    * ALSA: hda - allow up to 4 HDMI devices
    * ALSA: hda - Change quirk for Acer Aspire 5930G
    * ALSA: hda - Disable default quirk for Sony VAIO with ALC262 codec
    * ALSA: hda - Enable MSI as default
    * ALSA: hda - Fix detection of dual headphones
    * ALSA: hda - Fix LED GPIO setup for HP laptops with IDT codecs
    * ALSA: hda: Fix max PCM level to 0 dB for Fujitsu-Siemens laptops using CX20549 (Venice)
    * ALSA: hda - Fix missing capture mixer for ALC861/660 codecs
    * ALSA: hda - Fix mute-LED sync on HP laptops with IDT92HD83xxx codecs
    * ALSA: hda - Fix quirk for Maxdata obook4-1
    * ALSA: hda - Fix Toshiba NB20x quirk entry
    * ALSA: hda - HDMI sticky stream tag support
    * ALSA: hda - iMac 9,1 sound patch.
    * ALSA: hda - Improved MacBook (Pro) 5,1 / 5,2 support
    * ALSA: hda_intel: Digital PC Beep - change behaviour for input layer
    * ALSA: hda - Make Dell Vostro 1015n mic and speaker switching work
    * ALSA: hda - Make use of beep device found in Dell Vostro 1015n
    * ALSA: hda - More ALC663 fixes and support of compatible chips
    * ALSA: hda - proc - add support for dynamic controls to mixer<->NID mapping
    * ALSA: hda - proc - introduce Control: lines to show mixer<->NID assignment
    * ALSA: hda/realtek: quirk for D945GCLF2 mainboard
    * ALSA: hda - select IbexPeak handler for Calpella
    * ALSA: hda: Set Front Mic to input vref 50% for Lenovo 3000 Y410
    * ALSA: hda - Set mixer name after codec patch
    * ALSA: hda - show HBR(High Bit Rate) pin cap in procfs
    * ALSA: hda - Update / add kerneldoc comments to exported functions
    * ALSA: hda: Use ALC260_WILL quirk for another Acer model (0x1025007f)
    * ALSA: HDA VIA: Add Jack detect feature for VT1708.
    * ALSA: HDA VIA: Add low current mode for power saving.
    * ALSA: HDA VIA: Add smart5.1 function.
    * ALSA HDA VIA: Add VIA_CTL_WIDGET_ANALOG_MUTE control type
    * ALSA: HDA VIA: Add VT1708B-CE codec support.
    * ALSA: HDA VIA: Add VT1716S support.
    * ALSA: HDA VIA: Add VT1718S support.
    * ALSA: HDA VIA: Add VT1812 support.
    * ALSA: HDA VIA: Add VT1828S and VT2020 support.
    * ALSA: HDA VIA: Add VT2002P support.
    * ALSA: HDA VIA: Remove 48k sample rate limit for S/PDIF
    * ALSA: ice1724 - Infrasonic Quartet support
    * ALSA: ice1724 - Support for multiple external clock types
    * ALSA: intel8x0: Mute External Amplifier by default for Gateway 4525GZ
    * ALSA: intelhdmi - accept DisplayPort pin
    * ALSA: intelhdmi - add channel mapping for typical configurations
    * ALSA: opti-miro: add PnP detection
    * ALSA: rename "PC Speaker" and "PC Beep" controls to "Beep"
    * ALSA: rename "PC Speaker" controls to "Speaker"
    * ALSA: sh: add SuperH DAC audio driver for ALSA V4
    * ALSA: snd-pcsp: add nopcm mode
    * ALSA: snd-usb-us122l: add support for US-144
    * ALSA: sscape: add supoort for SPEA Media FX/Reveal SC-600
    * ALSA: sscape: convert to firmware loader framework
    * ALSA: sscape: force AD1848 codec mode on old Soundscape
    * ALSA: VIA HDA: Add support for VT1818S.
    * intelhdmi - dont power off HDA link
    * media/radio: New driver for the radio FM module on Miro PCM20 sound card
    * sound: oxygen: add digital filter control
    * sound: oxygen: add high-pass filter control
    * sound: oxygen: add stereo upmixing to center/LFE channels
    * sound: usb-audio: add Roland UA-1G support
    * sound: usb: make the USB MIDI module more independent
    * sound: virtuoso: add headphone impedance control
    * sound: virtuoso: add PCM1796 oversampling control
    * sound: virtuoso: fix Xonar Essence ST support

Asoc

    * ASoC: Added the CPU driver for PCM controllers
    * ASoC: Adding OMAP3517 / AM3517 EVM support in ASOC
    * ASoC: Add regulator support for WM8731
    * ASoC: Add SPI support to WM8711
    * ASoC: Add support for IGEP v2
    * ASoC: add support for multiple cards/codecs in debugfs
    * ASoC: Add support for the WM8727 DAC.
    * ASoC: Add WM8711 CODEC driver
    * ASoC: ADS117x ADC driver
    * ASoC: AK4671: add ak4671 codec driver
    * ASoC: Codec driver for Texas Instruments tlv320dac33 codec
    * ASoC: Davinci: Add audio codec support for DM365 EVM
    * ASoC: finally enable support for eXeda and CM-X300
    * ASoC: Modifying Kconfig/Makefile for AM3517 EVM
    * ASoC: OMAP: enable Overo driver for CM-T35
    * ASoC: omap-mcbsp - add support for upto 16 channels.
    * ASoC: Support WM8580 based audio subsystem on SMDK64xx machines
    * ASoC: TPA6130A2 amplifier driver

FireWire

    * firewire: core: fix use-after-free regression in FCP handler
    * firewire: fix use of multiple AV/C devices, allow multiple FCP listeners
    * firewire: ohci: always use packet-per-buffer mode for isochronous reception

EDAC/HW-Monitoring/I2C

    * amd64_edac: detect DDR3 memory type
    * edac: i5100 add 6 ranks per channel
    * edac: i5100 add scrubbing
    * hwmon: Add Freescale MC13783 ADC driver
    * hwmon: (adt7475) Add support for the ADT7473
    * hwmon: (adt7475) Add support for the ADT7476
    * hwmon: (adt7475) Add support for the ADT7490
    * hwmon: (adt7475) Add VID support for the ADT7476
    * hwmon: (adt7475) New documentation
    * hwmon: (asus_atk0110) Add debugfs interface
    * hwmon: Clarify autopwm trip points documentation
    * hwmon: (coretemp) Fix TjMax for Atom N450/D410/D510 CPUs
    * hwmon: driver for Texas Instruments amc6821 chip
    * hwmon: (f71882fg) Add support for the f71889fg (version 2)
    * hwmon: I2C bus support for lis3lv02d and variant accelerometer chips
    * hwmon: (it87) Verify the VID pin usage
    * hwmon: (k10temp) Blacklist more family 10h processors
    * hwmon: New driver for the National Semiconductor LM73
    * hwmon: w83627ehf updates
    * hwmon: (w83627hf) Drop the force_addr module parameter
    * i2c/chips: Move ds1682 to drivers/misc
    * i2c-core: i2c bus should support PM entries in struct dev_pm_ops
    * i2c: Drop probe, ignore and force module parameters
    * i2c-omap: OMAP3: PM: (re)init for every transfer to support off-mode
    * i2c: Prevent priority inversion on top of bus lock
    * i2c-stub: Allow user to disable some commands
    * i2c-stub: Documentation update
    * i2c-stub: Implement I2C block support
    * i2c-voodoo3: Delete
    * lis3: selftest support
    * lis3: update documentation and comments
    * lis3: update documentation to match latest changes
    * MAINTAINERS: Add missing hwmon files
    * WATCHDOG: CPUFREQ: S3C24XX Watchdog frequency scaling support.
    * WATCHDOG: iTCO_wdt: Add Intel Cougar Point and PCH DeviceIDs
    * WATCHDOG: iTCO_wdt: add PCI ID for the Intel EP80579 (Tolapai) SoC
    * WATCHDOG: iTCO_wdt: Add support for Intel Ibex Peak

Input

    * HID: add device IDs for new model of Apple Wireless Keyboard
    * HID: add multi-input quirk for NextWindow Touchscreen.
    * HID: add NOGET quirk for another device from CH Products
    * HID: add support for Acan FG-8100 barcode reader
    * HID: blacklist Acer Ferrari 4005 optical mouse
    * HID: make Media key on Logitech DiNovo Mini work
    * HID: Support 171 byte variant of Samsung USB IR receiver
    * HID: support Logitech/3DConnexion SpaceTraveler and SpaceNavigator
    * Input: ad7879 - support auxiliary GPIOs via gpiolib
    * Input: add compat support for sysfs and /proc capabilities output
    * Input: add DaVinci Keypad Driver
    * Input: add driver for Altera PS/2 controller
    * Input: add driver for Dynapro serial touchscreen
    * Input: add generic support for sparse keymaps
    * Input: add mc13783 touchscreen driver
    * Input: add new keycodes useful in mobile devices
    * Input: add new keycodes useful in mobile devices
    * Input: add open and close methods for polled devices
    * Input: add S3C24XX touchscreen driver
    * Input: add the ABS_MT_PRESSURE event
    * Input: ep93xx_keypad - update driver to new core support
    * Input: i8042 - add Dritek quirk for Acer Aspire 5610.
    * Input: i8042 - add Gigabyte M1022M to the noloop list
    * Input: input-polldev - add sysfs interface for controlling poll interval
    * Input: input-polldev, matrix-keypad - include in kernel doc
    * input/keyboard: new driver for ADP5520 MFD PMICs
    * Input: lifebook - add another Lifebook DMI signature
    * Input: lifebook - do not advertise unsupported buttons
    * Input: lkkbd - change formatting style to match the rest of the kernel
    * Input: speed up suspend/shutdown for PS/2 mice and keyboards
    * Input: touchkit_ps2 - do not advertise unsupported buttons
    * Input: update multi-touch protocol documentation
    * Input: usbtouchscreen - add support for ET&T TC5UH touchscreen controller
    * Input: usbtouchscreen - add support for Zytronic capacitive touchscreen
    * Input: wacom - add defines for packet lengths of various devices
    * Input: xpad - add two new Xbox 360 devices

Notebooks

    * acerhdf: add new BIOS versions
    * acerhdf: add new BIOS versions
    * asus-laptop: add Lenovo SL hotkey support
    * asus-laptop: Add wlan switch found on V6V
    * asus-laptop: change light sens default values.
    * asus-laptop: schedule display_get and lcd_switch for removal
    * backlight/thinkpad-acpi: issue backlight class events
    * dell-laptop: Fix rfkill state queries
    * dell-wmi: Add support for new Dell systems
    * eeepc-laptop: add hotplug_disable parameter
    * eeepc-laptop: add touchpad led
    * eeepc-laptop: disable cpu speed control on EeePC 701
    * hp-wmi: improve rfkill support
    * sony-laptop: add AVMode key mapping
    * sony-laptop: rfkill support for newer models
    * thinkpad-acpi: bump version to 0.24
    * thinkpad-acpi: disable volume control
    * thinkpad-acpi: don't take the first ALSA slot by default
    * thinkpad-acpi: fix default brightness_mode for R50e/R51
    * thinkpad-acpi: improve Kconfig help text
    * thinkpad-acpi: issue backlight class events
    * thinkpad-acpi: make volume subdriver optional
    * thinkpad-acpi: update volume subdriver documentation
    * Toshiba Bluetooth Enabling driver (RFKill handler v3)
    * wmi: Add support for module autoloading

USB

    * hso: Add Vendor/Product ID's for new devices
    * USB: add a "remove hardware" sysfs attribute
    * USB: add device ID for Apple Cinema Display 23in 2007
    * USB: add devpath sysfs attribute
    * USB: Add EHCI support for MX27 and MX31 based boards
    * USB: add hex/bcd detection to usb modalias generation
    * USB: add remove_id sysfs attr for usb drivers
    * USB: add scatter-gather support to usbmon
    * USB: Add support for Xilinx USB host controller
    * USB: ark3116: Setup some basic infrastructure for new ark3116 driver.
    * USB: EHCI: add native scatter-gather support
    * USB: ehci: Allow EHCI to be built on OMAP3
    * USB: Exposing second ACM channel as tty for Nokia S60 phones.
    * USB: ftdi_sio: add USB device ID's for B&B Electronics line
    * USB: g_multi: Multifunction Composite Gadget added
    * USB: host: ehci: introduce omap ehci-hcd driver
    * USB: Interface Association Descriptors added to CDC RNDIS
    * USB: mos7840: add device IDs for B&B electronics devices
    * usbnet & cdc-ether: Autosuspend for online devices
    * USB: option: add pid for ZTE
    * USB: option.c: add support for D-Link DWM-162-U5
    * USB: option: support hi speed for modem Haier CE100
    * USB OTG: Add generic driver for ULPI OTG transceiver
    * USB OTG: add support for ulpi connected external transceivers
    * USB: power management documentation update
    * USB: prepare for changover to Runtime PM framework
    * usbtest: make module param pattern writeable
    * USB: usb-storage: add BAD_SENSE flag
    * USB: wusb: add wusb_phy_rate sysfs file to host controllers
    * USB: xhci: Add tests for TRB address translation.
Staging:

    * Staging: add Samsung Laptop driver
    * Staging: dream: add TODO file
    * Staging: dream: make it independant from CONFIG_ANDROID
    * Staging: dream: mark as BROKEN
    * Staging: et131x: first pass RX cleanup
    * Staging: IIO: Add tsl2560-2 support to tsl2563 driver.
    * Staging: IIO: Remove tsl2561 driver. Support merged with tsl2563.
    * Staging: iio: tsl2563 ambient light sensor driver
    * Staging: octeon-ethernet: Convert to use PHY Abstraction Layer.
    * Staging: poch: Parameter to enable loopback
    * Staging: poch: Parameter to enable synthetic counter
    * Staging: ramzswap: add TODO file
    * Staging: rt28x0: fix comments in *.c files
    * Staging: rt28x0: fix comments in common/*.c files
    * Staging: rt28x0: fix comments in *.h files
    * Staging: rt28x0: remove private WEXT handlers
    * Staging: rt28x0: remove typedefs (part three)
    * Staging: rt28x0: run *.c files through Lindent
    * Staging: rt28x0: run *.h files through Lindent
    * staging: rtl8192su: add USB VID/PID for HWNUm-300
    * Staging: rtl8192u: remove bad whitespaces
    * Staging: rtl8192u: remove dead code
    * Staging: samsung-laptop: add TODO file
    * Staging: sm7xx: add a new framebuffer driver
    * Staging: vme: Pull common VME interrupt handling into core code
    * Staging: wlags49_h2: add Agere driver for HERMES II and HERMES II.5 chipsets
    * Staging: wlags49_h2: add TODO files

V4L/DVB

    * em28xx: em2800 chips support max width of 640
    * feature-removal-schedule: Add v4l1 drivers obsoleted by gspca sub drivers
    * V4L/DVB (13040): V4L2: Add a v4l2-subdev (soc-camera) driver for OmniVision OV9640 sensor
    * V4L/DVB (13042): Add NEC protocol to firmware v1.2 handler
    * V4L/DVB (13043): Add support for Pixelview SBTVD IR
    * V4L/DVB (13052): DiB0700: EvolutePC TvWay+ USB ISDB-Tb fullseg device support
    * V4L/DVB (13054): af9015: add USB ID for KWorld PlusTV DVB-T PCI Pro Card (DVB-T PC160-T)
    * V4L/DVB (13056): af9015: add LeadTek Y04G0051 remote buttons
    * V4L/DVB (13057): af9015: add MSI DIGIVOX mini III remote
    * V4L/DVB (13075): xc5000: add FM radio support
    * V4L/DVB (13077): em28xx: Add support for new variant of KWorld 2800d
    * V4L/DVB (13078): em28xx: fix support for Terratec Cinergy T XS (005e)
    * V4L/DVB (13080): saa7134: add support for the digital side of the Behold X7
    * V4L/DVB (13084): v4l2-chip-ident: Add ID's needed for the cx23885 and cx25840 modules
    * V4L/DVB (13085): cx23885: Fix support for v4l2-dbg access to CX2388[578] and CX23417 regs
    * V4L/DVB (13086): cx23885: Add skeleton v4l2_subdev for the CX23888 integrated IR controller
    * V4L/DVB (13091): cx23885: Enable HVR-1850 CX23888 A/V core to get VID_CLK running for IR
    * V4L/DVB (13097): cx23885: Complete CX23888 IR subdev implementation for Rx Gitweb: http://git.kernel.org/linus/1a0b9d89c62ddf0aed12798686fe452e7e97de42 almost for Tx
    * V4L/DVB (13100): cx23885: Add IR input keypress handling and enable for the HVR-1850
    * V4L/DVB (13108): tda8290: enable deemphasis_50 module parameter
    * V4L/DVB (13116): gspca - ov519: Webcam 041e:4067 added.
    * V4L/DVB (13130): soc-camera: add a new driver for the RJ54N1CB0C camera sensor from Sharp
    * V4L/DVB (13134): Add support for TBS-likes remotes
    * V4L/DVB (13135): Add support for TeVii remotes
    * V4L/DVB (13137): gspca_mr97310a: Add controls for vga cams with sensor type 0
    * V4L/DVB (13144): gspca_ov519: Add support for OV2610 and OV3610 sensors
    * V4L/DVB (13145): gscpa_ov519: add support for the ovfx2 bridge
    * V4L/DVB (13149): uvcvideo: Add a new UVC_TRACE_VIDEO trace level
    * V4L/DVB (13155): uvcvideo: Add a module parameter to set the streaming control timeout
    * V4L/DVB (13159): DocBook/frontend: use cross references for ioctls
    * V4L/DVB (13160): DocBook/Makefile: add linux/dvb/frontend.h header file
    * V4L/DVB (13162): Docbook/dvb: add missing specs for FE_DISHNETWORK_SEND_LEGACY_CMD ioctl
    * V4L/DVB (13164): DocBook/dvb: Starts documenting DVBS2API ioctls
    * V4L/DVB (13168): Add support for Asus Europa Hybrid DVB-T card (SAA7134 SubVendor ID: 0x1043 Device ID: 0x4847)
    * V4L/DVB (13173): adv7180: Support for getting input status
    * V4L/DVB (13174): adv7180: Support for setting input status
    * V4L/DVB (13176): adv7180: Support checking standard via interrupts
    * V4L/DVB (13177): radio: Add support for TEF6862 tuner
    * V4L/DVB (13178): gspca: Add support for Winbond W9967CF and W9968CF camera's
    * V4L/DVB (13181): gspca w9968cf: Add support for JPEG compression
    * V4L/DVB (13183): gspca: add stv0680 subdriver
    * V4L/DVB (13187): au8522: add support for saturation and hue controls
    * V4L/DVB (13196): gspca - gl860: add flip/mirror for OV2640
    * V4L/DVB (13204): saa7134: add support for the Leadtek DTV1000S
    * V4L/DVB (13206): cx25840: add component support
    * V4L/DVB (13207): cx23885: add component input type
    * V4L/DVB (13209): cx23885: card mygica x8506 add analog video input support
    * V4L/DVB (13211): cx23885: card Mygica X8506 analog TV support
    * V4L/DVB (13242): gspca_mr97310a: Add minimum clock divider control
    * V4L/DVB (13243): gscpa_mr97310a: Add Trust Spyc@m 100 USB ID
    * V4L/DVB (13249): gspca - pac7311: Webcam 093a:2628 added.
    * V4L/DVB (13250): gspca - zc3xx: Add some delays and warn on i2c errors.
    * V4L/DVB (13260): saa7134: add support for Leadtek Winfast DTV-1000S remote control
    * V4L/DVB (13271): TS speed check. Logging transport stream speed in Kbits per second
    * V4L/DVB (13297): dib0700_devices: EvolutePC TvWay+ USB ISDB-Tb remote control support
    * V4L/DVB (13308): uvcvideo: Add support for MSI StarCam 370i webcams
    * V4L/DVB (13323): gspca - zc3xx: Adjust the exchanges of sensors mi0360soc and pb0330.
    * V4L/DVB (13328): em28xx: Add chip ID for em2800
    * V4L/DVB (13334): stv6110: add configurable gain
    * V4L/DVB (13338): stv0900: big rework to support cut 3.0.
    * V4L/DVB (13339): stv0900: big rework to support cut 3.0.
    * V4L/DVB (13340): stv0900: big rework to support cut 3.0.
    * V4L/DVB (13341): stv0900: big rework to support cut 3.0.
    * V4L/DVB (13347): cx23885: add digital television support for Hauppauge WinTV-HVR1290
    * V4L/DVB (13349): cx23885: Enable IR input keypress handling for the Hauppauge WinTV HVR-1290
    * V4L/DVB (13363): ec100: add new driver for E3C EC100 DVB-T demodulator
    * V4L/DVB (13364): ec168: add new driver for E3C EC168 DVB USB
    * V4L/DVB (13368): af9015: support for Sveon STV20 Tuner USB DVB-T HDTV
    * V4L/DVB (13373): Maxium MAX2165 silicon tuner
    * V4L/DVB (13374): AltoBeam ATBM8830 GB20600-2006(DMB-TH) demodulator
    * V4L/DVB (13375): cx23885: Add support for Mygica X8558Pro DMB-TH
    * V4L/DVB (13376): cx-usb: add Mygica D689 DMB-TH USB support
    * V4L/DVB (13385): gspca - pac7302: Add red and blue balance control.
    * V4L/DVB (13388): gspca - pac7302: Add white balance control.
    * V4L/DVB (13400): firedtv: port to new firewire core
    * V4L/DVB (13407): Add Prof 7301 PCI DVB-S2 card
    * V4L/DVB (13420): gspca - doc: Change the name of some webcams.
    * V4L/DVB (13422): gspca - ov534: ov772x changes from Richard Kaswy.
    * V4L/DVB (13438): zr364xx: add support for Trust Powerc@m 910Z
    * V4L/DVB (13440): ivtv: Update the cards definitions to add another AVerMedia M113 variant
    * V4L/DVB (13441): ivtv: Added FM radio support to Avermedia AVerTV MCE 116 Plus card
    * V4L/DVB (13442): ivtv: Add module parameter to adjust I2C SCL clock period per board
    * V4L/DVB (13444): ivtv: Add explicit IR controller initialization for the AVerTV M116
    * V4L/DVB (13446): ivtv: Add more explicit detection of known IR devices for Hauppauge cards
    * V4L/DVB (13460): v4l2-spec: add missing V4L2-PIX-FMT-STV0680 description.
    * V4L/DVB (13464): Davinci VPFE Capture: add i2c adapter id in platform data
    * V4L/DVB (13467): V4L2: Added CID's V4L2_CID_ROTATE/BG_COLOR
    * V4L/DVB (13469): Davinci VPFE Capture: Add support for Control ioctls
    * V4L/DVB (13470): V4L2: Add Capability and Flag field for Chroma Key
    * V4L/DVB (13471): v4l2 doc: Added FBUF_CAP_SRC_CHROMAKEY/FLAG_SRC_CHROMAKEY
    * V4L/DVB (13489): gspca - sonixj: Add the sensor po1030.
    * V4L/DVB (13490): gspca - ov534: Add controls for sensor ov965x.
    * V4L/DVB (13493): TeVii S470 and TBS 6920 fixes
    * V4L/DVB (13502): uvcvideo: Add support for Genius eFace 2025 webcams
    * V4L/DVB (13528): em28xx: add support for em2800 VC211A card
    * V4L/DVB (13532): ir-common: Add infrastructure to use a dynamic keycode table
    * V4L/DVB (13535): ir-common: Add a hauppauge new table with the complete RC5 code
    * V4L/DVB (13538): ir-common: Use a dynamic keycode table
    * V4L/DVB (13540): ir-common: Cleanup get key evdev code
    * V4L/DVB (13542): ir-keytable: Allow dynamic table change
    * V4L/DVB (13543): ir-common: Associate a table with a given protocol type
    * V4L/DVB (13544): ir-keymaps: mark the new rc5 hauppauge with IR_TYPE_RC5
    * V4L/DVB (13545): em28xx: properly select IR protocol based on the IR table
    * V4L/DVB (13546): ir-keymaps: Add table for Terratec Cinergy XS FM
    * V4L/DVB (13549): v4l: Add video_device_node_name function
    * V4L/DVB (13559): gspca - pac7302: Some webcams are upside-down by default.
    * V4L/DVB (13562): gspca - doc: Update webcam list.
    * V4L/DVB (13569): smsusb: add autodetection support for five additional Hauppauge USB IDs
    * V4L/DVB (13572): v4l2-spec: Digital Video Timings API documentation
    * V4L/DVB (13573): v4l2-spec: updated revision history, updated version to 2.6.33.
    * V4L/DVB (13579): PATCH: better support for INTUIX DVB stick boot
    * V4L/DVB (13580): Add support for PCTV 74e (Pinnacle) + fix USB vendor IDs
    * V4L/DVB (13583): DiB8090: Add the DiB0090 tuner driver and STK8096GP-board
    * V4L/DVB (13586): DiB0700: Add parameter to change the buffer size
    * V4L/DVB (13591): add support for IR on FlyDVB Trio (saa7134)
    * V4L/DVB (13600): radio-si470x: support RDS on si470x i2c driver
    * V4L/DVB (13601): radio-si470x: support PM functions
    * V4L/DVB (13602): bttv: fix MODULE_PARM_DESC for i2c_debug and i2c_hw
    * V4L/DVB (13608): radio-sf16fmi: fix mute, add SF16-FMP to texts
    * V4L/DVB (13609): radio-sf16fmi: add autoprobing
    * V4L/DVB (13612): IR: Move common IR code to drivers/media/IR
    * V4L/DVB (13613): IR: create ir-core module
    * V4L/DVB (13619): v4l2-spec: Adds EBUSY error code for S_STD and QUERYSTD ioctls
    * V4L/DVB (13651): sh_mobile_ceu_camera: document the scaling and cropping algorithm
    * V4L/DVB (13652): tw9910: Add revision control
    * V4L/DVB (13655): tw9910: Add power control
    * V4L/DVB (13657): tw9910: Add revision control to tw9910_set_hsync
    * V4L/DVB (13658): v4l: add a media-bus API for configuring v4l2 subdev pixel and frame formats
    * V4L/DVB (13661): rj54n1cb0c: Add cropping, auto white balance, restrict sizes, add platform data
    * V4L/DVB (13669): tw9910: Add sync polarity support
    * V4L/DVB (13670): soc-camera: Add mt9t112 camera driver
    * V4L/DVB (13678): Add support for yet another DvbWorld, TeVii and Prof USB devices
    * V4L/DVB (13680a): DocBook/media: copy images after building HTML
    * V4L/DVB (13680b): DocBook/media: create links for included sources
    * V4L/DVB (13699): [Mantis, MB86A16] Initial checkin: Mantis, MB86A16
    * V4L/DVB (13720): [Mantis/Terratec Cinergy C] Add support for the Terratec Cinergy C PCI
    * V4L/DVB (13723): [Mantis/VP-2040, Terratec Cinergy C] Add support for the Cinergy C, VP-2040 clone
    * V4L/DVB (13724): [Mantis/VP-1041] Initial support for Mantis VP-1041
    * V4L/DVB (13726): [Mantis/Skystar HD2] Add support for the Technisat Skystar HD2
    * V4L/DVB (13748): [Mantis/VP-2040] Add support for VP-2040 (TDA10023 frontend based)
    * V4L/DVB (13783): [Mantis/Technisat Cablestar HD2] Add support for the Technisat Cablestar HD2
    * V4L/DVB (13795): [Mantis/Hopper] Code overhaul, add Hopper devices into the PCI ID list
    * V4L/DVB (13797): [Mantis/Hopper/TDA665x] Large overhaul,
    * V4L/DVB (13880): gspca - m5602-s5k4aa: Add vflip quirk for the Amilo Xi 2428
    * V4L/DVB (13887): tda8290: add autodetection support for TDA8295c2


Various Drivers

    * ad525x_dpot: new driver for AD525x digital potentiometers
    * Add OMAP spi100k driver
    * ARM: NUC900: add RTC driver support for nuc910 and nuc920
    * ARM: NUC900: Add spi driver support for nuc900
    * cs5535: add a generic clock event MFGPT driver
    * cs5535-gpio: add AMD CS5535/CS5536 GPIO driver support
    * cs5535-gpio: request function, mask & names added
    * Doc: use misc-devices/ dir for drivers
    * drivers/misc: add driver for Texas Instruments DAC7512
    * gpio: adp5588-gpio: new driver for ADP5588 GPIO expanders
    * gpiolib: add support for changing value polarity in sysfs
    * gru: add additional GRU statistics
    * gru: add debug option for cache flushing
    * gru: add hugepage support
    * gru: support 64-bit GRU addresses
    * leds: Add driver for ADP5520/ADP5501 MFD PMICs
    * leds: Add driver for LT3593 controlled LEDs
    * leds: Add LED class driver for regulator driven LEDs.
    * leds: LED driver for Intel NAS SS4200 series (v5)
    * MAINTAINERS: add SPI co-maintainer.
    * mpc52xx_spi: add gpio chipselect
    * pcf50633: Add ac power supply class to the charger
    * regulator: add 88PM8607 PMIC driver
    * regulator: add driver for MAX8660/8661
    * regulator: Add support for twl6030 regulators
    * rtc: Add an RTC driver for the Oki MSM6242
    * rtc: Add an RTC driver for the Ricoh RP5C01
    * rtc: add driver for BQ32000 I2C RTC
    * rtc: add Freescale MC13783 RTC driver
    * rtc: Add twl6030 RTC support
    * rtc: make rtc-omap driver ioremap its register space
    * rtc-mv: add support for Alarm
    * spi: Add s3c64xx SPI Controller driver
    * spi: controller driver for Designware SPI core
    * spi-imx: Add mx25 support
    * spi_mpc8xxx: Add support for QE DMA mode and CPM1/CPM2 chips
    * spi_s3c24xx: add FIQ pseudo-DMA support
    * spi: SuperH MSIOF SPI Master driver V2
    * tty: docs: serial/tty, add to ldisc methods
    * tty: esp: remove broken driver
    * xilinx_spi: add a platform driver using the xilinx_spi common module.
    * xilinx_spi: add support for the DS570 IP.

Nachzügler

Die Kernel-Entwickler pflegen das Gros der Änderungen für eine neue Kernel-Version am Anfang des Entwicklungszyklus in das Quellcodeverwaltungssystem ein. Dadurch kann das Kernel-Log die Neuerungen einer noch in Entwicklung befindlichen Linux-Version beschreiben, Wochen bevor Linus Torvalds diese freigibt. Häufig nehmen die Kernel-Entwickler in der zweiten Phase des Entwicklungszyklus aber noch einige kleinere, zumeist nicht ganz so wichtige Änderungen der Kategorie "Die kleineren Perlen" in den Linux-Kernel auf – teilweise, nachdem wir über die entsprechenden Bereiche berichtet haben.

Diesmal gehörte der "Firmware download driver" ath3k für Bluetooth-Chips von Atheros zu einem der Nachzügler. Eine Auswahl einiger weiter – darunter TCP_NODELAY-Unterstützung für CIFS, ein neue Mount-Option für Btrfs oder Performance-Verbessungen für CFQ – finden Sie solcher in der folgenden Liste:

Dateisysteme

    * Btrfs: Add mount -o compress-force
    * CIFS: Add support for TCP_NODELAY

Grafik

    * drm/nouveau: Add module options to disable acceleration.

Netzwerk

    * wimax/i2400m: Add support for more i6x50 SKUs
    * rtl8187: Add new device ID
    * zd1211rw: adding 0409:0248 to supported device list

Storage

    * cfq-iosched: Do not idle on async queues

USB

    * USB: ftdi_sio: add device IDs (several ELV, one Mindstorms NXT)
    * USB: SIS USB2VGA DRIVER: support KAIREN's USB VGA adaptor USB20SVGA-MB-PLUS
    * USB: serial: add usbid for dell wwan card to sierra.c

Nachzügler(2)

Im vierten, Architektur und Virtualisierung gewidmeten Teil der Serie "Was 2.6.33 bringt" fehlten im Abschnitt "Die kleinen Perlen" versehentlich einige Links zu einigen weiteren im Bereich Infrastruktur angesiedelten Änderungen:

    * Add support for GCC-4.5's __builtin_unreachable() to compiler.h (v2)
    * [BKL] add 'might_sleep()' to the outermost lock taker
    * clockevents: Make tick_device_lock static
    * core: Add kernel message dumper to call on oopses and panics
    * cpumask: don't recommend set_cpus_allowed hack in Documentation/cpu-hotplug.txt
    * debugobjects: Convert to raw_spinlocks
    * doc: Add documentation for bootloader_{type,version}
    * Doc: better explanation of procs_running
    * docs: large update to ioctl-number.txt
    * Doc/stable rules: add new cherry-pick logic
    * Doc/stable rules: add new cherry-pick logic
    * doc: SubmitChecklist, add ioctls, remove OSDL reference
    * Documentation: rw_lock lessons learned
    * Documentation: update ring-buffer-design.txt
    * err.h: add helper function to simplify pointer error checking
    * genirq: Convert irq_desc.lock to raw_spinlock
    * hrtimer: Fix /proc/timer_list regression
    * hrtimers: Convert to raw_spinlocks
    * ipc/sem.c: add a per-semaphore pending list
    * ipc/sem.c: sem preempt improve
    * kallsyms: remove deprecated print_fn_descriptor_symbol()
    * kernel.h: add printk_ratelimited and pr_<level>_rl
    * kexec: premit reduction of the reserved memory size
    * kfifo: add record handling functions
    * kfifo: move out spinlock
    * kfifo: move struct kfifo in place
    * kfifo: rename kfifo_put... into kfifo_in... and kfifo_get... into kfifo_out...
    * lib/vsprintf.c: add %pU to print UUID/GUIDs
    * locking: Cleanup the name space completely
    * locking: Convert raw_rwlock functions to arch_rwlock
    * locking: Convert raw_rwlock to arch_rwlock
    * locking: Convert __raw_spin* functions to arch_spin*
    * locking: Convert raw_spinlock to arch_spinlock
    * locking: Further name space cleanups
    * locking: Implement new raw_spinlock
    * locking: Make inlining decision Kconfig based
    * locking: Rename __RAW_SPIN_LOCK_UNLOCKED to __ARCH_SPIN_LOCK_UNLOCKED
    * locking: Reorder functions in spinlock.c
    * locking: Separate rwlock api from spinlock api
    * locking: Split rwlock from spinlock headers
    * lockstat: Add usage info to Documentation/lockstat.txt
    * MAINTAINERS: new kbuild maintainer
    * memcg: coalesce charging via percpu storage
    * memcg: coalesce uncharge during unmap/truncate
    * module: make MODULE_SYMBOL_PREFIX into a CONFIG option
    * nohz: Allow 32-bit machines to sleep for more than 2.15 seconds
    * percpu: kill legacy percpu allocator
    * perf_event: Convert to raw_spinlock
    * pm_qos: clean up racy global "name" variable
    * pm_qos: remove BKL
    * rcu: Add expedited grace-period support for preemptible RCU
    * rcu: Add synchronize_srcu_expedited() to the documentation
    * rcu: Make RCU's CPU-stall detector be default
    * rcu: "Tiny RCU", The Bloatwatch Edition
    * rcu: Update trace.txt documentation for blocked-tasks lists
    * rcu: Update trace.txt documentation to reflect recent changes
    * rtmutes: Convert rtmutex.lock to raw_spinlock
    * sched: Convert cpupri lock to raw_spinlock
    * sched: Convert pi_lock to raw_spinlock
    * sched: Convert rt_runtime_lock to raw_spinlock
    * scripts/get_maintainer.pl: add --roles and --rolestats
    * scripts/get_maintainer.pl: support multiple VCSs - add mercurial
    * scripts/package: add KBUILD_PKG_ROOTCMD variable
    * signal: Print warning message when dropping signals
    * smp: Convert smplocks to raw_spinlocks
    * spi: Remove BKL from spidev_open
    * sysctl: add missing comments
    * sysctl drivers: Remove dead binary sysctl support
    * sysctl fs: Remove dead binary sysctl support
    * sysctl: Introduce a generic compat sysctl sysctl
    * sysctl ipc: Remove dead binary sysctl support code.
    * sysctl kernel: Remove binary sysctl logic
    * sysctl: Neuter the generic sysctl strategy routines.
    * sysctl: Reduce sys_sysctl to a compatibility wrapper around /proc/sys
    * sysctl: Remove dead code from sysctl_check
    * sysfs: deprecated features are to help old tools not to confuse them
    * sys: Remove BKL from sys_reboot
    * this_cpu: Implement X86 optimized this_cpu operations
    * tree-wide: fix assorted typos all over the place
    * vsprintf: add %pR support for IRQ and DMA resources
    * vsprintf: add %pRt, %pRf to print struct resource details

Quelle : www.heise.de
Titel: Apparmor will wieder in den Linux-Kernel
Beitrag von: SiLæncer am 19 Februar, 2010, 17:09
Das Sicherheitsframework Apparmor ist durch Canonical erneut bei den Entwicklern des Linux-Kernels eingereicht worden. Die aktuelle Version von Apparmor verwendet nun in einigen Teilen die Linux Security Modules (LSM).
In einem erneuten Anlauf wollen die Entwickler von Canonical, die sich gegenwärtig um den Code des Sicherheitsframeworks kümmern, erreichen, dass Apparmor in den Kernel aufgenommen wird. Canonical intensiviert seine Entwicklung um Apparmor, nachdem Programmierer bei Novell sich mehrfach um die Aufnahme in den Linux-Kernel bemüht hatten. Bisheriger Hauptkritikpunkt der Kernel-Entwickler war die mangelnde Anpassung an die bestehende Sicherheitsinfrastruktur LSM des Linux-Kernels durch Apparmor.

Gegenwärtig betreut Canonical den Code für Apparmor, er wird auf Canonicals Launchpad und auf Kernel.org gehostet. Novell widmet sich derzeit verstärkt dem von Red Hat entwickelten Framework SELinux, das bereits die Aufnahme in den Linux-Kernel geschafft hat.

Quelle : www.golem.de
Titel: Linux-Kernel 2.6.33 freigegeben
Beitrag von: SiLæncer am 25 Februar, 2010, 10:52
Linus Torvalds hat Version 2.6.33 des Linux-Kernels freigegeben, die unter anderem den Nouveau-Treiber und DRBD enthält.

Etwas weniger als drei Monate dauerte es auch dieses Mal, die neue Kernel-Version fertigzustellen. Anzahl und Umfang der Änderungen sind in dieser Version ziemlich genau so groß wie bei den beiden vorangegangenen Versionen. Über 11600 Änderungen wurden von Torvalds integriert.

Wie Torvalds anmerkt, sind auch dieses Mal zwei Drittel der Änderungen dem Bereich der Treiber zuzurechnen. Von diesen entfiel die Hälfte auf die experimentellen Treiber im Verzeichnis »staging«.

Die wichtigste Neuerung im Treiber-Bereich dürfte die Aufnahme des freien Nvidia-Treibers Nouveau sein. Die nötige Firmware muss man jedoch aus anderen Quellen beschaffen. Es ist wohl wert, festzuhalten, dass dieser Treiber ohne jede Unterstützung von Nvidia entstand. Da Nouveau noch nicht als stabil gilt, liegt er derzeit im »staging«-Bereich. Als stabil gilt jedoch inzwischen der Radeon-Treiber für ATI-Chips. Beide Treiber unterstützen inzwischen mehr Hardware als ihre proprietären Entsprechungen, und die Unterstützung für ältere Hardware wird für unbegrenzte Zeit fortgesetzt.

Einen weiteren Meilenstein stellt die Integration von DRBD dar. Das Dateisystem Reiserfs erhielt verfeinerte Sperren und benötigt nun nicht mehr den »Big Kernel Lock«. Das Dateisystem ext4 kann nun ext2- und ext3-Dateisysteme mounten, so dass man einen Kernel ohne ext2 und ext3 generieren kann, der trotzdem diese Dateisysteme verwenden kann. Der Device Mapper wurde um ein Target »Snapshot Merge« erweitert. Eine korrekte Implementierung der Flags O_SYNC und O_DSYNC wurde hinzugefügt; O_DSYNC ist in den relevanten Standards optional und war bisher unter Linux nicht implementiert. Das Dateisystem xfs wurde mit zahlreichen Trace-Points ausgestattet.

Paravirtualisierte Xen-Gäste können nun auch unter dem Hypervisor KVM laufen. Das fehlende Mosaikstückchen dafür wurde jetzt implementiert, der Großteil dieser Funktion benötigt jedoch keine spezielle Kernel-Unterstützung. Kernel Samepage Merging (KSM), das Speicher, der in mehreren virtuellen Maschinen verwendet wird, nur einmal allokiert und damit viel Speicher sparen kann, wurde bereits in Linux 2.6.32 implementiert. Nun wurde dazu auch die Möglichkeit geschaffen, diese Speicherseiten in den Swap auszulagern.

Das ftrace-Framework zum Tracen von Code erhielt mehrere Erweiterungen. So können nun mehrere Prozesse gleichzeitig verfolgt werden. Die Filter können mit regulären Ausdrücken arbeiten. Dank des Patchsets für Dynamic Probes können nun außerdem beliebige Trace-Punkte zur Laufzeit gesetzt werden. Dies wird von dem Tool »perf« bereits genutzt, das zudem andere Verbesserungen aufweist.

Die Unterstützung für binäre sysctl-Aufrufe gilt als obsolet, kann aber nicht entfernt werden, solange es noch Programme gibt, die sie nutzen. Die Implementierung wurde jetzt aber radikal reduziert, sie emuliert jetzt die Funktion durch äquivalente Operationen auf /proc/sys.

Auch der »anticipatory« I/O-Scheduler wurde entfernt. Die Entwickler sehen den I/O-Scheduler CFQ als weit flexiblere Alternative, die eine Obermenge der Funktionalität des »anticipatory« I/O-Schedulers bietet. Neu hinzu kamen dagegen der Systemaufruf recvmmsg und ein vereinheitlichter Bandbreiten-Controller für Blockgeräte. Der TCP-Stack wurde um TCP Cookie-Transaktionen (PDF) erweitert, was einen schnelleren und sichereren Verbindungsaufbau bringen soll, wie ihn insbesondere die DNS-Betreiber für DNSSEC benötigen.

Ein interessanter neuer Treiber, der allerdings noch experimentell ist, ist Compcache. Er zweigt einen Teil des RAM ab, um ihn als Swap zu verwenden. Da die Daten in diesem Bereich komprimiert werden, steht effektiv mehr Speicher zur Verfügung. Zwar wäre mit einem echten Swap noch mehr Speicher verfügbar, aber das Lesen und Schreiben von Swap-Geräten ist mittlerweile um das hunderttausendfache langsamer als der Zugriff aufs RAM. Mit Compcache steht etwas weniger Speicher zur Verfügung, aber die Zugriffszeit ist kaum vergrößert. Daneben enthält Linux 2.6.33 zahlreiche neue Treiber, beispielsweise für Neuros OSD 2.0 und die paravirtualisierten SCSI-Treiber für VMware, sowie viele weitere Änderungen.

Eine Liste aller Änderungen enthält das sehr ausführliche Changelog (http://ftp://ftp.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.33). Die Seite Kernelnewbies.org hat eine übersichtliche Zusammenfassung (http://kernelnewbies.org/LinuxChanges) der Änderungen veröffentlicht. Die aktuelle Version von Linux kann von kernel.org und zahlreichen Spiegelservern in Form von Patches oder tar-Paketen heruntergeladen werden (http://www.kernel.org/pub/linux/kernel/v2.6/).

Quelle : www.pro-linux.de
Titel: Ein Linux-Kernel für eine Milliarde Euro
Beitrag von: SiLæncer am 25 Februar, 2010, 17:50
Nach einer Studie  der spanischen Universidad de Oviedo  beträgt der Wert des im Juni veröffentlichten Linux-Kernels 2.6.30 1,025 Milliarden Euro. Als Grundlage der Berechnung diente der Cocomo81-Ansatz (Constructive Cost Model), wobei als Jahresgehalt für einen Linux-Entwickler 31.000 Euro angesetzt wurden, laut Eurostat  das Durchschnittsgehalt eines europäischen Entwicklers im Jahr 2006. Zu einem ähnlichen Ergebnis war bereits vor gut einem Jahr die Linux Foundation gekommen.

Der Cocomo-Ansatz berechnet den Wert einer Software in Abbhängigkeit von bestimmten Softwaremetriken, vor allem der Anzahl geschriebener Code-Zeilen. Wendet man das Modell auf den im Laufe eines Jahres mit neuen Releases hinzugekommenen Code an, erhält man ein theoretisches Maß für die Investitionen in den Linux-Kernel. Hier zeigt sich, dass die Investitionen 2008 deutlich angestiegen sind: Während die Werte für 2005 bis 2007 zwischen 73 und 95 Millionen Euro pro Jahr schwanken, kam laut der Studie 2008 Code im Wert von 228 Millionen Euro zum Linux-Kernel hinzu.

Quelle : www.heise.de
Titel: Kernel-Log: Stable-Kernel analysiert, Linux ohne Firmware, neue Grafiktreiber
Beitrag von: SiLæncer am 05 März, 2010, 19:49
Die Entwicklung von Linux 2.6.34 ist angelaufen und sorgt für hitzige Diskussionen auf der LKML. LWN.net hat Linux 2.6.32.9 auf Sicherheitskorrekturen analysiert und fast zwanzig solcher gefunden. Linux-Libre entfernt unfreie Dateien aus dem Kernel und neue Grafiktreiber für Radeon-Karten bringen zahlreiche Verbesserungen.

Einen Tag nach der Freigabe von Linux 2.6.33 in der letzten Februarwoche begann Linus Torvalds mit der Aufnahme der größten Änderungen für Linux 2.6.34. Bislang hat er knapp fünftausend Commits vorgenommen, durch die der Kernel um beinahe zweihundertausend Zeilen gewachsen ist. Neu zum Kernel gestoßen sind unter anderem der Treiber für die Magic Mouse von Apple, eine Python-Scripting-Engine für das Tracing-Subsystem sowie der Virtio-Server vhost_net, der den Overhead beim Datenaustausch mit Gastsystemen via Virtio reduzieren soll.

Das Merge Window ist noch einige Tage offen, dieses Mal aber möglicherweise statt zwei voller  Wochen nur 10 oder 12 Tage – das deutete Torvalds an, um die Subsystem-Verwalter zu animieren, ihre Änderungen nicht auf den letzten Drücker einzusenden. Einige bereits für 2.6.34 eingereichte Verbesserungen an SquashFS sowie die Patches zur Aufnahme des Subsystems zum Ansprechen von Helligkeitssensoren (Ambient Light Sensors/ALS) hat Torvalds indes bereits kritisiert (1, 2); sofern er seine Meinung nicht nochmal ändert, dürfte beides frühestens bei 2.6.35 zum Linux-Kernel stoßen.

Torvalds wies zudem die Verwalter der grundlegenden Infrastruktur für Treiber ("Driver Core") und den des Direct Rendering Managers (DRM) nachhaltig darauf hin, dass neue Kernel-Funktionen bei der Kernel-Konfiguration nicht standardmäßig eingeschaltet werden sollten, wenn es dafür keinen triftigen Grung gibt (1, 2). Die DRM-Programmierer änderten daraufhin einige der eingesandten Patches, die Torvalds schließlich am Donnerstag Abend in den Hauptentwicklungszweig aufnahm.

Erst kurz danach bemerkte Torvalds bei einem Test, worauf der DRM-Subsystem-Verwalter in seinem ersten Git-Pull-Request bereits hingewiesen hatte: Eine inkompatible API-Änderung an dem bei Linux 2.6.32 aufgenommenen Nouveau-Treiber für Grafikhardware von Nvidia. Wer den auf dem Kerneltreiber aufsetzenden Nouveau-Treiber für X.org nutzen will, muss diesen sowie die Libdrm daher parallel mit dem Kernel aktualisieren – das erschwert anderen Testern sowie Anwendern den Alltag, denn sie können nicht einfach zwischen Kerneln vor und nach der Aufnahme der API-Änderungen hin- und her wechseln, wenn sie den Nouveau-Treiber für X.org einsetzen.

Torvalds kritisierte das nachhaltig und löste damit eine längere, teils hitzige und noch andauernde Diskussion aus. In der weisen einige Nouveau-Entwickler darauf hin, dass Torvalds doch selbst auf eine zügige Aufnahme gedrängt hatte, obwohl diese und weitere Änderungen an den Schnittstellen zu erwarten gewesen waren – daher ist der Nouveau-Treiber auch als unreifer Staging-Treiber markiert, denn bei richtigen Treibern werden die Schnittstellen zum Userspace normalerweise nur in abwärtskompatibler Weise geändert.

Linux-Stable

Die im vorangegangene Kernel-Log bereits erwähnte Kernel-Version 2.6.32.9 ist nach wie vor der neueste Kernel der Stable-Series. Auch dessen Freigabe-Mail enthielt wie so häufig bei Stable-Kerneln die Empfehlung, auf die neue Version zu wechseln, ohne explizit auf Korrekturen für Sicherheitslücken hinzuweisen.

Allerdings hat sich Jonathan Corbet, Gründer von Linux Weekly News (LWN) und selbst am Linux-Kernel mitarbeitend, die 96 Änderungen einer Vorabversion von 2.6.32.9 exemplarisch näher angesehen und in einem mittlerweile auch Nichtabonnenten von LWN.net zugänglichen Artikel beschrieben. Gleich zu Beginn weist er darauf hin, das die Analyse sehr viel Arbeit war und es wahrscheinlich sei, dass er einige Dinge übersehen hätte.

Das war auch tatsächlich der Fall, denn Corbet hatte 18 der Änderungen als potenziell Sicherheitslücken beseitigende Korrekturen eingestuft ("Security-related fixes"). Schon der erste Kommentar zum Artikel wies aber darauf hin, dass eine weitere Korrektur auch in diese Kategorie gehört hätte, denn die Lücke lässt sich für einen Angriff nutzen und hat sogar eine CVE-Nummer; die Leser spekulieren in weiteren Kommentaren über einige andere potenziell ausnutzbare, aber nicht als Sicherheitslücke eingestufte Korrekturen.

Das zeigt, dass sich Anwender selbst kompilierter Kernel am besten wirklich einfach updaten, wie es die Freigabe-Mails der Stable-Series empfehlen – ein solches Update dürfte nämlich häufig erheblich weniger Arbeit machen als eine genaue (und möglicherweise fehlerhafte) Analyse der Änderungen. Anwender von Distributionskerneln brauchen sich darum allerdings keine Gedanken machen, denn dort kümmern sich der Distributor um das Bereitstellen von Updates – dabei muss man aber hoffen, dass die Mitarbeiter alle potenziell Sicherheitslücken korrigierende Änderungen auch erkennen und in ihre Kernel einbauen.

Komplett frei

Die Free Software Foundation Latin America (FSFLA) hat Linux-2.6.33-libre veröffentlicht. Zu ihr gehören die erheblich überarbeiteten und dadurch potenziell schneller arbeitenden Libre-Kernel-Deblob-Skripte, die alle Teile im Quellcode von Linux 2.6.33 entfernen, die die FSFLA als unfrei ansieht; wer die Skripte nicht selbst laufen lassen möchte, kann auch ein um Firmwares bereinigtes Archiv von 2.6.33 direkt herunterladen.

Entfernt werden beim Libre-Kernel unter anderem einige mit dem Hauptentwicklungszweig von Linux ausgelieferte Firmware-Dateien, die verschiedene Treiber in die Chips der Geräte laden müssen, um die Hardware in Betrieb zu nehmen. Die Lizenz dieser Dateien erlaubt eine Weiterverbreitung zusammen mit dem Linux-Kernel; da jedoch kein Quellcode beiliegt, werden solche "Binary Large Objects" (Blobs) als unfrei angesehen.

Mit dem Libre-Kernel oder Linux-Distributionen, die solche und ähnliche Firmware-Dateien nicht mitliefern, laufen daher einige Hardware-Komponenten nicht oder nur eingeschränkt. Das kann sogar Hauptprozessoren betreffen, weil diese häufig Fehler enthalten, die durch sogenannte Microcode-Patches behoben oder umgangen werden. Das Mainboard-BIOS spielt solche Microcode-Updates normalerweise vor dem Booten von Betriebssystemen ein. Da viele Anwender das BIOS aber nur selten aktualisieren, haben die Prozessor-Hersteller schon vor vielen Jahren Schnittstellen geschaffen, über die auch Betriebssysteme früh im Boot-Prozess frischen Microcode einspielen können. So lassen sich CPU-Fehlerkorrekturen über die Update-Funktionen moderner Betriebssysteme einfach und schnell weit verteilen. Anwender von Linux-Distributionen, die Microcode-Updates nicht ausliefern, nutzen so die ältere Microcode-Version im Prozessor, die möglicherweise einige CPU-Bugs nicht behebt.

Die Kernel-Entwickler um David Woodhouse arbeiten übrigens schon länger daran, die teilweise enge Verquickungen zwischen Treibern und Firmware zu beseitigen. Einige Distributionen nutzen die Firmware-Dateien des Kernel bereits nicht mehr und liefern statt dessen ein von Woodhouse auf Kernel.org gepflegtes Archiv mit den Firemware-Dateien aus.

Grafiktreiber für AMD, Intel und VMware

Nachdem die Entwickler der X.org-Open-Source-Grafiktreiber für Radeon-Grafikchips schon länger keine neue Version freigegeben haben veröffentlichten sie kürzlich die in wesentlichen kleinere Verbesserungen und Fehlerkorrekturen enthaltene Version 6.12.5. Größere Neuerungen soll die 6.13er-Reihe bringen, wie die Freigabe-Mail zu dessen Vorabversion 6.12.191 erläutert. Sie bringt etwa experimentelle und rudimentären Unterstützung für Evergreen-GPUs, die auf den im vergangenen Herbst eingeführten Radeon-Karten der HD-5000-Serie sitzen; auch soll diese Version mit dem KMS-Treiber für Evergreen-Grafikchips zusammenarbeiten, den die Kernel-Entwickler gestern für Linux 2.6.34 aufgenommen haben.

Zu den weiteren Neuerungen zählen KMS- und DRI2-Unterstützung für alle Radeon-GPUs bis hin r700-Serie, die auf der Radeon-Karten der Reihe HD-4000 sitzen; ebenfalls neu ist die Unterstützung für die Beschleunigungsfunktionen von GPUs der Serien r600 und r700 (Radeon-HD-Serien 2000, 3000 und 4000). Diese und einige andere in der Freigabe-Mail aufgeführte Neuerungen finden sich aber bereits jetzt in einigen Linux-Distributionen, da die teilweise bereits Code aus dem Hauptentwicklerzweig der Treiber eingesetzt haben, aus dem sich die Version 6.13 ableitet.

Auch die Intel-Entwickler bereiten neue Treiber vor und haben mit xf86-video-intel 2.10.901 den erste Release Candidate der X.org-Intel-Treiber 2.11 veröffentlicht. Zu einer ihrer größten Neuerungen zählt die im Kernel-Log bereits erwähnte Unterstützung einiger neuen Funktionen von DRI2, die eine bessere Synchronisation der Anzeige neuer Bilddaten mit dem Bildwechsel ermöglicht.

Die Entwickler der Treiber für die virtuelle Grafikhardware einiger VMware-Hypervisor haben unter dessen die Testphase hinter sich gelassen und kürzlich die Version 11.0.0 des von ihnen gepflegten X.org-Treibers xf86-video-vmware veröffentlicht. Intel-Entwickler Eric Anholt hat derweil die Version 2.4.19 der libdrm veröffentlicht.

Kernel-Log-Staccato

Kernel

    * Drei Entwickler von Evidence haben die zweite Version eines im Rahmen des EU-Projekts ACTORS (Adaptivity and Control of Resources in Embedded Systems) entwickelten Deadline-Prozess-Scheduler für Linux zur Begutachtung an die LKML gesandt. Ein kann durch die Vorhersagbarkeit des Verhaltens insbesondere für Realtime-Umgebungen interessant sein.
    * Die Kernel-Quellen wuchsen während der Entwicklung von Linux 2.6.33 um durchschnittlich 9000 Zeilen Code; bei 2.6.29 waren es über 14.500 Zeilen gewesen. Diese und einige andere statistische Daten finden sich in einer von Greg Kroah-Hartmann gepflegten OpenOffice-Tabelle, die er kürzlich in einem Dent erwähnte.
    * Atheros-Entwickler Luis R. Rodriguez ("mcgrof") hat im Wiki der Linux-WLAN-Entwickler eine Seite angelegt, die die Zusammenarbeit der verschiedenen für die Entwickler  der WLAN-Unterstützung wichtigen Kernel-Hacker beschreibt und den Fluss der Änderungen illustriert.

Kernel-Umland ("Plumbing layer") und Userland-Treiber

    * Über Server des Debian-Projekts sind zahlreiche Videos der auf der diesjährigen Fosem im "Distribution Developer Room" gehaltenen Vorträge abrufbar – etwa einer zum im vorangegangene Kernel-Log bereits erwähnten Bootchart2. Es finden sich auch ein Video, in dem Harald Hoyer das modularen und distributionsübergreifend angelegten Dracut zum Erstellen von Initial Ramdisks (Initrd) erklärt; die zugehörigen Präsentationsfolien stellt der Entwickler auf seiner Homepage bereit.
    * Junio C Hamano hat die Git 1.7.0.1 veröffentlicht.
    * Die Entwickler des Projekts Hplip haben die Version 3.10.2 der gleichnamigen Treiber für Drucker und Multifunktionsgeräte von HP veröffentlicht. Zu den nun unterstützten Geräten zählen laut Release-Notes verschiedene Geräte der Officejet-Baureihe; für zahlreiche andere Modelle gab es Verbesserungen.
    * Lennart Poettering erläutert in einem Blog-Eintrag einige Probleme rund um die Lautstärkeregelung über PulseAudio und erklärt, wie man Treiber-seitige Probleme findet und zu deren Beseitigung beiträgt.

Grafik

    * Tias Guns hat die Version 0.6.0 des Xinput Calibrator freigegeben. Sie soll laut Freigabe-Mail verschiedenen, meist rudimentäre und Treiber-spezifische Programme zur Kaltbration von Touchscreens ersetzen und habe dieses Ziel schon zu weiten Teilen erreicht. Der Entwickler fordert daher die X-Entwickler der Distributionen auf, eine Aufnahme der Software zu erwägen.

Quelle : www.heise.de
Titel: Android-Code soll in den Linux-Kernel zurück
Beitrag von: SiLæncer am 08 März, 2010, 16:26
Google sucht nun offenbar doch wieder stärker die Zusammenarbeit mit den Kernel-Entwicklern und will die Modifikationen an Linux, die für Android vorgenommen wurden, in den Kernel zurückintegrieren. Dieser Vorgang könnte jedoch letztlich Jahre dauern.

Zur Entwicklung von Android verwendete Google einen bestimmten Stand des Linux-Kernels und nahm nach eigenem Gutdünken zahlreiche Modifikationen vor. Der Effekt war, dass letztlich eine Abspaltung, ein Fork des Kernels entstand, der mit dem Original nicht kompatibel war. Erst lange nach der ersten Version von Android begannen die Google-Entwickler damit, ihre Änderungen für eine Aufnahme in den offiziellen Kernel anzubieten. In Linux 2.6.29 wurden einige Android-Treiber aufgenommen, die allerdings noch nicht reif für den allgemeinen Einsatz waren. Sie wurden als »Treiber in Entwicklung« in den Staging-Zweig des Kernels aufgenommen und hätten nach Ansicht der führenden Entwickler einige Änderungen benötigt, um zu offiziellen Teilen des Kernels zu werden.

Von Entwicklern, die ihren Code in den Linux-Kernel einbringen wollen, wird viel Arbeit verlangt, um die Treiber auf einen Stand zu bringen, der den Qualitätsansprüchen genügt. Leisten sie diese Arbeit nicht, dann hat ihr Code keine Chance. Im Falle der Android-Treiber war es die völlige Untätigkeit der Google-Entwickler, die dazu führte, dass die Treiber aus Linux 2.6.33 wieder entfernt wurden. Doch der Android-Kernel unterscheidet sich nicht nur in den Treibern vom Standard-Kernel, hinzu kommen weitere Änderungen, die teils von den Kernel-Entwicklern als konzeptionell fehlerhafte oder nicht ausreichend allgemeine Ansätze abgelehnt werden.

Chris DiBona, Open-Source-Programm-Manager von Google, findet es allerdings nicht schlimm, dass der Android-Kernel einen Fork darstellt. Forks seien einer der Gründe dafür, dass der Linux-Kernel so gut ist, und daher nichts Schlechtes. Mobilgeräte seien ganz anders als traditionelle Systeme, und daher hätten die bisherigen Ansätze mit Linux in Mobilgeräten praktisch keinerlei Erfolg gehabt. Durch die große Verschiedenheit werde es allerdings länger dauern, bis die Änderungen von Android in den offiziellen Kernel geflossen sind. Andererseits sei Android auch nicht unterschiedlicher vom Standard-Kernel als beispielsweise der Red-Hat-Kernel.

Immerhin strebt DiBona eine Wiedervereinigung mit dem offiziellen Kernel an. Dies kann seiner Ansicht nach aber mehrere Jahre in Anspruch nehmen. Man werde wohl schrittweise versuchen, die Unterschiede zum offiziellen Kernel zu verringern. Dazu gehöre aber auch ein Code-Fluss in die andere Richtung. Android werde sich immer am offiziellen Kernel orientieren. Dadurch könnten auch die in Linux eingehenden Verbesserungen zu einer Verringerung der Unterschiede zum Android-Kernel führen.

Quelle : www.pro-linux.de
Titel: Linux-Kernel 2.6.34 tritt in die Testphase ein
Beitrag von: SiLæncer am 09 März, 2010, 12:28
Linux-Initiator Linus Torvalds hat die Kernel-Version 2.6.34-rc1 freigegeben, die erstmals das Dateisystem LogFS integriert.

Aus Verärgerung über einige Entwickler, die ihre Neuerungen bis zum letzten Tag des Zeitfensters für die Integration in die neue Kernel-Version zurückhielten, verkürzte Torvalds dieses 14-tägige Zeitfenster, das mit der Veröffentlichung der vorhergehenden Kernel-Version begann, kurzerhand um einige Tage. Dadurch ist die Zahl der Änderungen mit 6300 in dieser Version geringer ausgefallen als in den vorangegangenen Versionen. Wie Torvalds allerdings selbst anmerkt, wird er noch einige weitere Änderungen übernehmen. In der bevorstehenden etwa zehnwöchigen Testphase werden außerdem noch einige hundert Änderungen hinzukommen, allerdings überwiegend Korrekturen.

Wieder sind etwa zwei Drittel der Änderungen dem Bereich der Treiber zuzurechnen, davon 5% den Sound-Treibern und 10% der Firmware. Das Update des Kernel-Codes für Nouveau dürfte bei den Nutzern des freien Treibers wenig Freude aufkommen lassen: Es erfordert auch, libdrm und den Nouveau-Treiber für X11 zu aktualisieren, und arbeitet nicht mit älteren Versionen zusammen. Da Fedora 12 den Nouveau-Treiber bereits standardmäßig enthält, sind Tester des neuen Kernels bei Verwendung dieses Treibers zu einem Update auf die aktuelle Fedora-Testversion gezwungen.

Das Dateisystem logfs, das besonders für Flashspeicher-Geräte geeignet ist und JFFS2 ablösen soll, wurde in den Kernel aufgenommen. Mehr als zwei Jahre nach dem Beginn der Entwicklung gilt LogFS aber zumindest für die Kernel-Entwickler noch als experimentell. Ein weiteres neues Dateisystem wird laut Torvalds warscheinlich noch hinzukommen.

Neu in Linux 2.6.34-rc1 sind die Patches für asynchrones Suspend und Resume. Die Arbeit an Trace- und Leistungs-Messungs-Funktionen ging offenbar intensiv weiter. Resultate sind das neue Kommando perflock, das Statistiken über die Verwendung von Sperren ausgeben kann, und Unterstützung für Python-Skripte im Programm perf.

Die Netzwerkfunktionen für virtuelle Maschinen wurden mit dem neuen virtuellen Gerät vhost_net beschleunigt. Daneben enthält Linux 2.6.34-rc1 zahlreiche neue Treiber, Updates und interne Änderungen.

Die Itanium-Architektur kann nun keine x86-Programme mehr ausführen. Sie konnte das schon seit zwei Jahren nicht mehr, aber niemand bemerkte es bisher. Die Unterstützung für DECnet gilt nun als Auslaufmodell; falls es noch Benutzer dieser veralteten Netzwerktechnologie gibt, die einen aktuellen Kernel benötigen, sollten sie sich bemerkbar machen.

Kernel, Patch-und Änderungslog-Dateien sind von zahlreichen Spiegelservern von kernel.org herunterzuladen.

Quelle : www.pro-linux.de
Titel: TuxOnIce 3.1 erschienen
Beitrag von: SiLæncer am 17 März, 2010, 19:30
TuxOnIce, die erweiterte Alternative zum Suspend- und Resume-Subsystem im Linux-Kernel, wurde in Version 3.1 freigegeben.

Nach fast einem Jahr Entwicklungszeit seit der Freigabe von Version 3.0 bringt Version 3.1 nach Angaben des Hauptentwicklers Nigel Cunningham zahlreiche neue Funktionen (http://marc.info/?l=linux-kernel&m=126870153419442&w=2). Dank der schnellen und trotzdem ausreichend komprimierenden LZO-Kompression wird das Suspendieren schneller und benötigt weniger Platz. Das Speicherabbild kann beim Suspendieren sowohl in Swap-Bereiche als auch in Dateien geschrieben werden, auch in beides gemeinsam und, wenn möglich, parallel. Beim Erwachen aus dem Tiefschlaf ist normalerweise kein Kernel-Parameter mehr nötig, da das System sich die UUIDs aller Dateisysteme merkt und über diese UUIDs seine Signaturen findet. Ferner wird beim Aufwachen geprüft, ob die Partitionen zwischendurch gemountet waren, und die Rückmeldungen an die Benutzer wurden verbessert. Rechner mit viel Speicher sollten außerdem schneller wieder aufwachen.

Das Hibernate-Skript und die grafische Oberfläche von TuxOnIce wurden noch nicht an die neue Version angepasst, dies soll in den nächsten Tagen geschehen. Danach will sich Cunningham bemühen, die Kernel-Suspend-Funktion zu verbessern.

TuxOnIce weist gegenüber dem im offiziellen Kernel integrierten uswsusp etliche zusätzliche Features (http://www.tuxonice.net/features.html) auf, möglicherweise mehr, als die Kernel-Entwickler im Kernel selbst sehen wollen, so dass zwar immer wieder Erweiterungen aus TuxOnIce in den Kernel eingeflossen sind, aber trotzdem beide Systeme parallel weiter bestehen. Die meisten Linux-Distributionen verzichten allerdings auf TuxOnIce, so dass nur Benutzer dieses Subsystem nutzen können, die in der Lage sind, einen eigenen Kernel zu erstellen.

Quelle : www.pro-linux.de
Titel: Kernel-Log: Ceph-Dateisystem in 2.6.34, Kernel- und KVM-Vorträge von den CLT2010
Beitrag von: SiLæncer am 22 März, 2010, 16:37
Linus Torvalds hat das Distributed Network File System aufgenommen und die zweite Vorabversion von 2.6.34 veröffentlicht. Die Länge des Merge Window will er in Zukunft variieren. Präsentationsfolien von den Chemnitzer Linux-Tagen liefern Hintergrundinformationen zu Kernel- und KVM-Themen. Ubuntu hat einen Grafiktreiber von AMD bekommen, der mit dem X-Servern der 1.7er-Reihe zusammenarbeitet.

Schon bei der für viele Subsystem-Verwalter überraschend frühen Freigabe der ersten Vorabversion von Linux 2.6.34 hatte Linus Torvalds angekündigt, trotz Ende des Merge Window vielleicht doch noch das das verteilte Netzwerkdateisystem Ceph aufzunehmen, das bei 2.6.33 außen vor geblieben war. Das tat er dann auch am vergangenen Wochenende und veröffentlichte kurz darauf Linux 2.6.24-rc2 – die sonst übliche Freigabe-Mail zur neuen Version hat die LKML  bislang nicht erreicht.

Ceph ist ein unter der LGPL lizenziertes "Distributed Network File System", das sich laut Beschreibung der Entwickler zur Verwaltung von Datenmengen im Petabyte-Bereich "und darüber hinaus" eignen soll, robust arbeite und zahlreiche Funktionen biete, die vergleichbaren Open-Source-Dateisystemen fehlten. Detailliertere Informationen zu Ceph liefern dessen Homepage, eine zusammen mit dem Dateisystemcode in die Kernel-Quellen integrierte Kurzbeschreibung sowie ein älterer Artikel bei LWN.net, der eine frühere, noch auf Fuse aufsetzende Variante des Dateisystems beschreibt.

Der Dateisystem-Code war nicht die einzige größere Änderungen, die Torvalds nach dem Ende des diesmal zwei Tage kürzeren Merge-Window aufnahm. Auch am Btrfs-Dateisystem, dem SCSI-Subsystem und dem Architektur-Code für ARM-, Blackfin- und Microblaze-CPUs gab es zwischen rc1 und rc2 noch zahlreiche Änderungen – mehr als sonst in dieser Phase üblich, wo es sonst nur noch einige Nachzügler gab. Die Aufnahme der SCSI-Änderungen hatte Torvalds einige Tage zuvor eigentlich zurückgewiesen, damit der Betreuer des SCSI-Codes und andere Subsystem-Verwalter daraus lernen und ihre Änderungen in Zukunft nicht immer auf den letzten Drücker einsenden; offensichtlich ließ er abr noch einmal Milde walten

Dabei hat Torvalds klargestellt, dass er die Länge des Merge Window – der Zeitraum im Entwicklungszyklus einer neuer Kernelversion, in der die wesentlichen Neuerungen aufgenommen werden – in Zukunft variabel halten wird. Er werde auch nicht vorab sagen wird, wie lang das aktuelle Merge Window wird – vielleicht schließe er es auch schon nach sieben Tagen, wenn er das Gefühl bekäme, es sei genug. ("[...]I'm not even going to mention in the release notes how long the merge window is going to be. Maybe I'll say "that's enough" after just one week, [...]"). Damit passt Torvalds einige der (teilweise ungeschriebenen) Regeln für den Entwicklungsprozess des Linux-Kernels wieder leicht an; wer sich für diesen näher interessiert, findet eine Beschreibung der Wichtigsten für die Weiterentwicklung des Linux-Kernels wichtigen Aspekte in einem Artikel in der aktuellen, noch bis zum Wochenende am Kiosk erhältlichen c't 7/10.

Vorträge

Wie im heise open-Artikel zu den am zweiten Märzwochenende abgehaltenen Chemnitzer Linux-Tagen bereits kurz erwähnt, drehten sich die Vorträge in einem der Veranstaltungssäle um den Linux-Kernel und den Kernel-eigenen Hypervisor KVM. Einige der zumeist deutschen Vortragsfolien und Kurz-Paper liefern zahlreiche Informationen für all jene, die die Veranstaltung nicht besuchen konnten:

    * Robert Richter etwa erklärte in "Git is MacGyver - Kernelsourcen mit Git verwalten" (Folien) zahlreiche Praxisaspekte zum Einsatz von Git zur Kernel-Entwicklung.
    * Mit der "Einführung in das Linux Memory Management" (Folien) vermittelt Johannes Weiner einige Hintergründe zur Funktion des Speichermanagements im Linux-Kernel.
    * Stefan Assmann erklärt in seiner "Einführung in Real-Time Linux" (Folien, Kurz-Paper) die Bedeutung von Realtime (RT) und erläutert, wie man sich einen Realtime-Kernel selbst baut.
    * Zum Vortrag "Kernel-Debugging" von Bernhard Walle gibt es nicht nur Folien und ein Kurz-Paper, sondern auch eine Text-Fassung.
    * Wenig Neues dürften regelmäßigen Lesern des Kernel-Logs auf heise open die Folien zum Vortrag "Aktuelle Entwicklungen beim Linux-Kernel" liefern, denn der Vortrag stammt vom Autor des Kernel-Logs und befasst sich im Großen und Ganzen mit Themen, die in der Kolumne ohnehin Thema waren oder sind.
    * Die Folien zu in Jörg Rödels Vortrag "Patch Applied! - Arbeiten mit der Linux-Kernel-Community" vermitteln einige wichtige Aspekte für all jene, die selbst Änderungen zum Linux-Kernel beisteuern wollen.
    * Für Desktop-Systeme vielleicht nur selten von Bedeutung, im High-Performance-Computing (HPC) aber überaus wichtig ist eine optimale Verteilung von Prozessen auf die verschiedenen Kerne und Prozessoren in Multiprozessor-Systemen, was Thema des Vortrags "Why CPU Topology Matters" (Folien) von Andreas Herrmann ist.
    * Alexander Graf gab gleich zwei Vorträge zu KVM: "KVM auf PowerPC" (Folien) und "Nesting the Virtualized World" (Folien).
    * In "Live und in Farbe - Wie funktioniert Live Migration?" (Folien) erklärt André Przywara einige Hintergründe zum Verschieben virtueller Maschinen zwischen unterschiedlichen Systemen, ohne dass das Gastsystem oder die dort laufenden Server-Prozesse dazu gestoppt werden müssen.

Einige der vielen Freiwilligen, die die Chemnitzer Linux-Tage organisiert haben, arbeiten derzeit daran, auch Video- und Audio-Mitschnitte der Vorträge aus den fünf Hauptsälen auf die Homepage der Veranstaltung zu bringen. Die Veranstalter der Anfang des Jahres in Wellington, Neuseeland, abgehaltenen linux.conf.au (LCA) 2010 haben das kürzlich geschafft und Videomitschnitte vieler Vorträge veröffentlicht. Auch hier drehen sich einige der Vorträge – etwa der "Kernel Report" von LWN.net-Gründer und -Aushängeschild Jonathan Corbet – um Kernel- oder Kernel-nahe Themen. Die Präsentationsfolien vieler LCA-2010-Vorträge finden sich schon länger über das Konferenz-Wiki.

Kernel-Log-Staccato

Kernel

    * Greg Kroah-Hartman hat die Stable-Kernel 2.6.32.10 und 2.6.33.1 veröffentlicht, die wie so häufig mehrere Dutzend Korrekturen und kleine Verbesserungen bringen; in den Freigabe-Mails findet sich der übliche Rat zum Wechsel auf eine diese Versionen.
    * Die Aufnahme der von Jiri Slaby für 2.6.34 eingereichten und für eine zukünftige Version von SLES vorgesehenen Writable Limits hat Torvalds in der derzeitigen Form abgelehnt.
    * Nigel Cunningham hat die Version 3.1 von TuxOnIce veröffentlicht – einer Alternative Implementation zur Nutzung von Software-Suspend (Ruhezustand/Hibernate). Am Ende der Freigabe-Mail deutet Cunningham an, sich er sich nach der Arbeit an einigen anderen Dingen rund um TuxOnIce darauf konzentrieren zu wollen, den Software-Suspend-Code des Kernels zu verbessern.

Kernel-Umland ("Plumbing layer") und Userland-Treiber

    * Kernel.org-Administrator John 'Warthog9' Hawley hat angekündigt, dass auf Kernel.org gehostete Dienste wie Bugzilla, Wiki oder Patchwork nun per SSL nutzbar sind.
    * Greg Kroah-Hartman hat die Version 0.87 der Usbutils veröffenlticht.
    * Neil Brown hat die Version 3.1.2 von mdadm freigegeben, die für mit MD-Code des Kernels erzeugte Software-RAIDs nun Standardmäßig das Metadaten-Format 1.2 verwendet.
    * In einem mittlerweile auch für Nicht-Abonnenten von LWN.net zugänglichen Artikel hat Linux Weekly News zahlreiche Aspekte rund um das Zusammenspiel von Linux mit Datenträgern zusammengefasst, die 4-KByte große Sektoren verwenden. Das Thema war dem Kernel-Log bereits mehrfach Thema. Auch auf der LKML führte es kürzlich zu eine längeren Diskussion; die Seite im Linux-ATA-Wiki, auf der die Kernel-Hacker Hintergründe zum Thema sammeln, wurde erst kürzlich wieder erheblich überarbeitet; dabei wurden auch einige Bereiche korrigiert, die sich mit Aspekten rund um den Parallelbetrieb einer Linux-Distribution mit älteren Windows-Versionen wie XP beschäftigen.

Grafik

    * Peter Hutterer hat die Version 1.7.6 des X-Servers von X.org freigegeben, die lediglich einige kleinere Korrekturen bringt.
    * Die neusten der über die Treiberwebseite von AMD verteilten proprietäre Linux-Grafiktreiber arbeiten bislang nicht mit den seit Oktober letzten Jahres erhältlichen X-Server der 1.7er zusammen. Offensichtlich haben die Ubuntu-Entwickler aber für das solch einen X-Server verwendende Ubuntu 10.04 kürzlich eine bei AMD selbst nicht öffentlich vertriebene 8.721-0ubuntu1:Vorabversion eines Treibers bekommen, der dies Manko beseitigt; Anwendern anderer Distributionen mit dem zu X.org 7.5 gehörenden X-Servern hilft das bislang so gut wie nichts. Ähnliche Sonderbehandlungen hat Ubuntu bereits für alle Versionen seit einschließlich Ubuntu 8.10 bekommen; Anwender anderer Distributionen ließ AMDs manchmal monatelang im Regen stehen.
    * Eine Beta-Version eines proprietären Nvidia-Grafiktreibers für GeForce-Grafikhardware bietet bereits Unterstützung für OpenGL 3.3.
    * Die Entwickler des X.org-Treiberpakets ATI haben die Versionen 6.12.6 und 6.12.192 der Treiber für Radeon-Grafikkarten freigegeben; die letztgenannte Version ist der zweite Release Candidate der 6.13er-Treiber und soll die Performance von KMS EXA DFS (und somit GetImage) deutlich steigern.
    * Michel Dänzer hat die Version 11.0.1 der X.org-Grfiktreiber für VMware-Gäste veröffentlicht.
    * Peter Hutterer hat auf der X.org-Entwicklermailingliste einen Überblick gegeben, was seiner Meinung nach alles noch nötig ist, damit X ordentliche Unterstützung für Multitouch bietet.
    * Dave Airlie beschreibt in seinem Blog einige Experimente, um zwei X-Server auf einer Grafikkarte laufen zu lassen – das ist etwa für Multi-Seat-Einsatz interessant.
    * In einem zweiten Blog-Eintrag hat Airlie einige Aspekte rund um einem "Proof of Concept" erklärt, bei dem eine Radeon-Grafikkarte Bildberechnungen durchführt, die anschließend eine Intel-Chipsatzgrafik ausgibt.

Quelle und Links : http://www.heise.de/open/artikel/Kernel-Log-Cluster-Dateisystem-Ceph-in-2-6-34-Kernel-und-KVM-Vortraege-von-den-CLT2010-959928.html
Titel: Linux Kernel 2.6.33.2 (stable) freigegeben
Beitrag von: SiLæncer am 02 April, 2010, 12:25
Das Changelog gibts hier (http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.33.2).

http://www.kernel.org/
Titel: Kernel-Log: Grafiktreiber und Mesa3D aktualisiert, vier neue Stable-Kernel
Beitrag von: SiLæncer am 09 April, 2010, 08:25
Nahezu parallel zur Vorstellung des ersten X-Servers der 1.8er-Serie wurden auch Mesa3D und mehrere Treiber aktualisiert. Vier neue Stable-Kernel bringen Fehlerkorrekturen und kleine Verbesserungen.

Nicht nur der X-Server erschien kürzlich in einer neuen Version, auch viele andere für die Grafikunterstützung in Linux-Distributionen wichtige Bausteine wurden in den vergangenen zwei Wochen aktualisiert.

So hat AMD-Mitarbeiter Alex Deucher die Versionen 6.12.7 und 6.13.0 des Treiberpakets xf86-video-ati veröffentlicht. Während Erstere nur eine kleine Korrektur bringt, wartet Letztere mit zahlreichen neuen Funktionen auf. darunter Unterstützung für zahlreiche neuere Radeon-GPUs, KMS (Kernel-Based Mode-Setting) und einige Stromsparfunktionen moderner Radeon-Grafikchips. Außerdem bietet der Treiber rudimentäre Unterstützung für die Evergreen-GPUs, die auf Radeon-HD-Karten der 5000er-Serie sitzen.

Zu den weiteren Neuerungen der Version 6.13 zählen DRI2-Unterstützung für alle Radeon-GPUs bis zur r700-Serie, die etwa auf der Radeon-Karten der Reihe HD-4000 im Einsatz sind. In Zusammenarbeit mit aktuellem Mesa- und DRM-Code bietet der Treiber 3D-Unterstützung bei GPUs der Serien r600 und r700 (Radeon-HD-Serien 2000, 3000 und 4000). Diese und einige andere Neuerungen finden sich aber bereits jetzt in mehreren Linux-Distributionen, da deren Entwickler teilweise bereits Code aus dem Entwicklerzweig des Treibers eingesetzt haben, aus dem nun die Version 6.13 hervorging.

Die Intel-Entwickler hatten bereits kurz vor der Freigabe des neuen X-Servers die Version 2.11 ihres X.org-Treibers xf86-video-intel freigegeben. Sie unterstützt DRI2 inklusive einiger Funktionen, die eine bessere Abstimmung neuer Darstellungen mit dem Bildwechsel ermöglicht ("page flipping"). Bei einigen älteren Grafikkernen wie denen der 945er-Reihe soll der Treiber deutlich schneller große Pixmaps verarbeiten; zudem unterstützt er bereits jetzt die Grafikkerne der Sandybridge-Prozessoren, die Intel Gerüchten zufolge Anfang nächsten Jahres einführen will. Abermals entfernten die Entwickler alten, für User Mode-Setting (UMS) benötigter Code aus dem schon seit Monaten auf KMS (Kernel-based Mode-Setting) angewiesenen Grafiktreiber, um die Wartung und Weiterentwicklung des Treibers zu erleichtern.

Auch die OpenGL-Bibliothek Mesa erschien kürzlich in neuen Versionen. Mesa 7.7.1 unterscheidet sich allerdings nur durch kleinere Korrekturen vom Vorgänger. Das als "Development Version" gekennzeichnete Mesa 7.8 hingegen bringt neue Features wie deutliche bessere Unterstützung für EGL, State Trackers für OpenGL ES 1.1 und 2.0 sowie Dokumentation für Gallium. Der Gallium-Treiber für Radeon-Grafikchips der Serien r300 bis r500 soll erheblich verbessert sein und jetzt halbwegs stabil, aber weiterhin nicht sonderlich schnell laufen. Am Ostermontag folgte das "Emergency Release" Mesa 7.8.1, das einen Fehler der Vorversion beseitigt.

Jesse Barnes hat zudem die Version 2.4.20 der Libdrm veröffentlicht; sie bringt im wesentlichen kleinere Korrekturen für die Bibliothek, die zwischen Mesa und der Grafikunterstützung des Kernels vermittelt. Freigegeben wurden in den letzten Tagen und Wochen zudem xf86-input-evdev 2.4.0, xf86-input-synaptics 1.2.2 und pixman 0.18.0 – die letztgenannte Software soll einige signifikante Performance-Verbesserungen bringen, wie die Freigabe-Mail erläutert.

Die Entwickler von X.org diskutieren derweil über das weitere Vorgehen bei der Pflege und Weiterentwicklung. Recht sicher scheint, das Peter Hutterer die Pflege der 1.8er-Reihe des X-Servers übernimmt. Dabei will er ähnlich wie schon bei der 1.7er-Reihe alle paar Wochen neue Versionen veröffentlichen, die im wesentlichen Fehler korrigieren. Die Planungen für die Entwicklung des X-Servers 1.9 werden gerade diskutiert. Keith Packard, der auch die Entwicklung der Versions 1.8 vorangetrieben hat, hat vorgeschlagen, neue X-Server nicht wie zuletzt geplant alle sechs Monate zu veröffentlichen, sondern alle drei; erneut diskutiert wird auch die Zusammenführung von Treibern oder Teilen davon mit dem X-Server.

In den letzten März-Tagen hatten zudem AMD und Nvidia neue Versionen ihrer proprietären Linux-Treiber veröffentlicht. Die Version 195.36.15 der Nvidia-Treiber behebt einige Fehler, die zum Absturz des X-Server führten oder Ursache für Performance-Probleme im Zusammenhang mit KDE und Text ohne Antialising waren. Der Treiber bringt zudem Unterstützung für das Treiber-ABI des X-Server 1.8 und einige neuere Grafikchips.

Zu den Neuerungen der Version 10.3 des als fglrx bekannten Catalyst-Treibers von AMD gehört laut den Release Notes die als "Early Look" klassifizierte Unterstützung für das kürzlich freigegebene Red Hat Enterprise Linux 5.5; zudem bringt die neue Version einige Fehlerkorrekturen. Einen Tag später hat das Unternehmen eine experimentelle, mit 10.3 verwandte Treiberversion freigegeben, die bereits OpenGL 4.0 unterstützt.

Linux-Versionsstatus

Die Betreuer der Stable-Series haben am Karfreitag gleich vier neue Kernel-Versionen freigegeben, die kleine Verbesserungen und Fehlerkorrekturen bringen: 2.6.27.46, 2.6.31.13, 2.6.32.11 und 2.6.33.2. In der Freigabe-Mail zur 27er-Version findet sich eine nachdrückliche Empfehlung zum Wechsel auf die neue Version, bei der 32er und 33er nur eine weniger explizite; wie immer gibt es keine Angaben zu Sicherheitskorrekturen. In der Freigabe-Mail zur 31er-Version rät Greg Kroah-Hartman zum Wechsel auf einen 32er- oder 33er-Kernel. Offensichtlich will er die Pflege der 31er-Serie bald endgültig einstellen – das hatte er bereits zuvor angekündigt, die dreizehnte Ausgabe aber wohl doch noch freigegeben, da noch Korrekturen für diese Reihe eingetrudelt waren.

Bereits Ende März hat Linus Torvalds die dritte Vorabversion von 2.6.34 freigegeben. In der vergleichsweise langen Freigabe-Mail gesteht er ein, dass die zweite Vorabversion nicht so rund lief ("Ok, so -rc2 was messy, no question about it."); das verkürzte Merge Window habe sich diesmal nicht wie erhofft ausgewirkt. Er weist Tester zudem auf Probleme hin, die die beiden vorangegangenen Vorabversionen bei Ext3 und SELinux zeigten.

Kernel-Log-Staccato

Kernel

    * Der Maintainer des RCU-Subsystem, Paul E. McKenney, hat in den vergangenen Wochen und Monaten in seinem Blog eine Reihe von Einträgen verfasst, die sich sehr detailliert mit einigen Aspekten des für optimale Nutzung von Multicore-Systeme wichtigen "Parallel Programmings" beschäftigt.

Grafik

    * Tiago Vignatti erläutert in den zwei Blog-Einträgen "Scrutinizing X Memory, part 1: overview()" und "[...] part 2: whatfs taking all that memory?" einige Details, wie man den Speicherverbrauch von X-Anwendungen genauer analysiert.

Kernel-Umland ("Plumbing layer"), Userland-Treiber, Entwicklertools

    * Junio C Hamano hat Git 1.7.0.3 veröffentlicht.
    * Die GCC-Entwickler haben den ersten Release Candidate von GCC 4.5.0 freigegeben.
    * Die Veranstalter der Embedded Linux Conference Europe (ELCE) 2009 stellen auf ihrer Webseite seit kurzem Videoaufzeichnungen vieler auf der Konferenz gehaltenen Vorträge bereit.
    * Karel Zak hat die Version 2.17.2 der bei vielen Distributionen eingesetzen Werkzeugsammlung util-linux-ng freigegeben.
    * Die Systemtap-Entwickler haben die Version 1.2 ihres Tracing- und Debugging-Frameworks veröffentlicht.

Quelle und Links : http://www.heise.de/open/artikel/Kernel-Log-Grafiktreiber-und-Mesa3D-aktualisiert-vier-neue-Stable-Kernel-971209.html
Titel: Kernel-Log – Was 2.6.34 bringt (1): Netzwerkunterstützung
Beitrag von: SiLæncer am 12 April, 2010, 18:53
Der im Mai erwartete Linux-Kernel 2.6.34 enthält neue Netzwerk-Treiber und diverse Verbesserungen, die die Netzwerk-Performance und die Flexibilität bei der Netzwerkkonfiguration insbesondere im Virtualisierungskontext steigern.

Die 2.6.34-Entwicklung läuft bislang ein klein wenig holpriger an als sonst: Erst hat Torvalds viele Entwickler mit dem kürzeren Merge Window übertölpelt, dann erschien der RC2 vergleichsweise spät und brachte mehr Neuerungen mit als üblich; beide Versionen enthielten zudem signifikante Probleme, wie Torvalds beim RC3 eingestehen musste. Zudem ist der RC4 mittlerweile überfällig, denn in dieser Phase des Entwicklungszyklus  erscheinen neue Vorabversionen üblicherweise wöchentlich – die Freigabe des RC3 ist aber bald zwei Wochen her.

Trotz dieses holprigen Starts sollten sich mittlerweile alle wesentlichen Neuerungen für die nächste Version des Hauptentwicklungslinie im Quellcodeverwaltungssystem von Linux finden – das Kernel-Log kann daher bereits jetzt einen umfassenden Überblick über die größten Neuerungen der im Mai erwarteten Linux-Version 2.6.34 geben. Zur besseren Verträglichkeit wird das in einer mehrteiligen Artikel-Serie erfolgen, die sich nach und nach den verschiedenen Funktionsbereichen des Kernels widmet. Den Anfang der Mini-Serie "Was 2.6.34 bringt" macht eine Beschreibung der Änderung rund um die Netzwerkunterstützung des Kernels; in den kommenden Wochen folgen Artikel zu den Neuerungen bei Storage-Hardware, Dateisystemen, Grafik-Unterstützung, Architektur-Code, Treibern und einigen weiteren Funktionsbereichen.

LAN, WLAN, Netzwerk-Stack und Co.

Unter den rund 1300 Änderungen im Haupt-Git-Pull-Request von Netzwerk-Subsystem-Verwalter David Miller finden sich gleich mehrere neue Ethernet-Treiber. Der Treiber ixgbevf (u.a. 1, 2/Dokumentation) etwa spricht aus Gastsystemen mit den per SR-IOV bereitgestellten virtuellen Netzwerkfunktionen von Intels 10-Gigabit-Ethernet-Controllern der 82599-Familie – der diese Chips auf der Host-System betreuende Treiber ixgbe wurde dazu um Unterstützung für SR-IOV erweitert (1, 2, 3). Für die 1G/10G-CNA-Chips QLE8240 und QLE8242 von Qlogic stieß der Treiber qlcnic zum Kernel; neu sind auch die Treiber greth für die 10/100/1G-Ethernet-Chips der Gaisler-Familie von Aeroflex, ksz884x für die Ethernet-Chips Micrel KSZ8841 und KSZ8842 sowie der Treiber smsc75xx für USB-Gigabit-NICs mit den LAN75xx-Chips von SMSC. Erst nach dem RC3 nahmen die Kernel-Entwickler den Treiber cxgb4 (1, 2) für die Gigabit- und 10-Gigabit-Ethernet-Chips Chelsio T4 in den Kernel auf. Den Treiber atl1c erweiterten die Entwickler um Unterstützung für die Atheros-Ethernet-Chips AR8152 und AR8152.

Zum Kernel stieß ferner das zur Steigerung der Performance in Virtualisierungslösungen wie KMS oder Lguest interessante vhost-net – ein im Commit-Kommentar grob beschriebener, im Kernel arbeitender Server für das Virtio-Framework, der den Overhead reduzieren soll, wenn Gastsysteme über die virtuelle Virtio-Netzwerk-Hardware Daten an andere Maschinen verschicken. Flexibleren und flotten Austausch von Netzwerk-Daten zwischen Gastsystemen auf einem Host und einige andere Möglichkeiten bietet der neue Treiber macvtap. Für ihn und den Virtio-Server sind zudem noch zahlreiche weitere Verbesserungen in Vorbereitung, die die Performance und den Funktionsumfang langfristig weiter steigern sollen.

Im WLAN-Stack gab es einige Änderung, um die Stromsparmechanismen moderner WLAN-Chips etwas besser nutzen zu können. Zahlreiche Patches verändern die WLAN-Treiber für die Ralink-Chipsätze der RT2800-Generation und neuer – so richtig rund laufen die noch jungen Treiber auf vielen Chips aber immer noch nicht, daher dürften auch in den kommenden Monaten die Ralink-Treiber aus des Staging-Bereich für viele Anwender die bessere Wahl bleiben.

Der Bridge-Code des Kernels bietet nun Unterstützung für IGMP Snooping. Der Netfilter-Code kennt nun "conntrack zones" und beherrscht TCP-Connection-Tracking für SIP. Der Netzwerk-Stack unterstützt von nun an die in RFC3069 beschriebenen Proxy-Arp-Unterstützung für private VLANs. Jan Kiszka brachte zudem zirka 30 Änderungen ein, die den CAPI-Code im ISDN-Subsystem des Kernels erheblich überarbeiten und dabei zahlreiche Probleme ausräumen sollen.


Die kleinen Perlen

Viele kleinere, aber keineswegs unbedeutende Neuerungen finden sich in der folgenden Liste mit den englischen Commit-Überschriften der jeweiligen Änderung. Die Einträge verlinken genau wie viele der Verweise im vorangegangenen Text auf das Webfrontend des von Linus Torvalds gepflegten Git-Zweigs mit den Kernel-Quellen auf Kernel.org. Im Webfrontend liefern normalerweise der Commit-Kommentar und der Patch selbst zahlreiche weitere Informationen zur jeweiligen Änderungen.

LAN

    * axnet_cs: add new id
    * be2net: Add link test to list of ethtool self tests.
    * e1000e: provide MAC-family-specific function to set LAN ID
    * e1000e: use alternate MAC address on ESB2 if available
    * e1000: Report link status in ethtool when interface is down
    * enic: feature add: add ethtool -c/C support
    * fec: Add LAN8700 phy support
    * fs_enet: Add support for MPC512x to fs_enet driver
    * igb: add support for wake-on-link
    * igb: Report link status in ethtool when interface is down
    * igb: support for VF configuration tools
    * ipg: Remove device claimed by dl2k from pci id table
    * ixgbe: Add support for the new ethtool n-tuple programming interface
    * lib/vsprintf.c: Add IPV4 options %pI4[hnbl] for host, network, big and little endian
    * macvlan: allow multiple driver backends
    * macvtap: add GSO/csum offload support
    * MCS7830 USB-Ether: add Rx error support
    * net: add ColdFire support to the smc91x driver
    * net: Add netdev ops for SR-IOV configuration
    * NET: Add Qlogic ethernet driver for CNA devices
    * net: Delete isa-skeleton net driver
    * net: emaclite: adding MDIO and phy lib support
    * net: Kconfig change for KSZ884X driver
    * net/macvtap: add vhost support
    * pcnet_cs: add new id
    * phy: SMSC device Energy Detect power-down mode
    * qlge: Add basic firmware dump.
    * qlge: Add module param to force firmware core dump.
    * sfc: Enable autonegotiated flow-control by default if supported
    * stmmac: add documentation for the driver.
    * tg3: Abort phy init for 5717 serdes devices
    * tg3: Add 5717 serdes phy ID
    * tg3: Add 57765 phy ID and enable devices.
    * tg3: Make 57791 and 57795 10/100 only
    * tg3: Turn off multiple DMA reads for 5717
    * via-velocity: Enable scatter/gather IO by default virtio: disable multiport console support.

WLAN

    * Add a pci-id to the mwl8k driver
    * Add Station and AdHoc mode support to libertas_tf
    * Add USB ID for Thomson SpeedTouch 120g to p54usb id table
    * ar9170: add support for NEC WL300NU-G USB dongle
    * ar9170usb: add Sphairon Homelink 1202 USB ID
    * ath5k: adding LED support for AR5BXB63 cards
    * ath9k: add support for 802.11n bonded out AR2427
    * ath9k: implement coverage class support
    * b43: add new SSB's core id for BCM4328
    * b43: Allow PIO mode to be selected at module load
    * b43: Declare at least one real firmware file using MODULE_FIRMWARE.
    * b43: fall back gracefully to PIO mode after fatal DMA errors
    * b43legacy: Declare all possible ucodeX.fw files
    * cfg80211: add regulatory hint disconnect support
    * cfg80211: add remain-on-channel command
    * cfg80211/mac80211: allow registering for and sending action frames
    * cfg80211: process the max power on a country IE
    * iwlwifi: Add chain_noise support for 6050
    * iwlwifi: add continuous uCode event log capability
    * iwlwifi: cleanup spectrum measurement command support
    * iwlwifi: module parameter to enable/disable bt co-exist
    * iwlwifi: optimize power saving
    * mac80211: add U-APSD client support
    * mac80211: allow disabling 40MHz on 2.4GHz
    * mac80211/cfg80211: add station events
    * mac80211: enable spatial multiplexing powersave
    * mac80211: generalise work handling
    * mac80211_hwsim: add fake hw scan handler
    * mac80211: improve powersave documentation
    * mac80211: introduce flush operation
    * mac80211: let cfg80211 manage auth state
    * mac80211: support remain-on-channel command
    * MAINTAINERS: update mwl8k maintenance status
    * mwl8k: add 2.4GHz channels 12, 13 and 14
    * mwl8k: add 5 GHz band channels and rates
    * mwl8k: add another 88w8366 PCI ID
    * mwl8k: add support for 88w8363 in STA mode
    * mwl8k: bail out if there is no AP firmware image support for this chip
    * mwl8k: basic AP interface support
    * mwl8k: update MODULE_FIRMWARE tags
    * nl80211: Add new WIPHY attribute COVERAGE_CLASS
    * nl80211: add power save commands
    * p54usb: Add the USB ID for Belkin (Accton) FD7050E ver 1010ec
    * p54usb: Add usbid for Corega CG-WLUSB2GT.
    * ps3_gelic_wireless: Remove PS3 gelic legacy wpa support
    * rt2x00: Add USB ID for CEIVA adapter to rt73usb
    * rt2x00: Disable powersaving by default in rt2500usb.
    * rt2x00: Introduce SoC interface type.
    * rt2x00: Reorganize RT chipset setting for PCI/SOC devices.
    * rt2x00: rework RT chipset and revision determination for PCI an SOC devices.
    * rt2x00: rt2800 - Make rt30xx and rt35xx chipsets configurable.
    * rt73usb: add WLI-U2-H54HP
    * wireless: remove CONFIG_WIRELESS_OLD_REGULATORY
    * wireless: support internal statically compiled regulatory database
    * wl1251: add U-APSD support
    * wl1251: enable WMM
    * wl1251: implement WMM
    * wl1271: Add rudimentary ad-hoc support
    * wl1271: add testmode support
    * wl1271: Implement chipset boot retry

Netzwerk-Stack, Netfilter und Co.

    * Bluetooth: Add controller types for BR/EDR and 802.11 AMP
    * Bluetooth: Convert debug files to actually use debugfs instead of sysfs
    * bridge: Add hash elasticity/max sysfs entries
    * bridge: Add multicast count/interval sysfs entries
    * bridge: Add multicast data-path hooks
    * bridge: Add multicast forwarding functions
    * bridge: Add multicast_router sysfs entries
    * bridge: Add multicast_snooping sysfs toggle
    * bridge: Add multicast start/stop hooks
    * can: add support for CAN interface cards based on the PLX90xx PCI bridge
    * can: mscan-mpc5xxx: add support for the MPC512x processor
    * can/netlink: add CAN_CTRLMODE_ONE_SHOT
    * can: Proper ctrlmode handling for CAN devices
    * can:ti_hecc: Add pm hook-up
    * CAPI: Remove experimental tag from middleware feature
    * CAPI: Rework locking of controller data structures
    * CAPI: Sanitize capifs API
    * CAPI: Schedule capifs for removal
    * dccp: allow probing of CCID-array length
    * doc: document IPv6 parameters
    * ethtool: Introduce n-tuple filter programming support
    * gigaset: small documentation improvement
    * igb: Add support for 82576 ET2 Quad Port Server Adapter
    * ipv4: allow warming up the ARP cache with request type gratuitous ARP
    * IPVS: Allow boot time change of hash size
    * ipvs: SCTP Trasport Loadbalancing Support
    * ISDN: Add PCI ID for HFC-2S/4S Beronet Card PCIe
    * isdn: fix a few Kconfig imperfections
    * llc: optimize multicast delivery
    * llc: use a device based hash table to speed up multicast delivery
    * net/9p: Add sysfs mount_tag file for virtio 9P device
    * net: add limit for socket backlog
    * net: add scheduler sync hint to tcp_prequeue().
    * netfilter: ctnetlink: add zone support
    * netfilter: ctnetlink: netns support
    * netfilter: ctnetlink: support selective event delivery
    * netfilter: ebtables: add CONFIG_COMPAT support
    * netfilter: nf_conntrack_sip: add T.38 FAX support
    * netfilter: nf_conntrack: support conntrack templates
    * netfilter: nf_nat_sip: add TCP support
    * netfilter: nf_nat: support mangling a single TCP packet multiple times
    * netfilter: nfnetlink: netns support
    * netfilter: xtables: add CT target
    * netfilter: xtables: optimize call flow around xt_ematch_foreach
    * netfilter: xtables: optimize call flow around xt_entry_foreach
    * netfilter: xt_connlimit: netns support
    * netfilter: xt_hashlimit: netns support
    * netfilter: xt_recent: netns support
    * net/irda: sh_sir: Add SuperH IrDA driver
    * net: TCP thin dupack
    * net: TCP thin linear timeouts
    * net: TCP thin-stream detection
    * packet: Add GSO/csum offload support.
    * packet: Kill CONFIG_PACKET_MMAP.
    * powerpc/mpc5xxx: add OF platform binding doc for FSL MSCAN devices
    * qeth: HiperSockets Network Traffic Analyzer
    * rfkill: Add support for KEY_RFKILL
    * timestamping: fix example build tun: socket filter support

Quelle : www.heise.de
Titel: Android will in den Linux-Kernel zurückkehren
Beitrag von: SiLæncer am 16 April, 2010, 18:56
Android- und Linux-Entwickler treffen sich, um über die Wiederaufnahme des Google-Projekts in den offiziellen Kernel zu diskutieren. Google-Entwickler Chris DiBona spricht von einem mehrjährigen Prozess.

Die Entwickler des Android- und des Linux-Kernels wollen auf dem diesjährigen Linux Collaboration Summit (LCS) diskutieren, wie der geschasste Android-Zweig des Linux-Kernels wieder mit dem Hauptzweig vereint werden kann. Die Android-Treiber waren vor wenigen Monaten von Greg Kroah-Hartmann aus dem Kernel entfernt worden. Kroah-Hartmann hatte damals bemängelt, der Android-Zweig werde nicht genügend gepflegt.

Anfang März hatte sich DiBona zuversichtlich geäußert, dass der Android-Zweig wieder in den Kernel integriert werde. Auf der LCS sprach er allerdings davon, dass nicht alle Teile der Android-Treiber für den Mainstream-Kernel relevant seien, etwa der Code für Chipsätze von Qualcomm, die nur in mobilen Geräten vorkommen. Der Reintegrationsprozess könnte sich sogar über mehrere Jahre hinziehen. Man wolle die Integration aber unbedingt, so DiBona.

Kernel-Entwickler Bottomley erinnerte daran, dass Abspaltungen vom Linux-Kernel - sogenannte Forks - vor allem für Embedded-Systeme nicht nur üblich seien, sondern sie oft nach Gebrauch weggeworfen würden. Meist geschieht dies unbemerkt, im Falle von Android sei das Projekt aber äußerst prominent.

Quelle : www.golem.de
Titel: Kernel-Log – Was 2.6.34 bringt (2): Dateisysteme
Beitrag von: SiLæncer am 24 April, 2010, 07:09
Der Linux-Kernel wird mit der Version 2.6.34 erstmals die Dateisysteme Ceph und LogFS unterstützten. Einige Änderungen am Btrfs- und XFS-Code versprechen bessere Performance. Außerdem soll der Kernel soll nun besser mit Platten umgehen können, die mit 4 KByte großen logischen Sektoren arbeiten.

Dienstag früh hat Linus Torvalds die fünfte Vorabversion von Linux 2.6.34 veröffentlicht. In der Freigabe-Mail hebt Torvalds unter anderem eine Korrektur für ein Problem im ACPI-Subsystem hervor, das mehrere Tester geplagt hatte.

Nach den Anlaufschwierigkeiten zu Beginn der 2.6.34-Entwicklung erschien der RC5 – wie in dieser Phase des Entwicklungszyklus üblich – ungefähr eine Woche nach dem RC4. Den hatte Torvalds ungewöhnlich spät veröffentlicht, denn er und einige andere Entwickler hatten zuvor tagelang einem Fehler in Memory-Management-Code des Kernels nachgespürt. Dabei entstanden neben einer sehr langen Diskussion auch Korrekturen für einige andere bei der Suche entdeckte Fehler. Details zu den Vorgängen und einen tiefen Einblick in einen Teil des Virtual-Memory-Subsystems liefert der Artikel "The case of the overly anonymous anon_vma" bei LWN.net.

Nach dem ersten, den Änderungen im Netzwerk-Bereich gewidmeten Teil der Mini-Serie "Was 2.6.34 bringt" beschäftigt sich dieses Kernel-Log mit den Neuerungen rund um Dateisysteme; folgen werden in den kommenden Wochen noch Artikel zur Grafik-Unterstützung, zum Architektur-Code, zu Treibern und einigen weiteren Funktionsbereichen.

Neuzugänge

Die Zahl der vom Linux-Kernel unterstützen Dateisysteme hat sich durch die Aufnahme von Ceph und LogFS abermals erhöht.

Bei Ceph (Git-Pull-Request) handelt es sich um ein experimentelles und unter der LGPL lizenziertes "Distributed Network File System" – also ein verteiltes, replizierendes Netzwerkdateisystem für Cluster. Es soll sich laut Beschreibung der Entwickler zur Verwaltung von Datenmengen im Petabyte-Bereich "und darüber hinaus" eignen, bereits robust arbeiten und zahlreiche Funktionen bieten, "die vergleichbaren Open-Source-Dateisystemen fehlen".

Dazu gehört die Möglichkeit, das Dateisystem einfach durch Hinzustecken weiterer Server zu erweitern, wobei Ceph die Daten automatisch auf die neuen Server verteilt; zudem versucht das Dateisystem durch eine automatische Umverteilung der Daten den Datendurchsatz zu steigern. Zum Speichern der Daten verwendet es Teile des ebenfalls noch experimentellen Btrfs-Dateisystem-Codes; dennoch soll das als Forschungsprojekt am Storage Systems Research Center der Universität von Santa Cruz entstandene Dateisystem bereits benutzbar sein. Die Entwickler empfehlen bei wichtigen Daten allerdings dringend ein Backup.

Einen guten Überblick über Ceph bietet der beim amerikanischen Linux Magazine erschienene Artikel "Ceph: The Distributed File System Creature from the Object Lagoon" des auf HPC (High-performance computing) spezialisierten Dell-Mitarbeiters Jeffrey B. Layton. Weitere Informationen zu Ceph liefern die Kurzbeschreibung zu Ceph, die zusammen mit dem über mehr als 200 Commits verteilten Dateisystemcode integriert wurde, sowie ein älterer Artikel bei LWN.net, der eine frühere, noch auf Fuse aufsetzende Variante des Dateisystems beschreibt.

Auch mit dem zweiten neuen Dateisystem dürften die meisten Anwender zumindest auf absehbare Zeit eher selten direkt in Berührung kommen, denn LogFS ist ein mit Log-Strukturen arbeitendes Dateisystem, das primär für die im Embedded-Bereich eingesetzte Flash-Medien ohne Wear Levelling interessant ist. Grob gesprochen erledigt das maßgeblich vom deutschen Entwickler Jörn Engel entwickelte Dateisystem genau jene Dinge, um die sich bei SSDs (Solid-State Disks) mit SATA-Anschluss die Firmware kümmert – weshalb LogFS für Desktop-SSDs nicht interessant ist, denn dort dürften sich der Flash Translation Layer (FTL) und das Dateisystem zumeist in die Quere kommen. Einige Hintergründe zu LogFS liefern ein von 2007 stammender LWN.net-Artikel und die Dokumentation zu LogFS in den Kernel-Quellen.

Tuning

Btrfs-Maintainer Chris Mason hat einige der wichtigsten und erst nach Ende des Merge Window in den Hauptentwicklungszweig eingepflegten Änderungen an Btrfs in seinen Git-Pull-Request kurz erläutert. So lässt sich in Zukunft festlegen, welches Subvolume standardmäßig eingebunden wird, wenn keines explizit angegeben wurde. Das soll für Distributionen interessant sein, die vor dem Einspielen von Updates einen Btrfs-Snapshot erzeugen, damit Anwender bei Problemen auf einen älteren Stand zurück wechseln können – an solch einer Funktion arbeiten einige Red-Hat-Entwickler für Fedora 13.

Eine Überarbeitung am Defrag-Code von Btrfs soll nicht nur Fehler beseitigen, sondern auch das Komprimieren ausgewählter Dateien auf sonst nicht mit Kompression arbeitenden Volumes ermöglichen; zudem können nun auch Teilbereiche einer Datei defragmentiert werden. Ferner gab es Optimierungen, durch die aktualisierte Dateien schneller zu finden sein sollen.

Nicht gefallen haben Torvalds einige für SquashFS eingereichte Verbesserungen, die das für unter anderem bei Live-CDs verwendete Dateisystem um Unterstützung für die Kompression mit LZMA erweitern. Der Autor will den Code jetzt überarbeiten, wird dazu jedoch einige Zeit brauchen. Einige Funktionen, die die Basis für LZMA- und LZO-Kompression legen, sowie einige andere Änderungen an SquashFS fanden dennoch den Weg in den Hauptentwicklungszweig.

Verschiedene Optimierungen am XFS-Code sollen den Datendurchsatz bei manchen Aufgaben steigern – Details zu diesen und anderen Änderungen am XFS-Code liefern die "XFS status updates" für Februar und März. Das bei 2.6.30 integrierte und für OSDs (Object-Based Storage Devices) gedachte Exofs (Extended Object File System) unterstützt nun RAID 0; RAID 5 und 6 seien in Planung.

Das Dateisystem nilfs2 kann nun Discard-Kommandos absetzen und so etwa SSDs über freigegeben Bereiche informieren. Durch eine Änderung am Paritionierungs-Code soll der Linux-Kernel auch mit Festplatten umgehen können, die nicht nur physisch, sondern auch logisch 4-KByte große Sektoren nutzen. Solche will Western Digital laut Commit-Kommentar und einer vorangegangenen Diskussion auf der LKML bald einführen, um damit die Begrenzung auf maximal 2 Terabyte große Partitionen bei der Festplatten-Einteilung mit MBR zu umschiffen.

Die kleinen Perlen

Viele kleinere, aber keineswegs unbedeutende Neuerungen finden sich in der folgenden Liste mit den englischen Commit-Überschriften der jeweiligen Änderung. Die Einträge verlinken genau wie viele der Verweise im vorangegangenen Text auf das Webfrontend des von Linus Torvalds gepflegten Git-Zweigs mit den Kernel-Quellen auf Kernel.org. Im Webfrontend liefern normalerweise der Commit-Kommentar und der Patch selbst zahlreiche weitere Informationen zur jeweiligen Änderungen.

Btrfs

   * Btrfs: add a "df" ioctl for btrfs
    * Btrfs: add ioctl and incompat flag to set the default mount subvol
    * Btrfs: add search and inode lookup ioctls
    * Btrfs: cache the extent state everywhere we possibly can V2
    * Btrfs: kill max_extent mount option
    * Btrfs: make df be a little bit more understandable
    * Btrfs: make subvolid=0 mount the original default root Btrfs: run the backing dev more often in the submit_bio helper

Ext-Familie

   * ext4: Add new tracepoint for jbd2_cleanup_journal_tail
    * ext4: Add new tracepoints to debug delayed allocation space functions
    * ext4: deprecate obsoleted mount options

Weitere:

   * 9P2010.L handshake: Add mount option
    * 9p: documentation update
    * add several pieces to shared subtree documentation
    * CIFS: Add mmap for direct, nobrl cifs mount types
    * doc: add the documentation for mpol=local
    * Documentation/fs/: split txt and source files
    * exofs: Define on-disk per-inode optional layout attribute
    * exofs: groups support
    * fs/9p: Add hardlink support to .u extension
    * FS-Cache: Remove the EXPERIMENTAL flag
    * net/9p: Add multi channel support.
    * nfsd: 4.1 has an rfc number
    * ocfs2_dlmfs: Add capabilities parameter.
    * ocfs2/userdlm: Add tracing in userdlm
    * quota: split out compat_sys_quotactl support from quota.c
    * reiserfs: properly honor read-only devices
    * Remove EXPERIMENTAL from NFS_FSCACHE
    * Squashfs: add a decompressor framework
    * Squashfs: add decompressor entries for lzma and lzo
    * xfs: Add trace points for per-ag refcount debugging.
    * xfs: add tracing to xfs_swap_extents
    * xfs: implement optimized fdatasync
    * xfs: Non-blocking inode locking in IO completion xfs: Use delayed write for inodes rather than async V2

Quelle : www.heise.de
Titel: Linux-Kernel: Updates für die Versionen 2.6.32 und 2.6.33
Beitrag von: SiLæncer am 27 April, 2010, 10:48
Die eben erschienenen Versionen 2.6.32.12 und 2.6.33.3 des Linux-Kernels bringen etliche Reparaturen mit. In beiden Versionen wurden die Kernel-Mode-Settings für Radeon-Chipsätze aktualisiert, außerdem wurde Version 2.6.32.12 mit Bugfixes am XFS-Dateisystem bedacht.

Mit jeweils weit über einhundert Bugfixes sind die Versionen 2.6.32.12 und 2.6.33.3 des Linux-Kernels erschienen. Die meisten Reparaturen flossen in die Kernel-Mode-Settings des Radeon-Treibers und betreffen dort die TV-Ausgabe über den Digital-Analog-Umsetzer (DAC).

In der Version 2.6.32.12 haben die Kernel-Entwickler am EXT4- und XFS-Dateisystem gearbeitet und einen Fehler in den Dateiattributen im verschlüsselten Dateisystem Ecryptfs behoben. In der Kernel-Virtual-Machine (KVM) wurde ein Speicherleck gestopft. Zudem wurde die Unterstützung des Kernels für EEEPCs und das ACPI der Thinkpad-Notebooks aktualisiert.

Kernel-Version 2.6.33.3 hingegen bringt zahlreiche Reparaturen in den Wireless-Treibern mit, unter anderem am B43-Treiber für Broadcom-Chipsätze und etlichen Intel-Chips. Auch der Wireless-Stack Mac80211 wurde überarbeitet. Neben den Reparaturen an den Kernel-Mode-Settings flossen auch Bugfixes in den DRM-Treiber für Radeon-Chipsätze ein.

Quelle : www.golem.de
Titel: AMD Phenom II X6 lahmt unter Linux durch Konflikt mit Stromsparfunktionen
Beitrag von: SiLæncer am 04 Mai, 2010, 15:29
Die Cpufreq-Treiber zur Nutzung von Stromsparfunktionen moderner AMD-Prozessoren interpretieren die Angaben zu den verfügbaren Taktstufen von Prozessoren mit Turbo Core falsch. AMDs kürzlich eingeführte Desktop-Prozessoren wie der Sechskerner Phenom II X6 1090T können daher bei vielen aktuellen Linux-Distributionen nicht ihr volles Geschwindigkeitspotenzial entfalten. Das Problem lässt sich durch Deaktivieren von Cool'n'Quiet oder mit Hilfe von Kernel-Patches beseitigen.

Hintergründe zu dem Problem liefert ein Artikel auf heise open:

    * Performance-Schwäche bei AMDs Phenom II X6 unter Linux (http://www.heise.de/open/artikel/Performance-Schwaeche-bei-AMDs-Phenom-II-X6-unter-Linux-992514.html)

Quelle : www.heise.de
Titel: Kernel-Log – Was 2.6.34 bringt (3): Grafik
Beitrag von: SiLæncer am 06 Mai, 2010, 20:09
Die Treiber für Grafikchips von AMD und Intel unterstützen nun mehr Grafikchips als zuvor und nutzen die Stromsparmechanismen älterer Chips besser. Durch größere Umbaumaßnahmen am noch jungen KMS-Treiber für Grafikhardware von Nvidia ist der Nouveau-Treiber für X.org in Zukunft auf Kernel-based Mode-Setting angewiesen.

Nach der Umbenennung des Kernels in "Sheep on Meth" bei Linux 2.6.34-rc5 hat Linus Torvalds Ende vergangener Woche die sechste Vorabversion Linux-Version 2.6.34 veröffentlicht. Die Rate und der Umfang der Änderungen geht wie in diesem Abschnitt des Entwicklungszyklus  üblich langsam zurück; aber abgesehen von einer vagen Andeutung, dass sich der Fertigstellung von 2.6.34 nähere, macht Torvalds keine Angaben zum Veröffentlichungszeitpunkt der in den nächsten ein bis drei Wochen erwarteten neuen Kernel-Version.

Das Kernel-Log will derweil die Berichterstattung über die Neuheiten von 2.6.34 fortsetzen und widmet sich im folgenden dritten Teil der Mini-Serie "Was 2.6.34 bringt" den Änderungen rund um den Code zur Unterstützung von Grafikhardware. Über die wichtigsten Änderungen rund um Netzwerkunterstützung und Dateisysteme hatten wir im ersten und zweiten Teil der Serie berichtet.

AMD

Zu einer der langfristig wohl wichtigsten Neuerungen dürfte die Integration von Patches zählen, die den für Kernel-Based Mode-Setting (KMS) zuständigen Radeon-DRM-Treiber um rudimentäre Unterstützung für die als Evergreen oder R800 bekannten Grafikchips erweitern. Dadurch wird der Kernel fortan viele der seit Herbst letzten Jahres eingeführten Grafikkarten der Radeon-HD-5000-Serie ansprechen können, auf denen solche Grafikchips zum Einsatz kommen. Bislang nutzt der Treiber zwar keine der Beschleunigungsfunktionen dieser GPUs, ähnlich war es am Anfangs aber auch bei den mittlerweile recht ordentlich arbeitenden Treibern für ältere Grafikhardware aus der Radeon-Familie.

Der KMS-Treiber kann bei älteren Radeon-GPUs ab 2.6.34 einige der dynamischen Stromsparmechanismen aktivieren; zahlreiche weitere Verbesserungen in diesem Bereich sind für kommende Kernel-Versionen in Vorbereitung. Um Schadcode zu unterbinden, prüft der Radeon-DRM-Treiber zudem in Zukunft vorab die an den Grafikchip weitergeleiteten Kommandos auf Korrektheit.

Intel

Der Intel-KMS-Treiber wird bereits mit 2.6.34 Unterstützung für den Grafikkern der bislang nur unter dem Codenamen Sandybridge bekannten Prozessoren bieten, die Intel Spekulationen zufolge Anfang nächsten Jahres vorzustellen gedenkt. Bei Intels-Chipsätzen der 9xx-Reihe aktiviert der Treiber nun den Memory Self Refresh, wenn die CPU in einen tiefen Schlafmodus wechselt – laut dem Commit-Kommentar hat das die Leerlauf-Leistungsaufnahme eines Netbooks mit 945GSE um 0,8 Watt gesenkt.

Bei den Anfang dieses Jahres eingeführten Intels-CPUs der Core-Baureihen i3 und i5 kann der Kernel nun die Taktfrequenz des Ironlake genannten Grafikkerns anpassen. Diese Funktion wird auch benötigt, um bei den Mobil-Varianten der genannten Prozessoren die Taktfrequenz des Grafikkerns per Turbo Boost über den Nominaltakt steigern – damit dieses "Intelligent Power Sharing" genutzt wird, sind allerdings weitere, noch in Entwicklung befindliche Änderungen nötig.

Nvidia

Der Nouveau-Treiber für GeForce-Grafikhardware bringt nun alles Nötige mit, um bei Bedarf dynamisch eine Open-Source-Firmware für NV50-GPU zu erzeugen – GeForce-Grafikchips der Serien 8xxx, 9xxx und GTX2x0 laufen daher nun ohne die umstrittenen und mit Hilfe der proprietären Grafiktreiber entstandenen Ctxprogs. Durch einige andere größere Umbaumaßnahmen am Treiber werden die für Linux 2.6.33 passenden Nouveau-Treiber für X.org genauso wenig mit dem Kernel 2.6.34 zusammenarbeiten wie die umgekehrte Kombination. Solche inkompatiblen Änderungen an den Treiber-Schnittstellen zum Userspace sind normalerweise nicht erlaubt, nach Einschätzung einiger Kernel-Hacker aber in diesem Fall akzeptabel, weil Nouveau noch ein Staging-Treiber ist. Trotzdem mussten sich die Nouveau-Entwickler allerlei Kritik von Torvalds auf der Linux-Kernel-Mailingliste anhören. Ihn stört vor allem, dass Tester nun nicht so einfach zwischen verschiedenen Kernel-Versionen wechseln können, um herauszufinden, seit wann ein bestimmter Fehler auftritt.

Einer der Gründe für die Anpassung der API war die Entfernung vieler Schnittstellen, auf die der X.org-Treiber im Nicht-KMS-Betrieb angewiesen war; da die Entwickler auch die Gegenstücke zum sogenannten User Mode-Setting (UMS) im Entwicklerzweig des X.org-Treibers entfernten, ist KMS für Nouveau in Zukunft genauso Pflicht wie schon jetzt bei aktuellen Versionen des Grafiktreibers für Intel-GPUs. Die aktuellen Ausgaben des Radeon-X.org-Treibers enthalten alle noch UMS-Code – über kurz oder lang dürften die Entwickler ihn aber ebenfalls entsorgen.

Umschalten

Bei einigen mit Chipsatzgrafik und separatem Grafikchip ausgestatteten Notebooks kann der Kernel nun zwischen den beiden umschalten und die jeweils nicht genutzte Grafikeinheit ausschalten, um Strom zu sparen. Die VGA-Switcheroo genannte Funktion arbeitet aber bislang nur auf ausgewählten Notebooks und bietet nicht den von Windows genannten Komfort, denn die Umschaltung erfolgt erst beim Neustart des X-Servers; daran soll sich auch in absehbarer Zukunft nichts ändern. Einige Hintergründe zu VGA-Switcheroo liefern einige ältere Blog-Einträge von Dave Airlie (1, 2, 3, 4, 5).

Die kleinen Perlen

Viele kleinere, aber keineswegs unbedeutende Neuerungen finden sich in der folgenden Liste mit den englischen Commit-Überschriften der jeweiligen Änderung. Die Einträge verlinken genau wie viele der Verweise im vorangegangenen Text auf das Webfrontend des von Linus Torvalds gepflegten Git-Zweigs mit den Kernel-Quellen auf Kernel.org. Im Webfrontend liefern normalerweise der Commit-Kommentar und der Patch selbst zahlreiche weitere Informationen zur jeweiligen Änderungen.

    * agp/intel: Add support for Sandybridge.
    * agp/intel: official names for Pineview and Ironlake
    * backlight: Enable backlight in 88pm860x
    * backlight: Enable max8925 backlight
    * backlight: mbp_nvidia_bl - add five more MacBook variants
    * broadsheetfb: support storing waveform
    * drivers/video/efifb.c: support framebuffer for NVIDIA 9400M in MacBook Pro 5,1
    * drm: Add generic multipart buffer.
    * drm/i915: Add a new mobile Sandybridge PCI ID.
    * drm/i915: Disable FBC on 915GM and 945GM.
    * drm/i915: enable/disable LVDS port at DPMS time
    * drm/i915: give up on 8xx lid status
    * drm/i915: Record batch buffer following GPU error
    * drm/i915: Stop trying to use ACPI lid status to determine LVDS connection.
    * drm/i915: Use a dmi quirk to skip a broken SDVO TV output.
    * drm/i915: use PIPE_CONTROL instruction on Ironlake and Sandy Bridge
    * drm/nouveau: add module option to disable TV detection
    * drm/nouveau: add option to allow override of dcb connector table types
    * drm/nouveau: Fix noaccel/nofbaccel option descriptions.
    * drm/nouveau: Gigabyte NX85T connector table lies, it has DVI-I not HDMI
    * drm/nv40: add LVDS table quirk for Dell Latitude D620
    * drm/radeon: add new RS880 pci id
    * drm/radeon/kms: add a power state type based on power state flags
    * drm/radeon/kms: add code to select power state
    * drm/radeon/kms: add functions to get current pcie lanes
    * drm/radeon/kms: add HDMI code for pre-DCE3 R6xx GPUs
    * drm/radeon/kms: add hw_i2c module option
    * drm/radeon/kms: add LVDS pll quirk for Dell Studio 15
    * drm/radeon/kms: add support for hardcoded edids in rom (v2)
    * drm/radeon/kms: add support for hw i2c on r1xx-r5xx
    * drm/radeon/kms: add workaround for rn50/rv100 servers
    * drm/radeon/kms: bump the KMS version number for square tiling support.
    * drm/radeon/kms: disable MSI on IGP chips
    * drm/radeon/kms: display watermark updates (v2)
    * drm/radeon/kms: dynclks fixes
    * drm/radeon/kms: enable ACPI powermanagement mode on radeon gpus.
    * drm/radeon/kms/evergreen: get DP working
    * drm/radeon/kms: expose thermal/fan i2c buses
    * drm/radeon/kms: print GPU family and device id when loading
    * drm/radeon/kms/r600: reduce gpu cache flushing
    * drm/radeon/kms: update new pll algo
    * drm/radeon/kms: use power states for dynamic reclocking
    * fbdev: remove obsolete CONFIG_FB_SOFT_CURSOR
    * fbdev: rename imacfb.txt to efifb.txt and change imacfb to efifb.
    * NUC900 LCD Controller Driver
    * vgaarb: Add user selectability of the number of GPUS in a system
    * vga_switcheroo: disable default y by new rules.
    * viafb: support color depth 15 and 30

Quelle : www.heise.de
Titel: Kernel-Log: Neue Stable-Kernel und Grafiktreiber
Beitrag von: SiLæncer am 11 Mai, 2010, 13:50
Die Stable-Kernel scheinen neuerdings etwas seltener zu erscheinen, dafür aber mehr Änderungen mitzubringen. AMDs proprietäre Grafiktreiber arbeiten endlich mit X-Server 1.7, die von Nvidia bereits mit dem X-Server 1.8. Videos von der Linux Audio Conference und dem Collaboration Summit liefern Einblicke in Audio- und Kernel-Themen.

Bereits Ende April haben die Betreuer der Stable-Series die Linux-Kernel 2.6.32.12  und 2.6.33.3  veröffentlicht. Beide erschienen dreieinhalb Wochen nach ihren jeweiligen Vorgängern und enthielten knapp 200  beziehungsweise gut 130  Patches – es scheint ein wenig, als würde derzeit sowohl der Abstand zwischen neuen Releases der Stable-Kernel als auch die Zahl der Änderungen größer.

Einen LKML-Thread zum Review der Änderungen für die nächsten Stable-Kernel gibt es bislang nicht, Greg Kroah-Hartman hat allerdings bereits einige Patches dafür in seinen Git-Zweig integriert. Unter den Änderungen für die nächsten 32er- und 33er-Versionen findet sich auch der Einzeiler, der das kürzlich bekannt gewordenen Problem bei AMD-Prozessoren mit Turbo Core beseitigt.

Im Hauptentwicklungszweig kommt sich die Freigabe von 2.6.34 näher, wie Torvalds in der Freigabe-Mail zur siebten Vorabversion andeutete. Nach der Benennung mit "Man-Eating Seals of Antiquity" bei Linux 2.6.30 gab Torvalds dem Kernel beim RC5 von 2.6.34 mal wieder einen neuen Namen: "Sheep on Meth".

Grafiktreiber

AMD hat in den letzten April-Tagen die Version 10.4 seiner als fglrx oder Catalyst bekannten proprietären Grafiktreiber für moderne Radeon-Grafikkarten freigegeben. Die Release Notes zu der neuen Version listen als Haupt-Neuerung lediglich die als "Early Look" klassifizierte Unterstützung für das kürzlich freigegebene Ubuntu 10.04. Damit arbeitet der Treiber jetzt auch mit den seit Oktober vergangenen Jahres erhältlichen X-Servern der 1.7er-Serie zusammen – und funktioniert auch auf vielen anderen Distributionen, die diesen X-Server einsetzen. Mit dem vor einem Monat veröffentlichten X-Server 1.8 kooperiert der Treiber aber bislang nicht – es wird sich zeigen, ob AMD wieder ein halbes Jahr braucht, um die Unterstützung nachzurüsten.

Nvidia ist da erheblich flotter: Schon als der X-Server 1.8 erschien, gab es eine Version des proprietären GeForce-Grafiktreiber, die mit dem neuen X-Server zusammenarbeitete, wenn man eine spezielle Xorg.conf-Option setzte. Die Ende April freigegebene Version 195.36.24 (x86-32, x86-64) benötigt diesen Trick nun nicht mehr und unterstützt auch die im März eingeführten GeForce GTX-Modelle 470 und 480.

Kernel-Log-Staccato

Kernel

    * Nachdem der zweite Teil der Kernel-Log-Mini-Serie "Was 2.6.34 bringt" bereits mehre Hintergrundartikel zum Distributed File System Ceph erwähnte, hat nun auch IBM Developerworks einen Artikel zu dem bei Linux 2.6.34 neuen Dateisystem veröffentlicht.
    * Die kürzlich veröffentlichte Übersicht über Fehler in einer Vorabversionen von Linux 2.6.34 listet 22  Probleme, die Linux 2.6.33 nicht zeigte.
    * Google-Entwickler Arve Hjønnevåg hat eine überarbeitete Version der bereits erwähnten Patches an die LKML gesendet, die den Kernel um einige von Android und Android-Treibern benötigte Funktionen erweitern.
    * Der dreiteilige Artikel-Serie "Collecting and analyzing Linux kernel crashes" beschreibt, wie man bei Kernel-Problemen mit Hilfe von LKCD, Kdump und Crash Fehlerinformationen sammelt und analysiert.
    * Facebook-Mitarbeiter haben kürzlich Flashcache veröffentlicht – eine bisher für die Linux-Version 2.6.18 und 2.6.20 abgestimmte Kernel-Erweiterung, die auf langsameren Speichermedien gespeicherte Daten auf einem schnelleren Medium (etwa einer SSD) zwischenspeichert, um den Datendurchsatz zu steigern. Eine ähnliche Funktion bietet auch Bcache, dass dessen Entwickler kürzlich erneut zur Begutachtung an die LKML gesandt hat, um eine Aufnahme in den Hauptentwicklungszweig vorzubereiten.
    * Unter den Video-Mitschnitten vom Linux-Foundation Collaboration Summit 2010 ist auch einer vom Kernel Panel, auf dem die bekannten Kernel-Hacker James Bottomley, Jon Corbet, Christoph Hellwig, Greg Kroah-Hartman und Andrew Morton untereinander und mit dem Publikum über Kernel-Themen diskutiert haben.
    * Kernel-Entwickler und LWN.Net-Chef Jon Corbet wird auf dem LinuxTag 2010 seinen "Kernel-Report" als eine der beiden Samstag-Keynotes geben; an dem Tag findet im Saal London zudem der Kernel-Track statt, in dem es zahlreiche weitere Vorträge rund um Kernel-Themen gibt.
    * Mit den jüngsten Änderungen rund um das XFS-Dateisystem beschäftigt sich der "XFS status update for March 2010" von Christoph Hellwig.

Grafik


    * Peter Hutterer hat kürzlich die einige Fehler korrigierende Version 1.7.7 des X-Servers von X.org veröffentlicht; er bereitet derzeit zudem die Freigabe des X-Servers 1.8.1 vor.
    * AMD-Entwickler Alex Deucher hat in seinem Blog-Eintrag eine Artikel-Serie gestartet, in der er beschreibt, wie der Radeon-DRM-Treiber des Kernels um Unterstützung für Evergreen-GPUs erweitert wurde. Der erste Blog-Eintrag beschreibt die in Linux 2.6.34 eingeflossenen Patches zum Ansprechen der auf Radeon-HD-5000-Grafikkarten eingesetzten GPUs.
    * Matthew Garrett hat in seinem Blog einige der Probleme erläutert, mit denen die Entwickler bei den Änderungen zur Unterstützung der Stromsparmechanismen von Radeon-GPUs zu kämpfen haben.

Kernel-Umland ("Plumbing layer"), Userland-Treiber, Entwicklertools

    * Über die Programmübersicht der Anfang des Monats abgehaltenen Linux Audio Conference 2010 sind seit kurzem Präsentationsfolien und Video-Aufzeichnungen von einigen der Vorträge verfügbar. Darunter findet sich unter anderem der Vortrag "Pro Audio is Easy, Consumer Audio is Hard" von Pulseaudio-Entwickler Lennart Poettering, der nach seinem Besuch der Konferenz in seinem Blog erklärt hat, warum PulseAudio und Jack nicht miteinander konkurrieren und warum es nicht schlecht sei, dass es beide gibt.
    * In dem Artikel "Linux on 4KB-sector disks: Practical advice" hat sich IBM Developerworks kürzlich einigen der im Kernel-Log bereits mehrfach angesprochenen Aspekte rund um das Zusammenspiel von Linux mit Platten gewidmet, die 4-KByte große Sektoren nutzen.
    * Die Sane-Entwickler haben die Sane-Backends 1.0.21 freigegeben und kurz danach noch eine Korrektur für diese nachgereicht. Die neue Version bringt unter anderem Verbesserungen für das Scannen via Netzwerk und enthält drei neue Treiber: kodak (Kodak i18xx), kvs1025 (Panasonic KV-S10xx) und p5 (Primax PagePartner).
    * Junio C Hamano hat Git 1.7.1 freigegeben.

Quelle : www.heise.de
Titel: Kernel-Log – Was 2.6.34 bringt (4): Architektur und Virtualisierung
Beitrag von: SiLæncer am 12 Mai, 2010, 20:02
Schnelleres Suspend und Resume, bessere Nutzung der Stromsparmechanismen von I/O-Geräten sowie verschiedene Optimierungen in Hinblick auf Performance und Skalierbarkeit  sind nur einige für Linux 2.6.34 vorgenommenen Änderungen an der Infrastruktur des Kernels.

Am vergangenen Sonntag hat Linus Torvalds mit die siebte Vorabversion von Linux 2.6.34 freigegeben. Laut Freigabe-Mail soll dies der letzte RC sein, was auf die Freigabe der nächsten Kernel-Version aus dem Hauptentwicklungszweig  Ende dieser oder Anfang nächster Woche hindeutet. Es wäre aber auch nicht das erste Mal, dass Torvalds nach solch einer Aussage doch noch eine weitere Version einschiebt und den Kernel erst einige Tage später veröffentlicht.

In diesem vierten (und vorletzten) Teil der Mini-Serie "Was 2.6.34 bringt" geht es um Neuheiten rund um den Code für die verschiedenen Prozessor-Architekturen, Tracing, Virtualisierung und andere Bereiche der Infrastruktur des Kernels. Die bedeutsamsten Änderungen rund um Netzwerkunterstützung, Dateisysteme und Grafik-Hardware waren Thema der ersten dreiTeile der Serie.

PCI und Power-Management

Nachdem Torvalds die "Asynchronous Suspend And Resume"-Patches bei 2.6.33 noch zurückgewiesen hatte, nahm er deren überarbeite Fassung für 2.6.34 ohne Murren auf. Durch sie legt der Kernel bestimmte Systemkomponenten parallel schlafen oder weckt sie simultan; das soll die Einschlaf- und Aufwachzeiten bei der Nutzung des Bereitschaftsmodus (ACPI S3/Suspend-to-RAM) und des Ruhezustands (Hibernate/Suspend-to-Disk) reduzieren. Weitere Hintergründe dazu liefert der LWN.net-Aritkel "Redesigning asynchronous suspend/resume".

Nachdem der Kernel bislang nur rudimentäre Unterstützung zur Nutzung der Stromspartechniken von I/O-Geräten zur Laufzeit bot, wurde diese bei Linux 2.6.34 erheblich überarbeitet und erweitert (u. a. 1, 2, 3); zudem setzt der für solche Aufgaben schon länger im USB-Subsystem enthaltene Code nun auf neuen generischen Funktionen auf. Die neuen Stromsparfunktionen sind in der Standardeinstellung aber deaktiviert.

Neben diesen Änderungen gab es im PCI-Subsystem noch einige andere Änderungen, die die Ressourcen-Zuordnung beeinflussen – der zuständige Subsystem-Maintainer Jesse Barnes gab sich im Haupt-Git-Pull-Request aber optimistisch, dass diese keine Probleme nach sich ziehen wird.

Speichermanagement, Virtualisierung und Tracing

Durch einige maßgeblich von Yinghai Lu entwickelte Änderungen ist der Kernel auf x86-Systemen nicht mehr auf den bislang beim Systemstarts genutzten "bootmem allocator" angewiesen, sodass der x86-Kernel zum Start nur noch drei statt vier verschiedenen Speicher-Zuteilmechanismen benötigt. Verschiedene andere Optimierungen an der Speicherverwaltung sollen Performance und Skalierbarkeit steigern (u. a. 1, 2). Einige dieser Änderungen haben indirekt Probleme verursacht, deren Ursache Torvalds und einige andere Entwickler mehrere Tage in mühevoller Kleinarbeit nachgespürt haben, was die Freigabe des RC3 um eine Woche verzögert hatte; Details zu den Vorgängen und einen tiefen Einblick ins Speichersubsystem liefert der LWN.net-Artikel "The case of the overly anonymous anon_vma".

Erst weit nach Ende des Merge Window stieß der Treiber vmware_balloon zum Kernel, mit dessen Hilfe sich die Menge des Arbeitsspeichers zur Laufzeit anpassen lässt, die VMware-Gastsystemen zur Verfügung steht. Zur Steigerung der Netzwerk-Performance in den Virtualisierungslösungen KVM und Lguest sind die mit 2.6.34 neuen Techniken Vhost-Net und Macvtap interessant, die bereits Thema im ersten Teil der Artikelserie "Was 2.6.34 bringt" waren. Zum KVM-Code stießen ferner erste Teile einer Hyper-V-Emulation.

Wie bereits bei den vorangegangenen Kernel-Versionen gab es auch für 2.6.34 Dutzende Verbesserungen am Tracing Code und den Performance Events, mit denen sich die Vorgänge im Kernel zu Laufzeit analysieren lassen. Die "jump optimization" (1, 2, 3, Dokumentation) etwa soll Kprobes-Code signifikant beschleunigen, wie Ingo Molnar im einem Git-Pull-Request schreibt. In seiner zweiten Bitte um Aufnahme der von ihm gesammelten Patches listet er weitere wichtige Änderungen im Tracing-Bereich. So bietet der Perf-Code nun eine Python-Scripting-Engine (1, Dokumentation) – Hintergründe dazu liefert der LWN.net-Artikel "Scripting support for perf". Zudem unterstützt der Perf-Code nun auch die Anfang des Jahres eingeführten Prozessoren mit Westmere-Kern – zu denen zählen unter anderem die Dual-Core-Prozessoren aus Intels Core-Baureihen i3 und i5.

Staccato

    * Erheblich erweitert haben die Kernel-Hacker die Unterstützung für die kürzlich vorgestellte Moorestown-Plattform, mit der Intel verstärkt im von ARM-Prozessoren dominierten Bereichen – etwa Smartphones und Slates – Fuß zu fassen versucht.
    * Über eine Änderung an Lkdtm lässt sich nun ein Kernel-Crash erzeugen – etwa um das Verhalten bei einem Systemabsturz zu simulieren.
    * Das noch junge Devtmpfs gilt nicht mehr als experimentell.
    * Die x86-32-Emulation für Itanium-Prozessoren haben die Kernel-Entwickler entfernt, denn sie habe seit Mai 2008 nicht mehr funktioniert, ohne dass sich jemand darüber beschwert habe.
    * Integriert wurde auch eine Änderung, die das kürzlich bekannt gewordenen Performance-Problem bei AMD jüngst eingeführten Prozessoren mit Turbo Core beseitigt; volle Unterstützung für diese den Prozessor bei Teilauslastung hochtaktende Technik soll in 2.6.35 einfließen.

Die kleinen Perlen

Viele kleinere, aber keineswegs unbedeutende Neuerungen finden sich in der folgenden Liste mit den englischen Commit-Überschriften der jeweiligen Änderung. Die Einträge verlinken genau wie viele der Verweise im vorangegangenen Text auf das Webfrontend des von Linus Torvalds gepflegten Git-Zweigs mit den Kernel-Quellen auf Kernel.org. Im Webfrontend liefern normalerweise der Commit-Kommentar und der Patch selbst zahlreiche weitere Informationen zur jeweiligen Änderungen.

Architektur-Code

x86

    * perf_events, x86: AMD event scheduling
    * perf_event: x86: Optimize the constraint searching bits
    * powernow-k8: Fix frequency reporting
    * x86_64: Print modules like i386 does
    * x86-64: support native xadd rwsem implementation
    * x86: Add iMac9,1 to pci_reboot_dmi_table
    * x86/amd-iommu: Remove obsolete parameter documentation
    * x86, apbt: Moorestown APB system timer driver
    * x86, cpu: Print AMD virtualization features in /proc/cpuinfo
    * x86: Disable large pages on CPUs with Atom erratum AAE44
    * x86: Increase CONFIG_NODES_SHIFT max to 10
    * x86: Make 32bit support NO_BOOTMEM
    * x86: Make 64 bit use early_res instead of bootmem before slab
    * x86, mm: Allow highmem user page tables to be disabled at boot time
    * x86: Move pci init function to x86_init
    * x86, mrst: Add Kconfig dependencies for Moorestown
    * x86, mrst: Fill in PCI functions in x86_init layer
    * x86, mrst: Platform clock setup code
    * x86, numa: Add fixed node size option for numa emulation
    * x86, numa: Remove configurable node size support for numa emulation
    * x86/pci: Enable pci root res read out for 32bit too
    * x86/PCI: Moorestown PCI support
    * x86: Print out RAM buffer information
    * x86, ptrace: regset extensions to support xstate
    * x86: Put 'nopat' in kernel-parameters

ARM

    * Add minimal support for DevKit8000
    * AM3517: Enable basic I2C Support
    * AM3517: Enable I2C-GPIO Expander driver support for AM3517EVM
    * AM3517: Enable RTC driver support for AM3517EVM
    * AM3517 EVM: Enable I2C support
    * AM35xx: Add clock support for new modules on AM35xx
    * ARM: 5850/1: [AT91] AT572D940HF processor support
    * ARM: 5851/1: [AT91] AT572D940HF-EK board support
    * ARM: 5859/1: Add nuc93x platform support
    * ARM: 5892/1: ep93xx: Add support for Simplemachines Sim.One board
    * ARM: 5899/2: arm: provide a mechanism to reserve performance counters
    * ARM: 5900/2: arm: enable support for software perf events
    * ARM: 5902/4: arm/perfevents: implement perf event support for ARMv6
    * ARM: 5903/1: arm/perfevents: add support for ARMv7
    * ARM: 5917/1: OMAP4: Add L2 Cache support
    * ARM: 5919/1: ARM: L2 : Errata 588369: Clean & Invalidate do not invalidate clean lines
    * ARM: 5930/1: Add PKMAP area description to memory.txt.
    * ARM: 5937/1: Add support for EP9315 based Snapper CL15 board
    * ARM: 5952/1: ARM: MM: Add ARM_L1_CACHE_SHIFT_6 for handle inside each ARCH Kconfig
    * ARM: 5989/1: ARM: KGDB: add support for SMP platforms
    * ARM: Add final piece to fix XIP decompressor in read-only memory ARM: Add L2 cache handling to smp boot support
    * ARM: eSATA SheevaPlug basic board support
    * ARM: Kirkwood: add LaCie Internet Space v2 support
    * ARM: mach-shmobile: Add sh7372 pinmux support
    * ARM: mach-shmobile: sh7367 and G3EVM pinmux support
    * ARM: mach-shmobile: sh7377 and G4EVM pinmux support
    * ARM: mach-shmobile: SH-Mobile AP4 support.
    * ARM: mach-shmobile: SH-Mobile G3 support.
    * ARM: mach-shmobile: SH-Mobile G4 support.
    * ARM: mmp2: add support for board IRQs
    * ARM: mmp: add support for Marvell MMP2
    * ARM: MV78xx0: Support for Buffalo WXL (Terastation Duo)
    * ARM: OMAP4: PM: Add the Autogenerated OMAP4 specific clock domain framework.
    * ARM: OMAP4: PM: Add the Autogenerated OMAP4 specific power domain framework.
    * ARM: OMAP4: PM: Make OMAP3 Clock-domain framework compatible for OMAP4.
    * ARM: Orion: Add Buffalo Linkstation LS-HGL support
    * ARM: pxa: add support for Embedian MXM-8x10
    * ARM: pxa: add the missing AC97 pin configurations
    * ARM: pxa: introduce PXA_SSP_LEGACY for legacy SSP API
    * ARM: pxa/raumfeld: add platform support
    * ARM: pxa/zeus: Add support for mcp2515 CAN bus
    * ARM: S3C64XX: Add AC97 platform resources
    * ARM: S3C64XX: Add S3C64XX support to the generic Samsung ADC driver
    * ARM: S5P6440: Add Board support file
    * ARM: S5P6440: Add Clock and PLL support
    * ARM: S5P6440: Add IRQ support
    * ARM: S5P6440: Add new CPU initialization support
    * ARM: S5P6440: Add new Kconfig and Makefiles
    * ARM: S5P6440: Add S5P6440 GPIO support
    * ARM: S5P6442: Add clock support for S5P6442
    * ARM: S5P6442: Add IRQ support
    * ARM: S5P6442: Add Samsung S5P6442 CPU support
    * ARM: S5P6442: Add SMDK6442 board support file
    * ARM: S5P6442: Update Kconfig and Makefiles
    * ARM: S5PV210: Add clock support for S5PV210
    * ARM: S5PV210: Add IRQ support
    * ARM: S5PV210: Add Samsung S5PV210 CPU support
    * ARM: S5PV210: Add SMDKC110 board support file
    * ARM: S5PV210: Add SMDKV210 board support file
    * ARM: S5PV210: Update Kconfig and Makefiles
    * ARM: SAMSUNG: Add suspend/resume support for S3C PWM driver
    * ARM: SAMSUNG: Add core clock implementation for clksrc based clocks
    * ARM: SAMSUNG: Add initial documentation directory and overview
    * ARM: SAMSUNG: Add script to change old clksrc_clk to new register defs
    * ARM: SMDK6410: Add initial support for WM1192-EV1 PMIC board
    * ASoC: OMAP4: Add support for McPDM
    * ASoC: Remove old i.MX driver code
    * broadsheetfb: add MMIO hooks
    * broadsheetfb: add multiple panel type support
    * davinci: add CDCE949 support on DM6467 EVM
    * DaVinci - Adding platform and board changes for vpfe capture on DM365
    * davinci: add power management support
    * davinci: add support for CDCE949 clock synthesizer
    * davinci: add support for DM6467T EVM
    * davinci: da850/omap-l138: add support for SoC suspend
    * davinci: da8xx/omapl1: add support for the second sysconfig module
    * DaVinci DM365: Adding DM365 SPI support
    * IGEPv2: Added WIFI support
    * i.MX27 pca100: Add USB support
    * i.MX27 pca100: Add USB support
    * i.MX27 pcm038: Add USB support
    * i.MX31 pcm037: Add USB support
    * imxfb: add support for i.MX25
    * i.MX pcm043: Add AC97 sound support
    * MAINTAINERS: Add entry for ARM-based SH-Mobile architecture.
    * MAINTAINERS: add maintainers for Marvell MMP2 (aka ARMADA610) support
    * McBSP: OMAP3: Add sidetone feature
    * MTD: remove no longer used OMAP flash map
    * mx25: add NAND support
    * mx25pdk: add NAND device support
    * mxc: Add support for the Babbage board (i.MX5)
    * mxc: Core support for Freescale i.MX5 series
    * MXC: mach_armadillo5x0: Add USB Host support.
    * MXC: mach-mx31_3ds: Add SPI1 device support.
    * MXC: mach-mx31_3ds: add support for freescale mc13783 power management device.
    * MXC: mach-mx31_3ds: Add support for on board NAND Flash.
    * omap2/3/4: Replace orred CONFIG_ARCH_OMAP2/3/4 with CONFIG_ARCH_OMAP2PLUS
    * omap2: Convert ARCH_OMAP24XX to ARCH_OMAP2
    * omap3: Add platform data for the twl4030_codec MFD on IGEP v2
    * omap3: Add platform init code for EHCI driver on IGEP v2
    * omap3: Add support for flash on 3430SDP board
    * omap3: Add support for flash on IGEP v2 board
    * OMAP3: cpuidle: Add valid field into C-state parameter passing
    * OMAP3: PM: Added support for L2 aux ctrl register save and restore
    * OMAP3: PM: add scratchpad locking function
    * omap3: Replace ARCH_OMAP34XX with ARCH_OMAP3
    * OMAP3: RX-51: support sleep indicator LEDs
    * omap4: Add auto-generated irq and dma headers
    * OMAP4: IRQ: Add McPDM IRQ definition
    * OMAP: DSS2: Add Sharp LQ043T1DG01 panel driver
    * OMAP: DSS2: add Toppoly TDO35S panel
    * OMAP: DSS2: OMAPFB: Remove FB_OMAP2_FORCE_AUTO_UPDATE
    * omapfb: lcd_ams_delta: add support for contrast control
    * OMAP: hwmod: add API for slave idlemode setting
    * OMAP hwmod: add hwmod class support
    * omap: musb: Add USB support to 4430 SDP board file
    * OMAP: pandora: add DSS2 support and related regulators
    * omap: zoom3: enable ehci support pca100: add sound support

Power

    * powerpc/40x: Add support for PPC40x boards with > 512MB SDRAM
    * powerpc/44x: Add MTD support (NOR FLASH) to Katmai dts
    * powerpc/44x: Add MTD support to katmai defconfig
    * powerpc/85xx: Add NOR, LEDs and PIB support for MPC8568E-MDS boards
    * powerpc/86xx: Basic flash support for GE SBC610
    * powerpc: Add last sysfs file and dump of ftrace buffer to oops printout
    * powerpc: Add timer, performance monitor and machine check counts to /proc/interrupts
    * powerpc/booke: Add definitions for advanced debug registers
    * powerpc/booke: Add support for advanced debug registers
    * powerpc/booke: Introduce new CONFIG options for advanced debug registers
    * powerpc: doc/dts-bindings: document mpc5121 psc uart dts-bindings
    * powerpc: doc/dts-bindings: update doc of FSL I2C bindings
    * powerpc: Extended ptrace interface
    * powerpc: Increase NR_IRQS Kconfig maximum to 32768
    * powerpc/mpc5121: Add machine restart support
    * powerpc/of: added documentation for spi chipselects
    * powerpc/perf: e500 support
    * powerpc/pseries: Pass more accurate number of supported cores to firmware
    * powerpc: Remove IOMMU_VMERGE config option
    * powerpc: Use lwsync for acquire barrier if CPU supports it
    * rtc: Add MPC5121 Real time clock driver

Verschiedene andere Architekturen

    * Blackfin: add support for cpufreq on SMP systems
    * Blackfin: add support for irqflags tracing
    * Blackfin: add support for the on-chip MAC status interrupts
    * Blackfin: bf527-ezkit: add support for V2.1 boards
    * Blackfin: initial tracehook support
    * Blackfin: initial XIP support
    * Blackfin: SMP: add PM/CPU hotplug support
    * Blackfin: SMP: add support for IRQ affinity
    * Blackfin: support new ftrace frame pointer semantics
    * Blackfin: tcm-bf518: new board port
    * dmaengine: shdma: add runtime PM support.
    * dmaengine: shdma: separate DMA headers.
    * m68k: Add NPTL support
    * m68knommu: NPTL support for uClinux
    * microblaze: Add support for Xilinx PCI host bridge
    * microblaze: Add support from PREEMPT
    * microblaze: Enable PCI, missing files
    * microblaze: Preliminary support for dma drivers
    * microblaze: Preliminary support for dma drivers
    * microblaze: Support DMA
    * MIPS: Alchemy: Add au1000-eth platform device
    * MIPS: Alchemy: devboards: wire up new PCMCIA driver.
    * MIPS: Alchemy: Extended DB1200 board support.
    * MIPS: Alchemy: XXS1500 PCMCIA driver rewrite
    * MIPS: Crazy spinlock speed test.
    * MIPS: I2C: Add driver for Cavium OCTEON I2C ports.
    * MIPS: Implement Read Inhibit/eXecute Inhibit
    * MIPS: Octeon: Add I2C platform device.
    * MIPS: Octeon: Use optimized memory barrier primitives.
    * MIPS: Optimize spinlocks.
    * MIPS: PCMCIA: new socket driver for Au1000 demoboards.
    * MIPS: Preliminary VDSO
    * MIPS/SOUND: Alchemy: DB1200 AC97+I2S audio support.
    * MIPS: Support 36-bit iomem on 32-bit Au1x00
    * MIPS: Two-level pagetables for 64-bit kernels with 64KB pages.
    * omap2: add USB initialization for tusb6010
    * pmac-zilog: add platform driver
    * S390: add support for compressed kernels
    * S390: add z9-ec/z10 instruction to kernel disassembler
    * S390: cio: introduce cio_settle
    * S390: dasd: automatic recognition of read-only devices
    * S390: smsgiucv_app: deliver z/VM CP special messages (SMSG) as uevents
    * serial: sh-sci: Add DMA support.
    * sh: Add support for LZO-compressed kernels.
    * sh: audio support for the sh7722 Migo-R board
    * sh: default to extended TLB support.
    * sh: Definitions for 3-level page table layout
    * sh: enable sparseirq for highlander and r2d.
    * sh: implement DMA_SLAVE capability in SH dmaengine driver
    * sh: Improved multi-resource handling for SH7780 PCI.
    * sh: kmemleak support.
    * sh: Move over to dynamically allocated FPU context.
    * sh: Optimise FDE/CIE lookup by using red-black trees
    * sh: Preliminary SDK7786 board support.
    * sh: reworked dynamic PMB mapping.
    * sh: support PCI domains.
    * sparc64: Add function graph tracer support.
    * sparc64: If 'slot-names' property exist, create sysfs PCI slot information.
    * sparc64: Support kmemleak. sunxvr500: Additional PCI id for sunxvr500 driver

ACPI

    * ACPI: Battery: Add bit flags
    * ACPI: Battery: Add support for _BIX extended info method
    * ACPI dock: support multiple ACPI dock devices
    * ACPI: plan to delete "acpi=ht" boot option
    * ACPI / PM: Move ACPI video resume to a PM notifier
    * ACPI: processor: add internal processor_physically_present()
    * ACPI: processor: mv processor_core.c processor_driver.c
    * ACPI: processor: remove early _PDC optin quirks
    * ACPI: remove "acpi=ht" DMI blacklist
    * ACPI: Use GPE reference counting to support shared GPEs POWER: Add support for cycle_count

Memory Management

    * cgroups: add simple listener of cgroup events to documentation
    * Documentation/vm/: split txt and source files
    * failslab: add ability to filter slab caches
    * memcg: add interface to move charge at task migration
    * memcg: fix typos in memcg_test.txt
    * memcg: handle panic_on_oom=always case
    * memcg: implement memory thresholds
    * memcg: move charges of anonymous swap
    * memcg: update memcg_test.txt
    * memcg: update memcg_test.txt to describe memory thresholds
    * memory-hotplug: create /sys/firmware/memmap entry for new memory
    * mm: add coherence API for DMA to vmalloc/vmap areas
    * mm: avoid false sharing of mm_counter
    * mm: count swap usage
    * mm: document /proc/pagetypeinfo
    * mm: document /sys/devices/system/node/nodeX
    * MM: Pass a PTE pointer to update_mmu_cache() rather than the PTE itself
    * SLUB: Use this_cpu operations in slub vmscan: detect mapped file pages used only once

PCI

    * ACPI / PM: Add more run-time wake-up fields
    * agp/intel: Add a new Sandybridge HB/IG PCI ID combo.
    * agp/intel: Add support for Sandybridge.
    * pci: Add SR-IOV convenience functions and macros
    * PCI: Add support for reporting PCIe 3.0 speeds
    * PCI: for address space collisions, show conflicting resource
    * PCI PM: Make it possible to force using INTx for PCIe PME signaling
    * PCI/PM Runtime: Make runtime PM of PCI devices inactive by default
    * PCI quirk: RS780/RS880: disable MSI behind the PCI bridge
    * PCI quirk: RS780/RS880: work around missing MSI initialization
    * pcmcia: add locking documentation
    * pcmcia: assert locking to struct pcmcia_device
    * pcmcia: disable pcmcia ioctl for !ARM, prepare for removal
    * pcmcia: use ops_mutex for rsrc_{mgr,nonstatic} locking
    * pcmcia/yenta: add module parameter for O2 speedups
    * PNPACPI: add bus number support
    * PNPACPI: add window support
    * resource: add bus number support
    * resource: add window support
    * x86/PCI: irq and pci_ids patch for Intel Cougar Point DeviceIDs
    * x86/PCI: use host bridge _CRS info by default on 2008 and newer machines

Power Management

    * [CPUFREQ] Processor Clocking Control interface driver
    * cpuidle: Fix incorrect optimization
    * PM: Add a switch for disabling/enabling asynchronous suspend/resume
    * PM: Add facility for advanced testing of async suspend/resume
    * PM: Allow PCI devices to suspend/resume asynchronously
    * PM: Allow SCSI devices to suspend/resume asynchronously
    * PM: Allow USB devices to suspend/resume asynchronously
    * PM: Document device power attributes in sysfs
    * PM / Hibernate: Really deprecate deprecated user ioctls
    * PM: Provide generic subsystem-level callbacks
    * PM / Runtime: Add sysfs switch for disabling device run-time PM
    * PM / Runtime: Document power.runtime_auto and related functions
    * PM: Start asynchronous resume threads upfront
    * USB: implement non-tree resume ordering constraints for PCI host controllers

Prozess-Scheduler

    * sched: Fix sched_mv_power_savings for !SMT
    * sched: Fix SMT scheduler regression in find_busiest_queue()
    * sched: Remove USER_SCHED

Security
    * crypto: md5 - Add export support
    * crypto: pcrypt - Add pcrypt crypto parallelization wrapper
    * hwrng: nomadik - Add hardware RNG driver
    * hwrng: nomadik - Add platform device for rng in cpu-8815
    * padata: Generic parallelization/serialization interface
    * Security: add static to security_ops and default_security_ops variable
    * selinux: allow MLS->non-MLS and vice versa upon policy reload TOMOYO: Add garbage collector.
Tracing

    * ftrace: Add function names to dangling } in function graph tracer
    * function-graph: Add tracing_thresh support to function_graph tracer
    * kprobetrace, doc: Add the explanation to remove probe points
    * kprobetrace, doc: Shell needs single quote to use $ character
    * oprofile: remove EXPERIMENTAL from the config option description
    * oprofile: remove tracing build dependency
    * oprofile/x86: remove OPROFILE_IBS config option
    * perf archive: Add documentation
    * perf archive: Add helper script to package files needed to do analysis
    * perf buildid-cache: Add new command to manage build-id cache
    * perf buildid-list: Introduce --with-hits option
    * perf diff: Fix support for all --sort combinations
    * perf events: Remove CONFIG_EVENT_PROFILE
    * perf_events, x86: Implement intel core solo/duo support
    * perf_events, x86: Implement Intel Westmere support
    * perf_events, x86: Improve x86 event scheduling
    * perf lock: Fix and add misc documentally things
    * perf lock: Introduce new tool "perf lock", for analyzing lock statistics
    * perf: Make the install relative to DESTDIR if specified
    * perf probe: Add lazy line matching support
    * perf probe: Support --line option to show probable source-code lines
    * perf probe: Update perf probe document
    * perf probe: Use elfutils-libdw for analyzing debuginfo
    * perf record: Add ID and to recorded event data when recording multiple events
    * perf record: Introduce a symtab cache
    * perf report: Add --hide-unresolved/-U command line option
    * perf report: Add multiple event support
    * perf/scripts: Add syscall tracing scripts
    * perf/scripts: Fix supported language listing option
    * perf/scripts: Tag syscall_name helper as not yet available
    * perf session: Add storage for seperating event types in report
    * perf tools: Cross platform perf.data analysis support
    * perf tools: Do a few more directory handling optimizations
    * perf tools: Handle relocatable kernels
    * perf tools: Support tracepoint glob matching
    * perf top: Teach it to autolocate vmlinux
    * perf trace: Add -i option for choosing input file
    * perf, x86: Enable Nehalem-EX support
    * s390: Add pt_regs register and stack access API
    * tracing: Add correct/incorrect to sort keys for branch annotation output
    * tracing/kprobe: Drop function argument access syntax
    * tracing/kprobes: Add short documentation for HAVE_REGS_AND_STACK_ACCESS_API
    * tracing/kprobe: Update example output in documentation
    * tracing: Remove CONFIG_TRACE_POWER from kernel config tracing: Unify arch_syscall_addr() implementations

Virtualisierung

    * KVM: Add HYPER-V apic access MSRs
    * KVM: enable PCI multiple-segments for pass-through device
    * KVM: Implement bare minimum of HYPER-V MSRs
    * KVM: MMU: Add tracepoint for guest page aging
    * KVM: Plan obsolescence of kernel allocated slots, paravirt mmu
    * KVM: powerpc: Change maintainer
    * KVM: PPC: Add support for FPU/Altivec/VSX
    * KVM: VMX: Add instruction rdtscp support for guest
    * KVM: VMX: Enable EPT 1GB page support
    * KVM: x86 emulator: Add Virtual-8086 mode of emulation
    * virtio: Add memory statistics reporting to the balloon driver (V4)
    * virtio_blk: add block topology support
    * virtio: console: Add a new MULTIPORT feature, support for generic ports
    * virtio: console: Add file operations to ports for open/read/write/poll
    * virtio: console: Associate each port with a char device
    * virtio: set pci bus master enable bit
    * xen: add kconfig menu

Verschiedenes

    * Add generic sys_ipc wrapper
    * cgroup: implement eventfd-based generic API for notifications
    * cgroup: introduce cancel_attach()
    * cgroups: blkio subsystem as module
    * cgroups: fix CONTENTS in cgroups documentation
    * cgroups: fix procs documentation
    * cgroups: subsystem module loading interface
    * cgroups: subsystem module unloading
    * checkpatch.pl: add union and struct to the exceptions list
    * coredump: unify dump_seek() implementations for each binfmt_*.c
    * DMA-API.txt: add dma_sync_single/sg API description
    * DMA-API.txt: remove dma_sync_single_range description
    * dma-mapping: dma-mapping.h: add dma_set_coherent_mask
    * dma-mapping.h: add the dma_unmap state API
    * doc: cpuset: Update the cpuset flag file
    * Documentation: convert PCI-DMA-mapping.txt to use the generic DMA API
    * Documentation/DMA-API.txt: remove deprecated function descriptions
    * Documentation/email-clients.txt: update gmail information
    * Documentation: remove the PCI DMA API description in DMA-API.txt
    * Documentation: rename PCI-DMA-mapping.txt to DMA-API-HOWTO.txt
    * Documentation: -stable rules: upstream commit ID requirement reworded
    * Documentation/SubmitChecklist: add rule #1
    * Documentation/timers/: split txt and source files
    * Documentation/volatile-considered-harmful.txt: correct cpu_relax() documentation
    * Document Linux's circular buffering capabilities
    * driver-core: Add attribute argument to class_attribute show/store
    * Driver core: Constify struct sysfs_ops in struct kobj_type
    * Driver core: create lock/unlock functions for struct device
    * Driver-Core: disable /sbin/hotplug by default
    * elf coredump: add extended numbering support
    * HOWTO: Updates on subsystem trees, patchwork, -next (vs. -mm)
    * init/main.c: improve usability in case of init binary failure
    * init: Open /dev/console from rootfs
    * kconfig: Add LSMOD=file to override the lsmod for localmodconfig
    * kconfig: Look in both /bin and /sbin for lsmod in streamline_config.pl
    * kobject: documentation: Fix erroneous example in kobject doc.
    * kobject: documentation: Update to refer to kset-example.c.
    * lib: more scalable list_sort()
    * MAINTAINERS: document and add "Q" patchwork queue entries
    * Memory-mapped dw_spi driver
    * rcu: 1Q2010 update for RCU documentation
    * rcu: Accelerate grace period if last non-dynticked CPU
    * rcu: Add RCU_CPU_STALL_VERBOSE to dump detailed per-task information
    * rcu: Documentation update for CONFIG_PROVE_RCU
    * rcu: Introduce lockdep-based checking to RCU read-side primitives
    * rcu: Update docs for rcu_access_pointer and rcu_dereference_protected
    * Revert "tty: Add a new VT mode which is like VT_PROCESS but doesn't require a VT_RELDISP ioctl call"
    * scripts/checkpatch.pl: add WARN on sizeof(andfoo)
    * scripts/get_maintainer.pl: add ability to read from STDIN
    * scripts/get_maintainer.pl: add --file-emails, find embedded email addresses
    * scripts/get_maintainer.pl: add --sections, print entire matched subsystem
    * scripts/get_maintainer.pl: change --sections to print in the same style as MAINTAINERS
    * spi: Add Freescale/Motorola Coldfire QSPI driver
    * spi: Add SPI master driver for DaVinci/DA8xx
    * sysdev: Pass attribute in sysdev_class attributes show/store
    * sysfs: Cache the last sysfs_dirent to improve readdir scalability v2
    * sysfs: Remove sysfs_get/put_active_two this_cpu: Page allocator conversion

Quelle : www.heise.de
Titel: Kernel-Log – Was 2.6.34 bringt (5): Treiber
Beitrag von: SiLæncer am 15 Mai, 2010, 08:34
Hunderte neuer und überarbeiteter Treiber verbessern die Hardware-Unterstützung der in Kürze erwarteten Kernel-Version signifikant.  

In der Freigabe-Mail  zur am vergangenen Wochenende veröffentlichten Linux-Version 2.6.34-rc7 deutete Linus Torvalds eine baldige Freigabe des Linux-Kernels 2.6.34 an. Die folgende Beschreibung der Neuheiten rund um Treiber und der sie umgebende Infrastruktur schließt daher die Berichterstattung über die wichtigsten Neuheiten von Linux 2.6.34 ab. Den bedeutsamsten Änderungen rund um  Netzwerkunterstützung, Dateisysteme und Storage, Grafik  sowie Architektur und Virtualisierung waren Thema in den vorangegangenen Teilen eins bis vier. Da dabei auch die Treiber in diesem Bereichen des Kernels angesprochen wurden, geht es jetzt vor allem um die noch fehlenden Subsysteme.

Audio und Video

Der Haupt-Git-Pull-Request von Audio-Subsystem-Maintainer Takashi Iwai listet die wichtigsten Neuerungen der Audio-Treiber des Kernels, die nun auf dem Stand der Alsa-Treiber-Version 1.0.22.1 sind. So unterstützen die Sound-Treiber jetzt die 8-Kanal-Audio-Ausgabe via HDMI bei GeForce-Grafikkarten mit GT21x-GPUs sowie Nvidias Mainboard-Chipsätzen der MCP89-Reihe. Zudem bringt der Kernel ersten Treiber-Code für die Version 2.0 der USB-Audio-Spezifikation mit; neu ist auch Untersützung für die von Asus vertriebene Soundkarte Xonar DS  sowie ein Treiber für das Audio/MIDI-Interface Edirol UA-101.

Zum für TV-Hardware zuständigen V4L/DVB-Subsystem stießen die Treiber tlg2300 für den Telegent-Chip Tlg2300 sowie der Treiber ngene für den gleichnamigen Chip von Micronas (1, 2). Für CPiA-Webcam-Chips ist der Gspca-Subtreiber cpia1 neu dabei; der wurde bislang vom Treiber cpia betreut, der nun als deprecated (veraltet, abgelehnt) gilt. Diese Einstufung erhielten auch einige andere Webcam-Treiber, für die der Kernel andere, auf Gspca aufbauende Treiber mitbringt.

Eingabegeräte und Notebooks

Zum Input-Subsystem stießen Treiber für Touchscreen-Interfaces verschiedener Hersteller. Neu dabei sind außerdem Treiber für die Magic Mouse von Apple und das Logitech Flight System G940.

Herstellerspezifische Notebook-Treiber werden in Zukunft von Matthew Garrett im Rahmen des  Subsystems "x86 platform drivers" betreut. In das zog ein einfacher, bislang nur die Regelung der Displayhelligkeit ermöglichende Treiber eeepc-wmi ein, der mit neueren EeePCs von Asus zusammenarbeitetet, die WMI für die Funktionstasten nutzen. Darüber hinaus gab es zahlreiche Detailverbesserungen an den bislang vom ACPI-Maintainer verwalteten Treibern für Notebooks von Asus, Dell, Lenovo/IBM, MSI und Toshiba.

USB

Der xHCI-Treiber für USB-3.0-Controller-Chips heißt statt xhci nun xhci_hcd und folgt damit dem Namensschema anderer Treiber für USB Host Controller. Durch eine von Torvalds selbst umgesetzte Änderung wartet der USB-Storage-Treiber in Zukunft statt fünf nur mehr eine Sekunde, bevor er ein neu angestecktes USB-Speichergerät anspricht. Verschiedene Distributionen haben die Wartezeit schon länger reduziert oder komplett ausgesetzt.

Es ist allerdings nicht klar, ob überhaupt noch Geräte im Umlauf sind, die erst nach einer solchen Wartezeit arbeiten; möglicherweise sei sie nur historisch bedingt. Die Änderung soll helfen, diese Frage zu klären; Torvalds kommentiert das Ganze mit den Worten "Mal sehen, ob irgendwer aufschreit" ("Let's see if anybody screams").

Staging

Zum Staging-Zweig stieß der Treiber crystalhd für den HD-Video-Beschleuniger Broadcom Crystal HD. Größere Verbesserungen – darunter eine, die die Performance verbessert – gab es am ebenfalls im Staging-Bereich angesiedelten DisplayLink-Treiber udlfb (1, 2, 3). Durch einige Änderungen am Treiber rtl8192e sollen die von ihm unterstützten Realtek-Chips im Betrieb nun erheblich weniger Leistung aufnehmen.

Entfernt haben die Kernel-Entwickler die Staging-Treiber altpciechdma, b3dfg mimio und p9auth, da sich niemand um deren Weiterentwicklung gekümmert hat. Neu dabei ist der Treiber dt3155 für DT3155-Digitizer.

Staccato

    * In verschiedenen Subsystemen flossen Treiber oder Erweiterungen für die bislang nur als Cougar Point bekannten und Anfang nächsten Jahres erwarteten Mainboard-Chipsätze von Intel ein.
    * Der AHCI-Treiber beherrscht nun FIS-based switching – eine von manchen externen Festplatten-Gehäusen mit SATA-Port-Multiplier genutzte Technik, mit deren Hilfe sich über eine SATA-Verbindung mehrere Festplatten ansprechen lassen.
    * Als eine der wichtigsten Änderungen in Block-Layer hebt dessen Maintainer Jens Axboe in seinem Haupt-Git-Pull-Request Performance-Verbesserungen am CFQ-I/O-Scheduler hervor.

Die kleinen Perlen

Viele kleinere, aber keineswegs unbedeutende Neuerungen finden sich in der folgenden Liste mit den englischen Commit-Überschriften der jeweiligen Änderung. Die Einträge verlinken genau wie viele der Verweise im vorangegangenen Text auf das Webfrontend des von Linus Torvalds gepflegten Git-Zweigs mit den Kernel-Quellen auf Kernel.org. Im Webfrontend liefern normalerweise der Commit-Kommentar und der Patch selbst zahlreiche weitere Informationen zur jeweiligen Änderungen.

Audio

   * ALSA: ac97: Add IBM ThinkPad R40e to Headphone/Line Jack Sense blacklist  
    * ALSA: ac97: Add Toshiba P500 to ac97 jack sense blacklist  
    * ALSA: add support for Macbook Air 2,1 internal speaker  
    * ALSA: ctxfi - Add subsystem option  
    * ALSA: dt019x: merge into the als100 driver  
    * ALSA: dummy driver - add model parameter  
    * ALSA: Echoaudio - Add suspend support #1  
    * ALSA: Echoaudio - Add suspend support #2  
    * ALSA: hda - Add ALC269VB support  
    * ALSA: hda - Add ALC670 codec support  
    * ALSA: hda - Add an error message for invalid mapping NID  
    * ALSA: hda - add a quirk for Clevo M570U laptop  
    * ALSA: hda - Add ASRock mobo to MSI blacklist  
    * ALSA: hda - Add Bass Speaker switch for HP dv7  
    * ALSA: hda - Add/fix ALC269 FSC and Quanta models  
    * ALSA: hda - Add fix-up for Sony VAIO with ALC269  
    * ALSA: hda - Adding support for another IDT 92HD83XXX codec  
    * ALSA: hda - Add Macmini 3,1 support  
    * ALSA: hda - Add missing description in HD-Audio-Models.txt  
    * ALSA: hda - add more NID->Control mapping  
    * ALSA: hda - Add MSI blacklist for Aopen MZ915-M  
    * ALSA: hda - Add mute LED check for HP laptops with IDT 92HD83xxx codec  
    * ALSA: hda - Add PCI quirk for HP dv6-1110ax.  
    * ALSA: hda - Add PCI quirks for MSI NetOn AP1900 and Wind Top AE2220  
    * ALSA: hda - Add position_fix quirk for Biostar mobo  
    * ALSA: hda: Add powerdown for Analog Devices HDA codecs  
    * ALSA: hda - Add quirk for Dell Inspiron 19T using a Conexant CX20582  
    * ALSA: hda - Add support for IDT 92HD88 family codecs  
    * ALSA: hda - Add support for Lenovo IdeaPad U150  
    * ALSA: hda - add support for Lenovo ThinkPad X100e in conexant codec
    * ALSA: hda: Add support for Medion WIM2160  
    * ALSA: hda - Add support for more the 8 streams  
    * ALSA: hda - Add support for Toshiba Satellite M300  
    * ALSA: hda - Add support of ALC665  
    * ALSA: hda - Add support of Nvidia GT220 HDMI  
    * ALSA: hda - Allow override more fields via patch loader  
    * ALSA: hda - conexant - Fixed microphone mixer for HP Compaq Presario F700  
    * ALSA: hda - Configure XO-1.5 microphones at capture time  
    * ALSA: hda - Disable MSI for Nvidia controller  
    * ALSA: hda - Enable amplifiers on Acer Inspire 6530G  
    * ALSA: hda - enable snoop for Intel Cougar Point  
    * ALSA: hda - Fix click noises at suspend/free with Realtek codecs  
    * ALSA: hda-intel: Add position_fix quirk for ASUS M2V-MX SE.  
    * ALSA: hda_intel: ALSA HD Audio patch for Intel Cougar Point DeviceIDs  
    * ALSA: hda - introduce HDA_SUBDEV_AMP_FLAG (ControlAmp in proc)  
    * ALSA: hda - Minor fixes for Compaq Presario F700 quirk  
    * ALSA: hda - New Intel HDA controller  
    * ALSA: hda: Refactor powerdown for Realtek HDA codecs  
    * ALSA: hda - remove unnecessary msleep on power state transitions  
    * ALSA: hda - Support max codecs to 8 for nvidia hda controller  
    * ALSA: hda - support OLPC XO-1.5 DC input  
    * ALSA: hda - Update document about MSI and interrupts  
    * ALSA: hda: Use 3stack quirk for Toshiba Satellite L40-10Q  
    * ALSA: hda: Use LPIB for a Biostar Microtech board  
    * ALSA: hda: Use LPIB for Dell Latitude 131L  
    * ALSA: hda: Use STAC_DELL_M6_BOTH quirk for Dell Studio XPS 1645  
    * ALSA: jazz16: Add support for Media Vision Jazz16 chipset  
    * ALSA: jazz16: refine dma and irq selection  
    * ALSA: snd-meastro3: Add amp_gpio quirk for Compaq EVO N600C  
    * ALSA: ua101: add Edirol UA-1000 support  
    * ALSA: usb-audio - Added functionality for E-mu 0404USB/0202USB/TrackerPre  
    * ALSA: usbaudio Mbox support, output only  
    * ALSA: usb-audio: use usbquirk.h for detection of HVR-950Q/850  
    * ALSA: USB MIDI support for Access Music VirusTI  
    * ALSA: usbmixer - add possibility to remap dB values  
    * ALSA: usbmixer - introduce /proc/asound/card#/usbmixer file  
    * ALSA: via82xx: add quirk for D1289 motherboard  
    * Add ASoC support for Devkit8000  
    * ASoC: AC97: S3C2443: Remove unused driver  
    * ASoC: AC97: S3C: Add controller driver  
    * ASoC: AC97: SMDK: Add wm9713 machine driver  
    * ASoC: Add a new imx-ssi sound driver  
    * ASoC: add a WM8978 codec driver  
    * ASoC: Add DA7210 codec device support for ALSA  
    * ASoC: add DAI and platform / DMA drivers for SH SIU  
    * ASoC: Add FSI-DA7210 sound support for SuperH  
    * ASoC: Add initial WM8955 CODEC driver  
    * ASoC: add phycore-ac97 sound support  
    * ASoC: add support for the sh7722 Migo-R board  
    * ASoC: Add WM2000 driver  
    * ASoC: Add WM8912 DAC support  
    * ASoC: Add WM8994 CODEC driver  
    * ASoC: DaVinci: Update suspend/resume support for McASP driver
    * ASoC: Initial WM8904 CODEC driver  
    * ASoC: OMAP4: Add McPDM platform driver

FireWire

   * firewire: cdev: change license of exported header files to MIT license  
    * firewire: cdev: iso packet documentation  
    * firewire: get_cycle_timer optimization and cleanup  
    * firewire: ohci: add module parameter to activate quirk fixes  
    * firewire: ohci: enable cycle timer fix on ALi and NEC controllers   firewire: ohci: work around cycle timer bugs on VIA controllers

HID, Input

   * HID: add NOGET quirk for Prodige Cordless Combo  
    * HID: add pressure support for the Stantum multitouch panel  
    * HID: add quirk for UC-Logik WP4030 tablet  
    * HID: Add RGT Clutch Wheel clutch device id  
    * HID: add support for Acer T230H multitouch  
    * HID: add support for Ortek WKB-2000  
    * HID: add support for Pixart Imaging Optical Touch Screen  
    * HID: add support for Stantum multitouch panel  
    * HID: allow disabling hard-coded ISO-layout for Apple keyboards  
    * HID: fix up Kconfig entry for MagicMouse  
    * HID: handle joysticks with large number of buttons  
    * HID: make 3M PCT touchscreen driver standalone config option  
    * HID: Support for 3M multitouch panel  
    * HID: Support for MosArt multitouch panel  
    * Input: add driver for TWL4030 vibrator device  
    * Input: add imx-keypad driver to support the IMX Keypad Port  
    * Input: Add support of Synaptics Clickpad device  
    * Input: ADP5588 - add support for ADP5587 devices  
    * Input: ads7846 - add support for AD7843 parts  
    * Input: alps - add support for the touchpad on Toshiba Tecra A11-11L  
    * Input: ALPS - fix stuck buttons on some touchpads  
    * Input: ati_remote - add some missing devices from lirc_atiusb  
    * Input: clarify the no-finger event in multitouch protocol  
    * Input: elantech - allow forcing Elantech protocol  
    * Input: elantech - ignore high bits in the position coordinates  
    * input: Enable touch on 88pm860x  
    * Input: gamecon - add rumble support for N64 pads  
    * Input: gpio-keys - add support for disabling gpios through sysfs  
    * Input: i8042 - add ALDI/MEDION netbook E1222 to qurik reset table  
    * Input: implement input filters  
    * Input: Mac button emulation  - allow compiling as a module  
    * Input: Mac button emulation - implement as an input filter  
    * Input: mark {corgi,spitz,tosa}kbd drivers deprecated  
    * Input: psmouse - ignore parity error for basic protocols  
    * Input: schedule corgi_ssp and corgi_ts to be removed  
    * Input: sh_keysc - add mode 4 and mode 5 support  
    * input: Support onkey in 88pm860x  
    * Input: update Sentelic protocol documentation  
    * Input: update the status of the Multitouch X driver project  
    * Input: usbtouchscreen - add NEXIO (or iNexio) support  
    * Input: usbtouchscreen - find input endpoint automatically  
    * Input: xpad - add rumble support for original xbox controller
 

Hwmonitor, I2C, Watchdog

   * acpi: Support IBM SMBus CMI devices  
    * edac: e752x: add dram scrubbing support  
    * hwmon: Add driver for ADT7411 voltage and temperature sensor  
    * hwmon: (applesmc) Add iMac9,1 and MacBookPro2,2 support  
    * hwmon: (asc7621) Add X58 entry in Kconfig  
    * hwmon: Driver for Andigilog aSC7621 family monitoring chips  
    * hwmon: (it87) Add an entry in MAINTAINERS  
    * hwmon: (it87) Add support for beep on alarm  
    * hwmon: (it87) Add support for old automatic fan speed control  
    * hwmon: (it87) Display fan outputs in automatic mode as such  
    * hwmon: (it87) Drop dead web links in documentation  
    * hwmon: (it87) Expose the PWM/temperature mappings  
    * hwmon: (it87) Validate auto pwm settings  
    * hwmon: (lm90) Add SMBus alert support  
    * hwmon: (lm90) Add support for the Winbond/Nuvoton W83L771AWG/ASG  
    * hwmon: Remove the deprecated adt7473 driver  
    * hwmon: (w83793) Add watchdog functionality  
    * i2c: Add SMBus alert support  
    * i2c: Add support for Ux500/Nomadik I2C controller  
    * i2c: Add support for Xilinx XPS IIC Bus Interface  
    * i2c-algo-bit: Add pre- and post-xfer hooks  
    * i2c: Document the message size limit  
    * i2c: Hook up runtime PM support  
    * i2c-i801: Add Intel Cougar Point device IDs  
    * i2c-mpc: add support for the MPC512x processors from Freescale  
    * i2c: omap: Add support for 16-bit registers  
    * i2c-parport: Add SMBus alert support  
    * i2c-parport-light: Add SMBus alert support  
    * i2c-scmi: Support IBM SMBus CMI devices  
    * lis3: add support for HP ProBook 432x/442x/452x/522x  
    * WATCHDOG: ep93xx: added platform side support for TS-72xx WDT driver  
    * WATCHDOG: ep93xx: implemented watchdog timer driver for TS-72xx SBCs  
    * WATCHDOG: iTCO_wdt: TCO Watchdog patch for additional Intel Cougar Point DeviceIDs  
    * WATCHDOG: support for max63xx watchdog timer chips

Notebook- oder System-spezifische Treiber

   * asus-laptop: add backlight changes notifications  
    * asus-laptop: add bluetooth keys found on M9V  
    * asus-laptop: add gps rfkill  
    * asus-laptop: add wireless and bluetooth status parameter  
    * asus-laptop: rename wireless_status to wlan_status to avoid confusion  
    * asus-laptop: revise names  
    * asus-laptop: set the right paths in the documentation  
    * backlight: Allow properties to be passed at registration  
    * classmate-laptop: Added some keys present in other devices  
    * compal-laptop: Add support for known Compal made Dell laptops  
    * compal-laptop: Replace sysfs support with rfkill support  
    * dell-laptop: Add another Dell laptop to the DMI whitelist  
    * dell-laptop: Blacklist machines not supporting dell-laptop  
    * dell-laptop: Pay attention to which devices the hardware switch controls  
    * dell-laptop: Update rfkill state on kill switch  
    * Documentation/laptop/: split txt and source files  
    * eeepc-laptop: disable wireless hotplug for 1005PE  
    * eeepc-laptop: set the right paths in the documentation  
    * eeepc-wmi: add backlight support  
    * hp-wmi: Add support for tablet rotation key  
    * MAINTAINERS: Add git tree to x86 Platform Drivers  
    * msi-laptop: Add resume method for set the SCM load again  
    * msi-laptop: Add threeg sysfs file for support query 3G state by standard 66/62 ec command  
    * msi-laptop: Detect 3G device exists by standard ec command  
    * msi-laptop: Support some MSI 3G netbook that is need load SCM  
    * msi-laptop: Support standard ec 66/62 command on MSI notebook and nebook  
    * thinkpad-acpi: fix ALSA callback return status  
    * thinkpad-acpi: fix bluetooth/wwan resume  
    * thinkpad-acpi: lock down video output state access  
    * thinkpad-acpi: R52 brightness_mode has been confirmed  
    * toshiba_acpi: Add full hotkey support   toshiba-acpi: fix multimedia keys on some machines

Staging

   * Staging: add Add Sitecom WL-349 to rtl8192su  
    * Staging: batman-adv: moving vis output formats out of the kernel  
    * Staging: dt3155: add it to the build  
    * Staging: dt3155: add TODO file  
    * Staging: hv: add a pci device table  
    * Staging: hv: Add proper versioning to HV drivers  
    * Staging: hv: match on DMI values to know if we should run.  
    * Staging: hv: Remove xen legacy code and check for Hyper-V  
    * Staging: Octeon Ethernet: Convert to NAPI.  
    * Staging: Octeon Ethernet: Enable scatter-gather.  
    * Staging: rar_register: provide better explanation in Kconfig  
    * Staging: rar_register: renaming directory to rar_register  
    * Staging: rt{2860,2870}sta: Use request_firmware() to load firmware  
    * Staging: rt2860: add Belkin F5D8055 Wireless-N USB Dongle device id  
    * staging: rtl8192su: add Support for Belkin F5D8053 v6  
    * Staging: rtl8192su: add USB ID for 0bda:8171  
    * staging: sm7xx: remove the buggy 2D acceleration support  
    * Staging: vme: add ca91cx42 dma support  
    * Staging: vme: Add ca91cx42 rmw support  
    * Staging: vme: Add location monitor support for ca91cx42  
    * Staging: vme: Allow drivers to co-exist  
    * Staging: vme: Attribute Testing For Dma Request  
    * Staging: vme: Enable drivers to handle more than one bridge  
    * Staging: vme: llseek support in user driver  
    * Staging: vme: Make vme_master_resource naming bus neutral   Staging: vme: VMIVME-7805 board support

Storage

Block-Layer, DM und MD

   * Add DocBook documentation for the block tracepoints.  
    * block: Added in stricter no merge semantics for block I/O  
    * block: make CONFIG_BLK_CGROUP visible  
    * cfq-iosched: rethink seeky detection for SSDs  
    * cfq-iosched: rework seeky detection  
    * cfq: reorder cfq_queue removing padding on 64bit  
    * Documentation: fix block/biodoc.txt dma mapping description  
    * dm: document when snapshot has finished merging
    * drbd: --dry-run option for drbdsetup net ( drbdadm – --dry-run connect <res> )
    * md: restore ability of spare drives to spin down.

Libata

   * ahci: add missing nv IDs  
    * ahci: AHCI and RAID mode SATA patch for Intel Cougar Point DeviceIDs  
    * ahci: disable FPDMA auto-activate optimization on NVIDIA AHCI  
    * ata_piix: IDE Mode SATA patch for Intel Cougar Point DeviceIDs  
    * libata: Allow pata_legacy to be built on non-ISA but PCI systems  
    * libata: disable NCQ on Crucial C300 SSD  
    * libata: fix docs, RE port and device of libata.force ID separated by point  
    * libata: Fix several inaccuracies in developer's guide  
    * libata: Pass host flags into the pci helper  
    * [libata] pata_atiixp: add locking for parallel scanning  
    * libata: unlock HPA if device shrunk  
    * pata_atiixp: enable parallel scan  
    * pata_efar: Enable parallel scanning  
    * pata_pdc202xx_old: fix UDMA mode for PDC2026x chipsets  
    * pata_pdc202xx_old: fix UDMA mode for Promise UDMA33 cards  
    * pata_via: Add VIA VX900 support  
    * sata_via: Correctly setup PIO/DMA for pata slave on vt6421.  

MFD, MMC, MTD

   * davinci: MMC: add support for 8bit MMC cards  
    * mfd: Add HTCPLD driver  
    * mfd: Add initial WM8994 support  
    * mfd: Add irq support in 88pm860x  
    * mfd: Add subdevs in max8925  
    * mfd: Add WM831x revision B support  
    * mfd: Append subdev into 88pm860x driver  
    * mfd: Check for ACPI conflicts  
    * mfd: Convert WM8350 to genirq  
    * mfd: Initial max8925 support  
    * mfd: Introduce lpc_sch for Intel SCH LPC bridge  
    * mfd: Rename 88pm8607 to 88pm860x in mfd  
    * mfd: sh_mobile_sdhi MMC_CAP_MMC_HIGHSPEED support  
    * mfd: Support 88pm8606 in 860x driver  
    * mmc: Atmel host kconfig cleanup for everyone else  
    * sdio: add quirk to clamp byte mode transfer  
    * sdio: sdhci support for suspend mode PM features  
    * tmio_mmc: Add MMC_CAP_MMC_HIGHSPEED support V2

SCSI

   * SCSI: be2iscsi: Adding support for BE3  
    * SCSI: bfa: Added separate MSI-X module parameters.  
    * SCSI: bfa: Changes to support FDMI Driver Parameter  
    * SCSI: bfa: Modified the portstats get/clear logic  
    * SCSI: hpsa: add pci ids for storageworks 1210m, remove p400, p800, p700m  
    * SCSI: hpsa: Allow multiple command completions per interrupt.  
    * SCSI: ibmvfc: Add suspend/resume support  
    * SCSI: ibmvscsi: Add suspend/resume support  
    * SCSI: ipr: adds PCI ID definitions for new adapters  
    * SCSI: ipr: add support for new adapter command structures for the next generation chip  
    * SCSI: ipr: add support for new IOASCs  
    * SCSI: ipr: implement shutdown changes and remove obsolete write cache parameter  
    * SCSI: ipr: update the configuration table code for the next generation chip  
    * SCSI: lpfc 8.3.10: Added round robin FCF failover  
    * SCSI: lpfc 8.3.8: Add code to display logical link speed  
    * SCSI: lpfc 8.3.8: (BSG3) Modify BSG commands to operate asynchronously  
    * SCSI: lpfc 8.3.8: (BSG4) Add new vendor specific BSG Commands  
    * SCSI: lpfc 8.3.9: Changes to sysfs interface for the lpfc driver.  
    * SCSI: lpfc 8.3.9: Discovery changes to the lpfc driver.  
    * SCSI: lpfc 8.3.9: SLI enhancments to support new hardware.  
    * SCSI: lpfc: restore MSI-X/MSI support  
    * SCSI: megaraid_sas: add the logical drive list to driver  
    * SCSI: megaraid_sas: version and documentation update  
    * SCSI: mpt2sas: Added phy_enable and set_phy_speed sysfs callback support.  
    * SCSI: mpt2sas: Added raid transport support  
    * SCSI: mpt2sas: Update driver header to latest MPI Spec.  
    * SCSI: qla1280: retain firmware for error recovery  
    * SCSI: qla2xxx: Add BSG support for FC ELS/CT passthrough and vendor commands.  
    * SCSI: qla2xxx: Add firmware ETS burst support.  
    * SCSI: qla2xxx: Enhance EEH support and enable AER support.  
    * SCSI: scsi_dh_alua: Add IBM Power Virtual SCSI ALUA device to dev list  
    * SCSI: scsi_dh_alua: add netapp to dev list   SCSI: scsi_transport_sas: add support for transport layer retries (TLR)

Other storage:

   * amd74xx: don't change UDMA settings when programming PIO timings  
    * IB/ucm: Increase maximum devices supported  
    * IB/umad: Increase maximum devices supported  
    * IB/uverbs: Increase maximum devices supported  
    * ide: add SATA cable detection support  
    * ide: doc: remove compilation options section from ide-cd documentation  
    * ide: Fix Promise UDMA33 IDE driver (pdc202xx_old)  
    * IPoIB: Remove TX moderation settings from ethtool support  
    * pata_pcmcia/ide-cs: add IDs for transcend and kingston cards  
    * RDMA/nes: Add support for KR device id 0x0110  
    * UBI: support attaching by MTD character device name  
    * via82cxxx: add support for VT6415 PCIE PATA IDE Host Controller  
    * via82cxxx: add support for vt8261 and future chips  
    * via82cxxx: fix SATA cable detection   via82cxxx: vx855 is a single channel controller

USB

   * drivers/usb/net/kaweth.c: add device "Allied Telesyn AT-USB10 USB Ethernet Adapter"  
    * USB: Add call to notify xHC of a device reset.  
    * USB: Add id for HP ev2210 a.k.a Sierra MC5725 miniPCI-e Cell Modem.  
    * USB: add new ftdi_sio device ids  
    * USB: cdc-acm: add another device quirk  
    * USB: cdc_acm: Add support for pbLua console port  
    * USB: change handling of negative autosuspend delays  
    * USB: check the endpoint type against the pipe type  
    * USB: cp210x: Add 81E8 (Zephyr Bioharness)  
    * USB: cxacru: add write-only sysfs attribute for modem configuration  
    * USB: cxacru: remove cxacru-cf.bin loader  
    * USB: cxacru: return an empty value for modulation if there is no connection  
    * USB: cypress_m8: allow unstable baud rates  
    * USB: ehci-fsl: Add power management support  
    * USB: Export QUIRK_RESET_MORPHS through sysfs  
    * USB: Fix documentation for avoid_reset_quirk  
    * USB: fix the idProduct value for USB-3.0 root hubs  
    * USB: gadget: Add DEVTYPE support for Ethernet functions  
    * USB: gadget: add gadget controller number for s3c-hsotg driver  
    * USB: gadget: introduce g_nokia gadget driver  
    * USB: implement usb_enable_autosuspend  
    * USB: isight-firmware: declare MODULE_FIRMWARE  
    * usb: musb: Add context save and restore support  
    * USB: MXC: Add i.MX21 specific USB host controller driver.  
    * USB: MXC: add platform resources for i.MX21 USB host controller.  
    * USB: option: add ID for ZTE MF 330  
    * USB: option: add support for a new CMOTECH device to usb/serial/option  
    * USB: Option: Add support for a variant of DLink DWM 652 U5  
    * USB: option.c: Add Pirelli VID/PID and indicate Pirelli's modem interface is 0xff  
    * USB: otg: add notifier support  
    * USB: otg: twl4030: add support for notifier  
    * USB: pl2303: add AdLink ND-6530 USB IDs  
    * USB: pl2303: initial TIOCGSERIAL support  
    * USB: Push BKL on open down into the drivers  
    * USB: qcaux: add LG Rumor and Sanyo Katana LX device IDs  
    * USB: qcaux: driver for auxiliary serial ports on Qualcomm devices  
    * USB: qcserial: add new device ids  
    * USB: remove the berry_charge driver  
    * USB: Remove unsupported usb gadget drivers  
    * USB: serial: add support for serial port on the moschip 7715  
    * USB: serial: Add support for ViVOtech ViVOpay devices.  
    * USB: serial: ftdi: add CONTEC vendor and product id  
    * USB: serial: ftdi: add CONTEC vendor and product id  
    * USB: serial: option: add cinterion device id  
    * USB: serial: option.c: Add 4G W14 stick to blacklist for option_send_setup  
    * USB: serial: option.c: Add blacklisting infrastructure for special device handling  
    * USB: serial: option.c: Add chipset information for 4G W14  
    * USB: serial: option: ZTEAC8710 Support with Device ID 0xffff  
    * USB: unusual_devs: Add support for multiple Option 3G sticks  
    * USB: usbfs_snoop: add data logging back in  
    * USB: vstusb.c: removal of driver for Vernier Software and Technology, Inc., devices and spectrometers  
    * USB: xhci: Allow roothub ports to be disabled.  
    * USB: xhci: Notify the xHC when a device is reset.  

V4L/DVB

   * V4L/DVB (13633): ir-core: create a new class for remote controllers  
    * V4L/DVB (13634): ir-core: allow passing IR device parameters to ir-core
    * V4L/DVB (13636): ir-core: add method to change IR protocol  
    * V4L/DVB (13815): gspca - sunplus: Add webcam 052b:1507.  
    * V4L/DVB (13818): Add Prof 7500 DVB-S2 USB card  
    * V4L/DVB (13830): uvcvideo: add another YUYV format GUID for iSight cameras  
    * V4L/DVB (13839): smsdvb: add ISDB-T as DVB-T tuning support hack  
    * V4L/DVB (13840): smsusb: Add ISDB-T firmware for Hauppauge WinTV-Nova-T-MiniStick  
    * V4L/DVB (13867): gspca - zc3xx: Add one more chipset ID of tas5130K.  
    * V4L/DVB (13871): gspca - benq: New subdriver for camera 04a5:3035.  
    * V4L/DVB (13872): gspca - sonixj: Add sensor adcm1700 and webcam 0c45:614a.  
    * V4L/DVB (13885): zr364xx: fix support for Aiptek DV T300  
    * V4L/DVB (13893): gspca - vc032x: Change the sensor of 046d:0892 and 046d:0896.  
    * V4L/DVB (13894): gspca - sonixj: Add more controls.  
    * V4L/DVB (13908): cx18: Add initial working VIDIOC_G_ENC_INDEX ioctl() support  
    * V4L/DVB (13913): saa7127: Add support for generating SECAM output for the SAA712[89] chips  
    * V4L/DVB (13916): gspca - ov534/ov534_9: Split the ov534 subdriver.  
    * V4L/DVB (13932): em28xx: add PAL support for VBI  
    * V4L/DVB (13945): Add lost config and PCI ID for card of Beholder  
    * V4L/DVB (13992): gspca_sn9c2028: New gspca subdriver  
    * V4L/DVB (13993): gspca.txt: add cams supported by mr97310a, sq905(c) and sn9c2028 drivers  
    * V4L/DVB (14002): gspca_sonixb / sn9c102: Make gspca handle 0c45:6007  
    * V4L/DVB (14004): drivers/media/video/Kconfig: Turn deprecated drivers off by default  
    * V4L/DVB: Add an entry for Kworld 315U remote  
    * V4L/DVB: Add Support for DVBWorld DVB-S2 PCI 2004D card  
    * V4L/DVB: Add support for SMT7020 to cx88  
    * V4L/DVB: af9015: support for DigitalNow TinyTwin v2  
    * V4L/DVB: af9015: support for Leadtek WinFast DTV2000DS  
    * V4L/DVB: AZ6027: Add driver supported ID's  
    * V4L/DVB: AZ6027: Add driver supported ID's  
    * V4L/DVB: AZ6027: Initial import of the driver  
    * V4L/DVB: AZ6027: Update Build  
    * V4L/DVB: bttv: Let the user disable IR support  
    * V4L/DVB: cx18: add cx18-alsa module to Makefile  
    * V4L/DVB: cx18-alsa: Add non-working cx18-alsa-pcm.[ch] files to avoid data loss  
    * V4L/DVB: cx18-alsa: Initial non-working cx18-alsa files  
    * V4L/DVB: cx18: overhaul ALSA PCM device handling so it works  
    * V4L/DVB: cx23885: Add support for LEADTEK WinFast PxTV1200  
    * V4L/DVB: DaVinci - Adding platform & board changes for vpfe capture on DM365  
    * V4L/DVB: Definitions for TVP7002 in DM365  
    * V4L/DVB: Documentation: gspca.txt: update known mr97310a cams  
    * V4L/DVB: em28xx: add Dikom DK300 hybrid USB tuner  
    * V4L/DVB: em28xx : Terratec Cinergy Hybrid T USB XS FR is working  
    * V4L/DVB: feature-removal: announce videotext.h removal  
    * V4L/DVB: get_dvb_firmware: Add function to retrieve nGene firmwares  
    * V4L/DVB: gscpa Documentation: add cpia1 cameras  
    * V4L/DVB: gscpa_pac207: Add support for camera button  
    * V4L/DVB: gscpa_pac7311: Add support for camera button  
    * V4L/DVB: gscpa_zc3xx: Add support for camera button  
    * V4L/DVB: gspca - main: Add input support for interrupt endpoints.  
    * V4L/DVB: gspca: make usb id 0461:0815 get handled by the right driver  
    * V4L/DVB: gspca_mr97310a: add support for the Sakar 1638x CyberPix  
    * V4L/DVB: gspca_ov519: add support for the button on ov511 based cams  
    * V4L/DVB: gspca_ov519: Add support for the button on ov518 based cams  
    * V4L/DVB: gspca_ov519: add support for the button on ov519 based cams  
    * V4L/DVB: gspca - pac7302: Add support for camera button.  
    * V4L/DVB: gspca_sonixb: Add support for camera button  
    * V4L/DVB: gspca_sonixj: Add camera button support  
    * V4L/DVB: gspca_sq905c: Add an additional USB-ID  
    * V4L/DVB: gspca_stv06xx: Add support for camera button  
    * V4L/DVB: gspca - t613: Support for LT168G sensor.  
    * V4L/DVB: hdpvr: add new USB product id  
    * V4L/DVB: ivtv: Add initial entry for Sony VAIO Giga Pocket (Kikyou) cards  
    * V4L/DVB: Kbuild addition for TVP7002 driver  
    * V4L/DVB: Kworld 315U remote support  
    * V4L/DVB: m920x: Add support for Pinnacle PCTV310e card  
    * V4L/DVB: media-spec: Fix documentation mistakes regarding I/O streaming  
    * V4L/DVB: mfd: Add support for the timberdale FPGA  
    * V4L/DVB: ngene: Added Media-Pointer MP-S2/CineS2 DVB-S2 Twin Tuner  
    * V4L/DVB: ngene: Added module parameter "one_adapter"  
    * V4L/DVB: radio: Add radio-timb  
    * V4L/DVB: radio: add support for SAA7706H Car Radio DSP  
    * V4L/DVB: Support for TVP7002 in v4l2 definitions  
    * V4L/DVB: tlg2300: remove the country code for analog tv and radio  
    * V4L/DVB: tuner-types: Add Sony BTF-Pxn01Z tuner type used on GigaPocket cards  
    * V4L/DVB: TVP7002 driver for DM365  
    * V4L/DVB: V4L2: Add a document describing the videobuf layer  
    * V4L/DVB: V4L - vpfe capture - build environment for isif driver  
    * V4L/DVB: V4L - vpfe capture - header files for ISIF driver  
    * V4L/DVB: V4L - vpfe capture - source for ISIF driver on DM365  
    * V4L/DVB: V4L - vpfe capture - vpss driver enhancements for DM365  

Verschiedene andere Treiber

   * backlight: Add Epson L4F00242T03 LCD driver  
    * Debugging options for the DMA engine subsystem  
    * dma: Add MPC512x DMA driver  
    * gpio: add driver for MAX7300 I2C GPIO extender  
    * gpio: add Intel SCH GPIO controller driver  
    * gpio: introduce gpio_request_one() and friends  
    * gpio: introduce it8761e_gpio driver for IT8761E Super I/O chip  
    * gpiolib: Add support for WM8350 GPIO controller  
    * gpiolib: Add WM8994 GPIO support  
    * gpio: pca953x.c: add interrupt handling capability  
    * ip2: Add module parameter.  
    * ipmi: add parameter to limit CPU usage in kipmid  
    * led: Enable led in 88pm860x  
    * leds: Add Dell Business Class Netbook LED driver  
    * MFGPT: move clocksource menu  
    * power_supply: bq27x00: add BQ27500 support  
    * power_supply: Enable power supply of max8925  
    * pps: LinuxPPS clients support  
    * pps: serial clients support  
    * regulator: Add max8925 support  
    * regulator: Add notifier event on regulator disable  
    * regulator: add voltage selection capability to mc13783 regulators v2 .  
    * regulator: Add WM8994 regulator support  
    * regulator: enable max8649 regulator driver  
    * regulator: Provide optional dummy regulator for consumers  
    * rtc: Enable rtc in max8925  
    * sdio: introduce API for special power management features  
    * serial 8250: enable PPS support  
    * serial: 8250_pci: add support for MCS9865 / SYBA 6x Serial Port Card  
    * serial: 8250_pnp - add Fujitsu Wacom device  
    * serial: add support for Korenix JetCard  
    * serial amba-pl010: enable PPS support  
    * serial_cs: MD55x support (PCMCIA GPRS/EDGE modem) (kernel 2.6.33)  
    * serial: fit blackfin uart over sport driver into common uart infrastructure  
    * timbgpio: add support for interrupt triggering on both flanks  
    * tty: declare MODULE_FIRMWARE in various drivers  
    * UIO: Add a driver for Hilscher netX-based fieldbus cards   UIO: Remove SMX Cryptengine driver

Nachzügler

Da die Kernel-Entwickler das Gros der Änderungen für eine neue Kernel-Version in der Merge Window genannten Phase am Anfang des Entwicklungszyklus in das Quellcodeverwaltungssystem einpflegen, stehen die wesentlichen Änderungen einer neuen Kernel-Version bereits Wochen vor deren Freigabe fest. Häufig nehmen die Kernel-Entwickler in der zweiten Phase des Entwicklungszyklus aber noch einige kleinere, zumeist nicht ganz so wichtige Änderungen der Kategorie "Die kleineren Perlen" in den Linux-Kernel auf – teilweise, nachdem das Kernel-Log über die entsprechenden Bereiche berichtet hat.

Dazu zählte diesmal etwa die Aufnahme des Treiber ipheth, der Tethering mit dem iPhone ermöglicht. Einige weitere Nachzügler:

Netzwerk

   * net: corrected documentation for hardware time stamping
    * drivers/net/phy: micrel phy driver
    * e1000e: enable/disable ASPM L0s and L1 and ERT according to hardware errata
    * net/usb: add sierra_net.c driver

Quelle : www.heise.de
Titel: Linux-Kernel 2.6.34 freigegeben
Beitrag von: SiLæncer am 17 Mai, 2010, 08:30
Knapp drei Monate nach der Veröffentlichung von Linux 2.6.33 hat Linus Torvalds die Kernel-Version 2.6.34 freigegeben  . Sie unterstützt zwei neue Dateisysteme, bringt Verbesserungen bei der Virtualisierung und nutzt die Stromsparmechanismen moderner Hardware effizienter. Hunderte neuer oder überarbeiteter Treiber verbessern zudem die Hardware-Unterstützung – so enthält 2.6.34 bereits Unterstützung für einige Intel-Prozessoren und -Chipsätze, die das Unternehmen erst Anfang nächsten Jahres einführen will.

Quelle : www.heise.de
Titel: Linux-Kernel 2.6.35 tritt in die Testphase ein
Beitrag von: SiLæncer am 31 Mai, 2010, 10:15
In den zwei Wochen seit der Freigabe von Linux 2.6.34 hat Torvalds über 8500 Änderungen in den Kernel integriert. Einige weitere will er laut seinen Anmerkungen noch hinzufügen. Damit werden die Änderungen in der kommenden Version wieder den Umfang der Versionen vor 2.6.34 erreichen. Torvalds hält den Entwicklungsprozess für sehr gesund. Über 1000 Autoren haben auch in dieser Version zum Kernel beigetragen.

Wieder sind etwa zwei Drittel der Änderungen dem Bereich der Treiber zuzurechnen. Unter anderem wurden zahlreiche neue Treiber integriert. Das Subsystem zur Leistungsmessung wurde um das »Precise Event Based Sampling (PEBS)« erweitert, in dem die Hardware Ereignisse direkt in einen reservierten Speicherbereich schreiben kann. Das Tool »perf kvm«, das die Beobachtung der Leistung von virtuellen Maschinen ermöglicht, kam hinzu.

Das Netzwerk-Subsystem wurde um Receive Packet Steering und Receive Flow Steering erweitert. Dies soll den Empfang von Netzwerkpaketen in SMP-Systemen effizienter machen. Eine Memory Compaction (keine Kompression) soll größeren Speicherallkoierungen auch bei knappem Speicher bessere Erfolgsaussichten geben.

Der Timer Slack-Mechanismus kann dafür sorgen, dass kurz nacheinander bevorstehende Timer-Events zu einem einzigen zusammengefasst werden. Ein wenig beschäftigtes System kann so unter Umständen mehr Zeit im Schlafzustand verbringen und etwas Energie sparen.

Das Video4Linux2-Subsystem erhielt einiges an neuer Infrastruktur (http://lwn.net/Articles/389081/). Die zahlreichen weiteren Änderungen sind im ausführlichen Änderungslog zu finden. Kernel, Patch-und Änderungslog-Dateien sind von zahlreichen Spiegelservern von kernel.org herunterzuladen (http://www.eu.kernel.org/pub/linux/kernel/v2.6/testing/).


Quelle : www.pro-linux.de
Titel: Kernel-Log: Linux 2.6.35 nimmt Gestalt an
Beitrag von: SiLæncer am 31 Mai, 2010, 16:47
Linux 2.6.35 soll mehr Netzwerk-Durchsatz liefern, die Turbo-Core-Funktion moderner AMD-Prozessoren unterstützen und bei Bedarf Arbeitsspeicher defragmentieren. Auf der LKML sorgt derweil eine Diskussion um die Aufnahme einiger von Google für Android entwickelte Patches für ein erhöhtes Mail-Aufkommen.

Zwei Wochen nach der Freigabe von Linux 2.6.34 hat Linus Torvalds in der Nacht von Sonntag auf Montag die erste Vorabversion von Linux 2.6.35 veröffentlicht  und damit die Aufnahme der größten Änderungen für die in zirka zehn Wochen erwartete Kernel-Version abgeschlossen. Die Merge Window genannte Phase dauerte dieses Mal wieder 14 Tage, nachdem das Zeitfenster bei Linux 2.6.34 etwas kürzer war, was zu Verwirrung bei einigen Subsystem-Verwaltern geführt hatte.

Wie üblich wird die nächste Version der Hauptentwicklungslinie wieder haufenweise Änderungen und Verbesserungen an Infrastruktur und Treibern bringen. Durch einige von Google-Entwickler Tom Herbert eingebrachte Änderungen beherrscht das Netzwerk-Subsystem des Kernels nun etwa Receive Packet Steering (rps) und Receive Flow Steering (rfs) – zwei Techniken, die die Schritte zur Verarbeitung von empfangenen Netzwerkpaketen geschickter auf die verfügbaren Prozessorkerne verteilen, um den Durchsatz zu steigern und Latenzen zu senken.

Durch Memory Compaction soll der Kernel bei Bedarf die Fragmentierung des Arbeitsspeichers reduzieren können – so lassen sich größere Bereiche freien Speichers schaffen, die sich mit großen Speicher-Pages nutzen lassen, was den Verwaltungs-Overhead klein hält. Linux 2.6.35 bringt zudem volle Unterstützung für die Turbo Core genannte Funktion, mit der neuere AMD-Prozessoren ihren Takt bei Teilauslastung steigern.

Weiter ausgebaut haben die Kernel-Hacker die bei Linux 2.6.34 noch rudimentäre Unterstützung für die Stromsparfunktionen bei Radeon-Grafikchips. Ferner führt der Cpuidle-Code nun besser Buch über die Systemauslastung, damit er nicht durch zu aggressive Nutzung der zur Laufzeit nutzbaren Prozessor-Schlafmodi den Datendurchsatz reduziert.

Wie üblich wird das Kernel-Log in den kommenden Wochen in c't und auf heise open über diese und hunderte anderer Neuerungen von Linux 2.6.35 berichten. Insgesamt gab es zwischen 2.6.34 und 2.6.35-rc1 im Hauptentwicklungszweig 8113 Commits, die laut Diffstat 609.506 Zeilen Quellcode einfügen und 270.035 entfernen. Ungefähr zwei Drittel der Quellcodeänderungen modifizieren Treiber-Code.

2.6.35 signifikant langsamer?

Die auf Linux-Hardware-Themen spezialisierte Webseite Phoronix will bei Geschwindigkeitstest festgestellt haben, dass der Linux-Kernel des Hauptentwicklungszweigs seit einigen Tagen signifikant langsamer arbeitet als ältere Kernel. Die Webseite widmet der Problematik einen fünfseitigen Artikel unter der Überschrift "The Huge Disaster Within The Linux 2.6.35 Kernel".

Das ist ziemlich viel Aufwand für eine Vorabversion von 2.6.35, denn bis dieser Kernel erscheint, dürften noch knapp zwei Monate verstreichen – zum Zeitpunkt der Tests gab es noch nicht einmal Vorabversionen von 2.6.35, wie die Phoronix-Macher bereits im ersten Absatz anmerken. Die Kernel-Entwickler haben also noch reichlich Zeit, eventuelle Performance-Probleme zu beseitigen.

Berichte über Performance-Probleme bei Vorabversionen finden sich auf der Linux Kernel Mailing List (LKML) ohnehin zuhauf, denn sie werden alle paar Wochen oder Monate von Testern bei AMD, IBM, Intel sowie anderen Firmen und Institutionen gefunden. Das ist aber selbst auf Linux spezialisierten Medien meist keine oder nur eine kurze Erwähnung wert, weil es für die Performance-Unterschiede entweder gute Gründe gibt oder die Probleme bis zur Freigabe der jeweiligen Kernel-Version sowieso beseitigt werden.

Außerdem kann man wie bei jeder Messung über die Relevanz der Tests streiten – Phoronix hat in dieser Hinsicht unter Kernel-Entwicklern nicht unbedingt den besten Ruf (etwa 1, 2, 3). So wurden die jetzigen Tests mit zwei Nettops durchgeführt, in denen schwachbrüstige Atom-Prozessoren stecken. Beide zeigten Einbrüche bei der Performance, der deutlichste trat jedoch bei dem Nettop mit Poulsbo-Chipsatz auf, den viele Linux-Anwender aufgrund der problematischen Treiber-Situation meiden. Das Gerät nutzte zudem das experimentelle, noch nicht für den Produktiveinsatz geeignete Dateisystem Btrfs.

Die Kernel-Entwickler scheinen über das Problem bislang noch nicht informiert worden zu sein, konnten es also auch noch nicht kommentieren – zumindest findet eine Suche nach Phoronix bei bugzilla.kernel.org und auf der LKML bislang keine relevanten Einträge.

Linux-Versionsstatus

Auch die Betreuer der Stable-Series waren nicht untätig und haben seit dem letzten regulären Kernel-Log die Kernel-Versionen 2.6.27.47, 2.6.32.13, 2.6.32.14, 2.6.33.4 und 2.6.33.5 veröffentlicht. Wie üblich wird nicht explizit ausgewiesen, ob die neuen Versionen Sicherheitslücken stopfen. Unter den Hunderten von kleineren Verbesserungen und Korrekturen der Stable-Kernen findet sich bei 2.6.32.13 und 2.6.33.4 ein auch in 2.6.34 integrierter Patch, der die jüngst bekannt gewordene Performance-Schwäche bei Phenom-Prozessoren mit Turbo Core beseitigt.

Greg Kroah-Hartman erklärt in der Freigabe-Mail zu Linux 2.6.33.5, dass dies wohl die vorletzte Version von Linux 2.6.33 sein werde; wer noch einen 33er-Kernel einsetzt, soll einen Umstieg auf Linux 2.6.34 erwägen.

Google, Android und der Linux-Kernel

Für reichlich Traffic auf der LKML sorgt kürzlich eine Diskussion um die von Google-Entwicklern eingebrachte und für Android gedachte Suspend Block API (in früheren Inkarnationen "Wakelocks" genannt). Darüber können einzelne Anwendungen oder Treiber dafür sorgen, dass das System nicht wie sonst üblich in einen Schlafzustand wechselt, wenn es nicht benutzt wird. Auf dieses Funktion hat aber längst nicht jede Software Zugriff – das soll sicherstellen, dass unsauber programmierte Anwendungen nicht die Batterie von Smartphones leer saugen. Weitere Hintergründe zur Funktionsweise liefert ein Mitte Mai erschienener LWN.net-Artikel, der auf mehrere ältere Artikel und weitere Quellen zum Thema verweist.

Nach mehreren, teilweise schon langen Diskussionen in den vergangenen Wochen hat Power-Management-Maintainer Rafael J. Wysocki die Suspend-Block-Patches kürzlich in seinen Entwicklerzweig integriert und Torvalds einen Git-Pull-Request mit der Bitte um Aufnahme in den Hauptentwicklungszweig von Linux gesendet. Daraufhin schalteten sich mehrere Kernel-Größen verstärkt in die Diskussionen ein, sodass die zuvor schon hitzige Diskussion an Tempo noch weiter zunahm.

Hauptkritikpunkt einiger Linux-Entwickler: Der ganze Ansatz sei ungeschickt und gehöre nicht in den Kernel. Einige andere Kernel-Entwickler halten die Patches für akzeptabel, da bislang keine bessere Lösung für das Problem in Sicht sei, dass Google zu lösen versucht. Über das Wochende kam die Diskussion schließlich weitgehend zur Ruhe – es scheint, als würde zumindest der ein oder andere Kernel-Hacker auf eine Einmischung von Torvalds warten, der sich bislang nicht zu Wort gemeldet hat und auch die Patches außen vor ließ.

Kernel-Log-Staccato

Kernel

    * TuxOnIce-Entwickler Nigel Cunningham will sich in nächster Zeit verstärkt darum bemühen, einige Funktionen der Software-Suspend-Technik in den Hauptentwicklungszweig von Linux zu integrieren.
    * Christoph Hellwig gibt im "XFS status update for April 2010" einen Überblick über die jüngsten Änderungen rund um das XFS-Dateisystem.
    * Mauro Carvalho Chehab hat in einer LKML-Mail die Themen und Diskussionen des Mitte April abgehaltenen "Hardware Error Kernel Mini-Summit" zusammengefasst. Hauptthema war eine Zusammenlegung der Subsysteme MCE und EDAC zu einem "Error Subsystem".

Grafik

    * Nvidia hat die erste 256er-Generation der Linux-Grafikkartentreiber vorgestellt (256.25 Beta) und kürzlich eine zweite nachgereicht.
    * Zusätzlich zum bisherigen Mesa-3D-Treiber für Radeon-Grafikchips der r600/r700-Generation enthält der Hauptentwicklungszweig von Mesa nun auch einen zweiten, der auf Gallium3D aufsetzt; er ist aber nur experimentell und bietet längst nicht den Funktionsumfang des älteren Treibers.
    * Dem monatlichen Rhythmus folgend hat AMD Ende Mai die Version 10.5 der proprietären Linux-Grafiktreiber veröffentlicht. Der Treiber enthält nun als "Early Look" klassifizierte Unterstützung für das Service Pack 1 von Suse Linux Enterprise (SLED/SLES) 11, läuft aber immer noch nicht zusammen mit dem aktuellen X-Server 1.8. Einige weitere Änderungen des als Fglrx oder Catalyst bekannten Grafiktreibers listet das Changelog.
    * Keith Packard hat kürzlich in einer Mail einige Details zum Entwicklungsstand des X-Server 1.9 zusammengefasst.

Kernel-Umland ("Plumbing layer"), Userland-Treiber, Entwicklertools

    * Kay Sievers hat die Udev-Versionen 155 und 156 freigegeben.
    * Upstart-Hauptentwickler Scott James Remnant erläutert in seine Blog einige Unterschiede zwischen den Arbeitsweisen von Upstart, SysV-Init und dem kürzlich vorgestellten Systemd.
    * Alan Ott hat den Artikel "How to use libudev and Sysfs" veröffentlicht und auf der LKML um Kommentare gebeten.
    * Peter Hutterer erläutert in einem Blog-Eintrag, wie man die in den Standard-Einstellungen von Gnome üblicherweise deaktivierte Klick-Funktion ("Tapping") einschaltet. Anlass dürfte eine Mail von Linus Torvalds gewesen sein, dessen Tochter sich über ein nicht richtig arbeitendes Touchpad beschwert hatte.
    * Die Entwickler des Projekts Hplip haben Mitte Mai die Version 3.10.5 der gleichnamigen Treibers für Drucker und Multifunktionsgeräte von HP veröffentlicht.
    * Mit der kurz nach Linux 2.6.34 veröffentlichte Version 2.6.34 von iproute2 bietet die Netzwerk-Tool-Sammlung nun Unterstützung für SR-IOV und Tuntap.
    * Util-linux-ng-Maintainer Karel Zak hat in seinem Blog einige der jüngsten Entwicklungen rund um das Zusammenspiel von Linux und Festplatten mit 4-KByte großen Sektoren zusammengefasst.
    * Jens Axboe, Verwalter des Block-Subsystems von Linux, wechselt von Oracle zu Fusion-IO.
    * Ext-Dateisystementwickler Theodore 'tytso' Tso hat die Version 1.41.12 der Dateisystemtool-Sammlung E2fsprogs veröffentlicht.

Quelle : www.heise.de
Titel: Linux-Kernel 2.6.35-rc2 veröffentlicht, rc3 nur mit Reparaturen
Beitrag von: SiLæncer am 07 Juni, 2010, 11:49
Linus Torvalds hat einen zweiten Release Candidate des Linux-Kernels 2.6.35 freigegeben und gleichzeitig betont, für den bevorstehenden dritten Release Candidate werde er keine wesentlichen Änderungen mehr akzeptieren, sondern nur noch Reparaturen.

Torvalds hatte moniert, der Code-Umfang des Release Candidate 2 des Linux-Kernels 2.6.35 sei ungewöhnlich groß. Er hatte gehofft, dass die Entwicklung des aktuellen Kernels etwas ruhiger verlaufe als die der letzten Version. Damals war die Kernel-Entwicklung wegen vieler grundlegender Neuerungen, etwa dem Nouveau-Treiber, turbulent gewesen.

Dieser Entwicklungszyklus soll ruhiger werden. Torvalds gab bekannt, er werde schon den nächsten Release Candidate, den RC3, der in wenigen Tagen erwartet wird, als "sane" einstufen und keinen weiteren neuen Code zulassen, der übermäßig viel Nachbearbeitung nach sich ziehen würde. Stattdessen sollen die Fehler im gegenwärtigen Code beseitigt werden. Seine Kinder hätten ab übernächster Woche schulfrei, so Torvalds, und er werde dann einige Tage nicht erreichbar sein.

In den aktuellen RC2 des nächsten Kernels 2.6.35 sind nochmals einige Treiber aus dem Staging-Bereich eingeflossen. Dort lagert experimenteller Code, der auf den Sprung in den Hauptzweig des Kernels wartet. Die neuen Treiber machen 70 Prozent des aktuellen Patches aus und betreffen unter anderem das Control und Measurement Device Interface (comedi).

Zusätzlich hat Torvalds einen neuen Core-i7-EDAC-Treiber integriert, der bereits vor dem ersten Release Candidate angemeldet war. Weitere Änderungen wurden auch am überarbeiteten Video-for-Linux-Stack und an den DRM-Treibern für Intels i915- und AMDs/ATIs Radeon-Grafikchipsätze vorgenommen.

Das Changelog des aktuellen Kernels hat Torvalds diesmal an seinen Eintrag in der Mailingliste angefügt, da er sie für "überschaubar" hält. Die offizielle Version ist auch unter kernel.org erhältlich. Dort liegt der Quellcode der aktuellen rc2 zur Einsicht.

Quelle : www.golem.de
Titel: ZFS für den Linux-Kernel
Beitrag von: SiLæncer am 07 Juni, 2010, 16:00
Entwickler des Lawrence Livermore National Laboratory haben in Zusammenarbeit mit Oracle große Teile des Solaris-Dateisystems ZFS auf den Linux-Kernel portiert. Ziel ist es, das verteilte Dateisystem Lustre  unter Linux auf ZFS nutzen zu können.

Aus dieser engen Zielsetzung erklärt sich auch die Unvollständigkeit der Portierung von Native ZFS for Linux: Da Lustre direkt auf der Data Management Unit (DMU) von ZFS aufsetzt, die zwischen dem Storage Pool Allocator (SPA, Schnittstelle zur Speicher-Hardware) und dem ZFS Posix Layer (ZPL, Schnittstelle zum Betriebssystem) vermittelt, haben die Entwickler den ZFS Posix Layer noch nicht auf Linux portiert. Damit lassen sich ZFS-Volumes beim derzeitigen Entwicklungsstand unter Linux nicht mounten. Am ZPL werde jedoch schon gearbeitet.

Native ZFS for Linux lässt sich derzeit mit Kernel-Versionen bis 2.6.32 übersetzen; getestet sind unter anderem der Kernel 2.6.32 von Fedora 12 und der Beta-Version von Red Hat Enterprise Linux 6 sowie 2.6.18 aus RHEL 5. Zum Übersetzen sind der Solaris Porting Layer und ein 64-bittiges Linux-System erforderlich.

Bislang lässt sich ZFS unter Linux lediglich über FUSE als Dateisystem im Userspace nutzen (zfs-fuse), was Performance-Nachteile mit sich bringt. Grund dafür ist die Lizenz-Inkompatibilität zwischen Linux-Kernel (GPL) und ZFS (wie OpenSolaris CDDL): Es ist nicht möglich, Code zu vertreiben, der gleichzeitig die Bedingungen von GPL und CDDL erfüllt. Dieses Problem kann auch Native ZFS for Linux nicht lösen: Der Code kann nicht zusammen mit dem Linux-Kernel vertrieben werden; Anwender müssen ihn selbst herunterladen und übersetzen. Der Einsatz ist dann legal.

Quelle : www.heise.de
Titel: Kernel-Log: Linus bei der Aufnahme von Änderungen penibler
Beitrag von: SiLæncer am 24 Juni, 2010, 11:11
So wie es aussieht wird Linus Torvalds in Zukunft strikter darauf achten, nach Ende des Merge Window nur mehr Änderungen aufzunehmen, die Fehler korrigieren. Torvalds hat sich zudem in die Android-Suspend-Block-Diskussion eingeschaltet und die Situation weiter verkompliziert.

Seit Jahren fließen die größten Neuerungen für die jeweils nächste Version des Linux-Kernels im Rahmen des Merge Window in den Hauptentwicklungszweig, das typischerweise zwei Wochen lang ist und mit der Freigabe der ersten Vorabversion (2.6.x-rc1) eines neuen Kernels beendet wird. Anschließend sollten eigentlich nur mehr Patches in den Kernel einfließen, die Fehler beseitigen, ohne neue auszulösen. In der Praxis gab es aber im RC2 oder RC3 immer noch die ein oder andere größere Änderung; einige Aufräumarbeiten, die beispielsweise Compiler-Warnungen beseitigen, zogen vielfach sogar noch später ein.

Das war auch beim derzeit vorbereiteten Kernel 2.6.35 so, dessen zweite Vorabversion noch einige nicht gerade kleine Umbauarbeiten enthielt. Schon bei der Freigabe dieser Version deutete Torvalds an, von nun an nur noch Änderungen aufzunehmen, die Fehler korrigieren. Wie ernst ihm das war, zeigen zahlreiche LKML-Mails von Torvalds aus den darauf folgenden Tagen, wo er Git-Pull-Requests deutlich zurückweist und die Subsystem-Maintainer dazu auffordert, nur mehr Fehlerkorrekturen einzusenden (u. a. 1, 2, 3, 4, 5, 6, 7, 8, 9); selbst einige kleine, vermeintlich ungefährliche Aufräumarbeiten wies er zurück.

Ein Grund für dieses strikte Vorgehen war offensichtlich ein durch eine unscheinbare Änderung ausgelöster Fehler im RC2, durch den Code des TTY-Subsystems einige von anderem Kernel-Code genutzten Speicherbereiche überschrieb, sodass Tester unterschiedliche, teilweise nur schwer reproduzierbare Probleme in verschiedenen Bereichen des Kernels beobachteten. Der zweite Grund für das striktere Vorgehen ist hingegen weltlicher: Torvalds ist nach der Freigabe des RC3 in Urlaub verschwunden und wollte Testern einen möglichst gut laufenden Kernel hinterlassen. Trotzdem scheint die Situation nicht einmalig zu bleiben, denn in einigen Mails deutet Torvalds an, vermutlich auch in Zukunft strikter darauf zu achten, dass nach Ende der Merge Window nur mehr Fehlerkorrekturen in den Hauptentwicklungszweig einziehen – wie penibel er dabei vorgeht, müssen die kommenden Monate zeigen.

Linux-Versionsstatus

Der neuste der meist wöchentlich erscheinenden "Regression Reports" von Rafael J. Wysocki weist derweil 26 Fehler bei Linux 2.6.35-rc3 aus, die 2.6.34 noch nicht zeigte; außerdem enthält die aktuelle Vorabversion von 2.6.35 noch 28 Fehler, die während der Entwicklung von Linux 2.6.34 eingeschleppt wurden.

Seit dem letzten Kernel-Log gab es mit Linux 2.6.32.15 nur einen neuen Stable-Kernel. Er enthält lediglich zwei Änderungen, die Fehler des direkten Vorgängers beseitigen – wer diesen einsetzt, ohne dass sich Probleme zeigen, kann sich die Aktualisierung sparen.
Kernel-Log-Staccato

Kernel

    * Die bereits im letzten Kernel-Log erwähnte Diskussion um das von Google für Android entwickelte Suspend Block API (früher Wakelocks) ging noch einige Tage weiter. Schließlich stieg auch Linus Torvalds in die Diskussion ein und kritisierte einen zuvor von Ingo Molnar präsentierten Lösungsvorschlag. Durch diesen und einige weitere Einwürfe des Linux-Schöpfers scheint eine baldige Lösung der Situation noch unwahrscheinlicher als zuvor; möglicherweise zieht aber etwas Kompatibilitätscode in den Kernel ein, der die Aufnahme von auf das Suspend Block API abgestimmten Andorid-Treibern in den Hauptentwicklungszweig von Linux erheblich erleichtert, bis eine bessere Lösung gefunden wird. Details zu den komplexen Problematik hat kürzlich LWN.net in mehreren Artikel zusammengefasst (1, 2).
    * Christoph Hellwig gibt im "XFS status update for Mai 2010" einen Überblick über die jüngsten Änderungen rund um das XFS-Dateisystem.
    * Edward Shishkin, der früher an Reiser4 arbeitete und mittlerweile bei Red Hat angestellt ist, hat ein Problem in Btrfs gefunden, das beim Einsatz von Inline Extents auftritt. Er erklärt, dass nur ein größeres Redesign des Dateisystems das Problem lösen könne, und kritisiert den Dateisystemcode mit teilweise recht deutlichen Worten (1, 2). Der Btrfs-Hauptentwickler Chris Mason sieht das Problem etwas gelassener; Red-Hat-Entwickler Josef Bacik, der in den vergangenen Monaten eine ganze Reihe von Verbesserungen zu Btrfs beigesteuert hat, äußerte sich bislang nicht öffentlich zur Kritik seines Kollegen.
    * Die von Android-Entwickler Erik Gilling vorangetriebenen Kernel-Patches zur Unterstützung von Nvidias mit ARM-Kern ausgestatteten System-on-a-Chip (SOC) der Tegra-Familie wurden kürzlich in linux-next aufgenommen und dürften in Linux 2.6.36 einziehen.
    * James Morris hat das Programm des für August geplanten Linux Security Summit 2010 veröffentlicht und gibt in seinem Blog eine grobe Übersicht über die Veranstaltung.
    * Das ursprünglich Compcache und dann Ramzswap genannte Framework zum indirekten Komprimieren von Teilen des Arbeitsspeichers wird nach einigen größeren Überarbeitungen bei 2.6.36 wohl in Zram umbenannt.
    * Valerie Aurora arbeitet weiter daran, eine Union-Mount-Lösung zu entwickeln, die gut genug für eine Aufnahme in den Standard-Kernel ist (1, 2).
    * Dell-Mitarbeiter und HPC-Spezialist Jeffrey B. Layton hat in einem Artikel die Neuerungen zusammengefasst, die es im letzten Jahr im Storage-Bereich der Linux-Kernels gab.
    * MD- und Mdadm-Entwickler Neil Brown schreibt Code, durch den der MD-Code des Kernels beim RAID 1 besser mit defekten Festplatten-Sektoren zurechtkommt. Außerdem arbeitet er an Patches, durch die sich der MD-RAID5-Code mit dem Device-Mapper nutzen lässt, um etwa mit Dmraid ein Host-RAID 5 anzusprechen – letzteres gelingt bislang nur mit Kernel-Patches, die seit Jahren existieren, aber nie in den offiziellen Kernel eingingen.

Grafik

    * Peter Hutterer war in den vergangenen Tagen und Wochen besonders aktiv und hat vor kurzem unter anderem den zweiten RC der in Kürze erwarteten X-Server-Version 1.8.2 veröffentlicht. Außerdem gab er eine Vorabversion des X.org-Touchpad-Treibers xf86-input-synaptics 1.3.0 frei, die sich bei der Beschleunigungserkennung anders verhält; Details dazu erläutert er in seinem Blog. Dort hat Hutter kürzlich auch einen ausführlichen Eintrag verfasst, der die verschiedenen Fähigkeiten des Touchpad-Treibers – etwa Edge Scrolling, Two-Finger-Scrolling, Multi-Finger-Tapping oder Circular Scrolling – ausführlich erläutert. Ebenfalls im Blog weist er auf neue Standardvorgaben für die Emulation der mittleren Maustaste hin.
    * Keith Packard hat die erste Vorabversion des für Ende August geplanten X-Server 1.9 veröffentlicht. Ähnlich wie beim Linux-Kernel nach Ende des Merge Window tritt die Entwicklung der nächsten größeren Überarbeitung des X-Server damit nun in die Stabilisierungsphase ein. Packard hebt hervor, dass die nächste Version des X-Servers nicht sonderlich viele neue Funktionen bringt, aber zahlreiche seit langem störende Eigenschaften beseitigt, wodurch der Code nun sauberer und leichter zu verstehen sei.
    * AMD hat die Version 10.6 der als Fglrx oder Catalyst bekannten Linux-Grafiktreiber veröffentlicht. Sie bringen offizielle Unterstützung für OpenGL 4.0 bei Grafikkarten der Radeon-HD-5000-Serie und OpenGL 3.3 bei älterer Radeon-HD-Grafikhardware. Eine "neue Architektur für 2D-Beschleunigung" soll die 2D-Performance steigern und etwa das Anpassen der Fenstergröße beschleunigen. Ferner zählt Red Hat Enterprise Linux 5.5 nun zu den voll unterstützten Betriebssystemen. Weitere Details zu den Änderungen finden sich in den Release Notes zur neuen Version.
    * Die neue Version des "R5xx 3D programming guide" ist in einigen Bereichen detaillierter als ältere Versionen des Dokuments.
    * Die Mesa-Entwickler haben die Version 7.8.2 von Mesa 3D freigegeben. Intel-Entwickler Eric Anholt hatte kurz zuvor bereits libdrm 2.4.21 veröffentlicht.
    * Mit der Freigabe der als Release Candidate eingestuften Version 256.35 nähert sich die Hauptentwicklungsphase von Nvidias Grafiktreibern der 256er-Serie dem Ende.
    * Intel hat den ersten Release Candidate des X.org-Grafiktreiber intel 2.12 veröffentlicht. Die Freigabe-Mail hebt zahlreiche Performance-Verbesserungen hervor, was sich etwa positiv auf die Scroll-Geschwindigkeit in Firefox auswirken soll.
    * Intel will die Betreuung der WLAN-Treibern ipw2x00 aufgeben und muss sich dafür unter anderem Kritik von Kernel-Entwickler David Miller anhören, da Intel keine Dokumentation zu den von den Treibern unterstützten WLAN-Chips veröffentlicht hat, was die weitere Treiber-Pflege erheblich erschwert.

Kernel-Umland ("Plumbing layer"), Userland-Treiber, Entwicklertools

    * Karel Zak hat Vorabversionen der util-linux-ng 2.18 freigegeben und listet in der Freigabe-Mail zum ersten der zwei RCs gleich zahlreiche Neuerungen. So wird die allen Mainstream-Distributionen genutzten Werkzeugsammlung in Zukunft die Programme findmnt, fsfreeze und swaplabel sowie die Library libmount mitbringen; rausgeflogen sind die Kommandos ramsize, rdev, rootflags und vidmode.
    * Lennart Poettering hat die Präsentationsfolien seine LinuxTag-Vortrags zur Initrd- und Upstart-Alternative systemd ins Web gestellt.
    * Gnome-Entwickler John (J5) Palmieri berichtet in seinem Blog über einige Fortschritte bei der Multitouch-Unterstützung in X.org und dem GTK-Toolkit.
    * Jon Masters hat die module-init-tools v3.12 freigegeben, deren größte Neuerungen das das zugehörige Wiki auflistet. Durch Softdeps etwa sollen Modprobe nun implizite Abhängigkeiten zwischen Modulen besser handhaben; außerdem untersüttzt die neue Version die mit Linux 2.6.35 eingeführten Devnames, durch die Udev einige Module automatisch beim Zugriff auf ein Device-Node laden kann, bei denen die normalen Lade-Automatiken bisher nicht funktionierten.
    * Bereits Anfang des Monats hat Kay Sievers die Udev-Version 157 freigegeben, die im wesentlichen Fehlerkorrekturen enthält.

Quelle : www.heise.de
Titel: Eine Flut neuer Stable-Kernel und ein Ausblick auf Linux 2.6.35
Beitrag von: SiLæncer am 06 Juli, 2010, 16:32
Greg Kroah-Hartman hat fünf neue Linux-Stable-Kernel  veröffentlicht, die wie üblich kleinere Fehler ihrer jeweiligen Vorgänger beseitigen und Verbesserungen enthalten, bei denen es eher unwahrscheinlich ist, dass sie neue Fehler auslösen. Wie so oft bei neuen Kernel-Versionen der Stable-Series bleibt unklar, ob die neuen Versionen auch Änderungen enthalten, die Sicherheitslücken stopfen. Die Zahl der Änderungen und einige der Beschreibungen deuten aber darauf hin, dass alle neuen Versionen auch Sicherheitskorrekturen enthalten; wie üblich rät Kroah-Hartman in vielen der Freigabe-Mail mit Worten wie "All users of the 2.6.27 kernel series are very strongly encouraged to upgrade" sehr nachdrücklich zum Wechsel auf eine der neuen Versionen.

Linux 2.6.27.48 unterscheidet sich durch 25 Patches vom Vorgänger; deutlich größer sind die Neuerungen bei 2.6.32.16, 2.6.33.6 und 2.6.34.1, denn diese Versionen bringen 150, 165 beziehungsweise 201 Änderungen. Lediglich fünf Patches wurden in Linux 2.6.31.14 integriert, dessen Freigabe-Mail klarstellt, dass darunter auch Sicherheitskorrekturen sind. Diese Version werde aber die letzte der 31er-Serie sein, daher sollen Anwender auf einen 32er-Kernel wechseln – diese Versionsreihe soll mehrere Jahre gepflegt werden. Die Pflege der 33er-Serie soll bald eingestellt werden, denn nach 2.6.33.6 werde es lediglich einen weiteren Stable-Kernel auf Basis von 2.6.33 geben. Auch die neuen 32er- und 34er-Kernel dürften vermutlich schon bald durch noch neuere Versionen abgelöst werden, denn Greg Kroah-Hartman hat angekündigt, dass ihm bereits zahlreiche weitere Patches zur Einarbeitung vorliegen.

Nach einer zweiwöchigen Pause durch einen Urlaub von Linus Torvalds geht seit Ende Juni auch die Entwicklung im Hauptentwicklungszweig von Linux wieder weiter; am Sonntag erschien zudem die vierte Vorabversion des Linux-Kernels 2.6.35. Das Kernel-Log von heise open nimmt das zum Anlass, im ersten Teil der Mini-Serie "Was 2.6.35 bringt" die für Grafik-Hardware relevanten Neuerungen der im August erwarten Kernel-Version zu erläutern – etwa die erheblich ausgebaute Unterstützung für die Stromsparfunktionen von Radeon-Grafikchips oder die neuen H264-Decodierfunktionen für den Grafikkern in Intels Ironlake-Prozessoren:

    * Kernel-Log – Was 2.6.35 bringt (1): Grafik (http://www.heise.de/open/artikel/Kernel-Log-Was-2-6-35-bringt-1-Grafik-1032933.html)

Quelle : www.heise.de
Titel: Linux Kernel 2.6.35-rc5 mit aufgeräumten ARM-Code
Beitrag von: SiLæncer am 13 Juli, 2010, 12:07
Linus Torvalds hat den Linux-Kernel 2.6.35-rc5 veröffentlicht. Den Konfigurationscode für die ARM-Plattform haben die Entwickler aufgeräumt, nachdem sich Torvalds über dessen Umfang beschwert hatte.

Für die aktuelle Vorabversion des Linux-Kernels 2.6.35 hat Linus Torvalds einen Patch akzeptiert, der den Konfigurationscode für die ARM-Plattform deutlich reduziert. Torvalds hatte sich bereits vor einigen Wochen darüber beschwert, dass für jedes System-on-a-Chip (SoC) und die damit verbundenen Kombinationen aus Prozessor und weiteren Chips eine eigene Defconfig-Datei angelegt wurde.

Dadurch blähte sich der Code auf über 800 KByte auf, im Gegensatz zu dem x86er-Zweig, der dreimal weniger Code enthält. Allein die Defconfig-Dateien für die über 170 verschiedenen SoCs betragen 200 KByte. Die Dateien seien absolut überflüssig, so Torvalds, und die eingereichten Patch-Dateien dadurch nicht mehr lesbar. Er drohte damit, die Defconfig-Dateien gänzlich zu entfernen.

Entwickler Uwe Kleine-König hat jetzt einen Patch eingereicht, der den Umfang des ARM-Zweigs um etwa 200 KByte verringert. Das sei allerdings noch nicht das Ende der Geschichte, so Torvalds, aber es sei ein guter Anfang.

Die finale Version des Linux-Kernels 2.6.35 ist für Anfang August angekündigt. Das Changelog für die aktuelle Version listet auch einige Änderungen an dem neuen V4L-Zweig auf. Der Quellcode der aktuellen rc5 liegt auf der Webseite kernel.org zur Einsicht.

Quelle : www.golem.de
Titel: Kernel-Log – Was 2.6.35 bringt (2): Dateisysteme und Storage
Beitrag von: SiLæncer am 13 Juli, 2010, 17:55
Direct-I/O und besseres Out-of-Space-Handling für Btrfs, Optimierungen für XFS und OCFS2, größere Umbauarbeiten bei Libata-Treibern und erweiterte Möglichkeiten zur RAID-Migration sind einige der wichtigsten Änderungen von Linux 2.6.35.

In der Nacht vom Montag auf Dienstag hat Linus Torvalds die fünfte Vorabversion von Linux 2.6.35 freigegeben. Wie schon beim Rc3 und Rc4 gab es weniger und größtenteils konservativere Änderungen als bei früheren Kernel-Version in diesem Stadium. Ein Commit fällt jedoch aus dem Rahmen, denn er ist über 5 Megabyte groß und entfernt über 200.000 Zeilen Text aus den Standard-Konfigurationsdateien für ARM-Systeme. Das ist die erste Konsequenz einer Diskussion, in der Torvalds sich über die umfangreichen und nur mäßig hilfreichen Dateien beschwert hatte. Vermutlich sollen schon bald auch die Konfigurationsdateien für Power-Systeme reduziert werden; darauf folgen werden vielleicht noch weitere Änderungen, um Standard-Konfigurationsdateien dynamisch und mit weniger Overhead zu erzeugen. Hintergründe zum Thema hat LWN.net kürzlich in einem Artikel zusammengefasst.

Das Kernel-Log nimmt den Rc5 zum Anlass, um die Mini-Serie "Was 2.6.35 bringt" mit der Beschreibung der Neuerungen rund um Dateisysteme sowie Storage-Infrastruktur und -Treiber fortzusetzen. Der erste Teil der Mini-Serie hatte sich mit den Änderungen rund um Grafik-Hardware beschäftigt; folgen werden in den kommenden Wochen noch Artikel zur Netzwerk-Unterstützung, Treibern für USB, FireWire, V4L/DVB und Co. sowie Architektur-Code und Infrastruktur.

Dateisysteme

Das Btrfs-Dateisystem unterstützt ab 2.6.35 Direct I/O – also den Zugriff auf Dateien unter Umgehung der Kernel-Caches, was etwa für Datenbank-Software mit eigenen Cache-Funktionen von Interesse ist. Bereits bei 2.6.32 gab es zudem zahlreiche Verbesserungen am Btrfs-Code, um Probleme zu vermeiden, wenn der Speicherplatz zu Ende geht; unter bestimmten, eher selten anzutreffenden Umgebungsbedingungen entstanden aber weiter Schwierigkeiten, die einige nun aufgenommene Patches fortan verhindern sollen (u. a. 1, 2, 3, 4).

Wie bislang wird der Kernel Schreibbarrieren, die die Datensicherheit steigern, aber die Performance mindern, bei Ext4 standardmäßig aktivieren und bei Ext3 nicht nutzen – einige Anpassungen an den Modul-Parametern und der Dokumentation sollen allerdings etwas Verwirrung aus dieser historisch gewachsenen Inkonsistenz nehmen.

SquashFS beherrscht nun Erweiterte Attribute, was den Einsatz mit SELinux ermöglicht. Der Fuse-Code im Kernel kann zum Datenaustausch mit dem Userspace Splice verwenden, was einen Kopiervorgang der Daten im Arbeitspeicher eliminiert und so die Performance des "File System in Userspace" steigert (1, 2, 3). XFS bietet nun das vorerst experimentelle und über eine Mount-Option aktivierbare Delayed Logging, was laut Dokumentation und dem XFS Status Update für Mai 2010 die zum Loggen von I/O benötigte Bandbreite erheblich reduziert. Beim Cluster-Dateisystem OCFS2 sollen Allocation Reservations und Discontiguous Block Groups einige Dateisystemeigenschaften verbessern, die Joel Becker in seinem Haupt-Git-Pull-Request kurz erläutert.

Informationen zu weiteren Dateisystem-Änderungen finden sich über die Links im Abschnitt "Die kleinen Perlen" am Ende des Artikels sowie den Git-Pull-Request für das VFS (1, 2) sowie, Btrfs, Ceph und Nilfs2.

Storage

Im Libata-Subsystem gab es einige etwas größere Umbauarbeiten, die Jeff Garzik in seinen beiden Haupt-Git-Pull-Requests hervorhebt (1, 2). Der meiste Code des AHCI-Treibers wurde etwa in die neue libahci ausgelagert, auf die der generische AHCI-Treiber und systemspezifische Treiber wie der neue, für System-on-a-Chip (SOC) geeignete Treiber ahci_platform aufbauen. Zudem gab es einige Umstrukturierungen (siehe auch "Die kleinen Perlen" am Ende des Artikels), um den für Übertragungen mit Bus-Master-DMA und SFF zuständigen Code zu trennen und um den Treiber-Code besser zu strukturieren. Die über Medienwechseln bei ATAPI-Geräten berichtende Asynchronous Notification (AN) ist nun standardmäßig deaktiviert und lässt sich fortan über den neuen Treiber-Parameter "atapi_an" aktivieren.

Das Infiniband-Subsystem bringt für Netzwerkadapter der T4-Serie von Chelsio nun den RDMA/iWARP-Treiber iw_cxgb4 mit. Ebenfalls neu ist der Treiber ib_qib für PCIe-InfiniBand-Adapter von QLogic; er übernimmt zudem die Unterstützung von QLogic-QLE-Adaptern vom Treiber ib_ipath. Weitere Hintergründe rund um aktuellen und für spätere Kernel-Versionen geplanten Entwicklung im Infiniband-Bereich listet Roland Dreier in seinem Haupt-Git-Pull-Request.

Der im SCSI-Subsystem angesiedelte Qlogic-Treiber qla2xxx spricht ab 2.6.35 auch mit den FCoE-Adaptern der ISP82XX-Baureihe. Der SCSI-Code enthält nun zahlreiche Tracepoints, um Fehlersuche und Performance-Optimierung zu erleichtern. Weitere Änderungen im SCSI-Subsystem listet dessen Verwalter in den beiden Mails mit Bitte um Aufnahme der von ihm gesammelten Änderungen auf (1, 2).

Dem Kernel liegt nun ein MTD-Treiber für den Denali genannten NAND-Controller von Intels Moorestown-Plattform bei. Das bei 2.6.33 eingeführte "Blkio Controller Cgroup Interface" wurde erheblich erweitert und bietet nun einige neue Möglichkeiten, um den Datendurchsatz zu messen sowie applikations- oder gruppenweise einzuteilen (1, 2, 3, 4, 5, 6, 7). Überarbeitet und erweitert wurde auch die für SSDs interessante Discard-Unterstützung. Den Laptop-Mode muss man nun nicht mehr global aktivieren, sondern kann ihn für jeden Datenträger separat einschalten.

Die RAID10-Unterstützung gilt nun nicht mehr als experimentell. Der Code des MD-Subsystems bietet zahlreiche weitere Konvertierungsmöglichkeiten: Raid0->Raid5, Raid0->Raid10, Raid5->Raid4, Raid4->Raid0 sowie Raid5->Raid0 und Raid10->Raid0.

Die kleinen Perlen

Viele kleinere, aber keineswegs unbedeutende Neuerungen finden sich in der folgenden Liste mit den englischen Commit-Überschriften der jeweiligen Änderung. Die Einträge verlinken genau wie viele der Verweise im vorangegangenen Text auf das Webfrontend des von Linus Torvalds gepflegten Git-Zweigs mit den "offiziellen" Kernel-Quellen auf Kernel.org. Der über diese Links angezeigte Commit-Kommentar und der darunter ausgegebene Patch liefern zahlreiche weitere Informationen zur jeweiligen Änderungen.

Vor jedem Link finden sich in eckigen Klammern einige Buchstaben und Zahlen. Ein "C" kennzeichnet Patches mit Änderungen an Kconfig-Dateien, welche die Hilfetexte und Konfigurationsoptionen enthalten, die bei der Kernel-Konfiguration über "make menuconfig", "make xconfig" und ähnliche Werkzeuge angezeigt werden. Ein "D" steht bei Patches, die die Dokumentation verändern, die im Kernel-Zweig unterhalb von Documentation/ liegt. Ein "N" weist Änderungen aus, die eine neue Datei anlegen. Die Zahl vermittelt einen groben Eindruck zur Größe des Patches: eine "1" steht etwa für Änderungen, die inklusive Kommentar zwischen 10 und 20 KByte groß sind, eine "2" für solche, die zwischen 20 und 30 KByte Umfang haben; Änderungen ohne Zahl sind kleiner als 10 KByte, Patches mit einer "9" hingegen 90 KByte oder größer.

Dateisysteme

Btrfs

    * [   5] Btrfs: Integrate metadata reservation with start_transaction
    * [   5] Btrfs: Introduce contexts for metadata reservation
    * [   1] Btrfs: Introduce global metadata reservation
    * [    ] Btrfs: Kill allocate_wait in space_info
    * [   1] Btrfs: Link block groups of different raid types
    * [   1] Btrfs: Shrink delay allocated space in a synchronized
    * [   3] Btrfs: Update metadata reservation for delayed allocation

Ext[234]

    * [    ] BKL: Remove BKL from ext2 filesystem
    * [    ] ext4: Add new tracepoints to track mballoc's buddy bitmap loads
    * [    ] ext4: check for a good block group before loading buddy pages
    * [   2] ext4: Convert callers of ext4_get_blocks() to use ext4_map_blocks()
    * [    ] ext4: Print mount options in when mounting and add a remount message
    * [    ] ext4: stop issuing discards if not supported by device
    * [   2] ext4: Use bitops to read/modify i_flags in struct ext4_inode_info

VFS, XFS, OCFS2 and others

    * [    ] 9p: add 9P2000.L rename operation
    * [    ] 9p: add 9P2000.L statfs operation
    * [    ] 9p: Add mksock support
    * [    ] Ban ecryptfs over ecryptfs
    * [ D  ] doc: inode uses a mutex instead of a semaphore.
    * [ D 4] drop unused dentry argument to ->fsync
    * [ D 2] fs: introduce new truncate sequence
    * [ D  ] GFS2: docs update
    * [    ] gss_krb5: add ability to have a keyed checksum (hmac)
    * [   1] gss_krb5: add remaining pieces to enable AES encryption support
    * [   1] gss_krb5: add support for new token formats in rfc4121
    * [   1] gss_krb5: Add support for rc4-hmac encryption
    * [    ] gss_krb5: add support for triple-des encryption
    * [    ] gss_krb5: Add upcall info indicating supported kerberos enctypes
    * [    ] gss_krb5: Introduce encryption type framework
    * [    ] Introduce freeze_super and thaw_super for the fsfreeze ioctl
    * [    ] logfs: handle powerfail on NAND flash
    * [ D  ] mempolicy: document cpuset interaction with tmpfs mpol mount option
    * [ D  ] nfsd4: implement reclaim_complete
    * [ D  ] nilfs2: change default of 'errors' mount option to 'remount-ro' mode
    * [ D  ] ocfs2: Add dir_resv_level mount option
    * [   1] ocfs2: Allocate discontiguous block groups.
    * [ D  ] ocfs2: change default reservation window sizes
    * [    ] ocfs2: Define data structures for discontiguous block groups.
    * [    ] ocfs2: enable discontig block group support.
    * [    ] ocfs2: increase the default size of local alloc windows
    * [    ] ocfs2: Make nointr a default mount option
    * [    ] Ocfs2: Optimize punching-hole code.
    * [    ] ocfs2: use allocation reservations during file write
    * [    ] ocfs2: use allocation reservations for directory data
    * [    ] procfs: Kill BKL in llseek on proc base
    * [    ] procfs: Kill the bkl in ioctl
    * [   1] squashfs: add new extended inode types
    * [  N1] squashfs: add support for xattr reading
    * [  N ] squashfs: add xattr id support
    * [ D  ] squashfs: update documentation to include description of xattr layout
    * [    ] SUNRPC: Don't spam gssd with upcall requests when the kerberos key expired
    * [    ] sysfs: Basic support for multiple super blocks
    * [    ] udf: BKL ioctl pushdown
    * [    ] ufs: permit mounting of BorderWare filesystems
    * [    ] xfs: add blockdev name to kthreads
    * [    ] xfs: Add inode pin counts to traces
    * [   3] xfs: Improve scalability of busy extent tracking

Storage

Block-Layer

    * [    ] Add virtio disk identification ioctl
    * [    ] Add virtio disk identification support
    * [CD 1] blk-cgroup: config options re-arrangement
    * [    ] brd: support discard
    * [    ] cfq: Don't allow queue merges for queues that have no process references
    * [    ] direct-io: add a hook for the fs to provide its own submit_bio function
    * [   3] drbd: Allow drbd_epoch_entries to use multiple bios.
    * [    ] drbd: Four new configuration settings for resync speed control
    * [    ] drbd: This is now equivalent to drbd release 8.3.8rc1
    * [    ] generate "change" uevent for loop device

Infiniband

    * [    ] IB/core: Add support for masked atomic operations
    * [    ] IB/iser: Add asynchronous event handler
    * [   1] IB/iser: Enhance disconnection logic for multi-pathing
    * [    ] IB/mlx4: Add support for masked atomic operations
    * [   2] IB/qib: Use a single txselect module parameter for serdes tuning
    * [   1] MAINTAINERS: Add cxgb4 and iw_cxgb4 entries

Libata
    * [    ] ahci: add pci quirk for JMB362
    * [    ] libata: disable ATAPI AN by default
    * [ D  ] libata: implement dump_id force param
    * [    ] libata: implement on-demand HPA unlocking
    * [ D  ] libata: introduce sff_set_devctl() method
    * [CDN2] libata-sff: clean up BMDMA initialization
    * [ D  ] libata-sff: kill unused ata_bus_reset()
    * [CD 2] libata-sff: make BMDMA optional
    * [   2] libata-sff: separate out BMDMA init
    * [   2] libata-sff: separate out BMDMA irq handler
    * [C   ] sata_inic162x: inic162x is not dependent on CONFIG_ATA_SFF

MD

    * [    ] md: Fix read balancing in RAID1 and RAID10 on drives > 2TB
    * [    ] md: notify level changes through sysfs.
    * [    ] md/raid4: permit raid0 takeover

MFD, MMC, MTD, ...

    * [    ] davinci: mmc: add a function to control reset state of the controller
    * [C N3] mfd: AB3550 core driver
    * [C N ] mfd: Add support for the RDC321x southbridge
    * [C N1] mfd: Add Toshiba's TC35892 MFD core
    * [C N1] mfd: Add TPS6507x support
    * [C N1] mfd: Add WM8994 interrupt controller support
    * [C N1] MFD: DaVinci Voice Codec
    * [C N1] mfd: Janz CMOD-IO PCI MODULbus Carrier Board support
    * [C N3] mfd: New AB8500 driver
    * [C  1] mmc: add DMA support to tmio_mmc driver, when used on SuperH
    * [C N3] mmc: add support MMCIF for SuperH
    * [    ] mmc: atmel-mci: Add support for SDIO interrupts
    * [    ] mmc: atmel-mci: enable SD high speed support
    * [C N3] mtd: Add new SmartMedia/xD FTL
    * [C N3] mtd: add Samsung SoC OneNAND driver
    * [    ] mtd: cfi_cmdset_0002: add CFI detection for SST 39VF{16, 32}xx chips
    * [    ] mtd: cfi_cmdset_0002: add CFI detection for SST 39VF{32, 64}xxB chips
    * [    ] mtd: cfi_cmdset_0002: Add reboot notifier for AMD flashes
    * [    ] mtd: cfi_probe: add support for SST 0x0701 vendorname
    * [C N ] mtd: common module for smartmedia/xD support
    * [ D  ] MTD DocBook: fix ioremap return type
    * [    ] mtd: Few follow up cleanups for Smartmedia/xD support
    * [C N3] mtd: nand: Add driver for Ricoh xD/SmartMedia reader
    * [C N2] mtd: nand: Add MPC5121 NAND Flash Controller driver
    * [C   ] mtd: nand: Add SmartMedia device table to sm_common module
    * [    ] mtd: nand: add Toshiba TC58NVG0 device ID
    * [C  1] mtd: nand: rename w90p910_nand.c to nuc900_nand.c
    * [    ] mtd: onenand: add support for chips with 4KiB page size
    * [    ] mtd: pxa32xx_nand: add support for partition table parsing
    * [C   ] mtd: Remove now-defunct ts7250 nand driver
    * [    ] pcmciamtd: add another ID
    * [  N ] sdhci-pltfm: implement platform data passing
    * [C N1] sdhci-spear: ST SPEAr based SDHCI controller glue
    * [    ] sdio: add new function for RAW (Read after Write) operation
    * [    ] tmio: add a platform flag to disable card write-protection detection

SCSI

    * [    ] SCSI: aacraid: add support for handling ATA pass-through commands.
    * [    ] SCSI: aacraid: expose physical devices for models with newer firmware
    * [    ] SCSI: aacraid: respond automatically to volumes added by config tool
    * [   4] SCSI: arcmsr: Support HW reset for EH and polling scheme for scsi device
    * [   1] SCSI: bfa: add fc transport class based vport create/delete
    * [   2] SCSI: lpfc 8.3.11: Driver management improvements via BSG
    * [   1] SCSI: lpfc 8.3.12: T10-PI/DIF changes
    * [    ] SCSI: mpt2sas: Added support for PCIe Advanced Error Recovery.
    * [   1] scsi: Push down BKL into ioctl functions
    * [   2] SCSI: qla2xxx: Add APEX support.
    * [    ] SCSI: qla2xxx: Fix documentation of ql2xfdmienable module parameter
    * [    ] SCSI: qla2xxx: Optionally disable target reset.
    * [   1] SCSI: qla2xxx: Support for asynchronous TM and Marker IOCBs.
    * [   4] SCSI: qla2xxx: T10 DIF support added.
    * [   1] SCSI: qla2xxx: Updates to ISP82xx support.
    * [   2] SCSI: qla4xxx: added IPv6 support.
    * [   1] SCSI: qla4xxx: added support for abort task management command
    * [   1] SCSI: scsi_debug: add max_queue + no_uld parameters
    * [    ] SCSI: scsi_debug: Block Limits VPD page fixes

Quelle : www.heise.de
Titel: Kernel-Log – Was 2.6.35 bringt (3): Netzwerkunterstützung
Beitrag von: SiLæncer am 21 Juli, 2010, 13:21
Durch einige von Google-Entwicklern eingebrachte Patches soll der Kernel auf Mehrkern-Systemen teilweise deutlich mehr Daten durch die Netzwerkkabel schaufeln. Auch einige der LAN- und WLAN-Treiber versprechen dank verschiedener Erweiterungen nun flotter zu arbeiten oder weniger Strom zu verbrauchen.

Seit der Freigabe der fünften Vorabversion von Linux 2.6.35 Anfang vergangener Woche gab es im Hauptentwicklungszweig nur einige kleinere Korrekturen und Verbesserungen. In Kürze dürfte vermutlich die sechste Vorabversion folgen und die Entwicklung von Linux 2.6.35 damit in die Endphase gehen.

Das Kernel-Log will daher die Mini-Serie "Was 2.6.35 bringt" mit der Beschreibung der Neuerungen rund um Netzwerk-Infrastruktur und -Treiber fortzusetzen. Der erste Teil der Mini-Serie hatte sich mit den Änderungen rund um Grafik-Hardware beschäftigt, der zweite mit Storage-Aspekten und Dateisystemen; folgen werden in den kommenden Tagen noch Artikel zu Treibern für USB, FireWire, V4L/DVB und Co. sowie Architektur-Code und Infrastruktur.

Mehr Durchsatz und kürzere Latenzen

Google-Entwickler Tom Herbert steuerte gleich zwei größere Verbesserungen am Netzwerk-Subsystem von Linux 2.6.35 bei: Receive Packet Steering (RPS) und Receive Flow Steering (RFS). Die erstgenannte Technik verteilt die Schritte zur Verarbeitung von empfangenen Netzwerkpaketen auf die verfügbaren Prozessorkerne, sodass diese die Verarbeitungsschritte ab der Protokollebene parallel erledigen; welche Kerne Arbeit zugewiesen bekommen lässt sich über eine via Sysfs setzbare Bitmaske festlegen. Zusammen mit anderen Funktionen emuliere RFS so letztendlich die Funktion von Multi-Queue-Netzwerkkarten in Software. Der Ansatz ist jedoch nicht ohne Nachteile, wie Herbert im Commit-Kommentar erwähnt – beste Performance sei erst nach System-spezifischem Tuning erreichbar und die Paketverarbeitung sei aufwendiger, daher könnte RPS auf einem nur teilweise ausgelasteten System die Performance negativ beeinflussen. Im Commit-Kommentar finden sich auch Ratschläge für den praktischen Einsatz sowie Testergebnisse, die der Technik eine teilweise erhebliche Steigerung des Netzwerkdurchsatzes bescheinigen.

Die zweite Technik baut auf der ersten auf und versucht die Abarbeitung der Layer 3 und 4 des Netzwerkprotokolls gleich auf den Prozessorkern zu lenken, auf der die Userspace-Applikation läuft, welche die Netzwerkdaten später annimmt und weiterverarbeitet. Wie das funktioniert, umreißt der Kernel-Hacker grob in Kommentar zum Commit im Quellcodeverwaltungssystem. Auch dieser enthält einige Messergebnisse, laut denen der Durchsatz im Vergleich zu RFS noch ein wenig weiter steigt; die Benchmark-Werte weisen zudem deutlich kürzere Latenzzeiten aus. Weitere Details zu den Techniken liefern auch Artikel zu RPS und RFS bei LWN.net.

Treiber

Einige weitere Neuerungen im Netzwerk-Stack sowie bei den Treibern für LAN- und WLAN-Hardware:

LAN:

    * Der Kernel lädt nun automatisch als Modul kompilierte Treiber für Chips, die sich um das Physical Layer kümmern ("Ethernet PHYs"), wenn der Netzwerk-Treiber sie benötigt – man muss also nicht mehr manuell darauf achten, das Modul für den PHY vor dem Modul für den MAC zu laden.
    * Der Treiber be2net unterstützt nun die für Virtualisierung interessante Single Root I/O Virtualization (SR-IOV) – kann also virtuelle Netzwerkkarten bereitstellen, die Gastsysteme direkt nutzen, was den Host entlastet und den Netzwerkdurchsatz teilweise deutlich steigert.
    * Der für neuere Gigabit-Netzwerkchips von Intel geeignete Treiber e1000e sowie der für Realtek-Gigabit-Chips zuständige Treiber r8169 bieten nun Basisfunktionen zur Unterstützung der mit 2.6.34 eingeführten Techniken zur Nutzung der zur Laufzeit verwendbaren Stromsparmechanismen von I/O-Geräten. Wie in den Commit-Kommentaren erläutert müssen die Stromsparfunktion aber über Sysfs aktiviert werden, damit die Chips etwa schlafen gehen, wenn kein Netzwerkkabel angeschlossen ist.
    * Die Treiber bnx, bnx2x und forcedeth unterstützen nun die bei 2.6.29 eingeführte Generic Receive Offload (GRO) Infrastructure.

WLAN:

    * Neu zum Kernel stieß der WLAN-Treiber ath9k_htc für WLAN-Hardware mit den Atheros-Chipsätzen AR7010 oder AR9271.
    * Für die ältlichen, einen USB-Chip einsetzenden Agere-WLAN-Karten der Orinoco-Serie bringt der Kernel nun den Treiber orinoco_usb mit.
    * Durch eine Implementation von Adaptive Noise Immunity (ANI) soll der für ältere Atheros-WLAN-Chips geeignete Treiber ath5k nun höhere Übertragungsraten in Umgebungen erreichen, wo es viele Signalstörungen gibt; bei Tests in einer solchen habe der Patch die Übertragungsrate nahezu verdoppelt.
    * Die Unterstützung der für USB oder PCI ausgelegten Ralink-Chipsätze der Rt30xx-Serie im Treiber rt2x00 wird nun standardmäßig aktiviert, da diese nun ähnlich weit gereift sei wie der Support für die Rt28xx-Chips.
    * Intel hat die Betreuung der ipw2x00-Treiber aufgegeben, die die 802.11b-WLAN-Module ansprechen, die vornehmlich in Centrino-Notebooks der ersten und zweiten Generation verbaut wurden. Die Intel-Entwickler mussten sich für diesen Schritt aber Kritik von Netzwerk-Subsystem-Maintainer David Miller anhören, da Intel keine Dokumentation zu den von den Treibern unterstützten WLAN-Chips veröffentlicht habe, was die weitere Treiber-Pflege erheblich erschwert.

David Miller hebt in der Zusammenfassung der wichtigsten Änderungen seines Haupt-Git-Pull-Request noch einige weitere Neuerungen hervor – darunter die Multiple Multicast Routing Tables (1, 2, 3, 4), IPV6 Bridge Multicast Snooping und Port-Reservierung. Neu ist auch die Unterstützung für das von ST-Ericsson entwickelte und für Modems eingesetzte Protokoll CAIF (u. a. 1, 2, 3, Dokumentation). Außerdem beherrscht der Kernel nun die Version 3 des Layer 2 Tunneling Protocol (L2TP) (u. a. 1, 2, 3, Dokumentation). Sysfs bietet nun Tagged Directories, was die auch an deren Stellen des Kernels ausgebaute Unterstützung für eine Netzwerk-Namespace-spezifische Einbindung der virtuellen Dateisystemen Procfs und Sysfs verbessert.

Die kleinen Perlen


Viele kleinere, aber keineswegs unbedeutende Neuerungen finden sich in der folgenden Liste mit den englischen Commit-Überschriften der jeweiligen Änderung. Die Einträge verlinken genau wie viele der Verweise im vorangegangenen Text auf das Webfrontend des von Linus Torvalds gepflegten Git-Zweigs mit den "offiziellen" Kernel-Quellen auf Kernel.org. Der über diese Links angezeigten Commit-Kommentar und der darunter ausgegebene Patch liefern zahlreiche weitere Informationen zur jeweiligen Änderungen.

Vor jedem Link finden sich in eckigen Klammern einige Buchstaben und Zahlen. Ein "C" kennzeichnet Patches mit Änderungen an Kconfig-Dateien, welche die Hilfetexte und Konfigurationsoptionen enthalten, die bei der Kernel-Konfiguration über "make menuconfig", "make xconfig" und ähnliche Werkzeuge angezeigt werden. Ein "D" steht bei Patches, die die Dokumentation verändern, die im Kernel-Zweig unterhalb von Documentation/ liegt. Ein "N" weist Änderungen aus, die eine neue Datei anlegen. Die Zahl vermittelt einen groben Eindruck zur Größe des Patches: eine "1" steht etwa für Änderungen, die inklusive Kommentar zwischen 10 und 20 KByte groß sind, eine "2" für solche, die zwischen 20 und 30 KByte Umfang haben; Änderungen ohne Zahl sind kleiner als 10 KByte, Patches mit einer "9" hingegen 90 KByte oder größer.

LAN

    * [    ] Add hotplug support to mcp251x driver
    * [C  1] Add non-Virtex5 support for LL TEMAC driver
    * [C   ] au1000-eth: allow driver to be compiled as a module
    * [  N53] bnx2: Update 5709 MIPS firmware and version to 2.0.15.
    * [   4] bnx2x: Parity errors handling for 57710 and 57711
    * [    ] e1000/e1000e: implement a simple interrupt moderation
    * [    ] e1000e: add PCI device id to enable support for 82567V-4
    * [C   ] enic: Clean up: Change driver description; Fix tab space; Update MAINTAINERS
    * [C  1] forcedeth: Kill NAPI config options.
    * [    ] gianfar: Add hardware RX timestamping support
    * [    ] gianfar: Add hardware TX timestamping support
    * [    ] hso: add support for new products
    * [    ] ibmveth: Add suspend/resume support
    * [    ] igb: add per-packet timestamping
    * [   1] igb: add support for Intel I350 Gigabit Network Connection
    * [    ] igb: add support for reporting 5GT/s during probe on PCIe Gen2
    * [   1] ixgbe:add support for a new 82599 10G Base-T device
    * [    ] ixgbe: Add support for VF MAC and VLAN configuration
    * [    ] ixgbe: enable extremely low latency
    * [C  1] netdev: bfin_mac: add support for IEEE 1588 PTP
    * [    ] netdev: bfin_mac: add support for wake-on-lan magic packets
    * [C  4] netdev/fec.c: add phylib supporting to enable carrier detection (v2)
    * [    ] phylib: Add autoload support for the LXT973 phy.
    * [    ] phylib: Add module table to all existing phy drivers
    * [    ] phy/micrel: Add module device ID table for autoloading.
    * [    ] qeth: exploit HW TX checksumming
    * [   2] qeth: support the new OSA CHPID types OSX and OSM
    * [    ] qlcnic: add driver debug support
    * [    ] qlcnic: module param for firmware load option
    * [    ] sky2: add support for receive hashing
    * [    ] sky2: add XL revisions
    * [    ] sky2: support Yukon EC_U rev B1 and later

WLAN

    * [    ] ar9170usb: add a couple more USB IDs
    * [    ] ar9170usb: add vendor and device ID for Qwest/Actiontec 802AIN Wireless N USB Network Adapter
    * [    ] ath5k: add antenna statistics and debugfs file for antenna settings
    * [    ] ath5k: add debugfs file frameerrors
    * [    ] ath9k: add LDPC support
    * [   2] ath9k: Add Rx EDMA support
    * [   1] ath9k: Add support for newer AR9285 chipsets.
    * [   1] ath9k_htc: Add support for power save.
    * [    ] ath9k_htc: Add TL-WN422G v2 product ID
    * [  N ] ath9k_hw: Add AR9003 PHY support
    * [    ] ath9k_hw: enable PCIe low power mode for AR9003
    * [    ] ath9k_hw: add silicon revision macros for AR9300
    * [    ] ath9k_hw: add the PCI ID for the first AR9300 device
    * [    ] ath9k_hw: Add the PCI IDs for AR9300 and fill up the pci_id_tables
    * [  N1] ath9k_hw: start building an abstraction layer for hardware routines
    * [    ] cfg80211: add ap isolation support
    * [   1] cfg80211: Add connection quality monitoring support to nl80211
    * [   1] cfg80211: Add local-state-change-only auth/deauth/disassoc
    * [  N2] cfg80211/mac80211: better channel handling
    * [ D  ] enhance sysfs rfkill interface
    * [  N2] iwl3945: add ucode statistics
    * [    ] iwlagn: Add Flow-handler (FH) register dump for 4965.
    * [   1] iwlagn: implement loading a new firmware file type
    * [    ] iwlwifi: add hw revision for 6000g2 NIC
    * [    ] iwlwifi: add internal short scan support for 3945
    * [    ] iwlwifi: clean up driver names for 1000/5000/6000
    * [ D  ] iwlwifi: deprecate "iwl4965" alias support
    * [   1] iwlwifi: manage QoS by mac stack
    * [ D  ] iwlwifi: merge module parameters into single place
    * [   1] iwlwifi: Recover TX flow stall due to stuck queue
    * [    ] iwlagn: show and store firmware build number
    * [    ] iwlwifi: bring up 6000 Series 2x2 AGN Gen2 adapters
    * [    ] iwlwifi: enable '6000 Series 2x2 AGN Gen2' adaptors
    * [    ] iwlwifi: rename 6000 series Gen2 devices to Gen2a
    * [C N1] iwmc3200wifi: add ftrace event tracing support
    * [    ] libertas: add auto auth mode feature
    * [C N4] libertastf: add configurable debug messages
    * [    ] mac80211: add offload channel switch support
    * [    ] mac80211: Add support for connection monitor in hardware
    * [    ] mac80211: Add support for connection quality monitoring
    * [    ] mac80211: allow controlling aggregation manually
    * [    ] mac80211: enable QoS explicitly in AP mode
    * [C  1] mac80211: enhance tracing
    * [    ] mac80211: implement ap isolation support
    * [    ] mac80211: support paged rx SKBs
    * [    ] mac80211: use different MAC addresses for virtual interfaces
    * [C  1] orinoco: disable support for prism chipset by default
    * [    ] p54pci: add Symbol AP-300 minipci adapters pciid
    * [ D  ] rename new rfkill sysfs knobs
    * [    ] rt2x00: Add rt3071 support in rt2800 register initialization.
    * [    ] rt2x00: Add rt3090 support in rt2800 register initialization.
    * [    ] rt2x00: Add rt3390 support in rt2800 register initialization.
    * [    ] rt2x00: Add wakeup interrupt handler to rt2800pci.
    * [    ] rt2x00: Add wakeup interrupt handler to rt61pci.
    * [    ] rt2x00: Finish rt3070 support in rt2800 register initialization.
    * [    ] rt2x00: txdone implementation supporting hw encryption.
    * [    ] rt2x00: Enable powersaving by default again on rt2500usb.
    * [    ] rtl8180: add software-based support for IBSS mode
    * [    ] wimax/i2400m: driver defaults to firmware v1.5 for i5x50 devices
    * [    ] wimax/i2400m: Move module params to other file so they can be static
    * [    ] wl1271: Add keep-alive frame template support
    * [   1] wl1271: Add proper WLAN-BT co-ex configuration, and enable co-ex.
    * [   1] wl1271: Add support for connection quality monitoring
    * [    ] wl1271: Add sysfs file to control BT co-ex state
    * [    ] wl1271: Add sysfs file to retrieve HW PG-version and ROM-version
    * [    ] wl1271: Add TX rate reporting
    * [C   ] wl1271: Divided driver to two separate modules
    * [C N ] wl1271: Initial SDIO implementation
    * [    ] wireless: rt2x00: rt2800pci: new id
    * [    ] wireless: rt2x00: rt2800usb: be in sync with latest windows drivers.
    * [    ] wireless: rt2x00: rt2800usb: delete id
    * [    ] wireless: rt2x00: rt2800usb: identify Allwin devices
    * [    ] wireless: rt2x00: rt2800usb: identify Hawking devices
    * [   1] wireless: rt2x00: rt2800usb: identify ids-chips
    * [    ] wireless: rt2x00: rt2800usb: identify Sitecom devices
    * [    ] wireless: rt2x00: rt2800usb: new ids
    * [    ] wl1271: enable U-APSD
    * [    ] wl1271: enable WMM

Allgemein

    * [C   ] Bluetooth: Add Kconfig option for L2CAP Extended Features
    * [    ] Bluetooth: Add module parameter for txWindow size on L2CAP
    * [    ] bonding: make bonding support netpoll; was later disabled by this patch: bonding: prevent netpoll over bonded interfaces
    * [    ] bridge: make bridge support netpoll
    * [    ] bridge: per-cpu packet statistics (v3)
    * [C   ] can: Add esd board support to plx_pci CAN driver
    * [C N4] can: Add support for Janz VMOD-ICAN3 Intelligent CAN module
    * [   1] gss_krb5: introduce encryption type framework
    * [    ] ipv6: Add GSO support on forwarding path
    * [    ] IPv6: Complete IPV6_DONTFRAG support
    * [   1] IPv6: convert addrconf hash list to RCU
    * [    ] IPv6: Generic TTL Security Mechanism (final version)
    * [C N1] l2tp: Add debugfs files for dumping l2tp debug info
    * [C N1] l2tp: Add L2TP ethernet pseudowire support
    * [  N3] l2tp: Add netlink control API for L2TP
    * [  N ] l2tp: Relocate pppol2tp driver to new net/l2tp directory
    * [C N16] l2tp: Split pppol2tp patch into separate l2tp and ppp parts
    * [   1] net: Add netlink support for virtual port management (was iovnl)
    * [    ] net: __alloc_skb() speedup
    * [    ] net: Expose all network devices in a namespaces in sysfs
    * [    ] net: speedup udp receive path
    * [  N3] net-caif: add CAIF core protocol stack header files
    * [  N1] net-caif: add CAIF device registration functionality
    * [  N2] net-caif: add CAIF generic caif support functions
    * [  N ] net-caif: add CAIF Link layer device header files
    * [  N1] net-caif: add CAIF netdevice
    * [    ] net-caif: add CAIF protocol definitions
    * [  N ] net-caif: add CAIF socket and configuration headers
    * [  N3] net-caif: add CAIF socket implementation
    * [C N1] net-caif-driver: add CAIF serial driver (ldisc)
    * [ D  ] net: Consistent skb timestamping
    * [C   ] netconsole: do not depend on experimental
    * [    ] net: core: add IFLA_STATS64 support
    * [C N1] netfilter: xtables: inclusion of xt_TEE
    * [C  1] netfilter: xtables: merge xt_CONNMARK into xt_connmark
    * [C   ] netfilter: xtables: merge xt_MARK into xt_mark
    * [ D  ] netfilter: xtables: remove xt_string revision 0
    * [ D  ] netfilter: xtables: schedule xt_NOTRACK for removal
    * [    ] netfilter: xt_recent: allow changing ip_list_[ug]id at runtime
    * [CD  ] netfilter: xt_recent: remove old proc directory
    * [C N2] net/irda: Add SuperH IrDA driver support
    * [C   ] netns: Teach network device kobjects which namespace they are in.
    * [    ] netpoll: add generic support for bridge and bonding devices
    * [   1] net_sched: make traffic control network namespace aware
    * [C   ] net/sysfs: Fix the bitrot in network device kobject namespace support
    * [C   ] net: tcp: make hybla selectable as default congestion module
    * [C   ] net: tcp: make veno selectable as default congestion module
    * [    ] packet: support for TX time stamps on RAW sockets
    * [C   ] rps: add CONFIG_RPS
    * [C N ] sctp: implement sctp association probing module
    * [    ] tipc: Add support for "-s" configuration option
    * [ D  ] X25: Update X25 interface documentation

Quelle : www.heise.de
Titel: Kernel-Log – Was 2.6.35 bringt (4): Architektur- und Infrastruktur-Code
Beitrag von: SiLæncer am 23 Juli, 2010, 16:26
Optimierungen am Powermanagement-Code und volle Unterstützung für die Turbo-Core-Funktion von AMDs jungen Sechkern-Prozessoren steigern Datendurchsatz und Rechengeschwindigkeit von Linux 2.6.35. Zum Kernel stießen ferner Tracing-Schnittstellten für KVM, ein weiteres Programm zur Kernel-Konfiguration sowie Funktionen zum Defragmentieren des Arbeitsspeichers.

Am Donnerstag Abend hat Linus Torvalds die sechste Vorabversion des Kernels 2.6.35 veröffentlicht. In der Freigabe-Mail deutete er dabei an, dass dies die letzte Vorabversion vor der Fertigstellung von Linux 2.6.35 sein könnte.

Das Kernel-Log will daher die Mini-Serie "Was 2.6.35 bringt" mit der Beschreibung der Neuerungen rund um den Architektur- und Infrastruktur-Code fortsetzen. Der erste Teil der Mini-Serie hatte sich mit den Änderungen rund um Grafik-Hardware beschäftigt, der zweite mit Storage und Dateisystemen, der dritte mit Netzwerk-Code und -Treibern; ein Artikel zu Treibern für Audio-Hardware, USB, V4L/DVB und Co. wird die Mini-Serie in einigen Tagen abschließen.

Powermanagement

Der Cpuidle-Code führt nun Buch über die letzten Schlafphasen des Prozessors und versucht wiederkehrende Muster zu erkennen – etwa ein häufiges Aufwachen kurz nach dem Schlafen legen. Diese Informationen nutzt der Code, um besser entscheiden zu können, ob und wie tief er den Prozessor in der nächsten Ruhephase schlafen legt. Der Ondemand-Governor des Cpufreq-Codes wertet nun die Wartezeit auf die Fertigstellung von I/O-Aufgaben bei manchen Prozessoren wie normale CPU-Last, sofern man es nicht anders konfiguriert. Diese beiden Änderungen sollen den Datendurchsatz von manchen teilausgelasteten Systemen deutlich steigern, denn in der Vergangenheit hatte der Kernel bei manchen Systemen und Zugriffsmustern die CPU-Stromsparmodi zu aggressiv genutzt, sodass Einschlaf- und Aufwachzeiten der CPU den Datenfluss erheblich verlangsamten – etwa beim Laptop von Andrew Morton, wo eine Aufgabe zirka 30 bis 40 Prozent langsamer arbeitete, wie Ingo Molnar in Git-Pull-Request zu den Änderungen am Prozess-Scheduler erläutert.

Erheblich überarbeitet und ausgebaut haben die Entwickler die Dokumentation rund um das PCI Powermanagement und die kürzlich erheblich überarbeitenden Funktionen zum Device Power Management (1, 2, Fassung nach zweiter Überarbeitung); für letztere gab es zudem noch einige Korrekturen. Auch am Code für PM QOS (Power Management Quality of Service) gab es einige Verbesserungen, wie Subsystem-Maintainer Rafael J. Wysocki in seinem Git-Pull-Request hervorhebt.

ACPI und PCI

Dem Kernel liegt nun der experimenteller Treiber intel_idle bei, der direkt einige Stromsparmechanismen von Intel-CPUs kontrolliert, statt dies den manchmal schlecht programmierten ACPI-BIOSen zu überlassen – Hintergründe dazu liefert neben dem Commit-Kommentar auch eine Meldung bei LWN.net. 2.6.35 unterstützt "Timer Slacks" in Zukunft auch auf Systemen ohne High Resolution Timer. Prozessoren können so gelegentlich länger schlafen, da der Kernel mehrere Aufgaben in einem Schwung mit anderen Arbeiten erledigen kann, sofern diese nicht zu einer bestimmten Zeit, sondern nur irgendwann innerhalb eines vordefinierten Zeitfensters abzuarbeiten sind.

Einige von Dominik Brodowski eingebrachte Patches beseitigen einige Unsauberkeiten im PCMCIA-Code und enthalten kleinere Verbesserungen; Hintergründe dazu finden sich in den Vortragsfolien und der Textfassung eines Vortrags, den Brodowski auf dem diesjährigen LinuxTag gehalten hat.

Speichersubsystem

Durch Memory Compaction (Core, Tunable Konfiguration sowie Trigger für Proc und Sysfs) kann der Kernel bei Bedarf den Arbeitsspeicher defragmentieren, um große, zusammenhängende Bereiche freien Speichers zu schaffen. Solche lassen sich bei modernen CPUs mit großen Speicherseiten (etwa 2 MByte statt 4 KByte großer Pages) nutzen, was den Verwaltungs-Overhead im Prozessor reduziert und so die Performance gerade bei Virtualisierung oder beim Einsatz großer Datenbanken steigern kann. Weitere Hintergründe zur Speicher-Defragmentiertfunktion liefert ein Artikel bei LWN.net.

Der SLAB-Allocator bietet nun Unterstützung für Memory Hotplug. Der SLQB-Allocator, der vor gut einem Jahr Aufsehen erregt hatte, wird wohl nicht mehr in den Kernel einziehen; auch Torvalds hat sich recht deutlich gegen die Aufnahme eines weiteren Memory Allocators ausgesprochen. Christoph Lameter arbeitete jedoch an einigen Verbesserungen für den maßgeblich von ihm programmierten SLUB-Allocator, die LWN.net in zwei Artikel näher erläutert (1, 2) – erklärtes Ziel scheint zu sein, SLUB oder SLAB langfristig so zu verbessern, dass einer der beiden unnötig wird und entfernt werden kann.

Fehlerinterface, "make nconfig"

Kernel 2.6.35 wird zudem Unterstützung für das in der ACPI-4.0-Spezifikation beschriebene APEI (ACPI Platform Error Interface) inklusive der Error Record Serialization Table (ERST) bieten (u. a. 1, 2, 3, 4, 5, 6, Dokumentation). Über diese Schnittstellen kann die Hardware das Betriebssystem über Hardware-Probleme – etwa beim Chipsatz oder beim Speicher – informieren.

Um die Skalierbarkeit zu verbessern, haben die Kernel-Entwickler die Nutzung des Big Kernel Lock (BKL) abermals reduziert (u. a. 1, 2, 3, 4, 5, 6). Zahlreiche weitere Änderungen in dieser Richtung sind bereits für 2.6.36 in Vorbereitung und sollen den Kernel so verändern, dass alle auf modernen Systemen verwendeten Treiber das BKL nicht mehr verwenden; über einige Hintergründe dazu hatte LWN.net bereits im April berichtet.

Über das neue Make-Target "nconfig" lässt sich ab 2.6.35 ein auf Ncurses aufbauendes Text-Interface zur Kernel-Konfiguration aufrufen, das ein etwas moderneres Bedienkonzept als "menuconfig" bieten will. Den Prefix für die Kommandos zum Cross-Compilen kann man alternativ zur Übergabe beim Aufruf von Make auch in der Konfigurationsdatei festlegen.

Anfang Juni hat Jon Masters die module-init-tools v3.12 freigegeben, mit der modprobe die mit Linux 2.6.35 eingeführten Devnames verwendet. Dadurch kann Udev jetzt einige Module automatisch beim Zugriff auf ein Device-Node laden, bei denen die bisherigen Lade-Automatiken nicht funktionieren.

Architektur-Code

Intel-Entwickler Venkatesh Pallipadi hat einige bei LWN.net kurz erläuterte und später von Peter Zijlstra nochmal überarbeitete Verbesserungen für Red-Black Trees (rbtrees) ausgearbeitet, um den PAT-Code (Page Attribute Table) des Kernels zu optimieren (1, 2, 3, 4). Eine Überarbeitung am Microcode-Intel-Treiber soll die zum Laden von Microcode-Updates benötigte Zeit auf einem System mit 1024 Prozessorkernen von 80 auf 1 bis 2 Sekunden reduzieren. Über die zuvor cpuhog genannte Funktion cpu_stop kann der Kernel vorübergehend Prozessorkerne für sich beanspruchen, was den Kernel-Code an einigen Stellen vereinfacht und manche Kernel-interne Aufgaben beschleunigt – Details dazu liefert ein Artikel bei LWN.net. CTR-Support im Treiber aesni-intel soll die Latenzzeiten bei Nutzung der AES-NI-Unterstützung neuerer Intel-Prozessoren verringern.

Linux 2.6.35 bringt zudem volle Unterstützung für die Turbo Core genannte Funktion, durch die einige vor einigen Wochen eingeführte Sechskernprozessoren von AMD den Takt einzelner Kerne steigern, wenn mindestens drei Kerne schlafen. Über Procfs kann man das Vorhandensein von Turbo-Core-CPUs erkennen; via Sysfs lässt sich die Taktsteigerung auf Wunsch deaktivieren. Damit geht die Geschichte um die Performance-Probleme der Turbo-Core-Prozessoren bald zu Ende, nachdem bereits die Stable-Kernel 2.6.32.13, 2.6.33.4 und 2.6.34 Korrekturen brachten, durch die AMDs Sechskerner wenigstens den Nominaltakt erreichten.

Virtualisierung, Tracing

Die größten Neuerungen der Virtualisierungslösung KVM erwähnt Avi Kivity in seinem Git-Pull-Request: Ein Port auf PPC64, Verbesserung für den Timercode, viel Arbeit am Emulator-Code sowie Fähigkeiten, um KVM-Gastsysteme vom Host aus mit "perf" zu zu analysieren. An der Tracing- und Performance-Monitoring-Infrastuktur gab es zudem haufenweise weitere Änderungen, wie etwa die Unterstützung für die Monitoring-Funktionen älterer Pentium-4-CPUs (1, 2) sowie Intels "Precise Event Based Sampling" (PEBS), mit dem sich Informationen über einzelne Speicherabschnitte beschaffen lassen. Neue Text-User-Interfaces für "perf report" (u. a. 1, 2) und "perf annotate" (u. a. 1, 2, 3, 4) sollen die Analyse der gesammelten Daten erleichtern.

Bei der Fehleranalyse kann Entwicklern der neue Treiber ramoops helfen, der Informationen über Fehler auf nichtflüchtigen Speicher sichert. Nach mehreren Anläufen stieß zudem der Kdb genannte Kernel-Debugger zum Kernel (1, 2, Dokumentation). Dessen Code basiert auf der Version 4.4 des Kdb von SGI und besitzt etwas andere Fähigkeiten als die schon länger im Kernel enthaltenen und auf ein zweites System angewiesenen Debugging mit Kgdb, dessen Code an einigen Stellen mit dem von Kdb verflochten wurde. Weitere Details zu Kdb finden sich in einem Artikel bei LWN.net, der vom Entwickler auf Kernel.org bereitgestellten Dokumentation und den beiden Git-Pull-Request (1, 2); im ersten der beiden hofft der Entwickler noch auf die Aufnahme der KMS-Kdb-Patches für 2.6.35, die jedoch nicht erfolgte.

Die kleinen Perlen

Viele kleinere, aber keineswegs unbedeutende Neuerungen finden sich in der folgenden Liste mit den englischen Commit-Überschriften der jeweiligen Änderung. Die Einträge verlinken genau wie viele der Verweise im vorangegangenen Text auf das Webfrontend des von Linus Torvalds gepflegten Git-Zweigs mit den "offiziellen" Kernel-Quellen auf Kernel.org. Der über diese Links angezeigten Commit-Kommentar und der darunter ausgegebene Patch liefern zahlreiche weitere Informationen zur jeweiligen Änderungen.

Vor jedem Link finden sich in eckigen Klammern einige Buchstaben und Zahlen. Ein "C" kennzeichnet Patches mit Änderungen an Kconfig-Dateien, welche die Hilfetexte und Konfigurationsoptionen enthalten, die bei der Kernel-Konfiguration über "make menuconfig", "make xconfig" etc. angezeigt werden. Ein "D" steht bei Patches, die die Dokumentation verändern, die im Kernel-Zweig unterhalb von Documentation/ liegt. Ein "N" weist Änderungen aus, die eine neue Datei anlegen. Die Zahl vermittelt einen groben Eindruck zur Größe des Patches: eine "1" steht für Änderungen, die inklusive Kommentar zwischen 10 und 20 KByte groß sind, eine "2" für solche, die zwischen 20 und 30 KByte Umfang haben; Änderungen ohne Zahl sind kleiner als 10 KByte, Patches mit einer "9" hingegen 90 KByte oder größer.

Infrastuktur

ACPI & Co.

    * [ D  ] ACPI: add boot option acpi=copy_dsdt to fix corrupt DSDT
    * [    ] ACPICA: Add detection of corrupted/replaced DSDT
    * [   1] ACPICA: Add GPE support for dynamically loaded ACPI tables
    * [    ] ACPICA: Add subsystem option to force copy of DSDT to local memory
    * [    ] ACPICA: Add support for MCHI table
    * [    ] ACPICA: Add write support for DataTable operation regions
    * [  N1] ACPICA: Enhance configuration for output of AML Debug Object
    * [    ] ACPICA: Truncate I/O addresses to 16 bits for Windows compatibility
    * [ D  ] ACPI: delete the "acpi=ht" boot option
    * [C N ] ACPI Hardware Error Device (PNP0C33) support
    * [  N1] ACPI, IO memory pre-mapping and atomic accessing
    * [    ] ACPI / PM: Do not enable GPEs for system wakeup in advance
    * [ D  ] ACPI: update feature-removal.txt to reflect deleted acpi=ht option
    * [    ] SFI: add support for v0.81 spec
    * [ DN ] SFI: add sysfs interface for SFI tables.

Crypto

    * [ D  ] CRED: Holding a spinlock does not imply the holding of RCU read lock
    * [    ] crypto: aesni-intel - Add AES-NI accelerated CTR mode
    * [   1] crypto: mv_cesa - Add sha1 and hmac(sha1) async hash drivers
    * [C N6] crypto: n2 - Add Niagara2 crypto driver
    * [C N3] crypto: omap - sha1 & md5 driver
    * [   2] crypto: talitos - add hash algorithms
    * [    ] crypto: talitos - add support for sha224
    * [   1] crypto: tcrypt - Add speed tests for async hashing
    * [  N2] TOMOYO: Add pathname grouping support.
    * [ D  ] TPM: workaround to enforce PCR updates across suspends

KVM

    * [ DN ] KVM: Add cpuid.txt file
    * [ D  ] KVM: add doc note about PIO/MMIO completion API
    * [ D  ] KVM: Add support for enabling capabilities per-vcpu
    * [ D  ] KVM: Document KVM_GET_MP_STATE and KVM_SET_MP_STATE
    * [ D  ] KVM: Document KVM_SET_TSS_ADDR
    * [ D  ] KVM: Document KVM_SET_USER_MEMORY_REGION
    * [ DN1] KVM: Document mmu
    * [ D  ] KVM: Document replacements for KVM_EXIT_HYPERCALL
    * [ D  ] KVM: Minor MMU documentation edits
    * [ D  ] KVM: MMU: Segregate shadow pages with different cr0.wp
    * [  N ] KVM: PPC: Add generic segment switching code
    * [  N1] KVM: PPC: Add helpers to call FPU instructions
    * [  N1] KVM: PPC: Add host MMU Support
    * [ D  ] KVM: PPC: Add OSI hypercall interface
    * [  N ] KVM: PPC: Add SR swapping code
    * [  N3] KVM: PPC: Implement Paired Single emulation
    * [  N2] KVM: PPC: Improve indirect svcpu accessors
    * [    ] KVM: SVM: Implement workaround for Erratum 383
    * [    ] KVM: VMX: Add definition for msr autoload entry
    * [    ] KVM: VMX: Add facility to atomically switch MSRs on guest entry/exit
    * [    ] KVM: x86: Add callback to let modules decide over some supported cpuid bits
    * [    ] KVM: x86: add new KVMCLOCK cpuid feature
    * [ D  ] KVM: x86: Add support for saving&restoring debug registers
    * [   1] KVM: x86 emulator: Emulate task switch in emulator.c
    * [    ] KVM: x86: export paravirtual cpuid flags in KVM_GET_SUPPORTED_CPUID
    * [ D  ] KVM: x86: Save&restore interrupt shadow mask
    * [    ] virtio: console: Add support for nonblocking write()s
    * [    ] virtio: Revert "virtio: disable multiport console support."
    * [    ] x86, paravirt: Add a global synchronization point for pvclock

MM

    * [ D  ] memcg: move charge of file pages
    * [ D 1] memcg: oom kill disable and oom status
    * [ D  ] memcg: oom notifier
    * [ D 1] numa: update Documentation/vm/numa, add memoryless node info
    * [CDN12] lmb: rename to memblock

PCI, PCMCIA & Co.

    * [ D  ] genirq: Expose irq_desc->node in proc/irq
    * [ D  ] genirq: Remove IRQF_DISABLED from core code
    * [ D  ] PCI: aerdrv, doc: update example output in pcieaer-howto.txt
    * [ D  ] PCI: aerdrv: introduce default_downstream_reset_link
    * [C   ] PCI: change PCI_MSI help text to recommend enabling
    * [ D  ] PCI: create function symlinks in /sys/bus/pci/slots/N/
    * [ D  ] PCI/PM: Do not use native PCIe PME by default
    * [C N ] PCI: read memory ranges out of Broadcom CNB20LE host bridge
    * [    ] PCI: Allow manual resource allocation for PCI hotplug bridges
    * [    ] PCI: fall back to original BIOS BAR addresses
    * [    ] PCI quirks: disable msi on AMD rs4xx internal gfx bridges
    * [ D  ] pcmcia: dev_node removal (core)
    * [C   ] pcmcia: disable PCMCIA ioctl also for ARM
    * [ D 8] pcmcia: re-work pcmcia_request_irq()
    * [    ] pcnet_cs: add new id (TOSHIBA Modem/LAN Card)
    * PM
    * [ D  ] PM / Hibernate: document open(/dev/snapshot) side effects
    * [    ] PM / platform_bus: Allow runtime PM by default
    * [    ] PM / Runtime: Add sysfs debug files
    * [    ] platform_bus: allow custom extensions to system PM methods
    * [    ] genirq: Add CPU mask affinity hint

Scheduler

    * [    ] sched: Rate-limit nohz
    * [    ] sched: Remove AFFINE_WAKEUPS feature
    * [    ] sched: Remove ASYM_GRAN feature
    * [    ] sched: Remove avg_overlap
    * [    ] sched: Remove avg_wakeup
    * [    ] sched: Remove FAIR_SLEEPERS feature
    * [    ] sched: Remove NORMALIZED_SLEEPER
    * [C   ] sched: Remove remaining USER_SCHED code
    * [    ] sched: Remove SYNC_WAKEUPS feature
    * [ D  ] sched: Remove USER_SCHED from documentation
    * [    ] sched: Remove WAKEUP_SYNC feature
    * [ D 2] sched: replace migration_thread with cpu_stop
    * [    ] sched: Tweak sched_latency and min_granularity

Tracing, perf & Co.

    * [   1] page allocator: reduce fragmentation in buddy allocator by adding buddies that are merging to the tail of the free lists
    * Tracing
    * [C  1] hw-breakpoints: Separate constraint space for data and instruction breakpoints
    * [CD  ] kprobes: Hide CONFIG_OPTPROBES and set if arch supports optimized kprobes
    * [    ] oprofile/x86: make AMD IBS hotplug capable
    * [    ] perf: Add a perf trace option to check samples ordering reliability
    * [  N2] perf: add perf-inject builtin
    * [    ] perf: Always record tracepoints raw samples from perf record
    * [    ] perf annotate: Use build-ids to find the right DSO
    * [   2] perf events: Change perf parameter --pid to process-wide collection instead of thread-wide
    * [   1] perf: Generalize perf lock's sample event reordering to the session layer
    * [   2] perf hist: Introduce hists class and move lots of methods to it
    * [  N ] perf inject: Add missing bits
    * [    ] perf list: Add explanation about raw hardware event descriptors
    * [    ] perf list: Improve the raw hw event descriptor documentation
    * [    ] perf lock: Add "info" subcommand for dumping misc information
    * [    ] perf: Make -f the default for perf record
    * [    ] perf newt: Add a "Zoom into foo.so DSO" and reverse operations
    * [    ] perf newt: Add 'Q', 'q' and Ctrl+C as ways to exit from forms
    * [    ] perf newt: Add single key shortcuts for zoom into DSO and threads
    * [  N ] perf newt: Make <- zoom out filters
    * [    ] perf probe: Add --dry-run option
    * [    ] perf probe: Add --max-probes option
    * [    ] perf probe: Fix --line syntax help and document
    * [    ] perf probe: Support argument name
    * [    ] perf probe: Support basic type casting
    * [    ] perf probe: Use the last field name as the argument name
    * [   1] perf: Provide a new deterministic events reordering algorithm
    * [    ] perf: Remove leftover useless options to record trace events from scripts
    * [    ] perf-record: Remove -M
    * [    ] perf report: Add a popup menu to ask what operation is to be performed
    * [   1] perf report: Add progress bars
    * [    ] perf report: Document '--call-graph' better for usage
    * [   1] perf report: Report number of events, not samples
    * [    ] perf stat: add perf stat -B to pretty print large numbers
    * [    ] perf symbols: Add the build id cache to the vmlinux path
    * [  N1] perf test: Initial regression testing command
    * [   2] perf tools: Allow specifying O= to build files in a separate directory
    * [    ] perf tools: change event inheritance logic in stat and record
    * [    ] perf tools: Fixup minor doc formatting issues
    * [   6] perf tools: Remove some unused functions
    * [   1] perf, trace: Optimize tracepoints by using per-tracepoint-per-cpu hlist to track events
    * [   1] perf, trace: Optimize tracepoints by removing IRQ-disable from perf/tracepoint interaction
    * [  N1] perf trace/scripting: Add rwtop and sctop scripts
    * [   1] perf trace/scripting: Enable scripting shell scripts for live mode
    * [    ] perf trace scripts: Fix typos in perf-trace-python.txt
    * [    ] perf, x86: Add cache events for the Pentium-4 PMU
    * [C   ] perf, x86: Add INSTRUCTION_DECODER config flag
    * [    ] perf, x86: Add Nehalem programming quirk to Westmere
    * [    ] perf, x86: Add Nehelem PMU programming errata workaround
    * [  N ] perf, x86: Implement simple LBR support
    * [  N1] SCSI: add scsi trace core functions and put trace points
    * [ D  ] tracing: Add documentation for trace commands mod, traceon/traceoff
    * [   1] tracing: Add graph output support for irqsoff tracer
    * [   2] tracing: Allow events to share their print functions
    * [ D  ] tracing: Dump either the oops's cpu source or all cpus buffers
    * [ D 3] tracing/kprobes: Support basic types on dynamic events
    * [   5] tracing: Let tracepoints have data passed to tracepoint callbacks
    * [   1] tracing: Move fields from event to class structure
    * [   2] tracing: Remove per event trace registering
    * [C  9] x86, perf, bts, mm: Delete the never used BTS-ptrace code

Various others

    * [ DN ] Add a document describing the padata interface
    * [  N1] bitops: Optimize hweight() by making use of compile-time evaluation
    * [    ] checkpatch: add check for too short Kconfig descriptions
    * [    ] clocksource: Add clocksource_register_hz/khz interface
    * [    ] cpu_stop: add dummy implementation for UP
    * [C   ] devtmpfs: support !CONFIG_TMPFS
    * [   3] DMAENGINE: generic channel status v2
    * [ D  ] doc: Change urls for sparse
    * [ D  ] Documentation/development-process: add maintainers and git info
    * [ D  ] Documentation/development-process: add staging & mmotm info
    * [ D 4] Documentation/: it's -> its where appropriate
    * [ D  ] Documentation: SubmittingDrivers: Resources
    * [ D  ] Documentation: update SubmitChecklist for O=objdir and kconfig testing
    * [ DN ] Document the rfkill sysfs ABI
    * [    ] driver core: Early dev_name() support.
    * [C   ] DYNAMIC_DEBUG: fix documentation errors
    * [C N ] fault-injection: add CPU notifier error injection module
    * [    ] firmware class: export nowait to userspace
    * [    ] gconfig: add support to show hidden options that have prompts
    * [    ] genirq: Run irq handlers with interrupts disabled
    * [  N ] initramfs: add support for in-kernel initramfs compressed with LZO
    * [   1] kbuild: Clean up and speed up the localversion logic
    * [    ] kbuild: fix LOCALVERSION handling to match description
    * [    ] kbuild: improve version string logic
    * [ D  ] kconfig: some small fixes
    * [    ] kgdb: Add the ability to schedule a breakpoint via a tasklet
    * [ D  ] kgdboc: Add ekgdboc for early use of the kernel debugger
    * [CDN1] kgdboc,keyboard: Keyboard driver for kdb with kgdb
    * [   1] kmod: add init function to usermodehelper
    * [    ] kobj: Add basic infrastructure for dealing with namespaces.
    * [C N ] lib: Add self-test for atomic64_t
    * [ D 2] memcg: update documentation
    * [    ] menuconfig: add support to show hidden options which have prompts
    * [    ] menuconfig: wrap long help lines
    * [C   ] mips,kgdb: kdb low level trap catch and stack trace
    * [    ] MODULE_DEVICE_TABLE(isapnp, ...) does nothing
    * [    ] module: drop the lock while waiting for module to complete initialization.
    * [ D  ] panic: Add taint flag TAINT_FIRMWARE_WORKAROUND ('I')
    * [ D  ] panic: Allow warnings to set different taint flags
    * [  N ] percpu: implement kernel memory based chunk allocation
    * [   2] pipe: add support for shrinking and growing pipes
    * [    ] procfs: Push down the bkl from ioctl
    * [    ] ptrace: kill BKL in ptrace syscall
    * [C   ] rcu: enable CPU_STALL_VERBOSE by default
    * [ D  ] rcu: improve the RCU CPU-stall warning documentation
    * [C   ] rcu: optionally leave lockdep enabled after RCU lockdep splat
    * [ D  ] rcu: reduce the number of spurious RCU_SOFTIRQ invocations
    * [  N ] rcu: slim down rcutiny by removing rcu_scheduler_active and friends
    * [    ] ring-buffer: Add lost event count to end of sub buffer
    * [   1] ring-buffer: Add place holder recording of dropped events
    * [    ] scripts/get_maintainer.pl: add .get_maintainer.conf default options file
    * [    ] scripts/get_maintainer.pl: default to not include unspecified tags
    * [    ] scripts/get_maintainer.pl: optionally ignore non-maintainer signatures
    * [C   ] serial: bfin_sport_uart: add support for CTS/RTS via GPIOs
    * [   1] stop_machine: reimplement using cpu_stop
    * [    ] sysfs: Add support for tagged directories with untagged members.
    * [ DN ] sysfs-namespaces: add a high-level Documentation file
    * [ D  ] tags: Add the ability to make tags for all archs using "all"
    * [ D  ] time: Add xtime, wall_to_monotonic to feature-removal-schedule
    * [  N ] Unified UUID/GUID definition
    * [C   ] x86,kgdb: Add low level debug hook
    * [    ] x86, kgdb: early trap init for early debug
    * [    ] x86, kgdb, init: Add early and late debug states

Architektur-Code

x86

    * [C   ] x86-32: Rework cache flush denied handler
    * [  N2] x86-32: Rewrite 32-bit atomic64 functions in assembly
    * [    ] x86: Add new static_cpu_has() function using alternatives
    * [C N ] x86: Add optimized popcnt variants
    * [    ] x86: Add support for lock prefix in alternatives
    * [ D  ] x86/amd-iommu: Add amd_iommu=off command line option
    * [C   ] x86: Clean up arch/x86/Kconfig*
    * [   1] x86: Clean up the hypervisor layer
    * [  N ] x86: Detect running on a Microsoft HyperV system
    * [    ] x86, hpet: Add reference to chipset erratum documentation for disable-hpet-msi-quirk
    * [    ] x86, pat: In rbt_memtype_check_insert(), update new->type only if valid
    * [    ] x86, pat: Update the page flags for memtype atomically instead of using memtype_lock
    * [ D  ] x86, tboot: Add support for S3 memory integrity protection
    * [   6] x86, UV: Improve BAU performance and error recovery
    * [    ] x86,kgdb: Implement early hardware breakpoint debugging
    * [    ] x86: "nosmp" command line option should force the system into UP mode
    * [    ] x86/PCI: irq and pci_ids patch for additional Intel Cougar Point DeviceIDs
    * [    ] x86, setup: Phoenix BIOS fixup is needed on Dell Inspiron Mini 1012

ARM

    * [C   ] ARM: 5939/1: ARM: Add option CMDLINE_FORCE to force usage of the in-kernel cmdline
    * [    ] ARM: 5963/1: ux500: add support for u8500 v1 revision
    * [C N ] ARM: 5973/1: ux500: add gpio support
    * [  N3] ARM: 6010/1: ST SPEAr: Added basic header files for SPEAr3xx machine family
    * [  N2] ARM: 6011/1: ST SPEAr: Added basic header files for SPEAr6xx machine family
    * [  N ] ARM: 6012/1: ST SPEAr: Added basic header files for SPEAr platform
    * [C N ] ARM: 6013/1: ST SPEAr: Added source files for SPEAr platform
    * [  N3] ARM: 6014/1: ST SPEAr: Added clock framework for SPEAr platform and machines
    * [C N ] ARM: 6015/1: ST SPEAr: Added source files for SPEAr6xx machine family
    * [C   ] ARM: 6016/1: ST SPEAr: Added support for SPEAr platform and machines in arch/arm/
    * [C N1] ARM: 6017/1: ST SPEAr: Added source files for SPEAr3xx machine family
    * [ DN ] ARM: 6018/1: ST SPEAr: Updated Maintainers and added Documentation/arm/SPEAr
    * [  N7] ARM: 6019/1: ST SPEAr: Added default configuration files for SPEAr machines
    * [  N4] ARM: 6020/1: ST SPEAr: Adding gpio pad multiplexing support
    * [  N ] ARM: 6021/1: ST SPEAr: Added ARM PrimeXsys System Controller SP810 header file
    * [C N ] ARM: 6026/1: ARM: Add support for LZMA-compressed kernel images
    * [C   ] ARM: 6027/1: ux500: enable l2x0 support
    * [C N ] ARM: 6054/1: AT91: taskit PortuxG20 and Stamp9G20 board support
    * [C   ] ARM: 6058/1: Add support for PCI domains
    * [   2] ARM: 6070/1: perf-events: add support for xscale PMUs
    * [   1] ARM: 6072/1: oprofile: use perf-events framework as backend
    * [C  4] ARM: 6073/1: oprofile: remove old files and update KConfig
    * [C   ] ARM: 6077/1: ux500: add SOC Kconfig variables
    * [C   ] ARM: 6079/1: ux500: allow choice of the DEBUG_LL UART
    * [C N ] ARM: 6090/1: ux500: add U5500 support
    * [  N2] ARM: 6091/1: ST SPEAr: Adding support for shared irq layer
    * [   1] ARM: 6092/1: atmel_serial: support for RS485 communications
    * [    ] ARM: 6124/1: ep93xx: SPI driver platform support code
    * [C N5] ARM: 6132/1: PL330: Add common core driver
    * [  N ] ARM: 6141/1: Add audio support part in arch/arm/mach-w90x900
    * [C N ] ARM: Add Versatile Express CA9x4 processor support
    * [C N ] ARM: Add Versatile Express SMP support
    * [C N2] ARM: Add Versatile Express support
    * [C N5] ARM: cns3xxx: Add basic support for Cavium Networks CNS3xxx processors
    * [C N ] ARM: cns3xxx: Add CNS3420 Validation Board support
    * [C   ] ARM: convert arm to arch_gettimeoffset()
    * [C  1] ARM: ICST: kill duplicate icst code
    * [C   ] ARM: Integrator: convert Integrator/CP to use SP804 timer support
    * [C   ] ARM: Integrator: convert to generic clockevent support
    * [C   ] ARM: Integrator: convert to generic time support
    * [C N1] ARM: Kirkwood: add LaCie 2Big Network v2 support
    * [C N1] ARM: Kirkwood: add LaCie 5Big Network v2 support
    * [C N ] ARM: Kirkwood: Marvell GuruPlug support
    * [    ] ARM: mmp: add dma support to mmp2
    * [  N ] arm: msm: add board file for MSM7x25/MSM7x27 SURF and FFA
    * [  N ] arm: msm: add board file for MSM7x30 SURF and FFA
    * [  N ] arm: msm: add board file for Nexus One (ie. mahimahi)
    * [  N ] arm: msm: add board file for QSD8x50 SURF and FFA
    * [  N ] arm: msm: add board file for the HTC Sapphire device
    * [  N1] arm: msm: add cpu frequency controls
    * [  N ] ARM: msm: add /proc/last_radio_log when supported by the modem.
    * [C N4] ARM: msm: shared memory interface for baseband processor ipc
    * [    ] ARM: msm: smd: add support for DSP SMD channels
    * [C   ] ARM: mx3/lilly1131: add USB support
    * [    ] ARM: n30: Add RTC platform device for Acer n30 / Acer n35
    * [    ] ARM: n30: Add support for MMC card reader on Acer n30 / Acer n35
    * [    ] ARM: n30: Add support for power on/off on Acer n30 / Acer n35 MMC card reader
    * [    ] ARM: n35: Add support for LEDs on Acer n35
    * [    ] ARM: nwfpe: allow debugging output to be configured at runtime
    * [C   ] ARM: Optionally allow ARMv6 to use 'normal, bufferable' memory for DMA
    * [C N1] ARM: pxa: add basic support for the Aeronix Zipit Z2 handheld
    * [C N1] ARM: pxa: add basic support for Voipac PXA270 SBC
    * [C N ] ARM: pxa: add support for Voipac PXA270 PCMCIA
    * [    ] ARM: pxa/cm-x300.c: add battery charger support
    * [CD 2] ARM: pxa: remove now un-used corgi_ssp.c and corgi_lcd.c
    * [C   ] ARM: pxa/tosa: move CONFIG_KEYBOARD_TOSA_USE_EXT_KEYCODES to mach/Kconfig
    * [    ] ARM: pxa/vpac270: Add DS1339 RTC support
    * [    ] ARM: pxa/vpac270: add ethernet support
    * [C   ] ARM: pxa/vpac270: add ide support
    * [    ] ARM: pxa/vpac270: add OneNAND support
    * [    ] ARM: pxa/vpac270: Add touchscreen support
    * [C N1] ARM: Realview/Versatile/Integrator: separate out common clock code
    * [C N1] ARM: Realview/Versatile: separate out common SP804 timer code
    * [    ] ARM: RX1950: Add suspend/resume support for RX1950
    * [C N1] ARM: S3C2416: Add arch support
    * [C N ] ARM: S3C2416: Add basic clock support
    * [C N ] ARM: S3C2416: Add initial support of SMDK2416
    * [    ] ARM: S3C2416: Add support for OHCI on SMDK2416
    * [C   ] ARM: S3C2416: Add support for second HSMMC channel
    * [C N1] ARM: S3C2440: Add HP iPAQ RX1950 machine support
    * [C N2] ARM: S3C2443: Move parts of the clock code to common clock file
    * [    ] ARM: S3C24XX: Add extended GPIO used on S3C2443 and beyond
    * [C   ] ARM: S3C24XX: Add initial s3c_gpio configuration code
    * [C   ] ARM: S3C24XX: Add the gpio pull configuration for pull-up
    * [ D  ] ARM: S3C24XX: Documentation: add section on gpiolib changes
    * [ D  ] ARM: S3C24XX: Documentation: update documentation overview
    * [ D  ] ARM: S3C24XX: Documentation: update GPIO documentation
    * [C N2] ARM: S3C6410: Add basic support for SmartQ machines
    * [C N ] ARM: S3C64XX: Add touchscreen platform device definition
    * [C   ] ARM: S3C64XX: Add Touchscreen support for S3C64XX
    * [C   ] ARM: S3C64XX: PM: Synchronise wakeup mask on suspend
    * [  N ] ARM: S5P6440: Add audio platform devices
    * [C   ] ARM: S5P6440: Add Touchscreen support for S5P6440
    * [C   ] ARM: S5P6440: Add Watchdog support for S5P6440
    * [  N ] ARM: S5P6440: Define SPI platform devices
    * [  N ] ARM: S5P6442: Add audio platform devices
    * [  N ] ARM: S5P6442: Define SPI platform devices
    * [  N ] ARM: S5PC100: Add audio platform devices
    * [  N ] ARM: S5PC100: Define SPI platform devices
    * [C N ] ARM: S5PC100: DMA: Add platform devices for PL330 DMACs
    * [C N ] ARM: S5PV210: add Aquila board
    * [  N1] ARM: S5PV210: Add audio platform devices
    * [C N1] ARM: S5PV210: add common HSMMC device helpers
    * [C N1] ARM: S5PV210: add common I2C device helpers
    * [C N ] ARM: S5PV210: add framebuffer platform helpers for s5pv210 based machines
    * [C N ] ARM: S5PV210: Add GONI board support
    * [  N ] ARM: S5PV210: Add GPIOlib support
    * [C N1] ARM: S5PV210: Add IRQ_EINT interrupt support.
    * [C   ] ARM: S5PV210: add support for s3c-fb driver on Aquila machine
    * [  N ] ARM: S5PV210: Add temporary <mach/regs-fb.h>
    * [C   ] ARM: S5PV210: Add Touchscreen support for S5PV210
    * [C   ] ARM: S5PV210: Add Watchdog support for S5PV210
    * [  N ] ARM: S5PV210: Define SPI platform devices
    * [C   ] ARM: S5PV210: Fixup machine Kconfig order
    * [C N1] ARM: SAMSUNG: Add platform support code for OneNAND controller
    * [C N ] ARM: SAMSUNG: Add support for interrupt wakeup-sources
    * [ DN ] ARM: SAMSUNG: Documentation: add documentation on GPIO code
    * [ D  ] ARM: SAMSUNG: Documentation: update directory layout
    * [ D  ] ARM: SAMSUNG: Documentation: update the list of SoCs supported
    * [C N ] ARM: SAMSUNG: Move HWMON from plat-s3c24xx to plat-samsung
    * [C   ] ARM: SAMSUNG: Move s3c64xx dev-ts.c to plat-samsung and rename configuration
    * [C N3] ARM: SAMSUNG: move S5PC100 support from plat-s5pc1xx to plat-s5p framework
    * [C   ] ARM: SMDK2416: Add support for framebuffer device and ensure correct setup
    * [C   ] ARM: SMDK6410: Add Watchdog support for SMDK6410
    * [    ] ARM: SMDKC100: Add audio devices on board
    * [    ] board-omap3-beagle: add DSS2 support
    * [    ] can: ti_hecc: Enable CAN support on AM3517
    * [  N1] DMAENGINE: DMA40 U8500 platform configuration
    * [C   ] msm: 7x30 Kconfig and makefile changes
    * [C   ] msm: 8x50 Kconfig changes
    * [  N ] msm: add devices-qsd8x50.c
    * [  N ] msm: add msm_iomap-7x30.h for MSM7x30 support
    * [  N ] msm: add msm_iomap-8x50.h for QSD8x50 support
    * [C N1] msm: add Qualcomm 7x30 interrupt controller driver.
    * [  N1] msm: add sirc interrupt controller driver.
    * [  N ] msm: add tlmm support for gpio.
    * [  N ] msm: clock support for the MSM7x30 CPU.
    * [  N ] msm: irqs: add irqs-7x30.h for MSM7x30 support
    * [  N ] msm: irqs: add irqs-8x50.h for QSD8x50 support
    * [   2] msm: smd: initial support for smd v2
    * [    ] mx5: Add registration of GPIOs for MX5 devices
    * [    ] mx5: Add USB device definitions for Freescale MX51 Babbage HW
    * [    ] mxc: Add generic USB HW initialization for MX51
    * [    ] MXC: Add USB OTG (device) for i.MX31 PDK (3DS) board.
    * [C N1] OMAP1: Amstrad Delta: add FIQ handler for serial keyboardport interrupt processing
    * [    ] omap2: Add I2C bus 1 initialisation for 2430sdp
    * [    ] omap2: Add OHCI USB platform init for 2430 SDP
    * [C N1] omap3: Add support for OMAP3Stalker boards
    * [    ] omap4: Add i2c board support on omap4430 sdp platform
    * [    ] omap4: Adding hsmmc support to board file
    * [    ] omap4: Enable HSMMC support
    * [   1] omap4: Enable RTC and regulator support
    * [    ] OMAP4: Ethernet: KS8851 Board Support
    * [C   ] OMAP: LCD LS037V7DW01: Add Backlight driver support
    * [    ] omap: Overo: Add support for second ethernet port
    * [    ] omap: rx51: Add i2c2 board_info with tlv320aic3x
    * [  N ] OMAP: RX51: Add LCD Panel support
    * [    ] omap: rx51: Add supplies for the tlv320aic3x codec driver
    * [    ] OMAP: RX51: Add Touch Controller in SPI board info
    * [C N3] S3C: DMA: Add api driver for PL330
    * [C N ] S5P6440: DMA: Add platform devices for PL330 DMACs
    * [C N ] S5P6442: DMA: Add platform devices for PL330 DMACs
    * [C N ] S5PV210: DMA: Add platform devices for PL330 DMACs
    * [    ] scripts: add ARM support to decodecode

Power

    * [C N4] powerpc/44x: Add basic ICON PPC440SPe board support
    * [C N4] powerpc/44x: Add basic ICON PPC440SPe board support
    * [   1] powerpc/44x: Adding PCI-E support for PowerPC 460SX based SOC.
    * [   1] powerpc/44x: Adding PCI-E support for PowerPC 460SX based SOC.
    * [C  3] powerpc/47x: Base ppc476 support
    * [C  3] powerpc/47x: Base ppc476 support
    * [ DN ] powerpc/4xx: Add optional "reset_type" property to control reboot via dts
    * [ DN ] powerpc/4xx: Add optional "reset_type" property to control reboot via dts
    * [C N1] powerpc/4xx: Simple platform for the ISS 4xx simulator
    * [C N1] powerpc/4xx: Simple platform for the ISS 4xx simulator
    * [    ] powerpc/83xx: Add MCU LEDs support for MPC837xRDB and MPC8315RDB boards
    * [    ] powerpc/83xx: Add MCU LEDs support for MPC837xRDB and MPC8315RDB boards
    * [    ] powerpc/85xx: Add eTSEC 2.0 support for P1020RDB boards
    * [    ] powerpc/85xx: Add eTSEC 2.0 support for P1020RDB boards
    * [  N2] powerpc/85xx: Add P1021MDS board support
    * [  N2] powerpc/85xx: Add P1021MDS board support
    * [    ] powerpc: Add a new zImage for maple using a different link address
    * [    ] powerpc: Add a new zImage for maple using a different link address
    * [ D  ] powerpc: Add interrupt support to mpc8xxx_gpio
    * [ D  ] powerpc: Add interrupt support to mpc8xxx_gpio
    * [C   ] powerpc: Add kprobe-based event tracer
    * [C   ] powerpc: Add kprobe-based event tracer
    * [C   ] powerpc/cpumask: Add DEBUG_PER_CPU_MAPS option
    * [C   ] powerpc/cpumask: Add DEBUG_PER_CPU_MAPS option
    * [   3] powerpc: Disable CONFIG_SYSFS_DEPRECATED
    * [   3] powerpc: Disable CONFIG_SYSFS_DEPRECATED
    * [  N ] powerpc/fsl-booke: Add hibernation support for FSL BookE processors
    * [  N ] powerpc/fsl-booke: Add hibernation support for FSL BookE processors
    * [C   ] powerpc/kexec: Add support for FSL-BookE
    * [C   ] powerpc/kexec: Add support for FSL-BookE
    * [    ] powerpc: Move kdump default base address to 64MB on 64bit
    * [    ] powerpc: Move kdump default base address to 64MB on 64bit
    * [    ] powerpc: Remove dead CONFIG_HIGHPTE
    * [    ] powerpc: Remove dead CONFIG_HIGHPTE
    * [C   ] powerpc: Unconditionally enabled irq stacks
    * [C   ] powerpc: Unconditionally enabled irq stacks
    * [    ] powerpc/vio: Add modalias support
    * [    ] powerpc/vio: Add modalias support
    * [    ] powerpc/vio: Add power management support
    * [    ] powerpc/vio: Add power management support

Various others

    * [C   ] asm-generic: add NEED_SG_DMA_LENGTH to define sg_dma_len()
    * [C N ] Blackfin: add support for the DBGA (debug assert) pseudo insn
    * [  N ] m68knommu: add smc91x support for ColdFire NETtel boards
    * [  N3] m68knommu: Coldfire QSPI platform support
    * [    ] MIPS: Alchemy: add sysdev for DBDMA PM.
    * [    ] MIPS: Alchemy: add sysdev for IRQ PM.
    * [C N ] MIPS: Loongson 2F: Add gpio/gpioilb support
    * [    ] nilfs2: add missing endian conversion on super block magic number
    * [   2] S390: add breaking event address for user space
    * [C   ] S390: Add support for LZO-compressed kernels.
    * [    ] S390: dasd: add dynamic pav toleration
    * [C   ] S390: debug: enable exception-trace debug facility
    * [   1] S390: idle time accounting vs. machine checks
    * [   1] S390: s390_hypfs: Add new attributes
    * [C  1] S390: virtualization aware cpu measurement
    * [C   ] S390: vmcp: disallow modular build
    * [C   ] sh: add CONFIG_VIRTUALIZATION for virtio support
    * [    ] sh: add DMA slave definitions to sh7724
    * [    ] sh: add DMA slaves for two SDHI controllers to sh7722
    * [C N ] sh: add romImage MMCIF boot for sh7724 and Ecovec V2
    * [    ] sh: Add SDHI DMA support to ecovec
    * [    ] sh: Add SDHI DMA support to kfr2r09
    * [    ] sh: Add SDHI DMA support to migor
    * [    ] sh: Add SDHI DMA support to ms7724se
    * [    ] sh: add Video Output Unit and AK8813 video encoder support on ecovec
    * [    ] sh: add Video Output Unit (VOU) and AK8813 TV-encoder support to ms7724se
    * [C   ] sh: All SH-X3 cores support NUMA and SMP, update Kconfig.
    * [C   ] sh: CPU hotplug support.
    * [    ] sh: CPU hotplug support for SH-X3 SMP.
    * [    ] sh: enable LMB region setup via machvec.
    * [C   ] sh: flag kdump as broken on SMP for now.
    * [    ] sh: INTC ioremap support
    * [C  1] sh: intc: IRQ auto-distribution support.
    * [C N ] sh: intc: userimask support.
    * [C   ] sh: make latencytop available on SMP, too.
    * [C   ] sh: support for platforms without PIO.
    * [  N ] sh: tlb debugfs support.

Quelle : www.heise.de
Titel: Kernel-Log: Eigenverantwortung bei Fehlerbeseitigung und Qualitätssicherung
Beitrag von: SiLæncer am 27 Juli, 2010, 07:56
Wohl speziell für einen Firmenkunden hat ein Red-Hat-Entwickler kürzlich einen Fehler im Intel-Grafiktreiber beseitigt, der zahlreiche Besitzer von Systemen mit 945GM-Chipsatz bereits seit Jahren plagt. Derweil appellierte Theodore 'tytso' Tso kürzlich in einer Diskussion auf der LKML, dass Anwender bei Fehlerbeseitigung und Qualitätssicherung eine Eigenverantwortung tragen und selbst aktiv werden müssen.

Wie Entwickler verschiedener Firmen am Kernel zusammenarbeiten, was Support-Verträge mit Linux-Distributoren nutzen und wie kommerzielle Interessen die Linux-Entwicklung und Fehlerbeseitigung beeinflussen, lässt sich aus dem Umfeld einer kürzlich für den Kernel 2.6.35 aufgenommenen Änderung  erkennen. Sie stammt von dem bei Red Hat beschäftigten DRM-Subsystem-Verwalter Dave Airlie und soll Stabilitätsprobleme und Abstürze beseitigen, die auf vielen Systemen mit Intels 945GM auftreten können – diese Chipsätze hat Intel 2006 eingeführt, sie stecken vornehmlich in Notebooks.

Die Problematik war den Entwicklern seit Jahren bekannt, denn zahlreichen Anwender haben die Probleme gemeldet (u. a. 1). Wie Airlie in seiner Bitte um Aufnahme des Patches ("Git-Pull-Request") dieser und andere Korrekturen für das DRM-Subsystem andeutet, habe es nun jedoch eine "Enterprise Reason" gegeben, sich dem Problem zu widmen – vermutlich ist also ein Red-Hat-Kunde über den Fehler gestolpert und hat auf eine Korrektur gedrängt. Dem Commit-Kommentar ist zu entnehmen, dass es Airlie "nur eine Woche und zahlreiche gerupfte Haare" gekostet hat, die Ursache auf einem Thinkpad T60 nachzustellen und durch einen Zehnzeiler zu beseitigen. Intel war nicht ganz unbeteiligt, denn Intel-Mitarbeiter Keith Packard steuerte einen Patch bei, der einige der von Airlies Codeerweiterungen verwendeten Register dokumentiert.

Das eigenen Jucken

Das Linux keineswegs kostenfrei sei und man häufig Zeit oder Geld investieren müsse, war kürzlich auch die Kernaussage von Linux-Urgestein Theodore 'tytso' Tso in einer LKML-Diskussion, deren Auslöser eine Beschwerde über mangelnde Qualität und Qualitätssicherung war (1, 2). Mit Aussagen wie "Scratch your own itch" ("Kratz das eigene Jucken") und "There ain't no such thing as a free lunch." (TANSTAAFL / "So etwas wie ein kostenloses Mittagessen gibt es nicht") versucht Tytso dort zu unterstreichen, dass diejenigen, die im Besitz einer bestimmten Hardware sind, dafür sorgen müssen, dass diese funktioniere.

Um herauszufinden, ob nach Änderungen am Kernel ein Gerät genauso gut arbeitet wie zuvor, müsse der Anwender es daher ausprobieren. Dies solle idealerweise bei der dritten oder vierten Vorabversion einer neuen Kernel-Version passieren, denn je später jemand die Hardware testet und einen Fehler berichtet, desto später würde er auch korrigiert. Er führt das noch detaillierter aus und zeigt auf, dass man auch jemanden bezahlen kann, der im Gegenzug sicherstellt, das alles funktioniert. Abschließend sagt er, es sei nicht angemessen zu fordern, die Linux-Kernel von Kernel.org müssten stabiler werden, wo es sich doch um ein rein von Freiwilligen getragenes Projekt handle ("But demanding that kernel.org become "more stable" when it is supported by purely volunteers is simply not reasonable.")

Linux-Versionsstatus

Im Rahmen der Arbeit an den Anfang Juli freigegebenen Stable-Kerneln Linux 2.6.27.48, 2.6.31.14, 2.6.32.16, 2.6.33.6 und 2.6.34.1 hatte Greg Kroah-Hartman angedeutet, dass schon zahlreiche weitere Änderungen in seinem Posteingang liegen und er bald weitere Stable-Kernel nachreichen wolle – bislang ist davon allerdings nichts zu sehen.

Im Hauptentwicklungszweig scheint der aktuelle Entwicklungszyklus dem Ende entgegen zu gehen, denn Torvalds deutete bei der Freigabe der sechsten Vorabversion von 2.6.35 an, dass dies möglicherweise der letzte RC vor der Fertigstellung sei – eine Freigabe von 2.6.35 Ende dieser Woche oder irgendwann in der nächsten Woche ist damit recht wahrscheinlich. Daran werden auch die kürzlich aktualisierten "Regressions reports" wohl nichts ändern, die jeweils 25 Fehler in 2.6.34.x und 2.6.35-rc6 listeten, die die 2.6.33 beziehungsweise 2.6.34 nicht zeigten (1, 2).

Kernel-Log-Staccato

Kernel

    * Einige kürzlich an die LKML gesandte Messergebnisse zeigen, dass Btrfs bei Wahl der falschen Caching-Strategie unter Qemu sehr viel langsamer arbeitet als die Ext-Dateisysteme oder XFS.
    * Christoph Hellwig gibt im "XFS status update for June 2010" einen Überblick über die jüngsten Änderungen rund um das XFS-Dateisystem.
    * Der häufig an Code zur Nutzung von Stromsparfeatures arbeitende Kernel-Hacker Matthew Garrett führte kürzlich in einem Blog-Eintrag nebenher an, dass "die Suspend- und Resume-Probleme von Linux weitgehend ausgeräumt seien". Es gäbe zwar noch Systeme mit individuellen Problemen, aber keine fundamentalen Probleme mehr im Kern-Code.
    * Hans Verkuil hat die Themen zusammengepasst, die im Juni auf dem Video4Linux-Mini-Summit diskutiert wurden. Demnach soll die Unterstützung für das ältere V4L-API soll bei der Kernel-Version 2.6.37 entfernt werden.
    * ATA-Kernel-Spezialist Tejun Heo hat einige Tests mit einer mehr als 2 TByte großen Festplatte durchgeführt und seine Erfahrungen in einer LKML-Mail zusammengefasst. Alle vier von ihm getesteten ATA-Adapter haben mit dem Datenträger korrekt zusammengearbeitet; selbst das Booten habe bei bestimmten Umgebungsparametern geklappt. Er ist aber noch auf einige Probleme gestoßen, die Anwender treffen werden, die von Datenträgern mit mehr als 2 TByte Speicherplatz booten wollen.

Grafik

    * Kurz nach Veröffentlichung des letzten Kernel-Logs haben die Intel-Entwickler die Version 2.12.0 des X.org-Treibers xf86-video-intel für das Gros der Intel-Chipsätze mit Grafikkern freigegeben. Laut Freigabe-Mail gab es zahlreiche Änderungen, die die Performance verbessern sollen – einige Tests sollen laut den angegebenen Messerwerten nun um ein Vielfaches schneller laufen. Diese Optimierungen sollen sich positiv auf die Scroll-Geschwindigkeit in Firefox auswirken. Außerdem soll die beschleunigte Video-Ausgabe nun auch bei der Nutzung eines erweiterten Desktops möglich sein. Die neue Treiber-Version ist auch Bestandteil des "Intel 2010Q2 graphics package", zu der unter anderem auch Mesa 7.8.2 und Libdrm 2.4.21 gehören.
    * Nvidia hat derweil Vorabversionen neuer Grafiktreiber aus den Legacy-Serien 173.xx und 96.xx freigegeben. Der neue 173er-Treiber bringt unter anderem Unterstützung für X-Server der 1.8-Serie; das ermöglicht Anwendern mit GeForce-Karten der FX-Baureihe (5xxx) den Einsatz der Nvidia-Treiber unter Fedora 13, OpenSuse 11.3 und andere Distributionen mit X-Servern der 1.8er-Reihe. Der neue 96er-Treiber für GeForce-Karten der Serien 2, 3 und 4 bietet noch keine Unterstützung für die aktuellen X-Server. Einem Phoronix-Bericht zufolge soll diese bald folgen; für noch ältere GeForce-Karten benötigte Treiber der 71er-Serie sollen diese Unterstützung allerdings nicht mehr erhalten.
    * Dave Airlie hat die Version 6.13.1 des Grafiktreiberpakets xf86-video-ati mit dem Treiber "radeon" freigegeben, die zahlreiche kleinere Verbesserungen und Fehlerkorrekturen bringt.
    * Mitte des Monats hat Keith Packard den fünften RC des X-Servers 1.9 freigegeben und darauf hingewiesen, dass es zur Freigabe Mitte August nur mehr vier Wochen seien.
    * Die Situation um Linux-Grafiktreiber für Intels auch als Poulsbo bekannten Chipsatz US15W ist schon seit langem problematisch und Anlass für Kritik an Intel. Selbst dem maßgeblich von Intel mitentwickelten MeeGo IVI (In-Vehicle-Infotainment) fehlen derzeit passende Grafiktreiber, obwohl der MeeGo-Vorgänger Moblin zeitweise welche enthielt. Grund sind Lizenzprobleme, wie ein Intel-Mitarbeiter kürzlich auf einer MeeGo-Mailingliste erklärte.
    * Die Seite RadeonFeature im X.org-Wiki listet seit kurzem etwas detaillierter, welche Stromsparfunktionen die Kombination aus aktuellem Radeon-KMS-Code und X.org-Treiber "radeon" auf welchen Grafikchips unterstützt.
    * Die Mesa-Demos sind wurden in einen eigenen Bereich ausgelagert und in den Versionen 8.0.0 und 8.0.1 veröffentlicht.
    * Qualcomm hat unter der GPLv2 stehende Kernel-Patches veröffentlicht, die den DRM-Code des Kernels um einen Treiber erweitern, mit dem ein Userland-Treiber 3D-Untersützung bieten könnte. Letzteren will das Unternehmen allerdings nicht offen legen. Dave Airlie hat daraufhin einen Blog-Eintrag verfasst und eine Mail an die LKML gesandt, in der er das Vorgehen kritisiert und erklärt, warum er gegen die Aufnahme der Patches ist; in seinem Blog hat er wenig später unter dem Titel "Embedded GPU : what are they hiding?" das Verhältnis zwischen den Entwicklern des Linux-Kernels und Embedded GPUs näher beleuchtet und weitere Hintergründe geliefert. Einen Überblick über die Situation liefert auch LWN.net im Artikel "A line in the sand for graphics drivers"
    * Im Blog-Eintrag "xmodmap keyboard deconfiguration" erklärt X-Entwickler Peter Hutterer, warum es bei modernen Distributionen keine gute Idee ist, die Konfiguration von Eingabegeräten mit xmodmap umkonfigurieren zu wollen. Im Blog-Post "Input event processing in X" liefert er zudem zahlreiche Hintergrundinformationen zur Verarbeitung der von Eingabegeräten wie Tastatur und Maus gesandten Events im X-Server.
    * Hutterer und einige andere Entwickler arbeiten daran, verschiedene Verbesserungen für die in letzter Zeit vernachlässigte X Test Suite (XTS) zusammenzuführen, um diese in einen besseren Zustand zuu bringen.

Kernel-Umland ("Plumbing layer"), Userland-Treiber, Entwicklertools, ...

    * Karel Zak hat die Version 2.18 der bei allen neueren Mainstream-PC-Distributionen verwendenden Werkzeugsammlung util-linux-ng freigegeben. Das dort enthaltene Fdisk zeigt verwendet nun standardmäßig Sektornummer beim Anlegen von Partitionen. Neu sind die Programme findmnt, fsfreeze und swaplabel sowie die Library libmount; rausgeflogen sind die Kommandos ramsize, rdev, rootflags und vidmode.
    * Josh Stone hat die Veröffentlichung von SystemTap 1.3 bekannt gegeben.
    * Einen Überblick über die Neuerungen des kürzlich freigegebenen Git 1.7.2 liefert die zugehörige Freigabe-Mail von Junio C Hamano.
    * Richard W.M. Jones erklärt in seinem Blog grob, wie sich die Menge des Arbeitsspeichers von KVM- oder Xen-Gastsystemen mit Hilfe von "Balloons" anpassen lässt.
    * Der treibende Entwickler des NetworkManager, Dan Williams, integriert eher selten Workarounds für Treiber-spezifische Eingenarten und drängt darauf, stattdessen die Treiber zu korrigieren. Für den proprietären Broadcom-Treiber machte er allerdings kürzlich eine Ausnahme, wie er in seinem Blog schreibt.
    * Michael Kerrisk hat die Version 3.25 der Man-Pages freigegeben.
    * Die Entwickler des Projekts Hplip (Hewlett-Packard's Linux Imaging and Printing Software) haben die Version 3.10.6 der gleichnamigen Treiber für Drucker und Multifunktionsgeräte von HP veröffentlicht. Sie bringt Unterstützung für einige in den letzten Wochen und Monaten erschienene Distributionen und Drucker und beherrscht das LEDM-Protokoll, um den Gerätestatus via USB und Netzwerk abzufragen.

Quelle : www.heise.de
Titel: Kernel-Log – Was 2.6.35 bringt (5): Treiber
Beitrag von: SiLæncer am 28 Juli, 2010, 17:23
Ausgebaute Unterstützung für USB 3.0, ein neues Subsystem zur Nutzung von Infrarot-Fernbedienungen sowie ein EDAC-Treiber für Nehalem-Prozessoren sind nur einige von vielen neuen oder verbesserten Treibern.

In der Freigabe-Mail zur sechsten Vorabversion von Linux 2.6.35 deutete Torvalds an, dass das die letzte Vorabversion dieses Kernel-Version sein könnte – eine Veröffentlichung von Linux 2.6.35 in den nächsten zehn Tagen ist damit recht wahrscheinlich.

Das Kernel-Log will daher die Mini-Serie "Was 2.6.35 bringt" mit der Beschreibung der Neuerungen rund um Treiber für Hardware-Komponenten abschließen, die bislang nicht zu Sprache kamen. Bereits der erste Teil der Mini-Serie hatte sich mit den Änderungen rund um Grafik-Hardware beschäftigt, während der zweite neben Storage-Hardware auch Dateisystemen behandelte. Der dritte Teil beschäftigte sich mit Netzwerk-Infrastruktur und -Treibern, der vierte mit Architektur, Infrastruktur, Tracing und Virtualisierung.

USB, FireWire

Der xHCI-USB-Treiber unterstützt ab 2.6.35 die Datenübertragung mit den bei USB 3.0 eingeführten "Bulk Endpoint Streams". Sie sind eine Voraussetzung für einige noch in Entwicklung befindliche Patches, die den USB-Storage-Treiber des Kernels um Unterstützung für das USB Attached SCSI Protocol (UASP) erweitern, das USB-3.0-Datenträgern zu besseren Übertragungsraten verhilft. Neu ist ein Gadget-Treiber, der ein HID-Device emuliert. Ebenfalls frisch zum Kernel stieß das FunctionFS-Framework, mit dessen Hilfe sich USB-Gadget-Device aufsetzen lassen, um Daten aus dem Userspace über das Gadget-Device zum USB-Host zu transportieren (u. a. 1, 2). Genutzt wird das etwa bei neuen Treiber f_uvc, der Video-Daten via USB zum Host weiterleitet.

Der ältere, häufig IEEE1394 genannte FireWire-Stack des Kernels soll mit 2.6.37 entfernt werden. Damit übernimmt der bei bei 2.6.22 integrierte FireWire-Stack Juju bald die Alleinverantwortung zur Ansteuerung von FireWire-Hardware, nachdem der FireWire-Subsystem-Maintainer bereits bei Version 2.6.33 einige Änderungen eingepflegt hatte, um Distributionen zum Umstieg auf den neueren FireWire-Stack zu bewegen.

Audio, V4L/DVB

Die vom Alsa-Projekt betreuten Sound-Treiber des Kernels sind mit 2.6.35 auf dem Niveau der Alsa-Version 1.0.23. Neu dabei ist der Treiber snd-asihpi für ASI-Soundkarten von AudioScience. Größere Umstrukturierungen und zahlreiche Verbesserungen gab es zudem am Code zur Unterstützung von USB-Audio – vieles davon bringt die bei 2.6.34 eingebrachte Unterstützung für die Version 2.0 der USB-Audio-Spezifikation auf Vordermann (u. a. 1, 2, 3, 4, 5, 6). Einen Überblick über weitere Neuerungen bei Audio-Treibern sowie die wichtigsten Änderungen im Subsystems ASoC (Alsa System on Chip) gibt Takashi Iwai in seinem Haupt-Git-Pull-Request.

Ein neues, maßgeblich vom V4L-/DVB-Maintainer Mauro Carvalho Chehab vorangetriebenes "Remote Controller Subsystem" soll die Grundlagen für eine bessere Unterstützung von Infrarotfernbedienungen legen (u. a. 1, 2, 3, 4, 5). Bislang lieferten die meisten Distributionen dafür Lirc-Treiber mit, die jedoch den Qualitätsansprüchen der Kernel-Entwickler nicht genügten und in Zukunft vielleicht in abgewandelter Form mit dem neuen Subsystem zusammenarbeiten sollen. Einige Hintergründe zur Situation liefert ein LWN.net-Artikel aus dem vergangenen Dezember.

Staging

Über den V4L-/DVB-Maintainer stieß der Treiber tm6000 für die TV-Master-Chips tm5600/tm6000 von Trident zum Staging-Zweig (u. a. 1 , Todo) – hier werden unreife und verbesserungswürdige Treiber gesammelt, die den Qualitätsansprüchen der Kernel-Entwickler nicht genügen oder die größere Probleme zeigen. All das scheint auch auf den etwa für die Terratecs Cinergy Hybrid XE oder die Hauppauge WinTV HVR 900H/WinTV geeigneten Tm6000-Treiber zuzutreffen, denn Mauro Carvalho Chehab äußert sich in seinem Git-Pull-Request nicht sonderlich positiv über den Treiber.

Zum Staging-Bereich stieß ferner ein Framebuffer-Treiber für die als XG20, XG21, XG40 und XG42 oder Z7, Z9 und Z11 bekannten Grafikchips von XGI; neu ist auch der ein WAN-Treiber für die WanPMC-CxT1E1-Karte, ein Treiber fürs Intels Restricted Access Region (RAR) Handler sowie ein dritter V4L-Treiber für DT3155-Chips. Entfernt wurden die auf den Rest des Kernels nicht sonderlich gut abgestimmten und von niemandem betreuten Treiber arlan, strip und wavelan, die Chips aus den Anfangstagen von Wireless LAN unterstützten, die heute vermutlich kaum mehr im Einsatz sind.

Weitere Treiber

Ab Version 2.6.35 liegt dem Linux-Kernel der Treiber i7core_edac bei, der Unterstützung für EDAC (Error Detection And Correction) von Intels Nehalem-Prozessoren nachrüstet – also Prozessoren wie den Core i7 oder die Xeon-CPUs der Baureihen 35xx und 55xx. Jean Delvare hebt im Gut-Pull-Request zu den Verbesserungen am Hwmon-Subsystem die Unterstützung für neue Macbook-Pro-Modelle sowie Monitoring-Chips verschiedener Hersteller hervor.

Auch zum Input-Subsystem stießen zahlreiche neue Treiber – darunter einer für die Roccat Kone Gaming Mouse sowie mehrere für Multitouch-Hardware. Bei den "kleinen Perlen" am Ende des Artikels finden sich zudem einige Änderungen an Treibern für Notebooks – gleich mehrere kleinere Änderungen gab es etwa am Treiber für Thinkpads von IBM und Lenovo. Für Mobile Internet Devices (MIDs) mit x86-Prozessoren bringt der Kernel nun einen Treiber für IPC (Inter Processor Communications) mit der SCU (Snoop Control Unit) mit.

Die kleinen Perlen

Viele kleinere, aber keineswegs unbedeutende Neuerungen finden sich in der folgenden Liste mit den englischen Commit-Überschriften der jeweiligen Änderung. Die Einträge verlinken genau wie viele der Verweise im vorangegangenen Text auf das Webfrontend des von Linus Torvalds gepflegten Git-Zweigs mit den "offiziellen" Kernel-Quellen auf Kernel.org. Der über diese Links angezeigten Commit-Kommentar und der darunter ausgegebene Patch liefern zahlreiche weitere Informationen zur jeweiligen Änderungen.

Vor jedem Link finden sich in eckigen Klammern einige Buchstaben und Zahlen. Ein "C" kennzeichnet Patches mit Änderungen an Kconfig-Dateien, welche die Hilfetexte und Konfigurationsoptionen enthalten, die bei der Kernel-Konfiguration über "make menuconfig", "make xconfig" und ähnliche Werkzeuge angezeigt werden. Ein "D" steht bei Patches, die die Dokumentation verändern, die im Kernel-Zweig unterhalb von Documentation/ liegt. Ein "N" weist Änderungen aus, die eine neue Datei anlegen. Die Zahl vermittelt einen groben Eindruck zur Größe des Patches: eine "1" steht etwa für Änderungen, die inklusive Kommentar zwischen 10 und 20 KByte groß sind, eine "2" für solche, die zwischen 20 und 30 KByte Umfang haben; Änderungen ohne Zahl sind kleiner als 10 KByte, Patches mit einer "9" hingegen 90 KByte oder größer.

Alsa

    * [C  1] ALSA: AC97: add AC97 support for AT91.
    * [    ] ALSA: AC97: add full duplex support for atmel AT91 and AVR.
    * [    ] ALSA: Add support for key reporting via the jack interface
    * [    ] ALSA: asihpi - Add hd radio blend functions
    * [    ] ALSA: asihpi - Add support for new ASI8800 family
    * [    ] ALSA: asihpi - Remove support for old ASI8800 family
    * [    ] ALSA: aureon - Patch for suspend/resume for Terratec Aureon cards.
    * [    ] ALSA: emu10k1: allow high-resolution mixer controls
    * [   1] ALSA: hda - Add initial support for Thinkpad T410s HDA codec
    * [    ] ALSA: hda - Add Macbook 5,2 quirk
    * [    ] ALSA: hda - Add mute LED support for HP laptop with ALC269
    * [    ] ALSA: hda - Add parse customize define function for Realtek codecs
    * [    ] ALSA: hda - Add SSID table for iMac7,1.
    * [    ] ALSA: hda - Add SSID table for MacBookAir1,1
    * [    ] ALSA: hda - Add SSID table for MacBookAir2,1
    * [    ] ALSA: hda: Add support for another Lenovo ThinkPad Edge in conexant codec
    * [    ] ALSA: hda - Add support for Thinkpad Edge conexant chip
    * [    ] ALSA: hda - Enable beep on Realtek codecs with PCI SSID override
    * [    ] ALSA: hda - Fix line-in for mb5 model MacBook (Pro) 5,1 / 5,2
    * [    ] ALSA: hda: Fix model quirk for Dell M1730
    * [   1] ALSA: hda - iMac9,1 sound fixes
    * [    ] ALSA: hda-intel - AD1984 thinkpad - add analog beep input control
    * [ D  ] ALSA: hda-intel - add special 'hwio' model to bypass initialization
    * [ D  ] ALSA: hda-intel - remove model=hwio from documentation
    * [ D  ] ALSA: hda-intel - remove model=hwio , use probe_only=3 instead
    * [    ] ALSA: hda: Use LPIB for Acer Aspire 5110
    * [    ] ALSA: hda: Use LPIB for Toshiba A100-259
    * [    ] ALSA: info - Remove BKL
    * [    ] ALSA: intelhdmi - add id for the CougarPoint chipset
    * [    ] ALSA: intelhdmi - user friendly codec name
    * [CD 2] ALSA: Merge es1688 and es968 drivers
    * [    ] ALSA: pcm - Remove BKL from async callback
    * [    ] ALSA: powermac - Lineout detection on G4 DA
    * [    ] ALSA: powermac - Reverse HP detection on G4 DA
    * [    ] ALSA: Remove BKL from open multiplexer
    * [C   ] ALSA: snd-es1968: Make hardware volume buttons an input device (rev2)
    * [C   ] ALSA: snd-maestro3: Make hardware volume buttons an input device (rev2)
    * [C   ] ALSA: ua101: remove experimental status
    * [ D  ] ALSA: Update the documentation for changes of proc files
    * [    ] ALSA: usbaudio: Add basic support for M-Audio Fast Track Ultra series
    * [    ] ALSA: usb-audio: add support for Akai MPD16
    * [    ] ALSA: usb-audio: add UAC2 sepecific Feature Unit controls
    * [    ] ALSA: usb-audio - Add volume resolution quirk for some Logitech webcams
    * [C  1] ALSA: usb/caiaq: Add support for Traktor Kontrol X1
    * [    ] ARM: McBSP: Add support for omap4 in McBSP driver
    * [    ] ASoC: Add a notifier for jack status changes
    * [  N2] ASoC: Add GPIO configuration support for WM8903
    * [C   ] ASoC: Add missing Kconfig entry for Phytec boards
    * [    ] ASoC: Add register write logging for WM8994
    * [   1] ASoC: Add support for WM8960 capless mode
    * [    ] ASoC: Add WM8903 interrupt support
    * [C N6] ASoC: Add WM9090 amplifier driver
    * [    ] ASoC: Allow WM8903 mic detect disable and don't force bias on
    * [C   ] ASoC: change bf5xx-ad1938 machine driver to bf5xx-ad193x machine driver
    * [    ] ASoC: core: Support for limiting the volume
    * [    ] ASoC: da7210: Add 11025/22050/44100/88200 rate support
    * [    ] ASoC: da7210: Add 8/12/16/24/32/48/96 kHz rate support
    * [C N1] ASoC: DaVinci: CQ93VC Voice Codec
    * [C N1] ASoC: DaVinci: Voice Codec Interface
    * [C   ] ASoC: fsi: Add FSI2 device support
    * [    ] ASoC: Implement interrupt driven microphone detection for WM8903
    * [    ] ASoC: Initial WM8903 microphone bias and short detection
    * [C N1] ASoC: omap: Add basic audio support for Nokia RX-51/N900
    * [    ] ASoC: omap-mcbsp: Add support for Left Justified format
    * [C N3] ASoC: rename ad1938 to ad193x and add support for ad1936/7/8/9
    * [C N ] ASoC: S3C64XX: IISv4: Add CPU driver
    * [C N ] ASoC: SDP4430: Add sdp4430 machine driver
    * [    ] ASoC: SDP4430: Add support for Earphone speaker
    * [C   ] ASoC: SMDK64XX: Switch to IISv4 CPU driver
    * [    ] ASoC: Support GPIO based microphone detection for WM8904
    * [  N ] ASoC: tlv320aic3x: Add platform data and reset gpio handling
    * [C N4] ASoC: TWL6040: Add twl6040 codec driver
    * [    ] ASoC: UDA134X: Add UDA1345 CODEC support
    * [C N1] ASoC: Wolfson Microelectronics 1133-EV1 audio support
    * [C N ] ASoC: Zipit Z2 WM8750 ASoC driver
    * [C   ] DaVinci: DM365: Voice Codec support for the DM365 EVM

FireWire

    * [    ] firewire: ohci: enable 1394a enhancements
    * [    ] firewire: ohci: fix up configuration of TI chips

HWMON, I2C

    * [    ] Add support for Westmere to i7core_edac driver
    * [    ] backlight: mbp_nvidia_bl - add support for older MacBookPro and MacBook 6,1.
    * [ D  ] Documentation/edac.txt: Add Nehalem specific EDAC characteristics
    * [ D  ] Documentation/edac.txt: Improve it to reflect the latest changes at the driver
    * [ D  ] Documentation/edac.txt: Reflect the sysfs changes at the document
    * [    ] drivers/hwmon/coretemp.c: detect the thermal sensors by CPUID
    * [C N ] edac_mce: Add an interface driver to report mce errors via edac
    * [ D  ] hwmon: Add description of the update_rate sysfs attribute
    * [C N ] hwmon: add TI ads7871 a/d converter driver
    * [    ] hwmon: (applesmc) Add generic support for MacBook Pro 6
    * [    ] hwmon: (applesmc) Add generic support for MacBook Pro 7
    * [    ] hwmon: (applesmc) Add support for MacBook Pro 5,3 and 5,4
    * [    ] hwmon: (applesmc) Add temperature sensor labels to sysfs interface
    * [    ] hwmon: (coretemp) Properly label the sensors
    * [ D 2] hwmon: (dme1737) Add SCH5127 support
    * [CDN1] hwmon: Driver for TI TMP102 temperature sensor
    * [C N1] hwmon: EMC1403 thermal sensor support
    * [    ] hwmon: (k10temp) Do not blacklist known working CPU models
    * [    ] hwmon: (k8temp) Bypass core swapping on single-core processors
    * [CD  ] hwmon: (lm63) Add basic support for LM64
    * [C   ] hwmon: (lm75) Add support for the Texas Instruments TMP105
    * [CD  ] hwmon: (tmp102) Various fixes
    * [C   ] i2c/busses: Move two drivers to embedded section
    * [ D  ] i2c-i801: Let the user disable selected driver features
    * [    ] i7core: add support for Lynnfield alternate address
    * [    ] i7core_edac: Add a code to probe Xeon 55xx bus
    * [    ] i7core_edac: Add additional tests for error detection
    * [    ] i7core_edac: Add a memory check routine, based on device 3 function 4
    * [C N1] i7core_edac: Add an EDAC memory controller driver for Nehalem chipsets
    * [   1] i7core_edac: Add error insertion code for Nehalem
    * [    ] i7core_edac: Add initial support for Lynnfield
    * [    ] i7core_edac: Add more information about each active dimm
    * [   2] i7core_edac: add support for more than one MC socket
    * [    ] i7core_edac: Add support for sysfs addrmatch group
    * [    ] i7core_edac: Add support for X5670
    * [    ] i7core_edac: Better describe the supported devices
    * [   2] i7core_edac: create one mc per socket/QPI
    * [C N ] leds: Add LED driver for the Soekris net5501 board
    * [    ] MAINTAINERS: add i2c tree for embedded platforms
    * [C N1] watchdog: Driver for the watchdog timer on Freescale IMX2 (and later) processors.
    * [C   ] watchdog: s3c2410_wdt - Add extra option to include watchdog for Samsung SoCs
    * [ DN2] watchdog: update/improve/consolidate watchdog driver

Input

    * [C   ] HID: add backlight support to PicoLCD device
    * [C N ] HID: added support for the Cando dual touch panel
    * [C  1] HID: add experimental access to PicoLCD device's EEPROM and FLASH
    * [CD 2] HID: add framebuffer support to PicoLCD device
    * [C   ] HID: add GPO (leds) support to PicoLCD device
    * [    ] HID: add HID_QUIRK_HIDDEV_FORCE and HID_QUIRK_NO_IGNORE
    * [C   ] HID: add lcd support to PicoLCD device
    * [    ] HID: add mappings for a few keys found on Logitech MX3200
    * [    ] HID: add multi-input quirk for eGalax Touchcontroller
    * [  N ] HID: add omitted hid-zydacron.c file
    * [    ] HID: add PM support to PicoLCD device
    * [    ] HID: add support for 3M multitouch 22" display
    * [C   ] HID: add support for BTC Emprex 3009URF III Vista MCE Remote
    * [C N1] HID: add support for the eGalax dual-touch panel
    * [    ] HID: add support for the Wacom Intuos 4 wireless
    * [    ] HID: add suspend/resume hooks for hid drivers
    * [    ] HID: add sysfs speed attribute for wacom bluetooth tablet
    * [    ] HID: Add the GYR4101US USB ID to hid-gyration
    * [C   ] HID: expose wacom pen tablet battery through power_supply class
    * [    ] HID: fix support for Wacom Intuos 4 wireless
    * [C   ] HID: fix up 'EMBEDDED' mess in Kconfig
    * [C   ] HID: fixup Kconfig entry for Roccat Kone
    * [C   ] HID: hid-picolcd depends on LCD_CLASS_DEVICE
    * [C   ] HID: hid-samsung: add support for Creative Desktop Wireless 6000
    * [C   ] HID: make Prodikeys driver standalone config option
    * [CDN4] HID: new driver for PicoLCD device
    * [    ] HID: ntrig: add filtering module parameters
    * [   1] HID: ntrig: add sensitivity and responsiveness support
    * [    ] HID: ntrig: add sysfs access to filter parameters
    * [CDN2] HID: Prodikeys PC-MIDI HID Driver
    * [    ] HID: remove BKL from hidraw
    * [    ] HID: roccat: fix special button support
    * [C N1] HID: roccat: propagate special events of roccat hardware to userspace
    * [ D  ] HID: split picolcd's operation_mode sysfs attribute
    * [    ] HID: Support for the 11.6" Cando panel
    * [ DN ] HID: wacom: add ABI doc entry for speed attribute
    * [C   ] HID: Zydacron Remote Control driver
    * [C   ] Input: ad714x - add support for the AD7143/8/7A parts
    * [C N5] Input: add Analog Devices AD714x captouch input driver
    * [C N ] Input: add driver for hampshire serial touchscreens
    * [C N1] Input: add keypad driver for keys interfaced to TCA6416
    * [C N ] Input: add PCF8574 I2C keypad input device driver
    * [ D  ] Input: Documentation/sysrq.txt - update KEY_SYSRQ info
    * [C N ] Input: enable onkey driver of max8925
    * [    ] Input: i8042 - add a PNP entry to the aux device list
    * [    ] Input: i8042 - add some extra PNP keyboard types
    * [C  1] Input: remove now deprecated corgi_ts.c touchscreen driver
    * [CD 4] input: remove obsolete {corgi,spitz,tosa}kbd.c
    * [CD 4] Input: remove obsolete {corgi,spitz,tosa}kbd.c
    * [    ] Input: s3c24xx_ts - Add FEAT for Samsung touchscreen support
    * [C N ] input: serio: add support for Amstrad Delta serial keyboardport
    * [    ] Input: synaptics - set dimensions as reported by firmware
    * [C N1] input: Touchscreen driver for TPS6507x
    * [    ] Input: usbtouchscreen - support bigger iNexio touchscreens
    * [    ] Input: wacom - add Cintiq 21UX2 and Intuos4 WL
    * [    ] Input: wacom - streamline 2-finger touch support

Notebooks

    * [    ] classmate-laptop: Add RFKILL support.
    * [    ] msi-laptop: Add i8042 filter to sync sw state with BIOS when function key pressed
    * [    ] msi-laptop: Add MSI CR620 notebook dmi information to scm models table
    * [    ] msi-laptop: Add N014 N051 dmi information to scm models table
    * [    ] thinkpad-acpi: constrain IBM-era support to IBM boxes
    * [    ] thinkpad-acpi: fix brightness hotkey poll handling
    * [    ] thinkpad-acpi: fix volume/mute hotkey poll handling
    * [   1] thinkpad-acpi: let other subdrivers know backlight level range
    * [ D  ] thinkpad-acpi: update HKEY and hotkey subdriver documentation (v2)
    * [    ] X86 platform wmi: Introduce debug param to log all WMI events
    * [    ] X86 platfrom wmi: Add debug facility to dump WMI data in a readable way

Staging

    * [   3] iio:staging:accelerometers move towards the new abi
    * [C N1] Staging: add driver for adis16255 gyroscope
    * [C N42] staging: Add driver to support wanPMC-CxT1E1 card.
    * [  N ] Staging: add initial memrar ABI document
    * [C N9] Staging: add MSM framebuffer driver
    * [  N ] Staging: add TODO and ABI to ti-st
    * [C  1] staging: adis16255 - TODO issues resolved and typos removed
    * [    ] Staging: batman-adv: Add 0.2.1 changes to the CHANGELOG
    * [   3] Staging: batman-adv: convert more files from /proc to /sys
    * [  N3] Staging: batman-adv: convert multiple /proc files to use sysfs
    * [   5] Staging: batman-adv: move /proc interface handling to /sys
    * [    ] Staging: batman-adv: Update README about vis raw output
    * [    ] Staging: batman-adv: Update TODO file to reflect current state.
    * [   1] Staging: batman-adv: updating README
    * [  N1] Staging: bluetooth: BT driver using ST for TI combo devices
    * [  N ] Staging: comedi: add new driver for Adlink PCI-7230 devices
    * [C  5] Staging: comedi: new Kconfig and Makefiles, drivers grouped by bustype.
    * [C  11] staging: dream: smd: remove all smd related code
    * [C   ] Staging: dt3155v4l: introduce state machine
    * [    ] Staging: hv: add basic ethtool support
    * [C N1] Staging: hv: Added new hv_utils driver with shutdown as first functionality
    * [    ] Staging: hv: add module description to blkvsc
    * [    ] Staging: hv: Add Time Sync feature to hv_utils module.
    * [    ] Staging: hv: add transmit flow control
    * [    ] staging: hv: Remove Ringbuffer from TODO line
    * [    ] Staging: hv: ring parameter
    * [    ] Staging: hv: storvsc module descriptions
    * [  N1] staging:iio: ABI documentation (partial)
    * [C N3] staging: iio: adis16209 driver
    * [C N2] Staging: iio: adis16220 vibration sensor driver
    * [C N3] staging: iio: adis16240 driver
    * [C N3] staging: iio: adis16260 digital gyro driver
    * [C N4] staging: iio: adis16350 and similar IMU driver
    * [   1] staging:iio:Documentation: Rewrite example for new abi.
    * [C N4] staging:iio:imu ADIS16300 driver
    * [C N4] staging:iio:imu ADIS16400 and ADIS16405 driver
    * [C   ] staging:iio:max1363 add support for 8 bit equivalent devices, max1036-9, max11600-5
    * [C   ] staging:iio:max1363 add support for max11606-max11617
    * [C  4] staging:iio:max1363 move to new abi.
    * [C N5] staging: Intel Restricted Access Region Handler
    * [C N ] Staging: Kconfig, Makefile for TI's ST ldisc
    * [C N2] Staging: mid: Intel MID touch screen driver
    * [C  4] Staging: netwave: delete the driver
    * [    ] Staging: ramzswap: Handler for swap slot free callback
    * [   2] Staging: ramzswap: Remove backing swap support
    * [   4] Staging: rar and memrar updates
    * [C  4] Staging: Remove staging/poch
    * [    ] Staging: rt2870: add device id for Zyxel NWD-270N
    * [    ] Staging: rt2870: add device ID of MelCo.,Inc. WLI-UC-G301N
    * [    ] Staging: rtl8192su: add device ids
    * [    ] Staging: rtl8192su: remove device ids
    * [    ] Staging: rtl8192s_usb: Remove duplicate device ID
    * [    ] Staging: rtl8192u_usb: Add LG device ID 043e:7a01
    * [  N ] Staging: sources for HCI LL PM protocol
    * [  N2] Staging: sources for Init manager module
    * [  N3] Staging: sources for ST core
    * [  N ] Staging: sources for ST header file
    * [    ] Staging: winbond: Renamed README to TODO and corrected Pavel's mail
    * [    ] Staging: wlan-ng prism2usb: add suspend/resume

USB

    * [ D  ] echi-dbgp: Add kernel debugger support for the usb debug port
    * [    ] USB: Add parsing of SuperSpeed endpoint companion descriptor.
    * [ DN ] USB: Composite framework: Add suspended sysfs entry
    * [    ] USB: CP210x New Device IDs 11 New device IDs
    * [ DN ] USB: deprecate the power/level sysfs attribute
    * [    ] USB: don't enable remote wakeup by default
    * [  N1] USB: ffs-test: FunctionFS testing program
    * [C N1] USB gadget: Webcam device
    * [   1] USB: ipaq: reimplement using generic framework
    * [  N1] usb: musb: add debugfs support
    * [    ] USB: MUSB: Add OMAP4 support in MUSB driver
    * [C   ] USB: MUSB: Build MUSB driver for OMAP4
    * [    ] USB: musb: Enable the maximum supported burst mode for DMA
    * [    ] usb: musb: gadget: support musb-specific test modes
    * [C   ] USB: ohci: Add Kconfig entries for ohci-omap3
    * [  N2] USB: ohci: introduce omap3 ohci-hcd driver
    * [   1] USB: option: add PID for ZTE product
    * [    ] USB: option.c: OLIVETTI OLICARD100 support
    * [C  2] USB: option: Use generic USB wwan code
    * [    ] USB: qcaux: add Samsung U520 device ID
    * [    ] USB: qcserial: Add support for Qualcomm Gobi 2000 devices
    * [C   ] USB: qcserial: Use generic USB wwan code
    * [ D  ] USB: remove URB_NO_SETUP_DMA_MAP
    * [ D 7] USB: rename usb_buffer_alloc() and usb_buffer_free() users
    * [C N2] usb serial: Add generic USB wwan support
    * [C N ] USB Serial Driver: ZIO Motherboard
    * [ D  ] USB: Short new 'graph for usb-serial.txt
    * [  N1] USB: testusb: an USB testing application
    * [   1] USB: testusb: testusb compatibility with FunctionFS gadget
    * [    ] USB: unusual-dev: Add bad sense flag for Appotech ax203 based picture frames
    * [CD 3] USB: usbserial: mos7720: add support for parallel port on moschip 7715
    * [    ] USB: use PM core routines to enable/disable autosuspend
    * [   1] USB: visor: reimplement using generic framework
    * [    ] USB: xhci: Remove the arbitrary limit of 15 xHCI ports

V4L/DVB

    * [   1] dvb: Push down BKL into ioctl functions
    * [    ] V4L/DVB (13403): Add new TV cards of Beholder
    * [    ] V4L/DVB: Add CHIP ID of the uPD61151
    * [ D  ] V4L/DVB: Add documentation for the new error flag
    * [    ] V4L/DVB: Add Elgato EyeTV Diversity to dibcom driver
    * [ D 2] V4L/DVB: Add firmware v2.4 to xc2028/xc3028 extracting tool
    * [C N2] V4L/DVB: add memory-to-memory device helper framework for videobuf
    * [    ] V4L/DVB: Add NECx support to ir-core
    * [    ] V4L/DVB: Add RC5x support to ir-core
    * [C N1] V4L/DVB: Add RC6 support to ir-core
    * [    ] V4L/DVB: Add SPI support to V4L2
    * [    ] V4L/DVB: af9015: support for KWorld TV Stick II (395UR)
    * [    ] V4L/DVB: af9015: support for KWorld USB DVB-T Stick Mobile (UB383-T)
    * [C  1] V4L/DVB: arv: convert to V4L2
    * [    ] V4L/DVB: AZ6027: Add support for Technisat V1 device
    * [ D  ] V4L/DVB: bttv: Add another ids for IVC-200
    * [C  2] V4L/DVB: bw-qcam: convert to V4L2
    * [    ] V4L/DVB: configurable IRQ from CAM
    * [ D  ] V4L/DVB: core: add support for more color effects
    * [C  2] V4L/DVB: c-qcam: convert to V4L2
    * [    ] V4L/DVB: cx18: Add support for component video inputs
    * [    ] V4L/DVB: Documentation: Add the Philips FQ1236 MK5 to video4linux/CARDLIST.tuner
    * [ D  ] V4L/DVB: em28xx: add em286x/tvp5150 reference design
    * [    ] V4L/DVB: em28xx: Support for Kworld VS-DVB-T 323UR
    * [ D  ] V4L/DVB: Fix cx88 and em28xx cardlists
    * [    ] V4L/DVB: gspca - ov534: Add Auto Exposure
    * [    ] V4L/DVB: gspca - ov534: Add Powerline Frequency control
    * [    ] V4L/DVB: gspca - sn9c20x: Add another laptop to upsidedown device list
    * [    ] V4L/DVB: gspca - sn9c20x: Add another MSI laptop to upsidedown device list
    * [    ] V4L/DVB: gspca - sn9c20x: Add support for camera LEDs
    * [ D  ] V4L/DVB: gspca - sn9c20x: Add support for cameras using the MT9M112 sensor
    * [    ] V4L/DVB: gspca - sn9c20x: Add upside down detection
    * [    ] V4L/DVB: gspca - sonixj: Add autogain for sensor gc0307
    * [    ] V4L/DVB: gspca - sonixj: Add information about some potential JPEG webcams
    * [    ] V4L/DVB: gspca - sonixj: Add sensor soi768
    * [ D  ] V4L/DVB: gspca - sonixj: Add webcam 0c45:60ce
    * [ D 1] V4L/DVB: gspca - sonixj: Add webcam 0c45:6142 with sensors gc0307 and po2030n
    * [    ] V4L/DVB: gspca_spca561: Add support for camera button
    * [    ] V4L/DVB: gspca - t613: Add color controls
    * [    ] V4L/DVB: ir-core: Add callbacks for input/evdev open/close on IR core
    * [C N6] V4L/DVB: ir-core: add imon driver
    * [  N1] V4L/DVB: ir-core: add imon pad and mce keymaps
    * [C N1] V4L/DVB: ir-core: Add JVC support to ir-core
    * [  N1] V4L/DVB: ir-core: Add logic to decode IR protocols at the IR core
    * [C N1] V4L/DVB: ir-core: Add Sony support to ir-core
    * [  N1] V4L/DVB: ir-core: Add support for badly-implemented hardware decoders
    * [  N ] V4L/DVB: ir-core: Add support for RC map code register
    * [    ] V4L/DVB: ir-core: add two functions to report keyup/keydown events
    * [   2] V4L/DVB: ir-core: change duration to be coded as a u32 integer
    * [C   ] V4L/DVB: ir-core: dynamically load the compiled IR protocols
    * [   1] V4L/DVB: ir-core: export driver name used by IR via uevent
    * [    ] V4L/DVB: ir-core: Export IR name via uevent
    * [  N4] V4L/DVB: ir-core: Make use of the new IR keymap modules
    * [    ] V4L/DVB: ir-core: prepare to add more operations for ir decoders
    * [    ] V4L/DVB: ir-core: properly present the supported and current protocols
    * [    ] V4L/DVB: IR/imon: add auto-config for 0xffdc rf device
    * [    ] V4L/DVB: IR/imon: add proper auto-repeat support
    * [   1] V4L/DVB: IR/imon: convert to ir-core protocol change handling
    * [C   ] V4L/DVB: ir Kconfig: better describe the options
    * [    ] V4L/DVB: ir-nec-decoder: Add sysfs node to enable/disable per irrcv
    * [C N1] V4L-DVB: ir-rc5-decoder: Add a decoder for RC-5 IR protocol
    * [    ] V4L/DVB: ir: use a real device instead of a virtual class
    * [   3] V4L/DVB: ir: use IR_KEYTABLE where an IR table is needed
    * [   1] V4L/DVB: ivtv: support the new events API
    * [    ] V4L/DVB: MAINTAINERS: Update uvcvideo web site address
    * [    ] V4L/DVB: ngene: add initial support for digital side of Avermedia m780
    * [C   ] V4L/DVB: ngene: Add lgdt3303 and mt2131 deps to Kconfig
    * [    ] V4L/DVB: ngene: Add support for cineS2 v5 and SaTiX-S2 Dual v2
    * [    ] V4L/DVB: ngene: Implement support for MSI
    * [    ] V4L/DVB: ngene: Make command timeout workaround configurable
    * [    ] V4L/DVB: ngene: Support new device 'Digital Devices DuoFlex S2 miniPCIe'
    * [   1] V4L/DVB: pt1: Support Earthsoft PT2
    * [    ] V4L/DVB: pvrusb2: Fix Gotview hardware support
    * [    ] V4L/DVB: pvrusb2: New feature to mark specific hardware support as experimental
    * [   4] V4L/DVB: rename all *_rc_keys to ir_codes_*_nec_table
    * [   1] V4L/DVB: s2255drv: Add support for 2257 device
    * [    ] V4L/DVB: s2255drv: support for frame skipping
    * [    ] V4L/DVB: saa115: add support for chroma AGC and chroma gain
    * [ D  ] V4L/DVB: saa7134: add capture boards Hawell HW-404M7 and HW-808M7
    * [    ] V4L/DVB: saa7134: add code to allow changing IR protocol
    * [  N ] V4L/DVB: saa7134: add RM-K6 remote control support for Avermedia M135A
    * [ DN ] V4L/DVB: saa7134: add support for Avermedia M733A
    * [    ] V4L/DVB: saa7134: Add support for both positive and negative edge IRQ
    * [ D  ] V4L/DVB: saa7134: Add support new Behold TV cards
    * [    ] V4L/DVB: saa7134: Fix IR support of some ASUS TV-FM 7135 variants
    * [ D  ] V4L/DVB: sh_mobile_ceu_camera.c: update documentation to reflect the new cropping
    * [    ] V4L/DVB: soc-camera: add runtime pm support for subdevices
    * [    ] V4L/DVB: Technotrend S2-3200 ships with a TT 1500 remote
    * [    ] V4L/DVB: TT CT-3650 DVB-C support
    * [    ] V4L/DVB: usbvision: add delay before detecting the saa711x
    * [    ] V4L/DVB: uvcvideo: Add support for Packard Bell EasyNote MX52 integrated webcam
    * [    ] V4L/DVB: uvcvideo: Add support for unbranded Arkmicro 18ec:3290 webcams
    * [    ] V4L/DVB: uvcvideo: Add support for V4L2_PIX_FMT_Y16
    * [    ] V4L/DVB: uvcvideo: Support iris absolute and relative controls
    * [C N8] V4L/DVB: V4L2: Add support for OMAP2/3 V4L2 display driver on top of DSS2
    * [ D  ] V4L/DVB: v4l2-framework.txt: fix incorrect statement
    * [ D  ] V4L/DVB: V4L2 Spec: fix V4L2_CTRL_TYPE_CTRL_CLASS documentation
    * [ D  ] V4L/DVB: v4l: Add V4L2_CID_IRIS_ABSOLUTE and V4L2_CID_IRIS_RELATIVE controls
    * [ D  ] V4L/DVB: v4l: add V4L2_PIX_FMT_Y4 and V4L2_PIX_FMT_Y6 pixelformats
    * [    ] V4L/DVB: V4L: dm644x_ccdc: Add 10bit BT support
    * [    ] V4L/DVB: V4L: dm644x_ccdc: Add Suspend/Resume Support
    * [  N1] V4L/DVB: V4L: Events: Add backend
    * [ DN1] V4L/DVB: V4L: Events: Add documentation
    * [    ] V4L/DVB: V4L: Events: Add new ioctls for events
    * [    ] V4L/DVB: V4L: Events: Support event handling in do_ioctl
    * [ D  ] V4L/DVB: V4L: File handles: Add documentation
    * [  N ] V4L/DVB: V4L: File handles
    * [ D  ] V4L/DVB: v4l spec: document new events
    * [ D  ] V4L/DVB: v4l spec: document what odd and even fields are
    * [C N4] V4L/DVB: V4L: SuperH Video Output Unit (VOU) driver
    * [C N1] V4L/DVB: V4L: v4l2-subdev driver for AK8813 and AK8814 TV-encoders from AKM
    * [C N2] V4L/DVB: [v5,2/2] v4l: Add a mem-to-mem videobuf framework test device
    * [ D  ] V4L/DVB: videodev2: introduce a common control for chroma gain
    * [C  4] V4L/DVB: vivi: clean up and a major overhaul
    * [C  2] V4L/DVB: w9966: convert to V4L2
Various other drivers

    * [C  1] ad525x_dpot: add support for AD524x pots
    * [C   ] ad525x_dpot: add support for ADN2860 and AD528x pots
    * [C  1] ad525x_dpot: add support for one time programmable pots
    * [C N4] ad525x_dpot: add support for SPI parts
    * [C N3] backlight: add S6E63M0 AMOLED LCD Panel driver
    * [C N2] backlight: new driver for the ADP8860 backlight parts
    * [C N2] dma: Add timb-dma
    * [   2] DMAENGINE: generic slave control v2
    * [C N10] DMAENGINE: Support for ST-Ericssons DMA40 block v3
    * [C N2] DMA: PL330: Add dma api driver
    * [C N1] Driver for Zipit Z2 battery chip
    * [ DN ] ds2760_battery: Document ABI change
    * [C N1] ds2782_battery: Add support for ds2786 battery gas gauge
    * [C  1] gpio: add interrupt handling capability to max732x
    * [C   ] gpio: add Penwell gpio support
    * [C N ] gpio: Add support for Janz VMOD-TTL Digital IO module
    * [C N ] gpio: Add support for RDC321x GPIO controller
    * [C N1] gpio: Add TC35892 GPIO driver
    * [C   ] ima: remove ACPI dependency
    * [C N1] leds: Add mc13783 LED support
    * [    ] leds: Add mx31moboard MC13783 led support
    * [    ] pda_power: Add function callbacks for suspend and resume
    * [    ] power_supply: Add support for writeable properties
    * [C N ] power_supply: Add test_power driver
    * [C   ] rapidio: add debug configuration option
    * [C   ] rapidio: add enabling SRIO port RX and TX
    * [C N2] rapidio: add IDT CPS/TSI switches
    * [   4] rapidio: add Port-Write handling for EM
    * [C N1] rtc: AB8500 RTC driver
    * [C N2] RTC: DaVinci RTC driver
    * [C   ] s3c rtc driver: add support for S3C64xx
    * [C N1] serial: Add driver for the Altera JTAG UART
    * [C N1] serial: Add driver for the Altera UART
    * [    ] serial: add support for various Titan PCI cards
    * [    ] serial_cs: add and sort IDs for serial and modem cards
    * [C   ] serial: Use s3c2440 driver for S3C2416 SoC
    * [CDN3] spi/ep93xx: implemented driver for Cirrus EP93xx SPI controller
    * [C N1] spi/mpc5121: Add SPI master driver for MPC5121 PSC
    * [C   ] TPM: ACPI/PNP dependency removal
    * [C N7] tty: n_gsm line discipline
    * [C   ] vlynq: make whole Kconfig-menu dependant on architecture

Quelle : www.heise.de
Titel: Linux-Kernel 2.6.35 freigegeben
Beitrag von: SiLæncer am 02 August, 2010, 09:33
Knapp elf Wochen nach der Freigabe des Linux-Kernels 2.6.34 hat Linus Torvalds nun die Kernel-Version 2.6.35 veröffentlicht. Sie bringt unter anderem Unterstützung für einige Stromsparfunktionen von Radeon-Grafikchips oder die H264-Decodierfunktionen in Intels Ironlake-Prozessoren. Durch einige Änderungen am Netzwerk-Stack und dem Code zur Nutzung der Stromsparmechanismen moderner CPUs soll der neue Kernel auf manchen Systemen erheblich flotter arbeiten.

Zudem verbessern wie immer hunderte neuer oder überarbeiteter Treiber die Hardware-Unterstützung des Linux-Kernels. Ein Artikel auf heise open bietet einen Überblick über diese und viele andere wichtige Verbesserungen; am Ende wagen wir zudem einen Ausblick auf die Neuerungen, die die im Oktober erwartete Linux-Version 2.6.36 möglicherweise enthalten wird.

Quelle : www.heise.de
Titel: AppArmor kommt in offiziellen Linux-Kernel
Beitrag von: SiLæncer am 02 August, 2010, 09:44
Mehr als vier Jahre nach dem ersten Einsatz in Linux-Distributionen scheint das Sicherheitssystem AppArmor in Linux 2.6.36 in den offiziellen Linux-Kernel zu gelangen.

Novell hatte AppArmor im Mai 2005 durch den Kauf von Immunix  erworben. Immunix hatte diese Software entwickelt, die ein System zur Eindringlingsabwehr darstellt, das sowohl das Linux-Betriebssystem als auch die Linux-Anwendungen vor externen Angriffen, Viren und anderen Schadprogrammen schützen soll. Dadurch sollte das Bedrohungspotenzial für Unternehmen minimiert werden. AppArmor verhindert unter anderem durch definierte Regeln für populäre Programme die Ausführung bestimmter Funktionen. Seit SUSE Linux 10 und Novell SUSE Linux Enterprise Server 9 Service Pack 3 (SP3) ist AppArmor ein fester Bestandteil der Produkte.

Für das Projekt kam allerdings schon im Herbst 2007 das Aus, weil Novell das Geld für die weitere Entwicklung sparen wollte. Nachdem Canonical AppArmor in Ubuntu integriert hatte, wurde die Software effektiv von Canonical gepflegt.

Eine Aufnahme in den offiziellen Linux-Kernel wurde dem AppArmor-Modul bisher verwehrt, denn es wurde argumentiert, dass ein Sicherheitsmodul, SELinux, genug sei. Das Argument, dass AppArmor wesentlich leichter als SELinux zu konfigurieren sei, und die pfadbasierte Sicherheit gegenüber der Label-basierten Sicherheit von SELinux auf den meisten Rechnern keinen Nachteil darstelle, konnte die Verantwortlichen wie den Kernel- und SELinux-Entwickler James Morris nicht überzeugen. Zwei Jahre lang wurde es ziemlich still um AppArmor.

Mit der Aufnahme zweier weiterer Sicherheitsmodule, SMACK (Simplified Mandatory Access Control) in Linux 2.6.25 und TOMOYO (das ähnlich wie AppArmor arbeitet) in Linux 2.6.30 war jedoch das Argument, dass ein Sicherheitssystem genüge, hinfällig geworden. Jetzt machte der Entwickler John Johansen von Canonical einen neuen Versuch, AppArmor in den Kernel zu bekommen, und findet nun auch die Zustimmung von James Morris. Die Chancen stehen gut, dass AppArmor nach der Freigabe von Linux 2.6.35, mit der diese Woche noch zu rechnen ist, mit dem Beginn der Entwicklung von Linux 2.6.36 in den Kernel aufgenommen wird.

Quelle : www.pro-linux.de
Titel: Linux Kernel 2.6.35.1 freigegeben
Beitrag von: SiLæncer am 10 August, 2010, 21:39
Changelog:

commit 3f3ed15762e959843793763db4aac37cc9bd9644
Author: Greg Kroah-Hartman <gregkh@suse.de>
Date:   Tue Aug 10 11:37:31 2010 -0700

    Linux 2.6.35.1

commit 4060b482bfb832715e43695e124031bede63be75
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Mon Jul 12 19:35:38 2010 +0100

    drm/i915: Check overlay stride errata for i830 and i845
   
    commit a1efd14a99483a4fb9308902397ed86b69454c99 upstream.
   
    Apparently i830 and i845 cannot handle any stride that is not a multiple
    of 256, unlike their brethren which do support 64 byte aligned strides.
   
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
    Signed-off-by: Eric Anholt <eric@anholt.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

commit 5078304217e1e87bc7ffe8d7a4076e4cb0c0a318
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Fri Jul 9 08:45:04 2010 +0100

    drm/i915: Unset cursor if out-of-bounds upon mode change (v4)
   
    commit cda4b7d3a5b1dcbc0d8e7bad52134347798e9047 upstream.
   
    The docs warn that to position the cursor such that no part of it is
    visible on the pipe is an undefined operation. Avoid such circumstances
    upon changing the mode, or at any other time, by unsetting the cursor if
    it moves out of bounds.
   
    "For normal high resolution display modes, the cursor must have at least a
    single pixel positioned over the active screen.” (p143, p148 of the hardware
    registers docs).
   
    Fixes:
   
      Bug 24748 - [965G] Graphics crashes when resolution is changed with KMS
                  enabled
      https://bugs.freedesktop.org/show_bug.cgi?id=24748
   
    v2: Only update the cursor registers if they change.
    v3: Fix the unsigned comparision of x,y against width,height.
    v4: Always set CUR.BASE or else the cursor may become corrupt.
   
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
    Reported-by: Christian Eggers <ceggers@gmx.de>
    Cc: Christopher James Halse Rogers  <chalserogers@gmail.com>
    Signed-off-by: Eric Anholt <eric@anholt.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

commit c1899005b1dc135bf42198ce65cfb52c22f5bdf9
Author: Alex Deucher <alexdeucher@gmail.com>
Date:   Mon Aug 2 12:13:46 2010 -0400

    drm/radeon/kms: handle the case of no active displays properly in the bandwidth code
   
    commit e06b14ee91a2ddefc9a67443a6cd8ee0fa800115 upstream.
   
    Logic was:
    if (mode0 && mode1)
    else if (mode0)
    else
   
    Should be:
    if (mode0 && mode1)
    else if (mode0)
    else if (mode1)
   
    Otherwise we may end up calculating the priority regs with
    unitialized values.
   
    Fixes:
    https://bugzilla.kernel.org/show_bug.cgi?id=16492
   
    Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
    Signed-off-by: Dave Airlie <airlied@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

commit 44437579efca258e3c4a09f59838c8f933611990
Author: Alex Deucher <alexdeucher@gmail.com>
Date:   Mon Jul 26 18:51:53 2010 -0400

    drm/radeon/kms/r7xx: add workaround for hw issue with HDP flush
   
    commit 812d046915f48236657f02c06d7dc47140e9ceda upstream.
   
    Use of HDP_*_COHERENCY_FLUSH_CNTL can cause a hang in certain
    situations.  Add workaround.
   
    Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
    Signed-off-by: Dave Airlie <airlied@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

commit 1e4966cc558d6aac892abeed6434591348103dff
Author: Michel Dänzer <daenzer@vmware.com>
Date:   Thu Jul 8 12:43:28 2010 +1000

    drm/radeon: fall back to GTT if bo creation/validation in VRAM fails.
   
    commit e376573f7267390f4e1bdc552564b6fb913bce76 upstream.
   
    This fixes a problem where on low VRAM cards we'd run out of space for validation.
   
    [airlied: Tested on my M7, Thinkpad T42, compiz works with no problems.]
   
    Signed-off-by: Michel Dänzer <daenzer@vmware.com>
    Signed-off-by: Dave Airlie <airlied@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

commit 37aa5ce0ed1e1535c22fc3d37f36e39dd82e80b1
Author: Alex Deucher <alexdeucher@gmail.com>
Date:   Wed Aug 4 11:40:00 2010 -0400

    drm/radeon: add new pci ids
   
    commit 1297c05a8dfb568c689f057d51a65eebe5ddc86f upstream.
   
    New evergreen and r7xx ids.
   
    Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
    Signed-off-by: Dave Airlie <airlied@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

commit a1e0ea5d94314a56340859097442673890b04ef5
Author: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Date:   Mon Jul 12 11:49:59 2010 -0700

    xen: drop xen_sched_clock in favour of using plain wallclock time
   
    commit 8a22b9996b001c88f2bfb54c6de6a05fc39e177a upstream.
   
    xen_sched_clock only counts unstolen time.  In principle this should
    be useful to the Linux scheduler so that it knows how much time a process
    actually consumed.  But in practice this doesn't work very well as the
    scheduler expects the sched_clock time to be synchronized between
    cpus.  It also uses sched_clock to measure the time a task spends
    sleeping, in which case "unstolen time" isn't meaningful.
   
    So just use plain xen_clocksource_read to return wallclock nanoseconds
    for sched_clock.
   
    Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

commit efe5d7f1ad582cafc68624f39ba720e12bcddb20
Author: James Bottomley <James.Bottomley@suse.de>
Date:   Fri Mar 12 16:14:42 2010 -0600

    SCSI: enclosure: fix error path - actually return ERR_PTR() on error
   
    commit a91c1be21704113b023919826c6d531da46656ef upstream.
   
    we also need to clean up and free the cdev.
   
    Reported-by: Jani Nikula <ext-jani.1.nikula@nokia.com>
    Signed-off-by: James Bottomley <James.Bottomley@suse.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

commit 5232dfac1ac008b5a4df815a5256776913dfa025
Author: David Howells <dhowells@redhat.com>
Date:   Wed Aug 4 16:59:14 2010 +0100

    CRED: Fix RCU warning due to previous patch fixing __task_cred()'s checks
   
    commit 694f690d27dadccc8cb9d90532e76593b61fe098 upstream.
   
    Commit 8f92054e7ca1 ("CRED: Fix __task_cred()'s lockdep check and banner
    comment") fixed the lockdep checks on __task_cred().  This has shown up
    a place in the signalling code where a lock should be held - namely that
    check_kill_permission() requires its callers to hold the RCU lock.
   
    Fix group_send_sig_info() to get the RCU read lock around its call to
    check_kill_permission().
   
    Without this patch, the following warning can occur:
   
      ===================================================
      [ INFO: suspicious rcu_dereference_check() usage. ]
      ---------------------------------------------------
      kernel/signal.c:660 invoked rcu_dereference_check() without protection!
      ...
   
    Reported-by: Tetsuo Handa <penguin-kernel@i-love.sakura.ne.jp>
    Signed-off-by: David Howells <dhowells@redhat.com>
    Acked-by: Oleg Nesterov <oleg@redhat.com>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

commit 1a0528f57734493e588229266130c247a8e26ac2
Author: John W. Linville <linville@tuxdriver.com>
Date:   Mon Jun 21 17:14:07 2010 -0400

    mac80211: avoid scheduling while atomic in mesh_rx_plink_frame
   
    commit c937019761a758f2749b1f3a032b7a91fb044753 upstream.
   
    While mesh_rx_plink_frame holds sta->lock...
   
    mesh_rx_plink_frame ->
    mesh_plink_inc_estab_count ->
    ieee80211_bss_info_change_notify
   
    ...but ieee80211_bss_info_change_notify is allowed to sleep.  A driver
    taking advantage of that allowance can cause a scheduling while
    atomic bug.  Similar paths exist for mesh_plink_dec_estab_count,
    so work around those as well.
   
    http://bugzilla.kernel.org/show_bug.cgi?id=16099
   
    Also, correct a minor kerneldoc comment error (mismatched function names).
   
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

commit bfcd88d2b16638f74957a78c787e0284d7080284
Author: Johannes Berg <johannes.berg@intel.com>
Date:   Tue Jul 13 10:55:38 2010 +0200

    cfg80211: don't get expired BSSes
   
    commit ccb6c1360f8dd43303c659db718e7e0b24175db5 upstream.
   
    When kernel-internal users use cfg80211_get_bss()
    to get a reference to a BSS struct, they may end
    up getting one that would have been removed from
    the list if there had been any userspace access
    to the list. This leads to inconsistencies and
    problems.
   
    Fix it by making cfg80211_get_bss() ignore BSSes
    that cfg80211_bss_expire() would remove.
   
    Fixes http://bugzilla.intellinuxwireless.org/show_bug.cgi?id=2180
   
    Reported-by: Jiajia Zheng <jiajia.zheng@intel.com>
    Tested-by: Jiajia Zheng <jiajia.zheng@intel.com>
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

commit 89b15fbbcb5e77845ea1d8e96e0973caa0749fed
Author: Johannes Berg <johannes.berg@intel.com>
Date:   Mon Jul 12 14:46:43 2010 +0200

    cfg80211: ignore spurious deauth
   
    commit 643f82e32f14faf0d0944c804203a6681b6b0a1e upstream.
   
    Ever since mac80211/drivers are no longer
    fully in charge of keeping track of the
    auth status, trying to make them do so will
    fail. Instead of warning and reporting the
    deauthentication to userspace, cfg80211 must
    simply ignore it so that spurious
    deauthentications, e.g. before starting
    authentication, aren't seen by userspace as
    actual deauthentications.
   
    Reported-by: Paul Stewart <pstew@google.com>
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

commit 433a64e4233a9dd3775b1e248a01d88a3a038592
Author: Larry Finger <Larry.Finger@lwfinger.net>
Date:   Fri May 14 22:08:58 2010 -0500

    ssb: Handle alternate SSPROM location
   
    commit 9d1ac34ec3a67713308ae0883c3359c557f14d17 upstream.
   
    In kernel Bugzilla #15825 (2 users), in a wireless mailing list thread
    (http://lists.infradead.org/pipermail/b43-dev/2010-May/000124.html), and on a
    netbook owned by John Linville
    (http://marc.info/?l=linux-wireless&m=127230751408818&w=4), there are reports
    of ssb failing to detect an SPROM at the normal location. After studying the
    MMIO trace dump for the Broadcom wl driver, it was determined that the affected
    boxes had a relocated SPROM.
   
    This patch fixes all systems that have reported this problem.
   
    Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

commit 5806c0444a387eb4cfecaec74660427f15dfd570
Author: Stanislaw Gruszka <sgruszka@redhat.com>
Date:   Thu Jul 29 11:37:41 2010 +0200

    iwlwifi: fix scan abort
   
    commit d28232b461b8d54b09e59325dbac8b0913ce2049 upstream.
   
    Fix possible double priv->mutex lock introduced by commit
    a69b03e941abae00380fc6bc1877fb797a1b31e6
    "iwlwifi: cancel scan watchdog in iwl_bg_abort_scan" .
    We can not call cancel_delayed_work_sync(&priv->scan_check) with
    priv->mutex locked because workqueue function iwl_bg_scan_check()
    take that lock internally.
   
    We do not need to synchronize when canceling priv->scan_check work.
    We can avoid races (sending double abort command or send no
    command at all) using STATUS_SCAN_ABORT bit. Moreover
    current iwl_bg_scan_check() code seems to be broken, as
    we should not send abort commands when currently aborting.
   
    Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

commit 50c144185e4bc848ecdc58cc80113bc48beefdc4
Author: Felix Fietkau <nbd@openwrt.org>
Date:   Sun Jul 11 12:48:39 2010 +0200

    ath9k_hw: fix antenna diversity on AR9285
   
    commit 601e0cb165e65dc185b31fe7ebd2c0169ea47306 upstream.
   
    On AR9285, the antenna switch configuration register uses more than just
    16 bits. Because of an arbitrary mask applied to the EEPROM value that
    stores this configuration, diversity was broken in some cases, leading
    to a significant degradation in signal strength.
    Fix this by changing the callback to return a 32 bit value and remove
    the arbitrary mask.
   
    Signed-off-by: Felix Fietkau <nbd@openwrt.org>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

commit b2ca8ba2791b986a96a5d008ea96dc026837b474
Author: Felix Fietkau <nbd@openwrt.org>
Date:   Fri Jul 23 03:53:16 2010 +0200

    ath9k: fix yet another buffer leak in the tx aggregation code
   
    commit 4cee78614cfa046a26c4fbf313d5bbacb3ad8efc upstream.
   
    When an aggregation session is being cleaned up, while the tx status
    for some frames is being processed, the TID is flushed and its buffers
    are sent out.
   
    Unfortunately that left the pending un-acked frames unprocessed, thus
    leaking buffers. Fix this by reordering the code so that those frames
    are processed first, before the TID is flushed.
   
    Signed-off-by: Felix Fietkau <nbd@openwrt.org>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

commit 98757bba345d5acde19e736023733cf130675998
Author: Felix Fietkau <nbd@openwrt.org>
Date:   Wed Jun 30 02:07:48 2010 +0200

    ath9k: fix TSF after reset on AR913x
   
    commit f860d526eb2939a1c37128900b5af2b6f3ff7f20 upstream.
   
    When issuing a reset, the TSF value is lost in the hardware because of
    the 913x specific cold reset. As with some AR9280 cards, the TSF needs
    to be preserved in software here.
   
    Additionally, there's an issue that frequently prevents a successful
    TSF write directly after the chip reset. In this case, repeating the
    TSF write after the initval-writes usually works.
   
    This patch detects failed TSF writes and recovers from them, taking
    into account the delay caused by the initval writes.
   
    Signed-off-by: Felix Fietkau <nbd@openwrt.org>
    Reported-by: Björn Smedman <bjorn.smedman@venatech.se>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

commit 793efc368f083e58093fe88e4001375a38cc9a3e
Author: Felix Fietkau <nbd@openwrt.org>
Date:   Mon Jul 12 23:16:34 2010 +0200

    ath9k: another fix for the A-MPDU buffer leak
   
    commit 31e79a5954b78fbed15de2c8974d5a2b6019199a upstream.
   
    The patch 'ath9k: fix a buffer leak in A-MPDU completion' addressed the
    issue of running out of buffers/descriptors in the tx path if a STA is
    deleted while tx status feedback is still pending.
    The remaining issue is that the skbs of the buffers are not reclaimed,
    leaving a memory leak.
    This patch fixes this issue by running the buffers through
    ath_tx_complete_buf(), ensuring that the pending frames counter is also
    updated.
   
    Signed-off-by: Felix Fietkau <nbd@openwrt.org>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

commit caaec883ca2702445d84ff3ee94fe149aeaa95fe
Author: Felix Fietkau <nbd@openwrt.org>
Date:   Wed Jul 7 19:42:09 2010 +0200

    ath9k: fix a buffer leak in A-MPDU completion
   
    commit 73e194639d90594d06d0c10019c0ab4638869135 upstream.
   
    When ath_tx_complete_aggr() is called, it's responsible for returning
    all buffers in the linked list. This was not done when the STA lookup
    failed, leading to a race condition that could leak a few buffers when
    a STA just disconnected.
    Fix this by immediately returning all buffers to the free list in this case.
   
    Signed-off-by: Felix Fietkau <nbd@openwrt.org>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

commit a9328d5065468169355a70246bb8ea41d9fc25ef
Author: Felix Fietkau <nbd@openwrt.org>
Date:   Fri Jun 25 01:26:16 2010 +0200

    ath9k: fix retry count for A-MPDU rate control status reports
   
    commit 78c4653a2274479547e259e1f416d2b3d04c42a8 upstream.
   
    The 'bf_retries' field of the ath_buf structure was used for both
    software retries (AMPDU subframes) and hardware retries (legacy
    frames). This led to a wrong retry count being reported for the A-MPDU
    rate control stats.
    This patch changes the code to no longer use bf_retries for reporting
    retry counts, but instead always using the real on-chip retry count
    from the ath_tx_status.
    Additionally, if the first subframe of an A-MPDU was not acked, the tx
    status report is submitted along with the first acked subframe, which
    may not contain the correct rates in the tx info.
    This is easily corrected by saving the tx rate info before looping over
    subframes, and then copying it back once the A-MPDU status report is
    submitted.
    In my tests this change improves throughput visibly.
   
    Signed-off-by: Felix Fietkau <nbd@openwrt.org>
    Reported-by: Björn Smedman <bjorn.smedman@venatech.se>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

commit 6554c27728a0b89c6aa5ba78601cd55000b2cc1b
Author: Felix Fietkau <nbd@openwrt.org>
Date:   Sun Jul 11 12:48:41 2010 +0200

    ath9k_hw: fix an off-by-one error in the PDADC boundaries calculation
   
    commit 03b4776c408d2f4bf3a5d204e223724d154716d1 upstream.
   
    PDADC values were only generated for values surrounding the target
    index, however not for the target index itself, leading to a minor
    error in the generated curve.
   
    Signed-off-by: Felix Fietkau <nbd@openwrt.org>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

commit 52166187243a4887bf3ed3aa2cd0452feb307e87
Author: Felix Fietkau <nbd@openwrt.org>
Date:   Sun Jul 11 12:48:40 2010 +0200

    ath9k_hw: fix a sign error in the IQ calibration code
   
    commit 23399016d9583d799ca98ce443a1410b13c3e96e upstream.
   
    Signed-off-by: Felix Fietkau <nbd@openwrt.org>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

commit 5776fe6ec7296d5f89b8979d6f6958e1be8fd706
Author: Felix Fietkau <nbd@openwrt.org>
Date:   Sun Jul 11 12:48:42 2010 +0200

    ath9k_hw: prevent a fast channel change after a rx DMA stuck issue
   
    commit 9cc2f3e881dcda5466c55ffe8dd0a9d1433469cb upstream.
   
    If the receive path gets stuck, a full hardware reset is necessary to
    recover from it. If this happens during a scan, the whole scan might fail,
    as each channel change bypasses the full reset sequence.
    Fix this by resetting the fast channel change flag if stopping the
    receive path fails.
   
    This will reduce the number of error messages that look like this:
    ath: DMA failed to stop in 10 ms AR_CR=0x00000024 AR_DIAG_SW=0x40000020
   
    Signed-off-by: Felix Fietkau <nbd@openwrt.org>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

commit 94230128c1fb1eb2fa607875804bc1d5d111c98c
Author: Felix Fietkau <nbd@openwrt.org>
Date:   Wed Jul 7 19:42:08 2010 +0200

    ath9k: fix a potential buffer leak in the STA teardown path
   
    commit 2b40994cabd2f545d5c11d3a65dcee6f6f9155f8 upstream.
   
    It looks like it might be possible for a TID to be paused, while still
    holding some queued buffers, however ath_tx_node_cleanup currently only
    iterates over active TIDs.
    Fix this by always checking every allocated TID for the STA that is being
    cleaned up.
   
    Signed-off-by: Felix Fietkau <nbd@openwrt.org>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

commit 8e5ad4d847e303d1d523c87566edfc58a67e05c0
Author: John W. Linville <linville@tuxdriver.com>
Date:   Wed Jul 28 10:06:35 2010 -0400

    ath9k: enable serialize_regmode for non-PCIE AR9160
   
    commit 4c85ab11ca56da1aa59b58c80cc6a356515cc645 upstream.
   
    https://bugzilla.kernel.org/show_bug.cgi?id=16476
   
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    Acked-by: Luis R. Rodriguez <lrodriguez@atheros.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

commit 21b2bf38c8c49bd8a2b41676f51be82ab228d711
Author: Greg Rose <gregory.v.rose@intel.com>
Date:   Thu Jul 1 13:38:16 2010 +0000

    igb: Use only a single Tx queue in SR-IOV mode
   
    commit 5fa8517f038d51d571981fb495206cc30ed91b06 upstream.
   
    The 82576 expects the second rx queue in any pool to receive L2 switch
    loop back packets sent from the second tx queue in another pool.  The
    82576 VF driver does not enable the second rx queue so if the PF driver
    sends packets destined to a VF from its second tx queue then the VF
    driver will never see them.  In SR-IOV mode limit the number of tx queues
    used by the PF driver to one. This patch fixes a bug reported in which
    the PF cannot communciate with the VF and should be considered for 2.6.34
    stable.
   
    Signed-off-by: Greg Rose <gregory.v.rose@intel.com>
    Tested-by: Jeff Pieper <jeffrey.e.pieper@intel.com>
    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

commit edea2aceac3068aab66f0fe748ffc1c3125587da
Author: Dan Carpenter <error27@gmail.com>
Date:   Fri Jul 9 23:51:54 2010 +0000

    9p: strlen() doesn't count the terminator
   
    commit 5c4bfa17f3ec46becec4b23d12323f7605ebd696 upstream.
   
    This is an off by one bug because strlen() doesn't count the NULL
    terminator.  We strcpy() addr into a fixed length array of size
    UNIX_PATH_MAX later on.
   
    The addr variable is the name of the device being mounted.
   
    Signed-off-by: Dan Carpenter <error27@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

commit 0c41742f8b41c3fd81f96bffc8c65bbb1f0a0d8b
Author: Bruce Allan <bruce.w.allan@intel.com>
Date:   Tue Jul 27 12:28:46 2010 +0000

    e1000e: 82577/82578 PHY register access issues
   
    commit ff847ac2d3e90edd94674c28bade25ae1e6a2e49 upstream.
   
    The MAC-PHY interconnect on 82577/82578 uses a power management feature
    (called K1) which must be disabled when in 1Gbps due to a hardware issue on
    these parts.  The #define bit setting used to enable/disable K1 is
    incorrect and can cause PHY register accesses to stop working altogether
    until the next device reset.  This patch sets the register correctly.
   
    This issue is present in kernels since 2.6.32.
   
    Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
    Tested-by: Jeff Pieper <jeffrey.e.pieper@intel.com>
    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

commit a436d816e9abf39ecc1cf3df6c99457caf94453d
Author: Dean Nelson <dnelson@redhat.com>
Date:   Tue Jun 29 18:12:05 2010 +0000

    e1000e: don't inadvertently re-set INTX_DISABLE
   
    commit 36f2407fe52c55566221f8c68c8fb808abffd2f5 upstream.
   
    Should e1000_test_msi() fail to see an msi interrupt, it attempts to
    fallback to legacy INTx interrupts. But an error in the code may prevent
    this from happening correctly.
   
    Before calling e1000_test_msi_interrupt(), e1000_test_msi() disables SERR
    by clearing the SERR bit from the just read PCI_COMMAND bits as it writes
    them back out.
   
    Upon return from calling e1000_test_msi_interrupt(), it re-enables SERR
    by writing out the version of PCI_COMMAND it had previously read.
   
    The problem with this is that e1000_test_msi_interrupt() calls
    pci_disable_msi(), which eventually ends up in pci_intx(). And because
    pci_intx() was called with enable set to 1, the INTX_DISABLE bit gets
    cleared from PCI_COMMAND, which is what we want. But when we get back to
    e1000_test_msi(), the INTX_DISABLE bit gets inadvertently re-set because
    of the attempt by e1000_test_msi() to re-enable SERR.
   
    The solution is to have e1000_test_msi() re-read the PCI_COMMAND bits as
    part of its attempt to re-enable SERR.
   
    During debugging/testing of this issue I found that not all the systems
    I ran on had the SERR bit set to begin with. And on some of the systems
    the same could be said for the INTX_DISABLE bit. Needless to say these
    latter systems didn't have a problem falling back to legacy INTx
    interrupts with the code as is.
   
    Signed-off-by: Dean Nelson <dnelson@redhat.com>
    Tested-by: Emil Tantilov <emil.s.tantilov@intel.com>
    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

commit 2d8acc42551e9c1e184a741d39ad29014b5223a4
Author: Ian Campbell <Ian.Campbell@citrix.com>
Date:   Wed May 26 00:09:43 2010 +0000

    xen: netfront: explicitly generate arp_notify event after migration.
   
    commit 592970675c9522bde588b945388c7995c8b51328 upstream.
   
    Use newly introduced netif_notify_peers() method to ensure a gratuitous ARP is
    generated after a migration.
   
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Cc: Stephen Hemminger <shemminger@linux-foundation.org>
    Cc: Jeremy Fitzhardinge <jeremy@goop.org>
    Cc: David S. Miller <davem@davemloft.net>
    Cc: netdev@vger.kernel.org
    Cc: xen-devel@lists.xensource.com
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

commit 9bfcb1f838ee0825bed898ff34aee2010763499a
Author: Ian Campbell <Ian.Campbell@citrix.com>
Date:   Wed May 26 00:09:42 2010 +0000

    arp_notify: allow drivers to explicitly request a notification event.
   
    commit 06c4648d46d1b757d6b9591a86810be79818b60c upstream.
   
    Currently such notifications are only generated when the device comes up or the
    address changes. However one use case for these notifications is to enable
    faster network recovery after a virtual machine migration (by causing switches
    to relearn their MAC tables). A migration appears to the network stack as a
    temporary loss of carrier and therefore does not trigger either of the current
    conditions. Rather than adding carrier up as a trigger (which can cause issues
    when interfaces a flapping) simply add an interface which the driver can use
    to explicitly trigger the notification.
   
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Cc: Stephen Hemminger <shemminger@linux-foundation.org>
    Cc: Jeremy Fitzhardinge <jeremy@goop.org>
    Cc: David S. Miller <davem@davemloft.net>
    Cc: netdev@vger.kernel.org
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

commit 69e18d28ab99ba499e2afba725f16a22f7424a4e
Author: Borislav Petkov <borislav.petkov@amd.com>
Date:   Tue Aug 3 16:51:28 2010 +0200

    amd64_edac: Fix operator precendence error
   
    commit 962b70a1eb22c467b95756a290c694e73da17f41 upstream.
   
    The bitwise AND is of higher precedence, make that explicit.
   
    Signed-off-by: Borislav Petkov <borislav.petkov@amd.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

commit 1c628740e807234af95f299975fda2c3e0115547
Author: Borislav Petkov <borislav.petkov@amd.com>
Date:   Fri May 21 21:25:03 2010 +0200

    amd64_edac: Correct scrub rate setting
   
    commit bc57117856cf1e581135810b37d3b75f9d1749f5 upstream.
   
    Exit early when setting scrub rate on unknown/unsupported families.
   
    Signed-off-by: Borislav Petkov <borislav.petkov@amd.com>
    Acked-by: Doug Thompson <dougthompson@xmission.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

commit 8566b8f5bc2fe3f7f179621512ad4805e45bccc1
Author: Borislav Petkov <borislav.petkov@amd.com>
Date:   Mon Mar 8 18:29:35 2010 +0100

    amd64_edac: Fix DCT base address selector
   
    commit 9975a5f22a4fcc8d08035c65439900a983f891ad upstream.
   
    The correct check is to verify whether in high range we're below 4GB
    and not to extract the DctSelBaseAddr again. See "2.8.5 Routing DRAM
    Requests" in the F10h BKDG.
   
    Signed-off-by: Borislav Petkov <borislav.petkov@amd.com>
    Acked-by: Doug Thompson <dougthompson@xmission.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

commit 5a8477871f0b45664eedfa352c3942093408a169
Author: Kyle McMartin <kyle@mcmartin.ca>
Date:   Tue Aug 3 20:38:08 2010 -0400

    parisc: pass through '\t' to early (iodc) console
   
    commit d9b68e5e88248bb24fd4e455588bea1d56108fd6 upstream.
   
    The firmware handles '\t' internally, so stop trying to emulate it
    (which, incidentally, had a bug in it.)
   
    Fixes a really weird hang at bootup in rcu_bootup_announce, which,
    as far as I can tell, is the first printk in the core kernel to use
    a tab as the first character.
   
    Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

commit acdc70839d626fa98417b8905bfa1e88087f3097
Author: Tejun Heo <htejun@gmail.com>
Date:   Wed Aug 4 17:59:39 2010 +0200

    block_dev: always serialize exclusive open attempts
   
    commit e75aa85892b2ee78c79edac720868cbef16e62eb upstream.
   
    bd_prepare_to_claim() incorrectly allowed multiple attempts for
    exclusive open to progress in parallel if the attempting holders are
    identical.  This triggered BUG_ON() as reported in the following bug.
   
      https://bugzilla.kernel.org/show_bug.cgi?id=16393
   
    __bd_abort_claiming() is used to finish claiming blocks and doesn't
    work if multiple openers are inside a claiming block.  Allowing
    multiple parallel open attempts to continue doesn't gain anything as
    those are serialized down in the call chain anyway.  Fix it by always
    allowing only single open attempt in a claiming block.
   
    This problem can easily be reproduced by adding a delay after
    bd_prepare_to_claim() and attempting to mount two partitions of a
    disk.
   
    Signed-off-by: Tejun Heo <tj@kernel.org>
    Reported-by: Markus Trippelsdorf <markus@trippelsdorf.de>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

commit 2812c8f70ec3a6c5abd0305a42366c880a18a85a
Author: Baruch Siach <baruch@tkos.co.il>
Date:   Tue Jul 6 14:03:22 2010 +0300

    arm/imx/gpio: add spinlock protection
   
    commit 14cb0deb66fcfca8fdbef75da8c84b5405a8c767 upstream.
   
    The GPIO registers need protection from concurrent access for operations that
    are not atomic.
   
    Cc: Juergen Beisert <j.beisert@pengutronix.de>
    Cc: Daniel Mack <daniel@caiaq.de>
    Reported-by: rpkamiak@rockwellcollins.com
    Signed-off-by: Baruch Siach <baruch@tkos.co.il>
    Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

commit 01212f0b3d3f13d263cf157128f836496b78b113
Author: Helge Deller <deller@gmx.de>
Date:   Mon Aug 2 22:46:41 2010 +0200

    PARISC: led.c - fix potential stack overflow in led_proc_write()
   
    commit 4b4fd27c0b5ec638a1f06ced9226fd95229dbbf0 upstream.
   
    avoid potential stack overflow by correctly checking count parameter
   
    Reported-by: Ilja <ilja@netric.org>
    Signed-off-by: Helge Deller <deller@gmx.de>
    Acked-by: Kyle McMartin <kyle@mcmartin.ca>
    Cc: James E.J. Bottomley <jejb@parisc-linux.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

http://www.kernel.org/
Titel: Kernel-Log: 2.6.36, neue Stable-Kernel, frische Treiber
Beitrag von: SiLæncer am 11 August, 2010, 14:05
Während die Entwicklung von Linux 2.6.36 schon auf Hochtouren läuft, korrigieren zahlreiche neue Stable-Kernel einige Macken der Vorgänger. Derweil bringen neue Versionen von PowerTop und den Grafiktreibern für AMD- und Nvidia-Grafikchips zahlreiche Verbesserungen und Fehlerkorrekturen.

Auf dem Weg zu Linux 2.6.36

Keine 48 Stunden nach der Freigabe von Linux 2.6.35 am Montag vergangener Woche begann Torvalds mit der Aufnahme der größten Änderungen für den Kernel 2.6.36; bis zum Morgen des Dienstags dieser Woche hatte er 5859 Commits vorgenommen, die in 6680 Dateien 474.097 Zeilen Quelltext einfügen und 376.182 Zeilen entfernen. Unter diesen Änderungen findet sich wie erwartet des Sicherheits-Framework AppArmor; von der Integration des ursprünglich ebenfalls zur Aufnahme vorgesehenen Yama Security Module haben die Kernel-Entwickler aber vorerst nochmal abgesehen. Integriert haben die Kernel-Hacker die Concurrencey Managed Workqueue Patches sowie ein Lirc-Interface für das bei 2.6.35 eingeführte Subsystem zur Nutzung von Infrarot-Fernbedienungen.

Neu dabei ist auch ein Treiber für Intelligent Power Sharing (IPS). Durch ihn können die Grafikchips in einigen Mobile-Prozessoren aus Intels Westmere-Generation – etwa der Core i5 – auf eine höhere Taktfrequenz umschalten und so mehr Grafikleistung liefern, wenn der Prozessor seine maximal spezifizierten Wärmeumsatz ("Thermal Budget") nicht ausschöpft, weil die x86-Rechenkerne der CPU nur teilweise belastet sind. Möglicherweise zieht auch die nagelneue und noch rudimentäre KMS-Unterstützung für die seit März auf Grafikkarten verbauten Nvidia-Grafikchips der Fermi-Generation in den Noveau-Treiber von 2.6.36 ein, denn noch bis Ende dieser oder Anfang nächster Woche ist das Merge Window der im Oktober erwarteten Kernel-Version offen.

Linux-Versionsstatus

Anfang des Monats hat Greg Kroah-Hartman die Stable-Kernel 2.6.27.49, 2.6.32.17, 2.6.33.7 und 2.6.34.2 freigegeben, die er bereits Anfang Juli vage angekündigt hatte. Die Version 2.6.33.7 soll die letzte der 33er-Serie sein; Kroah-Hartman rät daher in der Freigabe-Mail zum Umstieg auf die Version 2.6.35, da er die 2.6.34er-Reihe wohl auch schon bald auslaufen lassen wird.

Diese Woche hat Greg Kroah-Hartman dann nochmals nachgelegt und die Stable-Kernel 2.6.27.50, 2.6.32.18, 2.6.34.3 und 2.6.35.1 veröffentlicht. Wie immer finden sich keine konkreten Angaben, ob diese Versionen auch Sicherheitslücken oder schwerwiegende Fehler korrigieren. Die Texte der Freigabe-Mails unterscheiden sich aber leicht. Anwender der 27er-Kernel rät Kroah-Hartman etwa sehr deutlich zum Update ("All users of the 2.6.27 kernel series are very strongly encouraged to upgrade."); beim 32er-Kernel ist er nicht so nachdrücklich ("[...] are strongly encouraged to upgrade.") und bei den anderen beiden eher eine Empfehlung ("[...] should upgrade.").

Eine Korrektur für eine Macke von 2.6.35, die die Stromaufnahme erhöht, wird wohl erst in den Nachfolger von 2.6.35.1 einziehen. Es gibt zudem noch ein Performance-Problem im Btrfs-Code von Linux 2.6.35 – der Btrfs-Hauptentwickler sucht bereits nach der Ursache und einer Korrektur für das wohl nur in einigen Konfigurationen auftretende Problem.

Kernel-Log-Staccato

Kernel

    * Nach den langen, im Kernel-Log oder bei LWN.net (u. a. 1, 2, 3) mehrfach erwähnten Diskussion um die Aufnahme des für Android entwickelten Suspend Block API (früher Wakelocks) ging das Thema Anfang des Monats auf der LKML in die nächste Runde: Paul E. McKenney hat versucht, die Problematik und die früheren Diskussionen zusammenzufassen. Die daraus entstandene Diskussion dauert noch an; die mittlerweile dritte, als "final" bezeichnete Ausgabe der Zusammenfassung gibt allerdings einen guten Überblick darüber, welche Probleme die Entwickler zu lösen versuchen und wo die Schwierigkeiten dabei liegen.
    * Con Kolivas hat die auf Linux 2.6.35 abgestimmte Version 0.323 seines Brain Fuck Scheduler (BFS) freigegeben, den er bei seinem eigenen, auf "Reaktionsgeschwindigkeit und Interaktivität" optimierten Kernel 2.6.35-ck1 einsetzt; mit Messergebnissen zu seinem Prozess-Scheduler und seinem Kernel versucht er deren Vorteile zu unterstreichen. Allerdings scheint er die anderen Kernel-Entwickler aber mehr über sein Vorgehen zu informieren, als mit ihnen zusammenzuarbeiten. Das wäre jedoch nötig, um Teile seiner Verbesserungen für eine Aufnahme in den Kernel fit zu machen oder dabei zu helfen, den derzeit im Kernel enthaltenen Scheduler und andere Subsysteme zu verbessern – nur so könnte der Standardkernel in den Bereichen besser werden, in denen der Code von Kolivas möglicherweise Vorteile zeigt.
    * LWN.net hat kürzlich den englischen Artikel Realtime Linux: academia v. reality veröffentlicht, in dem der deutsche Realtime-Linux-Entwickler Thomas Gleixner einige Hintergründe zur Entstehung der Realtime-Erweiterungen für den Linux-Kernel liefert und dabei auch auf einige Aspekte bei der Zusammenarbeit mit Universitäten und anderen Forschern eingeht. In dem Artikel findet sich auch eine Liste mit zahlreichen in den letzten Jahren entstandenen Kernel-Verbesserungen, die ihren Ursprung im RT-Zweig haben.
    * In verschiedenen Webforen und auf Mailinglisten finden sich Berichte, dass sich Systeme unter bestimmten Bedingungen extrem langsam anfühlen oder zeitweise gar nicht mehr reagieren, während der Kernel größere Datenmengen auf ein langsames Medium (etwa einen USB-Stick) schreibt. Ein Entwickler hat sich diesem Problem jetzt gewidmet und einige Änderungen zur Diskussion gestellt, die ein in der Beschreibung des ersten Patches näher erläutertes Problem beseitigen sollen. Es ist derzeit allerdings noch ungewiss, ob diese Änderungen noch in Linux 2.6.36 einziehen.
    * Kurz nach den Ausführungen zur Fehlerbeseitigung und Qualitätssicherung im letzten regulären Kernel-Log schlug jemand im Bezug auf eine der erwähnten Mails von Theodore 'tytso' Tso vor, doch bei 2.6.36 keine neuen Funktionen aufzunehmen und stattdessen nur Fehlerkorrekturen zu akzeptieren, bis die Liste der bekannten Fehler abgearbeitet sei. Tytso erklärte in seiner Antwort, dass man dies bereits versucht habe und es nicht funktioniere – unter anderem weil die Entwicklung von Freiwilligen betrieben würde, die in einer solchen Periode trotzdem Verbesserungen entwickeln und diese dann eben erst mal für sich behalten. Wenn all die aufgestauten Änderungen später in den Kernel aufgenommen würden, brächte das noch viel mehr Fehler mit sich. Er schließt mit den Worten, es sei letzten Endes selbstzerstörerisch, die Aufnahme neuer Funktionen unterbinden zu wollen ("But trust me, trying to forbid new features in mainline is ultimately self-defeating.").
    * Im Artikel "Speaking UNIX: Get to know Ksplice" erläutert IBM-Developerworks die Funktionsweise von Ksplice näher, mit dem sich Sicherheitslücken im Kernel ohne Neustart korrigieren lassen.
    * IBM-Entwickler Ben Chociej hat einige als "Btrfs hot data tracking functionality" gezeichnete Erweiterungen veröffentlicht, durch die das experimentelle Dateisystem viel genutzte Daten auf einem schnellen Medium eines Datenträgerverbungs ablegt und alle anderen auf einem langsameren, um die Zugriffsgeschwindigkeit auf die häufiger benötigten Daten zu steigern.

Grafik

    * Die im Mesa-Entwicklerzweig enthaltene Version des 3D-Treiber für R600- und R700-GPUs von AMD bietet seit kurzem volle Unterstützung für OpenGL 2.1 und Version 1.20 der GL Shading Language.
    * Peter Hutter hat eine Protokoll-Spezifikation zur Unterstützung von Multitouch-Hardware in X.org zur Diskussion gestellt.
    * Nvidia-Entwickler Aaron Plattner hat die Version 2.1.18 des meist schlicht "nv" genannten X.org-Grafiktreibers xf86-video-nv veröffentlicht. Sie verweigert den Start, wenn der alternative Nvidia-Treiber "Nouveau" im Kernel aktiv ist- Außerdem bringt sie einige Fehlerkorrekturen und rüstet Unterstützung für verschiedene Grafikkarten und -Chips nach – darunter die GeForce-Modelle 315, 7025 und 7050. In Zukunft dürften die Änderungen bei neuen Versionen wohl dürftiger werden, denn Nvidia pflegt diese Treiber nur noch und will keine größeren Neuerungen mehr einbauen.
    * Zwei Beta-Version von Nvidias proprietären Treibern bieten derweil einen Vorgeschmack auf die Funktionen zukünftiger Grafiktreiber: Die über das Entwicklerportal erhältliche Version 256.38.03 enthält Unterstützung für OpenGL 4.1, während die bei NvNews.net angekündigte Version 256.44 unter anderem Unterstützung für die GeForce GTX 460 sowie die Quadro-Modelle 4000, 5000 und 6000 nachrüstet. Letztgenannter Treiber bricht zudem bei aktivem Nouveau-Treiber mit einer aussagekräftigen Fehlermeldung ab und liefert in der Dokumentation einige Hinweise zum Deaktivieren von Nouveau.
    * AMD hat Ende Juli die Version 10.7 den als Catalyst oder Fglrx bekannten proprietären Linux-Grafiktreiber für Linux zum Download freigegeben. Eine der langfristig wohl wichtigsten Neuerungen verbirgt sich hinter dem schlichten "OpenSuse 11.3 early look support" in den Release Notes, denn durch diese Neuerungen arbeitet der Treiber mit den seit April erhältlichen X-Servern der 1.8er-Serie zusammen – einige Distributionen hatten diese bereits vor OpenSuse 11.3 eingesetzt, sodass sich der AMD-Treiber nicht verwenden ließ. Zu den weiteren Neuerungen der Version 10.7 zählt die Unterstützung für die Multi-Display-Technik Eyefinity und "Production Support" für Ubuntu 10.04.
    * Neue Treiberversionen gab es auch für die X.org-Treiber vmware und xgi.
    * In Vorbereitung befindet sich auch ein neuer Geode-Treiber – AMD hat sich dessen Entwicklung wieder angenommen, nachdem die Weiterentwicklung des Treiber nahezu zum Stillstand gekommen war, als ein AMD-Entwickler das Unternehmen vor zwei Jahren verlassen hatte.

Kernel-Umland ("Plumbing layer"), Userland-Treiber, Entwicklertools, ...

    * Stephen Hemminger hat die Version 2.6.35 der Netzwerk-Toolsammlung iproute2 freigegeben. Sie enthält unter anderem das Programm ip zur Konfiguration von IP-Adressen und Routen, das mehr Möglichkeiten bietet als die veralteten und von manchen Entwicklern als "deprecated" eingestuften, von vielen Anwendern aber dennoch genutzten Programme "ifconfig" und "route".
    * Intel-Entwickler Auke Kok hat kürzlich die Version 1.13 des Kommandozeilentools PowerTop veröffentlicht, das Programme aufspürt, die den Prozessor aufwecken, einige Stromsparfunktionen des Kernels aktiviert sowie Schlafzustände und -Zeiten von Prozessoren anzeigt. Die neue Version unterstützt außerdem das Runtime Device Power Management, das mit der Kernel-Version 2.6.34 erheblich überarbeitet und erweitert wurde. Das Programm zeigt nun auch an, welche Anwendungen die Festplatte oder die Audio-Hardware beschäftigen und so von einem Wechsel in einen stromsparenden Zustand abhalten. Es liefert zudem Informationen zur Nutzung des AHCI Link power management (ALPM) und zeigt an, ob Turbo Boost funktioniert. In einem Blog-Post hat Arjan van de Ven zudem zusammengefasst, wie sich die Rolle von PowerTop mit der Zeit geändert hat und welche Aufräumarbeiten im Gang sind, um den Code für zukünftige Erweiterungen fit zu machen.
    * Patrick McHardy hat die Version 1.4.9 des Programms iptables veröffentlicht.
    * Neil Brown hat die Version 3.1.3 des Software-RAID-Werkzeugs mdadm freigegeben. Sie bringt vorwiegend Fehlerkorrekturen; neue Features soll die in Vorbereitung befindliche Version 3.2 bringen.
    * IBM-Developerworks liefert in dem Artikel High-availability storage with Linux and DRBD einige Hintergründe zur Funktion und Nutzung des bei Kernel 2.6.33 integrierten "Distributed Replicated Block Device".
    * Junio C Hamano hat die Freigabe der Git-Versionen 1.7.2.1, 1.7.1.2 und 1.7.0.7 bekannt gegeben.

Quelle : www.heise.de
Titel: Linux Kernel 2.6.35.2
Beitrag von: SiLæncer am 14 August, 2010, 22:14
Changelog : http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.35.2


http://www.kernel.org/
Titel: Hauptentwicklungsphase des Linux-Kernels 2.6.36 abgeschlossen
Beitrag von: SiLæncer am 16 August, 2010, 10:38
Linus Torvalds hat die erste Vorabversion von Linux 2.6.36 freigegeben und damit das "Merge Window" beendet – die erste Phase im Entwicklungszyklus, in der das Gros der Änderungen für eine neue Kernel-Version in den Hauptentwicklungszweig  einfließt. Die sonst übliche Freigabe-Mail zur neuen Version ist bislang aber nicht zu finden – der Rc1 allerdings im Quellcodeverwaltungssystem gekennzeichnet und über die Frontpage von Kernel.org zum Download erhältlich.

Wie üblich gab es Hunderte von Neuerungen, von denen viele auch für Anwender wichtig sind, die sich nicht näher mit dem Kern ihrer Linux-Distribution auseinandersetzen. So integrierten die Kernel-Hacker wie erwartet die Kernel-Teile des Sicherheits-Frameworks AppArmor, das schon länger bei OpenSuse, Ubuntu und einigen anderen Distributionen eingesetzt wird, aber über Jahre nicht den Sprung in den offiziellen Kernel schaffte. Nach mehreren Anläufen fand nun auch das unter anderem für On-Access-Virenscanner interessante Fanotify den Weg in den Kernel.

Wie immer gab es auch hunderte neue und erweiterte Treiber – etwa den Intelligent Power Sharing (IPS) Driver, mit dessen Hilfe Grafikchips in einigen Mobileprozessoren aus Intels Westmere-Generation (etwa der Core i5) auf eine höhere Taktfrequenz umschalten, wenn der Prozessor seinen maximal spezifizierten Wärmeumsatz ("Thermal Budget") nicht ausschöpft. Neu dabei sind auch ein Interface für den Licr-Userspace-Daemon im bei 2.6.35 etablierten Subsystem zur Nutzung von Infrarot-Fernbedienungen sowie einige darauf aufbauende Treiber. Aufgenommen wurde auch die nagelneue und noch rudimentäre KMS-Unterstützung für die seit März auf einigen GeForce-Grafikkarten verbauten Nvidia-Grafikchips der Fermi-Generation. Auch an der Infrastruktur des Kernels gab es wieder zahlreiche Änderungen – etwa die Concurrencey Managed Workqueues oder eine Überarbeitung des "Out-Of-Memory (OOM) killer".

Mit Ende des Merge Window beginnt nun die typischerweise neun bis zwölf Wochen lange "Stabilisierungsphase", in der Torvalds vorwiegend kleinere Änderungen aufnimmt, die Fehler korrigieren sollen, ohne neue auszulösen. Bei der 2.6.35-Entwicklung hat er diesen Ansatz deutlich strikter umgesetzt als bei den Vorgängern und sogar zahlreiche von Subsystem-Maintainern zur Aufnahme eingesandte Patch-Sammlungen zurückgewiesen, weil ihm diese zu gewagte Änderungen enthielten. Dieses Experiment hat ihm gefallen, wie er in der Freigabe-Mail zu Linux 2.6.35 schrieb; er will es daher bei 2.6.36 ähnlich handhaben ("I'd like to try to repeat the experiment for the next release cycle, and be pretty hardnosed about taking patches and git pull requests after the merge window closes.").

Quelle : www.heise.de
Titel: Kernel-Log: Neuer X-Server, OSS-3D-Treiber und mehr ...
Beitrag von: SiLæncer am 23 August, 2010, 19:50
Während neue Kernel-Versionen vorwiegend kleinere Fehler korrigieren, wartet die nächste Generation des X-Servers von X.org auch mit einigen Verbesserungen auf. Durch einigen Code von AMD-Entwicklern können die freien X.org-Treiber für Radeon-GPUs nun auch die 2D- und 3D-Beschleunigungsfunktionen von Grafikkarten der Radeon-5000-Serie nutzen.

Neuer X-Server

Genau zum geplanten Zeitpunkt und somit ohne die bis vor einem Jahr üblichen monatelangen Verzögerungen hat X-Urgestein Keith Packard Ende vergangener Woche die Version 1.9 des X-Servers von X.org freigegeben. Die zum Einsatz bei Fedora 13 oder Ubuntu 10.10 vorgesehene Version bringt allerdings keine größeren Neuerungen, sondern vorwiegend kleinere Verbesserungen und Fehlerkorrekturen. Durch einen neuen Authentifizierungs-Mechanismus für das noch junge DRI2 lässt sich der X-Server nun etwa ohne die libdrm übersetzten. Die "Buffers Invalidation" für DRI2 und einige Änderungen an Xinput sollen die Performance verbessern. Der X-Server kann zudem nun auch ohne Ausgabegeräte starten und zahlreiche Aufräumarbeiten am Code sollen sowohl Wartung als auch zukünftige Erweiterungen vereinfachen.

Die Pflege der 1.9er-Serie wird Apple-Mitarbeiter Jeremy Huddleston übernehmen; der bei Red Hat angestellte X-Input-Experte Peter Hutterer, der die X-Server-Serien 1.7 und 1.8 betreut hatte, wollte sich die Arbeit diesmal nicht aufhalsen. Huddleston hatte Interesse angemeldet, weil sein Arbeitgeber die 1.9er-Server wahrscheinlich als Basis für die nächste, über einen längeren Zeitraum gewartete Version von XQuartz einsetzen will; da er aber mit den DDX-Treibern nicht so vertraut ist wie sein Vorgänger, sei er bei der Wartung auf mehr Unterstützung durch andere angewiesen. Einige Pläne zu neuen Version hat er bereits dargelegt; in sechs beziehungsweise zwölf Wochen sollen die Versionen 1.9.1 und 1.9.2 erscheinen. Ein X-Server der 1.9er-Serie soll auch Bestandteil von X.org 7.6 werden, das diesen Herbst erscheinen soll.

3D für Radeon-5000-Serie

AMD-Entwickler haben kürzlich größere Mengen Code veröffentlicht, durch den die bislang noch rudimentären Open-Source-Treiber für AMDs-Karten mit Evergreen-GPUs auch 2D-, 3D- und XVideo-Beschleunigung bieten – derzeit bietet diese nur AMDs proprietären Grafiktreiber.

Der Treiber-Code findet sich allerdings derzeit noch in verschiedenen Entwicklerzweigen: Die Erweiterungen für den X.org-Treiber liegt in einem "evergreen_accel" genannten Branch; sobald der Code gereift ist, sollte er in den Hauptentwicklungszweig des zum Treiberpaket "xf86-video-ati" gehörenden Treibers "radeon" einfließen und dann von den Distributionen aufgegriffen werden. Der Treiber ist auf Erweiterungen für den r600-Treiber von Mesa 3D angewiesen, die in den Mesa-Entwicklerzweig einflossen, aus dem die Version 7.9 von Mesa 3D hervorgehen soll. Das wiederum ist auf Unterstützung durch den Kernel angewiesen, die jedoch schon der KMS-Treiber des kürzlich freigegeben Linux-Kernel 2.6.35 bietet.

Stable-Kernel

Wie bereits vor einigen Tagen gemeldet, enthielten Kernel der 2.6er-Generation eine Sicherheitslücke, über die lokale Angreifer Code mit Root-Rechten ausführen können – die ist inzwischen im Hauptentwicklungszweig und in den Anfang vergangener Woche veröffentlichten Versionen 2.6.32.19, 2.6.34.4 und 2.6.35.2 geschlossen. In die parallel freigegebene Version 2.6.27.51 flossen die Korrekturen nicht ein, wurden dann aber Bestandteil der Freitag Abend freigegeben Version 2.6.27.52. Sie beseitigt noch einige Fehler, die indirekt durch die Patches zum Stopfen der Sicherheitslücke ausgelöst wurden; diese Fehlerkorrekturen flossen auch in die parallel veröffentlichten Versionen 2.6.32.20, 2.6.34.5 und 2.6.35.3 ein. Zumindest Letztere zeigt auf manchen Systemen noch ein zuvor nicht aufgetretenes Problem, das ein Nachfolger beseitigen soll.

Nachdem das letzte Kernel-Log über leichte Differenzen in den Freigabe-Mails zu den vorangegangenen Stable-Kernel eingegangen waren, schrieb Greg Kroah-Hartman in mehreren Mails nun, dass alle Anwender auf die neuen Kernel updaten müssten. In der Freigabe-Mail zu 2.6.35.2 schrieb er ferner,er sei es Leid, dass Leute seine Worte wie die des Vorsitzenden der US-Notenbank interpretieren würden. Er forderte abermals zum Update auf und stellt die Frage: "Wenn Du einen selbst kompilierten Kernel von kernel.org nutzt und nicht auf die neusten Stable-Kernel aktualisierst, warum nutzt Du dann überhaupt einen Kernel von kernel.org?" ("I'm tired of people trying to parse my words like I'm the Federal Reserve Chairman, just go update already. If you use a kernel.org-based kernel, and you aren't updating to the latest -stable updates, well, why are you using a kernel.org kernel in the first place?")

Hauptentwicklungszweig

Zum Start dieser Arbeitswoche hat Linus Torvalds die zweite Vorabversion von Linux 2.6.36 freigegeben. Nachdem er zur das Merge Window von 2.6.36 beendenden Veröffentlichung der ersten Vorabversion Anfang vergangener Woche ausnahmsweise keine begleitetende Freigabe-Mail aussandte, hob er einige der seiner Ansicht nach wichtigsten Änderungen in der Freigabe-Mail zu 2.6.36-rc2 hervor: Fanotify, die Concurrencey Managed Workqueues und verschiedene Optimierungen an Virtual-Memory-Infrastuktur.

Er erwähnt zudem, dass er für die zweite Vorabversion noch einige größere Patches für die Intel-Grafiktreiber aufgenommen hat sowie einige der maßgeblich von Nick Piggin entwickelte Patches, die den Code des Virtual File System Layer (VFS) optimieren, damit er insbesondere auf Systemen mit vielen Prozessorkernen besser arbeitet. Es seien aber nur einige wenige der Patches gewesen, das VFS optimieren, und noch nicht mal die interessantesten. Letztere dürften somit frühestens für 2.6.37 in den Hauptentwicklungszweig einziehen.

Größere neue Funktionen für 2.6.36 will Torvalds von nun an nicht mehr sehen; einige Git-Pull-Request habe er bereits zurückgewiesen ("The main commentary about it is that I'll be back in "fairly strict" mode as of -rc2. IOW, send me regression fixes only. Really. I already dropped some git pull requests that were a bit too obviously new feature stuff after the merge window closed, [...]"). Ähnlich war er bereits bei der 2.6.35-Entwicklung vorgegangen, nachdem er bei früheren Versionen deutlich laxer war.

Kernel-Log-Staccato

Kernel

    * Christoph Hellwig gibt im "XFS status update for July 2010" einen Überblick über die jüngsten Änderungen rund um das XFS-Dateisystem.
    * Seit Kurzem sind PDF-Dokumente mit den Präsentationsfolien des am 9. und 10. August im Umfeld der LinuxCon abgehaltenen KVM Forum verfügbar. Sie liefern etwa Hintergründe zu Desktop-Virtualisierung mit SPICE, die durch Transparent Hugepages möglichen Performance-Verbesserungen, Netzwerk-Virtualisierung mit KVM , einige jüngst für KVM umgesetzte Performance-Verbesserungen und der Übergabe von PCI-Geräten an KVM-Gäste.
    * Einen Überblick über den im Umfeld der LinuxCon abgehaltenen Linux Security Summit 2010 gibt Security-Subsystem-Maintainer James Morris in seinem Blog; einige der auf dem Entwicklertreffen gezeigten Präsentationsfolien hat er zum Download bereitgestellt.
    * Zusammenfassungen der Themen des ebenfalls kurz vor der LinuxCon abgehaltenen Linux Storage and Filesystem Summit liefern LWN.net-Chefredakteur Jonathan Corbet und SCSI-Subsystem-Verwalter James Bottomley in drei bei LWN.net erschienenen Artikeln (1, 2, 3).
    * Im Umfeld der LinuxCon haben sich auch einige Kernel-Entwickler getroffen, die sich mit Powermanagement beschäftigen – ACPI-Subsystem-Verwalter Len Brown liefert einen Überblick über die wichtigsten auf dem Entwicklertreffen diskutierten Punkte.
    * Paul E. McKenney hat die im letzten Kernel-Log bereits erwähnte Zusammenfassung rund um die Android-Problematik nochmals aktualisiert. Nokia-Entwickler Igor Stoppa hat unabhängig davon kürzlich einige der Probleme zusammengefasst, die es beim Power Management für Handhelds seiner Ansicht nach gibt.
    * Valerie Aurora erklärte kürzlich im Rahmen des Reviews der von ihr vorangetriebenen Unionfs- und Aufs-Alternative Union Mounts nochmal einige der Probleme bei der vorübergehenden Vereinigung mehrerer Dateisysteme.
    * Der IBM-Developerworks-Artikel "User space memory access from the Linux kernel – An introduction to Linux memory and user space APIs" liefert einige Interna zur Speicherverwaltung von Linux und erklärt, wie der Kernel Daten mit Anwendungen austauscht.

X-Server und Co.

    * Peter Hutterer hat einen Release Candidate des Synaptics-Treibers 1.3 veröffentlicht. Bei ihr schaltet der Touchpadtreiber die Zweifinger-Scroll-Emulation automatisch an, wenn der Kernel-Treiber eine zulässige Weite meldet.
    * Martin-Éric Racine hat die Version 2.11.9 des Grafiktreibers für die unter anderem bei einigen OLPC eingesetzten Geode-Prozessoren veröffentlicht. Es sind die erste Resultate eines wieder erstarkten Engagements seitens AMD.

Kernel-Umland ("Plumbing layer"), Userland-Treiber, Entwicklertools, ...

    * Lennart Poettering hat in einem Blog-Eintrag den aktuellen Status zur Entwicklung der maßgeblich von ihm vorangetriebenen SysV-Init- und Upstart-Alternative zusammengefasst. In einem zweiten Blog-Post erläutert er, wie man mit Systemd den erfolgreichen Start und den aktuellen Status von Diensten überprüft.
    * Greg Kroah-Hartman hat die Version 0.90 der Usbutils veröffentlicht.
    * Die Entwickler des Gphoto-Projekts haben die Version 2.4.10 der Bibliothek libgphoto2 zum Auslesen vieler Digitalkameras zum Download freigegeben, die eine Reihe kleinerer Verbesserungen für Kameras und PTP-Geräte verschiedener Hersteller bringt.
    * Junio C Hamano hat Git 1.7.2.2 freigegeben.
    * Kay Sievers hat das vornehmlich Fehlerkorrekturen und kleinere Verbesserungen bringende Udev 161 veröffentlicht.
    * Die Entwickler des früher Gimp-Print genannten Gutenprint haben die Version 5.2.6. ihrer Durckertreibersammlung veröffentlicht. Sie verbessert unter anderem die Unterstützung für verschiedener Stylus Pro von Epson und einige Tintendrucker von Canon und enthält einen erweiterten PCL-Treiber.
    * Größtenteils kleine Korrekturen und Verbesserungen enthält auch die kürzlich freigegebene Version 4.0.5 von Foomatic, das bei vielen Linux-Distributionen bei Konfiguration von Druckern involviert ist.

Quelle : www.heise.de
Titel: Linux - Drei neue und ein letzter Kernel
Beitrag von: SiLæncer am 27 August, 2010, 11:13
Alle vier Reihen der gegenwärtig gepflegten Linux-Serien  sind aktualisiert worden. Für den Linux-Kernel 2.6.34 wird es künftig keine weiteren Updates mehr geben und auch die Kernel-Serie 2.6.27 soll bald ausgemustert werden. Das sagte Kernel-Maintainer Greg Kroah-Hartman in den Release-Notes.

Die Veröffentlichung der Linux-Kernel vor wenigen Tagen sollte nur eine bekanntgewordene Sicherheitslücke schließen. Jetzt folgten weitere Kernel-Versionen, die teils umfangreiche Patches mitbrachten. Einzig Linux 2.6.27.53  bringt lediglich neun Reparaturen mit. Diese Kernel-Reihe soll bald ausgemustert werden, deutete Kroah-Hartman in einer ungewöhnlichen, fieberbeeinflussten Mitteilung an. Linux 2.6.27 wurde vor über zwei Jahren veröffentlicht und gilt als Long-Term-Release.

Für Linux 2.6.34 ist mit der aktuellen Version 2.6.34.6 definitiv Schluss. Kroah-Hartmans fieberndes Alter Ego Og überreichte den Kernel mit den Worten "This is the last one." In den Kernel flossen immerhin noch etliche Patches ein, die in erster Linie diverse DRM-Module betrafen.

Die beiden Kernel-Versionen 2.6.32.21 und 2.6.35.4 wurden ebenfalls mit zahlreichen Änderungen versehen. Beide sollen weiterhin aktiv gepflegt werden, Version 2.6.35 ist erst vor wenigen Tagen erschienen. Linux 2.6.32 ist in Absprache mit großen Linux-Distributoren als Long-Term-Support eingestuft worden und soll mindestens noch zwei bis drei Jahre gepflegt werden.

Das Fieber, unter dem Kroah-Hartman litt, wurde übrigens durch den Verzehr von mit Salmonellen verseuchten Eiern ausgelöst.

Quelle : www.golem.de
Titel: Native ZFS-Unterstützung für den Linux-Kernel
Beitrag von: SiLæncer am 28 August, 2010, 14:32
Das Unternehmen Knowledge Quest Infotech plant, Mitte September ein Kernelmodul zu veröffentlichen, welches das Dateisystem ZFS nativ auf Linux-Rechnern lauffähig macht. Bisher verhinderten Inkompatibiltäten der GPL und der Common Development & Distribution License (CDDL), unter der ZFS steht, eine Portierung. Das bisher unter anderem in OpenSolaris, FreeBSD und NetBSD eingesetzte Dateisystem ZFS ist für das freie Betriebssystem bereits als ZFS FUSE verfügbar, kommt aber als FUSE-Modul nicht an die Leistungsfähigkeit eines nativen Kernelmoduls heran.

Bereits im letzten Jahr begann  die Firma Knowledge Quest Infotech (KQ Infotech) mit der ZFS-Portierung und ist mit der Arbeit schon recht weit voran geschritten. ZFS für Linux wird weiterhin unter CDDL stehen und nicht in die Hauptlinie des unter der GPL stehenden Kernels integriert werden. Stattdessen können Anwender den Quellcode des Modules selbst übersetzen. Neben KQ Infotech arbeitet auch das in den USA beheimatete Lawrence-Livermore-National-Laboratorium in Zusammenarbeit mit Oracle an einer Portierung, in deren Rahmen es möglich werden soll, das verteilte Dateisystem Lustre unter Linux auf ZFS zu verwenden.

Momentan haben sowohl der Port des Lawrence-Livermore-National-Laboratorium und der Knowledge Quest Infotech die ZFS-POSIX-Ebene implementiert, so dass beide bereits nutzbar sind, aber noch nicht alle Merkmale der aktuellen ZFS-Version unterstützen. Die KQ Infotech möchte ihren Quellcode am 15. September veröffentlichen, allerdings nur für 64-Bit-Architekturen. Die in Indien ansässige Firma plant RPMs für Fedora 12 und Red Hat Enterprise Linux 6 Beta 2, Ubuntu wird auch unterstützt, doch müssen dessen Anwender selbst zum Kompiler greifen.

ZFS wurde ursprünglich von Sun Microsystems unter dem Namen Zettabyte File System entwickelt. Die erste Version wurde 2006 mit Solaris 10 veröffentlicht.

Quelle : www.pro-linux.de
Titel: Kernel-Log: Pflege von 2.4 und 2.6.27 nähert sich dem Ende
Beitrag von: SiLæncer am 08 September, 2010, 18:45
Videos und Präsentationen von der Linuxcon und der Embedded Linux Conference liefern Informationen unter anderem zum Entwicklungsstand von Btrfs und den Problemen zwischen den Kernel-Hackern und Android-Machern. Mit den neuesten Stable-Kerneln erreicht Linux 2.6.34 sein Lebensende; es mehren sich zudem die Zeichen, die auf ein Ende oder eine reduzierte Pflege für die Versionen 2.4 und 2.6.27 hindeuten.

Die Linux Foundation hat kürzlich Video-Aufzeichnungen von einigen der auf der Linuxcon 2010 (10. bis 12. August, Boston) gehaltenen Vorträge online gestellt. Viele der nach einer Registrierung kostenlos zugänglichen oder als OGG-Datei zum Download angebotenen Videos sowie einige der über die Vortragsdetails im Konferenzprogramm zugänglichen Präsentationsfolien liefern Informationen zu aktuellen Entwicklungen rund um den Linux-Kernel.

So gab es auch auf der dieses Jahr wieder ein "Kernel-Panel" – eine Podiumsdiskussion, bei der auch das Publikum Fragen stellen konnte. Auf der Bühne saßen diesmal SCSI-Subsystem-Maintainer James Bottomley, Fedora-Kernel- und Cpufreq-Maintainer Dave Jones, Btrfs-Entwickler Chris Mason sowie Kernel-Urgestein und Ext-Dateisystementwickler Ted Tsfo. LWN.net-Chefredakteur und Kernel-Entwickler Jon Corbet moderierte die als Video abrufbare Diskussion. In der brachte Theodore 'tytso' Tso abermals das Thema "Eigenverantwortung bei Fehlerbeseitigung und Qualitätssicherung" auf Tapet, das erst kürzlich auch im Kernel-Log zur Sprache kam; die zugehörige Diskussion auf der LKML schien schon beendet, kam vergangenes Wochenende aber nochmal in Gang.

Aus dem Publikum kam die Frage, ob und wann es vielleicht wieder eine Unstable-Serie wie 2.3 und 2.5 geben würde, um einen "Next Generation"-Kernel mit einer Versionsnummer wie 2.8 oder 3.0 zu entwickeln – die Kernel-Hacker führten daraufhin eine Reihe Probleme einer Unstable-Series an und erläuterten zahlreiche Vorteile des aktuellen Entwicklungsmodells. Sie ließen durchblicken, dass sie damit zufrieden sind und die Einführung einer neuen Unstable-Serie für unwahrscheinlich und unklug halten.

Länger diskutiert wurden im "Kernel-Panel" auch die im Kernel-Log bereits mehrfach erwähnten Probleme bei der Interaktion mit den Entwicklern des Android-Kernels. Zahlreiche Informationen dazu liefert der als Video verfügbare Vortrag "Android/Linux Kernel: Lessons Learned" (Vortragsfolien) von Kernel-Hacker und Power-Management-Experte Matthew Garrett; er erklärt etwa die Hintergründe zu den umstrittenen und mittlerweile auch als "Suspend Blocker" bekannten Wakelocks und beschreibt, dass Android abgesehen vom Kernel nicht viel mit Linux-Distributionen für PCs gemein hat. Genau wie der derzeit bei Google arbeitende Tso lobt auch Garrett an einigen Stellen die Bestrebungen der Android-Kernel-Entwickler, denn sie hätten viel Arbeit investiert, um ihre Verbesserungen in den offiziellen Kernel einzubringen.

Einen Einblick ins Btrfs-Dateisystem lieferte Chris Mason im als Video abrufbaren Vortrag "Btrfs File System: Status and Future" (Vortragsfolien). Er erwähnt einige der jüngsten Verbesserungen; viel Arbeit würden er und andere Btrfs-Entwickler gerade in ein Programm zum Prüfen und Reparieren von Btrfs-Dateisystemstrukturen stecken. Er beantwortet zahlreiche Fragen aus dem Publikum und zeigt in drei Demonstrationen, wie sich geänderte Dateien mit Btrfs schnell finden lassen, wie man Dateien klont und wie sich ein alter Dateisystem-Snapshot booten lässt, falls beim Update der Distribution etwas schief gegangen ist. Zum Entwicklungstand gibt er mit einem Augenzwinkern an, er habe erwartet, die Hauptentwicklungsphase von Btrfs vor sechs Monaten abzuschließen; er fügte hinzu, dass die Hauptentwicklung vielleicht in sechs bis zwölf Monaten abgeschlossen werden könne. Das Dateisystem sei aber durchaus schon benutzbar; er habe nie Daten verloren, andere hätten aber nicht so viel Glück gehabt.

Sehenswert ist auch das Video des "Kernel Report", in dem Jon Corbet einen breit gefächerten, dennoch sehr ausführlichen und informativen Überblick über aktuelle und zukünftige Entwicklungen des Linux-Kernel gibt. An Storage-Themen – etwa Datenträgern mit 4-KByte-Blöcken oder dem für SSD interessanten Discard – interessierten Leser sei auch das Video des Vortrags von Martin K. Peterson "Linux and Advanced Storage Technologies" empfohlen. In der Liste der angebotenen Videos und dem Konferenzprogramm finden sich noch zahlreiche weitere Videos zu Kernel-Themen.

Vorträge der ELC

Seit kurzem sind auch Video-Aufzeichnungen und Präsentationsfolien von über 30 Vorträgen online, die auf der Embedded Linux Conference (ELC) 2010 gehalten wurden. Zu den Vortragenden zählen unter anderem Tim Bird ("State of Embedded Linux"), Greg Kroah-Hartman ("Android: A Case Study of an Embedded Linux Project") und Mathieu Desnoyers ("Using the LTTng Tracer for System-wide Performance Analysis and Debugging (Hands-On Tutorial)"). Die wichtigsten Punkte dieser Vorträge hatte LWN.net damals in Artikel zusammengefasst (1, 2, 3). Die europäische Ausgabe der Konferenz findet Ende Oktober in Cambridge statt.

Versionsstatus

Wie bei der Freigabe der dritten Vorabversion von Linux 2.6.36 bereits angekündigt, kam die Entwicklung im Hauptentwicklungszweig von Linux vorübergehend zum Halt, weil Torvalds die Linuxcon Brazil 2010 besucht hat. Ein Foto von Dirk Hohndel zeigt, wie überschwänglich sich das Publikum auf den Linux-Erfinder gestürzt hat.

Kurz nach dem letzten Kernel-Log hat Greg Kroah-Hartman die Stable-Series 2.6.27.53, 2.6.32.21, 2.6.34.6 und 2.6.35.4 freigegeben. Sie bringen wie üblich Fehlerkorrekturen und einige kleinere, ungefährliche Verbesserungen; wie seit kurzem üblich fordert Kroah-Hartman mit Worten wie "All users of the 2.6.xx kernel series must upgrade" nachdrücklich zum Wechsel auf eine der neuen Versionen auf, erwähnt jedoch nicht, ob die neuen Versionen auch Sicherheitslücken beseitigen. Anwendern von Kerneln der 2.6.34er-Serie rät er zum Wechsel auf die 35er-Serie, da er die Wartung der 34-Versionsreihe mit 2.6.34.6 einstellt.

Kroah-Hartman hat zusammen mit den neuen Versionen auch ein märchenhaftes und amüsantes Begleitschreiben verfasst, in dem er mal wieder als "Og" auftritt. Mit diesem diesmal durch Fieber hervorgetretenen Alter Ego deutet er indirekt an, dass er die Pflege der 27er-Serie bald einstellen wird – grob hatte er das bereits Anfang des Jahres angekündigt. Willy Tarreau, der derzeitige Betreuer der 2.4er-Serie, hatte damals angedeutet, die Betreuung von Linux 2.6.27 an diesem Punkt vielleicht zu übernehmen, aber nur noch kritische Fehler korrigieren zu wollen – in einer Antwort auf das Begleitschreiben von Kroah-Hartman ^w^w^w Og geht er auf diese Pläne aber nicht ein.

Bei der Pflege der 2.4er-Serie hat sich Tarreau nun schon länger auf Fehlerkorrekturen konzentriert. Zu Beginn dieser Arbeitswoche hat er die Version 2.4.37.10 veröffentlicht, die auch einige Sicherheitslücken korrigiert. In der Freigabe-Mail zum ersten 2.4er-Update seit sieben Monaten erläutert er seine weiteren Pläne für diese Kernel-Serie: Die Entwicklung eines mit frischeren Treibern versorgten Kernel 2.4.38 will er nicht mehr angehen und die Pflege der 2.4er-Serie komplett einstellen, wenn es ein Jahr lang keinen Grund für ein weiteres Update gibt.

Kernel-Log-Staccato

Kernel

    * Christoph Hellwig gibt im "XFS status update for August 2010" einen Überblick über die jüngsten Änderungen rund um das XFS-Dateisystem. Dort erwähnt er, dass XML-Quellen mit Informationen zum Dateisystem nun als dynamisch generiertes HTML über das XFS-Wiki erreichbar sind.
    * Ksplice bietet seinen Kernel-Sicherheitskorrekturen im laufenden Betrieb einspielenden Uptrack-Dienst nun auch für Fedora 13 kostenlos an.
    * Netzwerk-Subsystem-Maintainer David Miller erläutert in seinem Blog einige Hintergründe zur Funktionsweise des bei Linux 2.6.29 integrierten und maßgeblich von Herbert Xu entwickelten Generic Receive Offload (GRO) Infrastructure.
    * David Wang hat kürzlich die Webseite zu den Broadcom-WLAN-Treiber des Linux-Kernel um zahlreiche Informationen ergänzt. Dabei hat er auch einen Absatz zum proprietären Broadcom-Treiber "wl" eingefügt und rät Anwendern, die von einen nativen Linux-Treiber unterstützte WLAN-Hardware möchten, zum Kauf von WLAN-Chips anderer Anbieter.
    * Einige von Mathieu Desnoyers zum Review an die LKML gesandte und mit finanzieller Unterstützung von Nokia entwickelte Patches sollen die Reaktionsgeschwindigkeit und Interaktivität des Kernel steigern, damit sich Linux-Systemen schneller anfühlen. Er unterfüttert die Verbesserungen mit Messwerten; Teile seines Ansatzes wurden jedoch von anderen Kernel-Hacker kritisiert.
    * Bessere Interaktivität und dadurch "gefühlt schnellere" Systeme sind auch das Ziel einiger Patches für den Virtual-Memory-Management-Code des Kernels, an denen VM-Spezialist Mel Gorman arbeitet.
    * Der durch mehrere Linux-Bücher bekannte Michael Kofler hat Mitte vergangenen Monats einen sehr ausführlichen Blog-Eintrag veröffentlicht, in dem er zahlreiche Informationen zur Funktionsweise des Btrfs-Dateisystem liefert und dessen Möglichkeiten anhand einiger Beispiele beschreibt.

X-Server und Co.

    * X-Input-Spezialist Peter Hutterer erläutert in einem Blog-Eintrag einige Hintergründe zur Situation rund um die Entwicklung der Wacom-Treiber, die dieser Tage auch Grafik-Tabletts anderer Hersteller unterstützen.
    * Im Rahmen des "X Census (for 1.9)" hat sich Tiago Vignatti genauer angesehen, welche Programmierer und Unternehmen sich während der Entwicklung des X-Servers 1.9 wie stark eingebracht haben. Zu den aktivsten Unternehmen zählen die Entwickler von Intel, Nokia, Oracle und Red Hat. Peter Hutterer merkt allerdings an, dass die Zahlen zur X Test Suite nicht sonderlich aussagekräftig seien.
    * Peter Hutterer hat die Version 1.3.0 des X.org-Touchpad-Treibers synaptics veröffentlicht; sie schaltet die Zweifinger-Scroll-Emulation nun automatisch an, wenn der Kernel-Treiber eine zulässige Touchpad-Weite meldet. Einige weitere Neuerungen listet die Freigabe-Mail einer Vorabversion.
    * Nvidia hat die Version 256.53 seiner proprietären Grafiktreiber für x86-32- und x86-64-Systeme veröffentlicht. In den "Release Highlights" listet Nvidia einige der Neuerungen – darunter die Unterstützung für das ABI (Application Binary Interface) des X-Servers 1.9 und Fehlerkorrekturen am XvMC-Code.
    * AMD hat die Version 10.8 seiner proprietären Linux-Treiber zum Download freigegeben. Sie korrigiert einige in den Release Notes aufgelistete Fehler; außerdem bringt sie offizielle Unterstützung für SLED/SLES 11 SP1 und das auf Embedded Systems zugeschnittene OpenGL ES 2.0.
    * AMD-Entwickler Alex Deucher erklärte kürzlich auf einer Mailingliste, wie man über das Kommandozeilenprogramm xrandr zur Laufzeit eine neue Bildschirmauflösung konfiguriert, falls der Monitor in den von ihm gelieferten EDID-Informationen behauptet, diese Auflösung nicht zu beherrschen.

Kernel-Umland ("Plumbing layer"), Userland-Treiber, Entwicklertools, ...

    * Neil Brown hat die Version 3.1.4 von mdadm veröffentlicht. Sie enthält verschiedene Fehlerkorrekturen für das Tool zum Verwalten von Software RAID; neue Funktionen soll die in Vorbereitung befindliche Version 3.2 bringen.
    * Junio C Hamano hat Git 1.7.2.3 freigegeben.
    * Eine neue Version gibt es auch von loadlin, mit dem sich der Linux-Kernel von DOS aus starten lässt.

Quelle und Links : http://www.heise.de/open/artikel/Kernel-Log-Videos-von-der-Linuxcon-Pflege-von-2-4-und-2-6-27-naehert-sich-dem-Ende-1073492.html
Titel: Kernel-Log – Was 2.6.36 bringt (1): Grafik
Beitrag von: SiLæncer am 11 September, 2010, 16:58
Zahlreiche Änderungen verbessern Performance und Funktionsumfang der Treiber für Intels aktuelle Mobilgrafik. Nouveau unterstützt nun auch die Fermi-Chips neuerer GeForce-Grafikkarten; der Radeon-Treiber beherrscht mit 2.6.36 Underscan, HyperZ und Tiling. Erweiterungen für den Debugger KDB und den Intel-KMS-Treiber ermöglichen neuen Debugging-Funktionen.

Nach der Veröffentlichung der dritten Vorabversion von Linux 2.6.36 Ende August gab es für acht Tage keine Änderungen im Hauptentwicklungszweig von Linux, weil Linus Torvalds die Linuxcon Brazil 2010  besuchte. Am Dienstag Abend hat Torvalds die Entwicklung von 2.6.36 wieder aufgenommen; die vierte Vorabversion dürfte er vermutlich zu Beginn der nächsten Woche freigegeben, wenn er seinen üblichen Arbeitsmustern folgt.

Der jetzige Entwicklungsstand von 2.6.36 ähnelt der finalen Version bereits stark, denn die Kernel-Hacker haben wie üblich am Anfang des Entwicklungszyklus alle größeren Neuerungen im Rahmen des Merge Window in den Hauptentwicklungszweig integriert. In der jetzigen Stabilisierungsphase fließen vorwiegend Fehlerkorrekturen, aber keine größeren Änderungen mehr ein, denn die könnten ja neue Fehler mit sich bringen. Torvalds hat darauf bei 2.6.35 stärker gepocht als zuvor; er hält es bei 2.6.36 ähnlich, da sich der Ansatz bewährt habe.

Da die wesentlichen Neuerungen von Linux 2.6.36 feststehen, kann das Kernel-Log schon jetzt einen umfassenden Überblick über die größten Neuerungen der Ende Oktober erwarteten nächsten Kernel-Version geben. Wie üblich werden wir die Informationen über eine mehrere Artikel verteilen, die sich nach und nach den verschiedenen Funktionsbereichen des Kernels widmet. Den Anfang der Serie "Was 2.6.36 bringt" machen die Änderungen rund um die Unterstützung für Grafikhardware; in den kommenden Wochen folgen Artikel zur Netzwerkunterstützung, zu Storage-Hardware, Dateisystemen, Architektur-Code, Treiber und einigen weiteren Funktionsbereichen.

Intel

Nachdem der Intelligent Power Sharing (IPS) Driver die Aufnahme in den Kernel 2.6.35 noch verpasst hatte, nahmen die Kernel-Hacker diesen im "Platform"-Subsystem angesiedelten Treiber nun für 2.6.36 auf. Mit seiner Hilfe kann der Grafikchip in einigen Mobilprozessoren aus Intels Westmere-Generation (etwa dem Core i5) auf eine höhere Taktfrequenz hochschalten, wenn der Baustein seinen spezifizierten Maximal-Wärmeumsatz ("Thermal Budget") noch nicht ausschöpft – Intel nennt diese Technik, die die 3D-Performance steigert und wohl auch in Desktop-Prozessoren auftauchen dürfte, "HD Graphics Dynamic Frequency Technology" und beschreibt sie in einem Whitepaper.

Der Intel-KMS-Treiber für die Grafikkerne der Mobile-Prozessoren aus den Core-i-Reihen kann nun den Frame Buffer komprimieren, was die Leistungsaufnahme bei einem nicht näher spezifizierten HP-Notebook laut Commit-Kommentar um 0,2 Watt senkt. Verbessert haben die Entwickler zudem die Unterstützung für den Embedded DisplayPort (eDP).

Nvidia

Den Nouveau-KMS-Treiber haben die Entwickler kurzfristig um Unterstützung für Grafikchips der Fermi-Generation erweitert, nachdem einer der Hauptentwickler des Treiber so eine Karte erhalten hatte (u. a. 1, 2, 3, 4, 5, 6, 7). Fermi-GPUs sitzen auf den im März vorgestellten GeForce-GTX-Modellen 470 und 480 und einigen weiteren, zwischenzeitlich eingeführten Modellen der 400er-Serie. Verbessert haben wollen die Kernel-Entwickler auch die Suspend- und Resume-Unterstützung für die Karten der GeForce-Familien bis einschließlich der 7000er-Serie sowie die Unterstützung für DisplayPort und Hotplug bei den GeForce-Serien 8000, 9000, 100, 200 und 300.

AMD

Der KMS-Treiber für Radeon-Karten beherrscht nun Underscan, um die Bildgröße besser auf digital angesteuerte Bildschirme anpassen zu können, die automatisch Overscan aktivieren. Der Treiber bietet jetzt auch Funktionen zum Auslesen der in neueren Radeon-GPUs integrierten Temperatursensoren, unterstützt bei Notebooks die Funktionstasten zum Aktivieren von externen Monitoranschlüssen besser und beherrscht die Audio-Ausgabe via HDMI bei den Mainboard-Chipsätzen RS600, RS690 und RS740.

Bei R300- und R500-Grafikchips bieten die Treiber nun alles nötige zur Nutzung der HyperZ genannten Beschleunigungsfunktionen rund um die Handhabung von Tiefeninformationen. Die Tiling-Untersütztung für die Grafikchips der R600, R700 und R800-Serien (2000er-Serie und später) soll die 2D- und 3D-Performance der Treiber steigen (u. a. 1, 2, 3)

Optimiertes Locking und neue Debugging-Möglichkeiten

DRM-Subsystem-Maintainer Dave Airlie erwähnt in seine Haupt-Git-Pull-Request noch einige weitere Neuerungen – das Big Kernel Lock (BKL) etwa wird ab 2.6.36 nur noch vom Treiber-Code für einige veraltete Intel-Grafikchips der 800er-Familie genutzt, was Skalierbarkeit und Performance des Codes verbessern sollte.

Über KDB-Entwickler Jason Wessel stieß ferner Unterstützung für die Debugger KGDB und den erst bei 2.6.35 integrierten KDB (Kernel Debugger) zum DRM-Code und dem Intel-KMS-Treiber. Zusammen mit Änderungen am KGDB/KDB-Code ermöglicht das mit dem Intel-Treiber den Wechsel auf eine Debugger-Shell, um dort etwa die Ursache für einen Absturz des X-Servers analysieren zu können, wenn der Wechsel auf eine Textkonsole nicht mehr möglich ist und keine serielle Konsole konfiguriert ist. Ein etwas älteres YouTube-Video demonstriert die Technik.

Die kleinen Perlen

Viele kleinere, aber keineswegs unbedeutende Neuerungen finden sich in der folgenden Liste mit den englischen Commit-Überschriften der jeweiligen Änderung. Die Einträge verlinken genau wie viele der Verweise im vorangegangenen Text auf das Webfrontend des von Linus Torvalds gepflegten Git-Zweigs mit den "offiziellen" Kernel-Quellen auf Kernel.org. Der über diese Links angezeigten Commit-Kommentar und der darunter ausgegebene Patch liefern zahlreiche weitere Informationen zur jeweiligen Änderungen.

Vor jedem Link finden sich in eckigen Klammern einige Buchstaben und Zahlen. Ein "C" kennzeichnet Patches mit Änderungen an Kconfig-Dateien, welche die Hilfetexte und Konfigurationsoptionen enthalten, die bei der Kernel-Konfiguration über "make menuconfig", "make xconfig" und ähnliche Werkzeuge angezeigt werden. Ein "D" steht bei Patches, die die Dokumentation verändern, die im Kernel-Zweig unterhalb von Documentation/ liegt. Ein "N" weist Änderungen aus, die eine neue Datei anlegen. Die Zahl vermittelt einen groben Eindruck zur Größe des Patches: eine "1" steht für Änderungen, die inklusive Kommentar zwischen 10 und 20 KByte groß sind, eine "2" für solche, die zwischen 20 und 30 KByte Umfang haben; Änderungen ohne Zahl sind kleiner als 10 KByte, Patches mit einer "9" hingegen 90 KByte oder größer.

    * [    ] agp/intel: Add actual definitions of the Sandybridge PTE caching bits.
    * [    ] agp/intel: Support the extended physical addressing bits on Sandybridge.
    * [    ] drm: add "auto" dithering method
    * [C   ] drm: add PCI requirements to low-level drivers.
    * [    ] drm: add per-event vblank event trace points
    * [C N2] drm: Add support for platform devices to register as DRM devices
    * [  N ] drm: add vblank event trace point
    * [   5] drm: block userspace under allocating buffer and having drivers overwrite it (v2)
    * [   2] drm/edid: Rewrite mode parse to use the generic detailed block walk
    * [    ] drm/i915: Add fixed panel mode parsed from EDID for eDP without fixed mode in VBT
    * [    ] drm/i915: Add the support of eDP on DP-D for Ibex/CPT
    * [    ] drm/i915: add tracepoints for flip requests & completions
    * [  N1] drm/i915: Enable aspect/centering panel fitting for Ironlake.
    * [    ] drm/i915: Enable RC6 on Ironlake.
    * [   1] drm/i915: Implement fair lru eviction across both rings. (v2)
    * [    ] drm/i915: Initialize LVDS and eDP outputs before anything else
    * [    ] drm/i915,intel_agp: Add support for Sandybridge D0
    * [   3] drm/i915/sdvo: Add missing TV filters
    * [   1] drm/i915: wait for actual vblank, not just 20ms
    * [C N1] drm: Import driver for the sil164 I2C TMDS transmitter.
    * [    ] drm/kms: add crtc disable function
    * [   1] drm: move ttm global code to core drm
    * [    ] drm/nouveau: Add another Zotac FX5200 TV-out quirk.
    * [    ] drm/nouveau: Add some generic I2C gadget detection code.
    * [    ] drm/nouveau: Add TV-out quirk for an MSI nForce2 IGP.
    * [   1] drm/nouveau: introduce gpio engine
    * [   1] drm/nouveau: remove ability to use external firmware
    * [    ] drm/nouveau: support fetching LVDS EDID from ACPI
    * [   1] drm/nv04-nv3x: Implement init-compute-mem.
    * [   1] drm/nv17-nv4x: Attempt to init some external TMDS transmitters.
    * [    ] drm/nv50: DCB quirk for Dell M6300
    * [    ] drm/nv50: set DP display power state during DPMS
    * [    ] drm/radeon: add new pci ids
    * [    ] drm/radeon/kms: add additional quirk for Acer rv620 laptop
    * [   1] drm/radeon/kms: add support for router objects
    * [    ] drm/radeon/kms/atom: add crtc disable function
    * [    ] drm/radeon/kms: don't enable MSIs on AGP boards
    * [    ] drm/radeon/kms: fix sideport detection on newer rs880 boards
    * [    ] drm/radeon/kms: mark 3D power states as performance
    * [    ] gpu/drm/i915: Add a blacklist to omit modeset on LID open
    * [    ] imxfb: add pwmr controlled backlight support
    * [    ] IPS driver: add GPU busy and turbo checking
    * [    ] s3c-fb: add default window feature.
    * [    ] s3c-fb: add support for display panning
    * [    ] s3c-fb: add wait for VSYNC ioctl
    * [   3] viafb: PLL value cleanup

Quelle und Links : http://www.heise.de/open/artikel/Kernel-Log-Was-2-6-36-bringt-1-Grafik-1074311.html
Titel: Kernel-Log – Was 2.6.36 bringt (2): Dateisysteme, Netzwerk und Storage
Beitrag von: SiLæncer am 21 September, 2010, 18:06
Der Kernel 2.6.36 enthält VFS-Optimierungen, bindet Ext3-Dateisysteme wieder standardmäßig mit "data=ordered" ein und kann Daten von Windows- oder Samba-Freigaben zur Performance-Steigerung lokal zwischenspeichern. Zahlreiche neue und überarbeitete Treiber verbessern die Unterstützung für Storage- und Netzwerk-Hardware.

In der Nacht vom Montag auf Dienstag hat Greg Kroah-Hartman die Stable-Kernel 2.6.27.53, 2.6.32.22 und 2.6.35.5 freigegeben. Sie bringen kleine Verbesserungen und Fehlerkorrekturen – darunter auch einige, die die kürzlich bekannt gewordene Lücke schließen, über die Anwender Root-Rechte erlangen können.

Kurz darauf und mit einem Tag Verspätung veröffentlichte Linus Torvalds die fünfte Vorabversion der für Oktober erwarteten Linux-Version 2.6.36. Das Kernel-Log nimmt das zum Anlass, die Mini-Serie "Was 2.6.36 bringt" mit der Beschreibung der Neuerungen rund um Dateisysteme sowie Infrastruktur und Treiber für Storage- und Netzwerk-Hardware fortzusetzen. Der erste Teil der Serie hatte sich mit den Änderungen rund um Grafik-Hardware beschäftigt; folgen werden in den kommenden Wochen noch Artikel zu Treibern für USB, FireWire, V4L/DVB und Co. sowie den Änderungen rund um Architektur-Code und Infrastruktur.

Optimiertes VFS

Bereits bei der Freigabe von Linux 2.6.35 hatte Torvalds erklärt, einige maßgeblich von Nick Piggin entwickelte Patches für 2.6.36 integrieren zu wollen, die den Virtual Filesystem Layer (VFS), der Dateisystemen Basis-Funktionen bereitstellt, an zahlreichen Stellen optimieren. Durch diese "VFS scalability patches" soll das VFS besser skalieren und einige Aufgaben auf den heute allgegenwärtigen Multiprozessor-Systemen deutlich flotter erledigen.

Piggin arbeite bereits seit längerem an diesen nicht gerade kleinen und alles andere als einfachen Änderungen, die bereits im Rahmen der Realtime-Zweigs ("RT-Tree") getestet wurden. Einige der vielversprechendsten Änderungen waren seiner Ansicht nach aber noch nicht reif für die Aufnahme, daher übermittelte er nur einen Teil seiner Patches – die zogen wenig später über den VFS-Maintainer in den Hauptentwicklungszweig, obwohl Torvalds die erste Vorabversion von 2.6.36 bereits einige Tagen zuvor freigegeben und damit das Merge Window eigentlich schon geschlossen hatte (u. a. 1, 2, 3, 4). Die fürs Erste zurück gehaltenen Änderungen sollen weitere Test durchlaufen und dürften vermutlich in Linux 2.6.37 einziehen.

Einige Hintergründe zur Patch-Sammlung von Piggin lieferte LWN.net in dem Artikel "Increasing VFS scalability" aus dem Herbst letzten Jahres; eine detaillierte Beschreibung der nun aufgenommenen Änderungen findet sich im Artikel "VFS scalability patches in 2.6.36" aus dem August dieses Jahres.

Dateisysteme

In der Standard-Konfiguration bindet der Kernel Ext3-Dateisysteme wieder mit dem Modus "data=ordered" ein. Das bietet mehr Sicherheit für die Daten als die Betriebsart "writeback" – sie hatten die Kernel-Entwickler erst bei 2.6.30 zum Standard erhoben, weil sie dem von Ext4 genutzten Ansatz ähnelt und bessere Performance verspricht. Im Superblock-Code von Ext4 haben die Entwickler nun einige Felder für das extern entwickelte Next3-Dateisystem reserviert – ein bei LWN.net näher beschriebenes Dateisystem auf Basis von Ext3, das Snapshots im Dateisystem realisiert.

Mit Hilfe von FS-Cache kann das Dateisystem CIFS zur Einbindung von Windows- oder Samba-Freigaben nun Daten lokal zwischenspeichern, um weitere Zugriffe zu beschleunigen. Den CIFS-Code zum Auflösen von Domainnamen haben die Kernel-Entwickler separiert, damit auch andere Dateisysteme ihn nutzen können. Der Client-Code für die Version 4 des NFS-Dateisystems gilt nicht mehr als experimentell; der NFS-Client-4.1 behält diese Einstufung zwar noch, verlor jedoch das Warnsiegel "Developer only". Das bei den Live-Medien vieler Distributionen eingesetzte Dateisystem Squashfs unterstützt nun die Kompression mit LZO, das für flottes Dekomprimieren bekannt ist.

Durch einige Änderungen am XFS-Code soll das Dateisystem an einigen Stellen performanter arbeiten, wie Christoph Hellwig im XFS status update for August 2010 schreibt. Das 9p-Dateisystem, eine Linux-Implementierung des remote filesystem von Plan 9, unterstützt nun auch die Linux-spezifische Variante 9P2000.L des 9P2000-Protokolls. Infos zu Änderungen an einigen weiteren Dateisystemen finden sich in den Git-Pull-Request für Ceph, Fuse, NILFS2 und OCFS2. Keine größeren Änderungen gab es in diesem Entwicklungszyklus bei Btrfs.

Storage

Die Device-Mapper-Targets linear, delay, stripe und mpath haben die Entwickler um Discard-Unterstützung erweitert – sofern auch Dateisystem und Storage-Hardware Discard unterstützen, kann der Kernel die über den Device Mapper angesprochenen Datenträger über frei gewordene Speicherbereiche informieren, was etwa Performance und Lebensdauer von SSDs verbessern kann. Das für Verschlüsselung zuständige Target crypt bietet noch keine Discard-Unterstützung.

Den RAID-6-Code des MD-Subsystem haben die Entwickler ausgelagert, damit der Btrfs-Dateisystemcode ihn in Zukunft nutzen kann. Der RAID5-Code im MD-Subsystem bietet ab 2.6.36 einige Einstiegspunkte, über die ein Device-Mapper-Target die RAID-5-Infrastuktur nutzen kann (1, 2) – der darauf aufbauende Device-Mapper-Code bliebt in diesem Entwicklungszyklus aber noch außen vor. Mit ihm soll langfristig das Userspace-Programm dmraid die HostRAID-5-Funktionen nutzbar machen, die viele modernere Mainboard-Chipsätze und günstiger RAID-Adapter bieten. Derzeit braucht es dazu einige Erweiterungen, die seit langem außerhalb des Hauptentwicklungszweigs von Linux gewartet werden.

Das auch Grundfunktionen für ATA- oder Fibre-Channel-Hardware bietende SCSI-Subsystem enthält jetzt die nötige Infrastruktur, um die zur Laufzeit greifenden Stromsparmodi von I/O-Geräten zu nutzen. Bislang nutzt diese allerdings keiner der dort liegenden PCI/PCIe-Treiber. Der Libata-Code bringt nun einen Treiber für den 460EX von AppliedMicro mit. Der QLogic-iSCSI-HBA-Treiber qla4xxx unterstützt nun auch den ISP82XX. Der Block-Layer bringt nun einen Treiber für die NAND-Chips von Intels auf Smartphones oder Slates abgestimmte Moorestown-Plattform mit. Der Block-Layer greift sich nun nicht mehr das Big Kernel Lock (BKL); einige weitere Block-Layer-Änderungen listet der Git-Pull-Request von Jens Axboe.

Netzwerk

Im Netzwerksubsystem gab es wieder eine Vielzahl von Änderungen – diesmal sind allerdings nicht ganz so viel wie sonst, daher bekommt der Netzwerk-Code in der "Was 2.6.36 bringt"-Serie keinen eigenen Artikel.

Der Treiber qlcnic für LAN-Chips von Qlogic unterstützt nun eine Partitionierung des Chips in mehrere NICs (u. a. 1, 2). Dank SR-IOV kann der neue und für Gastsysteme gedachte Treiber cxgb4vf nun direkt auf Teilfunktionen einiger der unterstützten 1- und 10-Gigabit-Netzwerkchips von Chelsio zugreifen; genau wie bei anderen SR-IOV-Treibern soll das Latenzen und CPU-Belastung bei Netzwerktransfers reduzieren und den Datendurchsatz steigern (u. a. 1, 2, 3, 4, 5). Der Treiber e1000e unterstützt nun auch den Intel-PHY 82579, der Broadcom-LAN-Treiber tg3 den Baustein BCM5719 und der Atheros-LAN-Treiber atl1c die Version 2 des Chips AR8151. Neu zum Kernel stieß der Treiber pxa168 für den gleichnamigen Netzwerk-Baustein von Marvell.

Auch die WLAN-Treiber wurden um Unterstützung für neue Chips erweitert; der Atheros-WLAN-Treiber ath9k etwa versteht sich nun mit der Version 2.2 des AR9003-Chips. Der aus dem Madwifi-Projekt hervorgegangene Minstrel Rate Control Algorithmus zum automatischen Ausbaldowern des besten Übertragungsverfahrens unterstützt nun auch den Übertragungen nach 802.11n. Der iPhone-Tethering-Treiber ipheth versteht sich jetzt mit dem iPhone 4.

Das neue Checksum-Target im Netfilter-Code kann Pakete mit einer Checksumme versorgen, damit Anwendungen (u. a. alte DHCP-Client-Software) arbeiten, die durch Checksummen-Behandlung durch die Hardware verwirrt werden. Der im Merge-Window von David Miller versandten Git-Pull-Request listet einige weitere Änderungen des von ihm betreuten Netzwerk-Subsystems (1, 2, 3). Er erwähnt beispielsweise kurz eine Reihe von Optimierungen, die Eric Dumazet vorgenommen hat, um die Performance zu verbessern. Speziell die Skalierbarkeit verbessern sollen einige von Tom Herbert eingebrachte Änderungen am für /proc/net/tcp zuständigen Code.

Die kleinen Perlen: Netzwerk

Viele kleinere, aber keineswegs unbedeutende Neuerungen finden sich in der folgenden Liste mit den englischen Commit-Überschriften der jeweiligen Änderung. Die Einträge verlinken genau wie viele der Verweise im vorangegangenen Text auf das Webfrontend des von Linus Torvalds gepflegten Git-Zweigs mit den "offiziellen" Kernel-Quellen auf kernel.org. Der über diese Links angezeigten Commit-Kommentar und der darunter ausgegebene Patch liefern zahlreiche weitere Informationen zur jeweiligen Änderungen.

Vor jedem Link finden sich in eckigen Klammern einige Buchstaben und Zahlen. Ein "C" kennzeichnet Patches mit Änderungen an Kconfig-Dateien, welche die Hilfetexte und Konfigurationsoptionen enthalten, die bei der Kernel-Konfiguration über "make menuconfig", "make xconfig" und ähnliche Werkzeuge angezeigt werden. Ein "D" steht bei Patches, die die Dokumentation verändern, die im Kernel-Zweig unterhalb von Documentation/ liegt. Ein "N" weist Änderungen aus, die eine neue Datei anlegen. Die Zahl vermittelt einen groben Eindruck zur Größe des Patches: eine "1" steht etwa für Änderungen, die inklusive Kommentar zwischen 10 und 20 KByte groß sind, eine "2" für solche, die zwischen 20 und 30 KByte Umfang haben; Änderungen ohne Zahl sind kleiner als 10 KByte, Patches mit einer "9" hingegen 90 KByte oder größer.

LAN


    * [    ] 3c59x: Add ethtool WOL support
    * [    ] be2net: add vlan support for sriov virtual functions
    * [    ] be2net: bump the driver version number
    * [    ] be2net: code to support tx rate configuration on virtual functions
    * [    ] be2net: enable ipv6 tso support
    * [    ] bnx2: Always enable MSI-X on 5709.
    * [    ] bnx2: Update version to 2.0.16.
    * [    ] bnx2: Update version to 2.0.17.
    * [  N ] bnx2x: Create separate folder for bnx2x driver
    * [    ] broadcom: Add 5241 support
    * [    ] cnic: Update version to 2.1.3.
    * [    ] cxgb4: add new PCI IDs
    * [    ] cxgb4: update driver version
    * [C  1] drivers/net: Add Micrel KS8841/42 support to ks8842 driver
    * [    ] e1000e: 82577/82578 PHY register access issues
    * [    ] e1000e: correct MAC-PHY interconnect register offset for 82579
    * [    ] e1000e: disable ASPM L1 on 82573
    * [    ] e1000e: disable EEE support by default
    * [    ] e1000e: enable support for EEE on 82579
    * [    ] e1000e: update driver version number
    * [    ] e100/e1000*/igb*/ixgb*: Add missing read memory barrier
    * [    ] enic: Feature Add: Add loopback capability to enic devices
    * [C   ] enic: Feature Add: Replace LRO with GRO
    * [    ] hso: Add new product ID
    * [    ] hso: remove driver version
    * [    ] igb: add support for SGMII-based MDIO PHYs
    * [ DN ] igb.txt: Add igb documentation
    * [ DN ] igbvf.txt: Add igbvf Documentation
    * [    ] ixgbe: add 1g PHY support for 82599
    * [    ] ixgbe: fix version string for ixgbe
    * [   3] ixgbe: Use netdev_<level>, dev_<level>, pr_<level>
    * [    ] ixgbevf: Enable GRO by default
    * [    ] ixp4xx: Support the all multicast flag on the NPE devices.
    * [   1] ks8842: Support DMA when accessed via timberdale
    * [    ] macvlan: 64 bit rx counters
    * [    ] MAINTAINERS: Add ehea driver as Supported
    * [    ] micrel phy driver - updated(1)
    * [    ] mlx4: add dynamic LRO disable support
    * [    ] net: add additional lock to qdisc to increase throughput
    * [    ] net/nuc900: enable Mac driver clock
    * [C   ] net: sh_eth: add support for SH7757's ETHER
    * [C N1] net: support time stamping in phy devices.
    * [    ] pcnet_cs: add new_id
    * [    ] phy/marvell: add 88e1121 interface mode support
    * [    ] phy/marvell: add 88ec048 support
    * [    ] qeth: Add new s390 debug feature for each qeth card
    * [    ] qeth: IP address takeover flag setting
    * [    ] qlcnic: aer support
    * [    ] qlcnic: update version to 5.0.6
    * [    ] qlge: Change version to v1.00.00.25.00.00-01.
    * [    ] r6040: bump version to 0.26 and date to 30 May 2010
    * [C  1] r6040: implement phylib
    * [    ] s2io: add dynamic LRO disable support
    * [    ] sfc: Add support for RX flow hash control
    * [   1] sfc: Implement ethtool register dump operation
    * [   9] sfc: Implement message level control
    * [    ] sysfs: add attribute to indicate hw address assignment type
    * [    ] tg3: Add 5719 PCI device and phy IDs
    * [    ] tg3: Add 5784 ASIC rev to earlier PCIe MPS fix
    * [    ] tg3: Improve small packet performance
    * [    ] tg3: Update version to 3.111
    * [    ] tg3: Update version to 3.112
    * [    ] tg3: Update version to 3.113
    * [   1] tulip: implement wake-on-lan support
    * [    ] via-velocity: Turn scatter-gather support back off.
    * [    ] vlan: 64 bit rx counters
    * [    ] vxge: Version update

WLAN

    * [  N ] ath5k: add sysfs files for ANI parameters
    * [    ] ath9k: Add a module parameter to disable led blinking.
    * [   6] ath9k: add new ANI implementation for AR9003
    * [   3] ath9k: Add three stream rate control support for AR938X.
    * [    ] ath9k/ath9k_htc: remove redundand checks for dual-stream tx support
    * [    ] ath9k: enable AR9003 PCI IDs
    * [   1] ath9k: Enable Short GI in 20 Mhz for ar9287 and later chips
    * [    ] ath9k_htc: Add LED support for AR7010
    * [    ] ath9k_htc: Add support for AR7010
    * [    ] ath9k_htc: Enable RX STBC for AR9271
    * [    ] ath9k_htc: Enable SGI in HT20 for AR9271
    * [    ] ath9k_htc: Setup 5GHz channels
    * [    ] ath9k_htc: Update supported product list
    * [    ] ath9k_hw: add multicast key search support
    * [   1] ath9k_hw: add support for the AR9003 baseband watchdog
    * [    ] ath9k_hw: enable ANI for AR9003
    * [    ] ath9k_hw: Enable auto sleep for ar9003
    * [    ] ath9k_hw: Enable TX IQ calibration on AR9003
    * [    ] ath9k_hw: fix ASPM setting for AR9003
    * [    ] ath9k: implement PA predistortion support
    * [    ] b43: Add SDIO_DEVICE() for EW-CG1102GC
    * [    ] cfg80211: don't refuse HT20 channels on devices that don't support HT40
    * [    ] eeprom_93cx6: Add support for 93c86 EEPROMs.
    * [ D  ] ipw2200: Enable LED by default
    * [    ] iwlagn: add bluetooth stats to debugfs
    * [    ] iwlagn: add .cfg flag to idenfity the need for bt statistics
    * [    ] iwlagn: add statistic notification structure for WiFi/BT devices
    * [   2] iwlagn: Add support for bluetooth statistics notification
    * [    ] iwlwifi: add disable rf calibration support for 6000g2a and 6000g2b
    * [   1] iwlwifi: adding enhance sensitivity table entries
    * [    ] iwlwifi: add mac80211 flush callback support
    * [    ] iwlwifi: add new PCI IDs for 6000g2 devices
    * [    ] iwlwifi: add support for device tx flush request
    * [    ] iwlwifi: enable 6050 series Gen2 devices
    * [   1] iwlwifi: enable DC calibration based on config parameter
    * [   1] iwlwifi: enable remaining 6000 Gen2 devices
    * [    ] iwlwifi: read multiple MAC addresses
    * [   1] iwlwifi: support channel switch offload in driver
    * [   1] Libertas: Added 11d support using cfg80211
    * [   1] libertas: Added callback functions to support SDIO suspend/resume.
    * [    ] libertas: Added support for host sleep feature
    * [   9] Libertas: cfg80211 support
    * [    ] mac80211: Add interface for driver to temporarily disable dynamic ps
    * [    ] mac80211: Add support for hardware ARP query filtering
    * [   2] mac80211: bracket driver tracing
    * [    ] mac80211: inform drivers about the off-channel status on channel changes
    * [    ] mac80211: move QoS-enable to BSS info
    * [   1] mac80211: simplify key locking
    * [   1] mac80211: use RCU for RX aggregation
    * [    ] MAINTAINERS: mark adm8211 as an orphan
    * [    ] MAINTAINERS: mark prism54 obsolete
    * [    ] MAINTAINERS: orphan the raylink wireless driver
    * [    ] MAINTAINERS: orphan the zd1201 wireless driver
    * [    ] mwl8k: change maintenance status
    * [    ] nl80211: Add option to adjust transmit power
    * [    ] p54pci: Add PCI ID for SMC2802W
    * [    ] Revert "p54pci: Add PCI ID for SMC2802W"
    * [   1] rt2x00: Convert rt2x00 to use threaded interrupts
    * [    ] rt2x00: Enable fallback rates for rt61pci and rt73usb
    * [    ] rt2x00: Enable HW crypto by default
    * [    ] rt2x00: Enable multiBSS in rt2800
    * [    ] rt2x00: Implement broad- and multicast buffering
    * [    ] rt2x00: Implement tx mpdu aggregation
    * [   1] rt2x00: Implement watchdog monitoring
    * [    ] rt2x00: Remove RT2870 chipset identification.
    * [   2] wireless: only use alpha2 regulatory information from country IE
    * [    ] wl1271: Add support for NVS files with 5GHz band parameters
    * [   1] wl1271: rewritten scanning code
    * [    ] zd1211rw: add 0x49 -> JP regulatory domain map

Netzwerk-Stack, Bluetooth, Netfilter, ...

    * [ D  ] arp_notify: document that a gratuitous ARP request is sent when this option is enabled
    * [    ] Bluetooth: Add blacklist support for incoming connections
    * [    ] Bluetooth: Added support for controller shipped with iMac i5
    * [    ] Bluetooth: Disconnect early if mode is not supported
    * [    ] Bluetooth: Don't send RFC for Basic Mode if only it is supported
    * [    ] Bluetooth: Enable L2CAP Extended features by default
    * [C   ] Bluetooth: Remove L2CAP Extended Features from Kconfig
    * [C N ] Bluetooth: Support for Atheros AR300x serial chip
    * [    ] bonding: add all_slaves_active parameter
    * [ D 1] bonding: allow user-controlled output slave selection
    * [    ] bridge: add per bridge device controls for invoking iptables
    * [    ] bridge: Fix netpoll support
    * [CDN4] caif-driver: Add CAIF-SPI Protocol driver.
    * [C N2] can: Add driver for esd CAN-USB/2 device
    * [C N2] CAN: Add Flexcan CAN controller driver
    * [    ] can: add limit for nframes and clean up signed/unsigned variables
    * [ D  ] Documentation/isdn: CAPI controller interface amendment
    * [    ] ethtool: Add support for control of RX flow hash indirection
    * [    ] fragment: add fast path for in-order fragments
    * [   1] inetpeer: RCU conversion
    * [ D  ] ipconfig: document DHCP hostname and DNS record
    * [    ] ipv4: add LINUX_MIB_IPRPFILTER snmp counter
    * [C   ] ipv4: minor fix about RPF in help of Kconfig
    * [   1] ipv6: Refactor update of IPv6 flowi destination address for srcrt (RH) option
    * [C   ] IPVS: make friends with nf_conntrack
    * [C  1] IPVS: make FTP work with full NAT support
    * [C   ] ipvs: remove EXPERIMENTAL tag
    * [   1] isdn: autoconvert trivial BKL users to private mutex
    * [ D  ] isdn/gigaset: document dial-out number format
    * [CD  ] isdn/gigaset: remove EXPERIMENTAL tag from GIGASET_CAPI
    * [    ] loopback: Implement 64bit stats on 32bit arches
    * [    ] MAINTAINERS: Add CAIF
    * [  N ] net: added a BPF to help drivers detect PTP packets.
    * [   1] net: Enable 64-bit net device statistics on 32-bit architectures
    * [C N ] netfilter: add xt_cpu match
    * [CD  ] netfilter: complete the deprecation of CONFIG_NF_CT_ACCT
    * [    ] netfilter: ipt_LOG/ip6t_LOG: add option to print decoded MAC header
    * [    ] netfilter: nf_nat: support user-specified SNAT rules in LOCAL_IN
    * [C N1] netfilter: xtables: idletimer target implementation
    * [C N ] netfilter: xt_ipvs (netfilter matcher for IPVS)
    * [   1] net: optimize Berkeley Packet Filter (BPF) processing
    * [ D  ] packet_mmap: expose hw packet timestamps to network packet capture utilities
    * [ D  ] pktgen: increasing transmission granularity
    * [    ] sfc: Implement 64-bit net device statistics on all architectures
    * [    ] syncookies: add support for ECN

Die kleinen Perlen: Storage

Block Layer

    * [    ] block: add function call to switch the IO scheduler from a driver
    * [    ] block: add secure discard
    * [    ] block: add sysfs knob for turning off disk entropy contributions
    * [   3] block: push down BKL into .locked_ioctl
    * [   4] block: push down BKL into .open and .release
    * [    ] block: update request stacking methods to support discards
    * [   2] cciss: add performant mode support for Stars/Sirius
    * [    ] cciss: new controller support and bump driver version
    * [ DN ] cfq-iosched: Documentation help for new tunables
    * [    ] cfq-iosched: Implement tunable group_idle
    * [   1] drbd: revert "delay probes", feature is being re-implemented differently
    * [C N2] spectra: Add basic mtd support
    * [C   ] spectra: Clean up emulation vs. hardware backend support
    * [    ] spectra: Make it build as a module
    * [C   ] spectra: Move to drivers/staging
    * [C   ] spectra: Rename config options
    * [    ] writeback: add new tracepoints
    * [    ] writeback: Add tracing to balance_dirty_pages
    * [    ] writeback: Add tracing to write_cache_pages
    * [  N ] writeback: Initial tracing support

Libata

    * [    ] ahci: AHCI and RAID mode SATA patch for Intel Patsburg DeviceIDs
    * [C N1] ARM: pata_pxa: DMA-capable PATA driver
    * [    ] ata_piix: IDE Mode SATA patch for Intel Patsburg DeviceIDs
    * [C N2] [libata] Add Samsung PATA controller driver, pata_samsung_cf
    * [    ] libata: more PCI IDs for jmicron controllers
    * [C  1] libata: remove no longer needed pata_winbond driver
    * [    ] libata-sff: Reenable Port Multiplier after libata-sff remodeling. [    ] sata_mv: fix broken DSM/TRIM support (v2)

MFD/MMC/MTD

    * [C N1] mfd: Add JZ4740 ADC driver
    * [    ] mfd: Add stmpe auto sleep feature
    * [C N3] mfd: Add STMPE I/O Expander support
    * [C N ] mfd: Add support for TWL6030 PWM
    * [C N1] mfd: Add TPS6586x driver
    * [    ] mfd: Add WM8321 support
    * [C   ] mfd: More verbose MFD Kconfig entry
    * [ DN3] mmc: add erase, secure erase, trim and secure trim operations
    * [    ] mmc: add ricoh e822 pci id
    * [C N2] MMC: Add support for the controller on JZ4740 SoCs.
    * [    ] mmc_block: add discard support
    * [    ] mmc_block: add support for secure discard
    * [    ] mmc: implement SD-combo (IO+mem) support
    * [C   ] mmc: msm_sdcc: Compile the driver for msm7x30
    * [   2] mmc_test: add performance tests
    * [    ] mtd: add an ioctl to query the lock status of a flash sector
    * [    ] mtd: denali: Add multi connected NAND support
    * [    ] mtd: ixp4xx: add support for static flash partitions
    * [    ] mtd: m25p80: Add support for Macronix 25L8005
    * [    ] mtd: m25p80: add support for the EON EN25P{32, 64} SPI flash chips
    * [    ] mtd: m25p80: add support for the Intel/Numonyx {16,32,64}0S33B SPI flash chips
    * [    ] mtd: m25p80: add support for the Winbond W25Q32 SPI flash chip
    * [C N1] MTD: Nand: Add JZ4740 NAND driver
    * [    ] mtd: nand_ids: add two entries for NAND chips
    * [    ] mtd-physmap: add support users can assign the probe type in board files
    * [C   ] mtd: remove redwood map driver
    * [C  1] mxc_nand: Add v3 (i.MX51) Support
    * [    ] mxc_nand: support 8bit ecc
    * [C   ] s5pc110: SDHCI-s3c support on s5pc110
    * [    ] sdhci: add no hi-speed bit quirk support
    * [    ] sdhci: add regulator support
    * [    ] sdhci-s3c: add SDHCI_QUIRK_DATA_TIMEOUT_USES_SDCLK quirk
    * [    ] sdhci-s3c: add support for new card detection methods [    ] sdhci-s3c: add support for the non standard minimal clock value

SCSI

    * [ DN1] Documentation: move SCSI parameters to their own text file
    * [   2] qlcnic: Add support for configuring eswitch and npars
    * [   8] SCSI: arcmsr: Support 1024 scatter-gather list entries and improve AP while FW trapped and behaviors of EHs
    * [    ] SCSI: be2iscsi: Adding crashdump support
    * [   2] SCSI: be2iscsi: Add support for iscsi boot
    * [    ] SCSI: be2iscsi: Driver Version change to 2.0.549.0
    * [  N1] SCSI: bfa: add debugfs support
    * [    ] SCSI: bfa: add description for module parameters
    * [   1] SCSI: bfa: add dynamic queue selection
    * [  N1] SCSI: bfa: enable basic PBC support
    * [   2] SCSI: bfa: enable new hardware
    * [   1] SCSI: bfa: PBC vport create
    * [   2] SCSI: bfa: statistics and typo fix
    * [    ] SCSI: bfa: update driver version string
    * [    ] SCSI: bfa: update to support BOFM
    * [    ] SCSI: bfa: update to support firmware configuation
    * [    ] SCSI: bnx2i: Updated version from 2.1.1 to 2.1.2
    * [  N ] SCSI: convert to the new PM framework
    * [    ] SCSI: fcoe: adds src and dest mac address checking for fcoe frames
    * [    ] SCSI: fcoe: config via separate create_vn2vn module parameter
    * [    ] SCSI: hpsa: add entry to MAINTAINERS
    * [ DN ] SCSI: hpsa: Add hpsa.txt to Documentation/scsi
    * [    ] SCSI: hpsa: add new controllers
    * [ D  ] SCSI: hpsa: expose controller firmware revision via /sys.
    * [    ] SCSI: hpsa: Make "hpsa_allow_any=1" boot param enable Compaq Smart Arrays.
    * [    ] SCSI: ibmvfc: Driver version 1.0.8
    * [    ] SCSI: ibmvfc: Driver version 1.0.9
    * [    ] SCSI: ibmvscsi: Driver version 1.5.9
    * [    ] SCSI: ipr: add endian swap enablement for 64 bit adapters
    * [    ] SCSI: ipr: add support for new Obsidian-E embedded adapter
    * [    ] SCSI: libfc: add discovery-private pointer for LLD
    * [   1] SCSI: libfc: add FLOGI state to rport for VN2VN
    * [    ] SCSI: libfc: add interface to allocate a sequence for incoming requests
    * [    ] SCSI: libfc: Add local port point-to-multipoint flag
    * [    ] SCSI: libfcoe: add protocol description of FIP VN2VN mode
    * [    ] SCSI: libfcoe: add state change debugging
    * [   4] SCSI: libfcoe: fcoe: fnic: add FIP VN2VN point-to-multipoint support
    * [   2] SCSI: lpfc 8.3.13: Add TX Queue Support for SLI4 ELS commands.
    * [    ] SCSI: lpfc 8.3.13: FC Discovery Fixes and enhancements.
    * [    ] SCSI: lpfc 8.3.13: Initialization code clean up and fixes.
    * [    ] SCSI: lpfc 8.3.13: Misc fixes
    * [    ] SCSI: lpfc 8.3.13: SCSI specific changes
    * [    ] SCSI: lpfc 8.3.13: Update Driver Version to 8.3.13
    * [   1] SCSI: lpfc 8.3.14: FCoE Discovery Fixes
    * [   1] SCSI: lpfc 8.3.14: PCI fixes and enhancements
    * [    ] SCSI: lpfc 8.3.14: SCSI and SLI API fixes
    * [    ] SCSI: lpfc 8.3.14: Update Driver version to 8.3.14
    * [    ] SCSI: lpfc 8.3.15: Add target queue depth throttling
    * [    ] SCSI: lpfc 8.3.15: Update driver version 8.3.15
    * [    ] SCSI: lpfc 8.3.16: Change LPFC driver version to 8.3.16
    * [   1] SCSI: lpfc 8.3.16: FCoE Discovery and Failover Fixes
    * [   1] SCSI: lpfc 8.3.16: SLI Additions, updates, and code cleanup
    * [   1] SCSI: mpt2sas: Added expander phy control support
    * [    ] SCSI: mpt2sas: Added expander phy counter support
    * [    ] SCSI: mpt2sas: Added sysfs counter for ioc reset
    * [    ] SCSI: mpt2sas: Added sysfs support for trace buffer
    * [    ] SCSI: mpt2sas: Bump version 06.100.00.00
    * [    ] SCSI: mpt2sas: DIF Type 2 Protection Support
    * [   3] SCSI: mpt2sas: MPI header version N is updated.
    * [    ] SCSI: mpt2sas: staged device discovery. disable_discovery module parameter is added.
    * [    ] SCSI: mptfusion: Added code for occationally SATA hotplug failure.
    * [    ] SCSI: mptfusion: Bump version 03.04.16
    * [    ] SCSI: mptfusion: Bump version 03.04.17
    * [   8] SCSI: pmcraid: MSI-X support and other changes
    * [    ] SCSI: qla2xxx: Add CT passthru support for ISP23xx adapters
    * [   1] SCSI: qla2xxx: Add internal loopback support for ISP81xx.
    * [    ] SCSI: qla2xxx: Check for golden firmware and show version if available
    * [    ] SCSI: qla2xxx: Support for loading Unified ROM Image (URI) format firmware file.
    * [    ] SCSI: qla2xxx: T10 DIF enablement for 81XX
    * [    ] SCSI: qla2xxx: T10 DIF Type 2 support
    * [    ] SCSI: qla2xxx: Updated version number to 8.03.03-k0.
    * [    ] SCSI: qla2xxx: Update version number to 8.03.04-k0.
    * [   1] SCSI: qla4xxx: Added AER support for ISP82xx
    * [    ] SCSI: qla4xxx: Update driver version to 5.02.00-k2
    * [    ] SCSI: qla4xxx: Update driver version to 5.02.00-k3
    * [C   ] SCSI: scsi: add Kconfig dependency on NET
    * [   9] SCSI: SCSI: Support Type C RAID controller
    * [    ] SCSI: sd: add support for runtime PM
    * [    ] SCSI: zfcp: Enable data division support for FCP devices
    * [C  1] SCSI: zfcp: Introduce experimental support for DIF/DIX
    * [C N ] sdhci-pltfm: add support for CNS3xxx SoC devices

Various

    * [C N2] dmaengine: Driver for Topcliff PCH DMA controller
    * [ D  ] dm: allow autoloading of dm mod
    * [    ] dm snapshot: implement merge
    * [C N2] ibft: separate ibft parsing from sysfs interface
    * [C N4] intel_mid: Add Mrst & Mfld DMA Drivers
    * [    ] md: add support for raising dm events.
    * [    ] md/bitmap: prepare for storing write-intent-bitmap via dm-dirty-log.
    * [    ] RDMA/cxgb4: Add module option to tweak delayed ack
    * [    ] RDMA/cxgb4: Add timeouts when waiting for FW responses
    * [   1] RDMA/cxgb4: Support variable sized work requests [  N1] Rename raid6 files now they're in a 'raid6' directory.

Quelle und Links : http://www.heise.de/open/kernel-log-3007.html
Titel: Kernel-Log – Was 2.6.36 bringt (3): Infrastruktur
Beitrag von: SiLæncer am 02 Oktober, 2010, 09:29
AppArmor, Einstiegspunkte für On-Access-Virenscanner, ein neu geschriebener Out of Memory Killer sowie Grundlagen für Xen-Dom0-Code sind einige der wichtigsten Neuerungen des Linux-Kernel 2.6.36. Dank einiger Umstrukturierungen wird diese Version trotz mehrerer hunderttausend Zeilen neuen Codes etwas kleiner als ihr Vorgänger.

Am Mittwoch früh hat Linus Torvalds die sechste Vorabversion von Linux 2.6.36 freigegeben. Dabei deutete er an, bald 2.6.36 freigeben zu wollen, vielleicht aber doch noch eine weitere Vorabversion einzuschieben.

Das Kernel-Log nimmt das zum Anlass, die Mini-Serie "Was 2.6.36 bringt" mit der Beschreibung der Neuerungen rund um Dinge wie Speicherverwaltung, Build-System und die Unterstützung für verschiedene CPU- und System-Architekturen fortzusetzen. Der erste Teil der Serie hatte sich mit den Änderungen rund um Grafik-Hardware beschäftigt, der zweite mit Dateisystemen, Storage- und Netzwerk-Hardware; ein vierter Teil zu den Änderungen rund um ACPI, PCI, Power-Management und den Treibern für USB, FireWire, V4L/DVB und Co. wird die Mini-Serie in einigen Tagen abschließen.

Security

Nachdem sich die Entwickler der 2006 von Novell offengelegten AppArmor mehrere Jahre erfolglos um die Aufnahme des Kernel-Codes der Sicherheitserweiterung bemüht hatten, stieß dieser nun in der Version 2.6.36 endlich zum Kernel (u. a. 1, 2, 3, Dokumentation). Ähnlich wie SELinux kann AppArmor Anwendungen auf festgelegte Aktionen beschränken; Angreifer, die über eine Sicherheitslücke etwa in einer Server-Software Zugang zum System erhalten, können daher nur begrenzt Schaden anrichten.

AppArmor steht in dem Ruf, leichter administrierbar zu sein als SELinux. Letzteres wird von Red Hat favorisiert und kommt unter anderem bei Red Hat Enterprise Linux (RHEL) und Fedora zum Einsatz. Novell hatte sich lange auf AppArmor konzentriert, 2007 aber von der eigenen AppArmor-Entwicklungsabteilung getrennt und seit 2008 auch SELinux eingesetzt. Dadurch verlangsamte sich die AppArmor-Entwicklung erheblich, bis John Johansen ihr Anfang des Jahres neuen Schwung verlieh und schließlich auch die Aufnahme in den offiziellen Kernel vorantrieb. Johansen arbeitete früher bei Novell und kümmert sich derzeit bei Canonical maßgeblich um die Integration von AppArmor in Ubuntu.

Zahlreiche Anläufe und mehrere Jahre hatte auch das aus TALPA hervorgegangene Fanotify gebraucht, bevor Torvalds es nun integrierte (u. a. 1, 2, 3). Es baut auf dem bei 2.6.31 integrierten Fsnotify auf und bietet Einstiegspunkte, über die sich beispielsweise Virenscanner einklinken können, um Dateien beim Zugriff auf Schadsoftware zu überprüfen, bevor deren Inhalt ausgeliefert wird ("On-Access-Scan"). Einige Hintergründe zur Funktionsweise von Fanotify sowie den Problemen früherer Fanotify-Ausführungen liefern mehrere LWN.net-Artikel (u. a. 1, 2, 3).

Memory- und Thread-Management

Erheblich verändert und in weiten Teilen neu geschrieben haben die Kernel-Entwickler den Out of Memory (OOM) Killer, der bei Speichermangel Prozesse abschießt, damit das System weiterarbeiten kann (1, 2, 3). Durch diese Änderungen gilt die OOM-Feinjustage via /proc/<pid>/oom_adj nun als "deprecated" und soll im August 2012 verschwinden. Weitere Hintergründe zu den Änderungen am OOM liefert LWN.net in dem Artikel "Another OOM killer rewrite".

Integriert haben die Kernel-Hacker auch die "Concurrencey Managed Workqueues", welche die Handhabung von Kernel-Threads optimieren (u.a. 1, Dokumentation). Dadurch soll der Kernel die Ressourcen effizienter nutzen, besser skalieren und auf vielen Systemen mit weniger Threads auskommen – letzteres werden auch Anwender bemerken, denn dadurch verkürzt sich die Liste der bei ps -A ausgegeben Kernel-Threads. Weitere Vorteile sowie Gründe für die Änderungen liefert der Entwickler in einer detaillierten Mail zu seinen Patches und im Rahmen des Git-Pull-Request; LWN.net hat im Herbst letzten Jahres einen Artikel zu den Concurrencey Managed Workqueues verfasst.

Architektur-Code

Die Liste der vom Kernel unterstützen Prozessor-Architekturen wächst mit 2.6.36 abermals und umfasst nun auch die von Tilera entwickelten 32-Bit-Prozessoren TILEPro and TILE64 (u. a. 1, 2, 3). Bei ihnen handelt es sich um MIPS-ähnliche VLIW-Prozessoren mit vielen Kernen, die über ein iMesh-Netzwerk miteinander kommunizieren. Da sie recht sparsam arbeiten, lassen sich so über 10.000 Prozessorkerne in einem Server-Rack unterbringen. Aus dem Android-Umfeld stießt Unterstützung für Nvidias Tegra-Prozessoren zum Kernel, die auf der ARM-Architektur aufbauen (u. a. 1, 2, 3). Ferner enthält der Kernel nun zirka 90 Prozent der Treiber für das Ben NanoNote (u. a. 1, 2, 3, 4, 5, 6, 7, 8) – ein Pocket-Computer mit offener Hardware-Plattform, der seit dem Frühjahr auch in Europa erhältlich ist.
KVM-Maintainer Avi Kivity schreibt in seinem Git-Pull-Request, es gäbe für 2.6.36 keine größeren neue Features bei KVM. Er deutet aber einige Performance-Optimierungen an und erwähnt die Unterstützung für die Prozessor-Befehle Xsave (1, 2) und AVX (Intel Advanced Vector Extension) in Gastsystemen.
Einen Überblick über Änderungen am Xen-Code geben die Git-Pull-Requests von Jeremy Fitzhardinge und Konrad Rzeszutek Wilk. Durch die von Ersterem gesammelten Patches lassen sich Paravirt-Treiber nun auch in vollvirtualisierten Domains ("pv-on-hvm") nutzen; durch die anderen Änderungen kann Linux als paravirtualisiertes Gastsystem über eine Art virtuelle IOMMU auf PCI-Geräte zugreifen, die der der Wirt (Dom0) bereitstellt (u. a. 1). Einige der Änderungen legen ferner Grundlagen, auf dem Code zum Betrieb des Linux-Kernels als "initial domain" aufbauen soll – eine Art abgespeckter Dom0-Unterstützung. Dieser Code wird derzeit auf der LKML diskutiert und könnte bei einer der nächsten Versionen in den Hauptentwicklungszweig von Linux einziehen.

Verschlankt

Der Kbuild-Code bietet nun vier neue Targets:

    * "oldnoconfig" ersetzt "loose_nonint_oldconfig" und setzt alle Konfigurationsoptionen in der Kernel-Konfigurationsdatei ".config" auf "no", die zuvor nicht gesetzt waren.
    * "listnewconfig" ersetzt "nonint_oldconfig" und listet alle in der ".config" bislang nicht gesetzten Optionen.
    * "alldefconfig " erstellt eine ".config", in der alle Optionen die Einstellungen erhalten, wie sie die Kconfig-Dateien als Standard vorgeben.
    * "savedefconfig" schreibt eine "defconfig" genannte Konfigurationsdatei, in der nur die Optionen verzeichnet sind, die sich von den Standardvorgaben der Kconfig-Dateien unterscheiden.

Mit Hilfe von letzterem Make-Target haben die Entwickler dutzende Standard-Konfigurationsdateien für die verschiedenen vom Linux-Kernel unterstützten System- bzw. Prozessor-Architekturen erzeugt, welche die bisherigen Standard-Konfigurationsdateien ersetzen. Da Letztere zuvor auch Einträge für alle Optionen enthielten, die die Kconfig-Dateien des Kernels als Standard vorgaben, ist der entsprechende Commit knapp 6 MByte riesig und entfernt über zweihundertausend Zeilen in den Kernel-Quellen.

Bereits zuvor hatten die Verwalter der Unterstützung für Itanium (IA64) und Power ihre Konfigurationsdateien auf diese Weise verschlankt (1, 2). All diese Änderungen sind der Hauptgrund, warum der Quellcode von 2.6.36 ein wenig kleiner sein dürfte als sein direkter Vorgänger – das ist überaus ungewöhnlich, denn in den letzten Jahren wuchs der Kernel mit jeder neuen Version um mehrere hunderttausend Zeilen.

Begonnen hatte die Diät für die Standard-Konfigurationsdateien bereits bei 2.6.35, wo die Kernel-Entwickler die Dateien für ARM-Systeme verschlankten. Für den Anwender ändert sich durch das Ganze nichts, denn wie bisher erzeugt ein "make defconfig" eine Basis-Konfigurationsdatei für das eigene System.

Verschiedenes

    * Die Kernel-Hacker haben die Nutzung des Big Kernel Lock (BKL) im Infrastruktur-Code und zahlreichen Treibern weiter reduziert – unter anderem auch im TTY-Subsystem, was selbst einige der erfahrensten Kernel-Hacker vor Schwierigkeiten gestellt hat. Damit nähern sich die Entwickler weiter dem Ziel, dass der Kernel auf Standard-Systemen ohne diesen sperrigen Locking-Mechanismus arbeitet, der die Skalierbarkeit und die System-Performance verschlechtert.
    * Der x86-Code unterstützt nun die Power Limit Notifications von Intels Sandy-Bridge-Prozessoren, die Anfang nächsten Jahres erwartet werden (1, 2, 3). Der neue Hwmonitor-Treiber pkgtemp baut darauf auf kann unter anderem die Temperatur des Prozessors auslesen (1, Dokumentation)
    * Der Prozess-Scheduler reduziert in bestimmten Situation nun den Wettbewerb zwischen Kernel-Threads, die eine exklusive Kontrolle über eine belegte Ressource erlangen wollen. Dadurch kann der aktive Prozess ungestörter arbeiten, was den Datendurchsatz teilweise erheblich steigert (Commit, LWN.net-Artikel).
    * Wie bei seine Vorgänger bringt auch 2.6.36 zahlreiche Änderungen am Debugging-, Performance-Monitoring- und Tracing-Code. Das Ftrace-Plugin kmemtrace etwa haben die Kernel-Hacker entfernt, da sich die Funktionen nun über die Trace-Events von Typ "kmem" sowie "perf kmem" erledigen lassen. Wie bereits im ersten Teil der "Was 2.6.36 bringt"-Serie näher beschrieben, bietet der Kernel auf Systemen mit Intel-KMS-Untersütztung nun eine KDB-Debugger-Shell, um dort etwa die Ursache für einen Absturz des X-Servers analysieren zu können, wenn der Wechsel auf eine Textkonsole nicht mehr möglich ist und keine serielle Konsole konfiguriert ist.
    * Fast einen Monat nach dem Ende des Merge Window haben die Kernel-Hacker eine Änderung am Prozess-Scheduler vorgenommen, durch den der Scheduler die maximalen Wartezeiten insbesondere auf Desktop-Systemen reduzieren soll, wenn parallel andere Prozesse CPU-Zeit fordern – das verspricht eine bessere Reaktionsgeschwindigkeit, wodurch sich das System flotter anfühlen soll. Die der Änderung vorausgegangene Diskussion und der Commit-Kommentar erläutern Hintergründe und liefern Messwerte, laut denen sich die maximale Latenz im Test-Szenario beinahe halbiert hat.
    * Die Kernel-Hacker wollen mit 2.6.36 das Problem beseitigt haben, durch das sich Systeme mit 2.6.35 und einigen früheren Kernelversionen unter bestimmten Bedingungen extrem langsam anfühlten oder zeitweise gar nicht mehr reagierten, während der Kernel größere Datenmengen auf ein langsames Medium (etwa einen USB-Stick) schrieb (u. a. 1).
    * Die Sicherheitserweiterung Tomoyo bietet nun einen "Interactive Enforcing Mode", mit dessen Hilfe Administratoren im Betrieb entscheiden können, ob sie eine Verletzung der Policy ignorieren wollen. Ein Youtube-Video illustriert die Funktionsweise.
    * Stefani Seibold hat das bei 2.6.32 bereits erheblich überarbeite Kfifo-API ein weiteres mal verändert, um Performance zu verbessern und ein besseres API zur Verfügung zu stellen (u. a. 1, 2). Die alten API-Calls werden aber weiter unterstützt, die neuen Möglichkeiten erläutern einige Beispiele.
    * Über das Make-Target "coccicheck" lässt sich nun Coccinelle aufrufen – ein Programm zur semantischen Code-Analyse, das Programmierern beim Refaktorieren von Code Arbeit abnehmen kann. Details zu den Möglichkeiten liefern die Kernel-Dokumentation und ein im Frühjahr letzten Jahres erschienener Artikel bei LWN.net.

Die kleinen Perlen

Viele kleinere, aber keineswegs unbedeutende Neuerungen finden sich in der folgenden Liste mit den englischen Commit-Überschriften der jeweiligen Änderung. Die Einträge verlinken genau wie viele der Verweise im vorangegangenen Text auf das Webfrontend des von Linus Torvalds gepflegten Git-Zweigs mit den "offiziellen" Kernel-Quellen auf Kernel.org. Der über diese Links angezeigten Commit-Kommentar und der darunter ausgegebene Patch liefern zahlreiche weitere Informationen zur jeweiligen Änderungen.

Vor jedem Link finden sich in eckigen Klammern einige Buchstaben und Zahlen. Ein "C" kennzeichnet Patches mit Änderungen an Kconfig-Dateien, welche die Hilfetexte und Konfigurationsoptionen enthalten, die bei der Kernel-Konfiguration über "make menuconfig", "make xconfig" und ähnliche Werkzeuge angezeigt werden. Ein "D" steht bei Patches, die die Dokumentation verändern, die im Kernel-Zweig unterhalb von Documentation/ liegt. Ein "N" weist Änderungen aus, die eine neue Datei anlegen. Die Zahl vermittelt einen groben Eindruck zur Größe des Patches: eine "1" steht für Änderungen, die inklusive Kommentar zwischen 10 und 20 KByte groß sind, eine "2" für solche, die zwischen 20 und 30 KByte Umfang haben; Änderungen ohne Zahl sind kleiner als 10 KByte, Patches mit einer "9" hingegen 90 KByte oder größer.

Crypto & Security

    * [C   ] async_tx: Move ASYNC_RAID6_TEST option to crypto/async_tx/, fix dependencies
    * [C   ] crypto: testmgr - add an option to disable cryptoalgos' self-tests
    * [C   ] crypto: testmgr - Default to no tests
    * [C   ] crypto: testmgr - Fix test disabling option
    * [    ] crypto: twofish: Rename twofish to twofish_generic and add an alias
    * [   1] n2_crypto: Add HMAC support.
    * [    ] padata: Added sysfs primitives to padata subsystem
    * [   3] padata: Make two separate cpumasks
    * [ D  ] padata: update API documentation
    * [ D  ] padata: update documentation
    * [    ] pcrypt: Added sysfs interface to pcrypt
    * [  N2] TOMOYO: Add mount restriction.
    * [  N2] TOMOYO: Add numeric values grouping support.
    * [   1] TOMOYO: Add pathname aggregation support.
    * [   1] TOMOYO: Allow wildcard for execute permission.
    * [   1] TOMOYO: Remove alias keyword.
    * [   2] TOMOYO: Support longer pathname.
    * [ D  ] TOMOYO: Update version to 2.3.0

Debugging-, Performance-Monitoring- und Tracing-Code

    * [    ] fb: add hooks to handle KDB enter/exit
    * [  N ] ftrace,kdb: Extend kdb to be able to dump the ftrace buffer
    * [    ] kgdb,kdb: individual register set and and get API
    * [    ] kgdb,mips: Individual register get/set for mips
    * [    ] kgdboc: Add call backs to allow kernel mode switching
    * [    ] kgdb,x86: Individual register get/set for x86
    * [CDN2] lockup_detector: Combine nmi_watchdog and softlockup detector
    * [    ] lockup_detector: Remove nmi_watchdog.c file
    * [    ] lockup_detector: Remove old softlockup code
    * [  N1] nmi_watchdog: Add new, generic implementation, using perf events
    * [    ] nmi_watchdog: support for oprofile
    * [    ] oprofile: Add Support for Intel CPU Family 6 / Model 22 (Intel Celeron 540)
    * [    ] oprofile: add support for Intel processor model 30
    * [    ] Oprofile: Change CPUIDS from decimal to hex, and add some comments
    * [    ] perf: Add non-exec mmap() tracking
    * [    ] perf: Add perf_event::child_count
    * [    ] perf: Add perf_event_count()
    * [    ] perf annotate: Sort by hottest lines in the TUI
    * [   1] perf buildid: add perfconfig option to specify buildid cache dir
    * [    ] perf man pages: Fix cut'n'paste error
    * [  N1] perf: New migration tool overview
    * [    ] perf probe: Add kernel source path option
    * [    ] perf probe: Support comp_dir to find an absolute source path
    * [    ] perf probe: Support static and global variables
    * [    ] perf probe: Support "string" type
    * [    ] perf probe: Support tracing an entry of array
    * [    ] perf record: Add option to avoid updating buildid cache
    * [    ] perf report: Implement --sort cpu
    * [    ] perf report: Make -D print sampled CPU
    * [    ] perf, sched migration: Make it vertically scrollable
    * [    ] perf, sched migration: Parameterize cpu height and spacing
    * [   1] perf sort: Make column width code per hists instance
    * [   1] perf tools: Add the ability to specify list of cpus to monitor
    * [  N ] perf tools: Make target to generate self contained source tarball
    * [  N1] perf tools: Reorganize the Makefile feature tests
    * [    ] perf ui: Add a map browser
    * [    ] perf ui: Add search by name/addr to the map__browser
    * [  N ] perf ui: Complete the breakdown of util/newt.c
    * [    ] perf ui: Introduce ui_browser->seek to support multiple list structures
    * [   3] perf ui: New hists tree widget
    * [ D  ] tracing/documentation: Document dynamic ftracer internals
    * [ D 2] tracing/kprobes: Support "string" type
    * [C  1] tracing: Remove boot tracer
    * [   1] tracing: Remove ftrace_preempt_disable/enable
    * [C  1] tracing: Remove ksym tracer
    * [C  1] tracing: Remove sysprof ftrace plugin
    * [ DN4] vmscan: tracing: add a postprocessing script for reclaim-related ftrace events
    * [  N ] vmscan: tracing: add trace events for kswapd wakeup, sleeping and direct reclaim
    * [    ] x86 cpufreq, perf: Make trace_power_frequency cpufreq driver independent

Memory Management

    * [   1] hugetlb, rmap: add reverse mapping for hugepage
    * [    ] HWPOISON, hugetlb: enable error handling path for hugepage
    * [    ] HWPOISON, hugetlb: support hwpoison injection for hugepage
    * [    ] memcg: add mm_vmscan_memcg_isolate tracepoint
    * [    ] memcg, vmscan: add memcg reclaim tracepoint
    * [    ] mm: fix up some user-visible effects of the stack guard page
    * [    ] mm: implement writeback livelock avoidance using page tagging
    * [    ] vmap: add flag to allow lazy unmap to be disabled at runtime
    * [   1] vmscan: kill prev_priority completely
    * [    ] vmscan: tracing: add trace events for LRU page isolation
    * [    ] vmscan: tracing: add trace event when a page is written
    * Scheduler
    * [   1] sched: Add asymmetric group packing option for sibling domain
    * [  N ] sched: add hooks for workqueue
    * [   2] sched: Change nohz idle load balancing logic to push model
    * [   1] sched_clock: Add local_clock() API and improve documentation

Various Infrastructure

    * [    ] Add a dummy printk function for the maintenance of unused printks
    * [    ] Add support for the C variable in the coccicheck script
    * [   1] audit: convert audit watches to use fsnotify instead of inotify
    * [C  1] audit: reimplement audit_trees using fsnotify rather than inotify
    * [C   ] Audit: split audit watch Kconfig
    * [    ] cgroups: Add an API to attach a task to current task's cgroup
    * [    ] checkpatch: add more exceptions to 80 char lines
    * [    ] clockevents: Remove the per cpu tick skew
    * [    ] clocksource: Add __clocksource_updatefreq_hz/khz methods
    * [ D  ] dma-mapping: add DMA_xxBIT_MASK to feature-removal-schedule.txt
    * [ D 1] dma-mapping: remove dma_is_consistent API
    * [ DN ] Documentation: Add timers/timers-howto.txt
    * [ D  ] Documentation: DMA-API-HOWTO.txt: add multiple types of IOMMUs support
    * [ D  ] Documentation: DMA-API-HOWTO.txt: rename ARCH_KMALLOC_MINALIGN to ARCH_DMA_MINALIGN
    * [ D  ] Documentation: kernel-locking: mutex_trylock cannot be used in interrupt context
    * [ D 9] Documentation: update broken web addresses.
    * [ D  ] Documentation: update kbuild loadable modules goals & examples
    * [ D  ] Documentation: update kbuild make examples#2 to reflect changes
    * [    ] drm: add KGDB/KDB support
    * [ D  ] firmware: Update hotplug script
    * [ D 1] fscache: convert object to use workqueue instead of slow-work
    * [   1] fsnotify: mount point listeners list and global mask
    * [  N3] fsnotify: split generic and inode specific mark code
    * [  N ] fsnotify: vfsmount marks generic functions
    * [ D  ] gpio: doc updates
    * [    ] ibft: For UEFI machines actually do scan ACPI for iBFT.
    * [    ] ibft: Update iBFT handling for v1.03 of the spec.
    * [CD 4] inotify: remove inotify in kernel interface
    * [    ] irq: Add new IRQ flag IRQF_NO_SUSPEND
    * [C   ] Kbuild: Add option to set -femit-struct-debug-baseonly
    * [ D  ] kbuild: allow assignment to {A,C}FLAGS_KERNEL on the command line
    * [ D 1] kbuild: allow assignment to {A,C,LD}FLAGS_MODULE on the command line
    * [ D  ] kbuild: drop unifdef-y support
    * [    ] kbuild: Warn on selecting symbols with unmet direct dependencies
    * [ D  ] kconfig: add alldefconfig
    * [    ] kconfig: add savedefconfig
    * [    ] kconfig: fix make oldconfig
    * [    ] kconfig: fix MODULES-related bug in case of no .config
    * [    ] kconfig: fix tristate choice with minimal config
    * [    ] kconfig: introduce nonint_oldconfig and loose_nonint_oldconfig
    * [    ] kconfig: print more info when we see a recursive dependency
    * [    ] kconfig: print symbol type in help text
    * [    ] kconfig: print the range of integer/hex symbol in help text
    * [   1] kconfig: use long options in conf
    * [ D  ] kgdb,docs: Update the kgdb docs to include kms
    * [   1] kmap_atomic: make kunmap_atomic() harder to misuse
    * [C   ] kmemleak: Introduce a default off mode for kmemleak
    * [    ] kthread: implement kthread_data()
    * [    ] kthread: implement kthread_worker
    * [C   ] lockup_detector: Adapt CONFIG_PERF_EVENT_NMI to other archs
    * [C   ] lockup_detector: Don't enable the lockup detector by default
    * [C   ] lockup_detector: Introduce CONFIG_HARDLOCKUP_DETECTOR
    * [C   ] lockup_detector: Make BOOTPARAM_SOFTLOCKUP_PANIC depend on LOCKUP_DETECTOR
    * [C   ] lockup_detector: Update some config
    * [    ] Makefile: "make kernelrelease" should show the correct full kernel version
    * [C   ] memcg: remove experimental from swap account config
    * [    ] menuconfig: improive help text a bit
    * [   1] modpost: support objects with more than 64k sections
    * [   1] module: add load_info
    * [ D  ] mutex: Fix annotations to include it in kernel-locking docbook
    * [ D  ] panic: keep blinking in spite of long spin timer mode
    * [    ] param: add kerneldoc to moduleparam.h
    * [    ] param: locking for kernel parameters
    * [   2] partitions: fix sometimes unreadable partition strings
    * [    ] rlimits: implement prlimit64 syscall
    * [    ] rtc: rp5c01: add NVRAM support
    * [    ] serial: add support for OX16PCI958 card
    * [    ] serial: add UART_CAP_EFR and UART_CAP_SLEEP flags to 16C950 UARTs definition
    * [ D  ] SubmittingPatches: add more about patch descriptions
    * [ D  ] sysfs: fix discrepancies between implementation and documentation
    * [ D  ] sysfs: Fix one more signature discrepancy between sysfs implementation and docs.
    * [ D  ] timekeeping: Make xtime and wall_to_monotonic static
    * [CD 1] time: Kill off CONFIG_GENERIC_TIME
    * [    ] timer: Added usleep_range timer
    * [    ] timer: add on-stack deferrable timer interfaces
    * [C  1] tree/tiny rcu: Add debug RCU head objects
    * [   2] tty: Add EXTPROC support for LINEMODE
    * [   2] tty: replace BKL with a new tty_lock
    * [    ] vt/console: try harder to print output when panicing
    * [    ] workqueue: fix incorrect cpu number BUG_ON() in get_work_gcwq()
    * [   1] workqueue: implement unbound workqueue
    * [    ] xconfig: add support to show hidden options which have prompts

Die kleinen Perlen: Virtualisierungs- und Architektur-Code

Virtualisierung

    * [    ] implement O_NONBLOCK for /proc/xen/xenbus
    * [ DN ] KVM: Add Documentation/kvm/msr.txt
    * [ D  ] KVM: Document KVM_GET_SUPPORTED_CPUID2 ioctl
    * [ D  ] KVM: Document KVM_SET_BOOT_CPU_ID
    * [ D  ] KVM: Document KVM_SET_IDENTITY_MAP ioctl
    * [ DN ] KVM: Document KVM specific review items
    * [ D  ] KVM: Document MCE banks non-exposure via KVM_GET_MSR_INDEX_LIST
    * [    ] KVM: MMU: calculate correct gfn for small host pages backing large guest pages
    * [ D  ] KVM: MMU: Document cr0.wp emulation
    * [ D  ] KVM: MMU: Document large pages
    * [ D  ] KVM: MMU: Don't allocate gfns page for direct mmu pages
    * [  N ] KVM: PPC: Add generic hpte management functions
    * [ D  ] KVM: Remove kernel-allocated memory regions
    * [ D 1] KVM: Remove memory alias support
    * [    ] KVM: VMX: Add all-context INVVPID type support
    * [    ] KVM: VMX: Add constant for invalid guest state exit reason
    * [    ] KVM: VMX: VMCLEAR/VMPTRLD usage changes
    * [    ] KVM: x86 emulator: Add missing decoder flags for sub instruction
    * [    ] KVM: x86 emulator: Add missing decoder flags for xor instructions
    * [    ] KVM: x86 emulator: Add test acc, imm instruction (opcodes 0xA8 - 0xA9)
    * [    ] KVM: x86 emulator: introduce read cache
    * [   1] vhost-net: mergeable buffers support
    * [   1] vhost: replace vhost_workqueue with per-vhost kthread
    * [    ] virtio_blk: Add 'serial' attribute to virtio-blk devices (v2)
    * [    ] virtio_blk: support barriers without FLUSH feature
    * [    ] virtio_net: implements ethtool_ops.get_drvinfo
    * [C   ] vmware balloon: rename module
    * [ DN1] x86: Unplug emulated disks and nics.
    * [  N ] xen: Add support for HVM hypercalls.
    * [    ] xen: Add suspend/resume support for PV on HVM guests.
    * [    ] xen: Add xen_create_contiguous_region
    * [    ] xen: Allow unprivileged Xen domains to create iomap pages
    * [ D  ] xen: pvhvm: allow user to request no emulated device unplug
    * [ D  ] xen: pvhvm: rename xen_emul_unplug=ignore to =unnnecessary
    * [    ] xen: support large numbers of CPUs with vcpu info placement
    * [C N1] xen: Xen PCI platform device driver.

x86

    * [C   ] Introduce CONFIG_XEN_PVHVM compile option
    * [C   ] nmi_watchdog: Config option to enable new nmi_watchdog
    * [C   ] nmi_watchdog: Only enable on x86 for now
    * [C   ] nmi_watchdog: Turn it off by default
    * [   1] perf, x86: P4 PMU -- redesign cache events
    * [C   ] Replace Configure with Enable in description of MAXSMP
    * [    ] x86: Add memory modify constraints to xchg() and cmpxchg()
    * [    ] x86, AMD: Extend support to future families
    * [    ] x86/amd-iommu: Export cache-coherency capability
    * [    ] x86, cpu: Add CPU flags for F16C and RDRND
    * [    ] x86, cpu: Add xsaveopt cpufeature
    * [    ] x86, cpu: Support the features flags in new CPUID leaf 7
    * [   1] x86: hpet: Work around hardware stupidity
    * [    ] x86: Look for IA32_ENERGY_PERF_BIAS support
    * [    ] x86: Make save_stack_address() !CONFIG_FRAME_POINTER friendly
    * [    ] x86,mmiotrace: Add support for tracing STOS instruction
    * [    ] x86, mrst: add cpu type detection
    * [    ] x86, mrst: add more timer config options
    * [    ] x86, olpc: Add comment about implicit optimization barrier
    * [CDN1] x86, olpc: Add support for calling into OpenFirmware
    * [    ] x86, perf: Add power_end event to process_*.c cpu_idle routine
    * [    ] x86, setup: Early-boot serial I/O support
    * [  N ] x86, setup: enable early console output from the decompressor
    * [    ] x86: Support for instruction breakpoints
    * [   1] x86, UV: BAU broadcast to the local hub
    * [   1] x86, UV: BAU tunables into a debugfs file
    * [    ] x86, xsave: Use xsaveopt in context-switch path when supported

ARM

    * [C N1] Add GPIO support for HTC Dream.
    * [  N ] ARM: 6120/1: kdump: implement copy_oldmem_page()
    * [    ] ARM: 6122/1: kdump: add support for elfcorehdr parameter
    * [C N ] ARM: 6128/1: Gemini: add support for Wiligear WBD-111
    * [C N ] ARM: 6129/1: Gemini: add support for Wiliboard WBD-222
    * [C N ] ARM: 6130/1: Gemini: add support for Raidsonic IB4220
    * [    ] ARM: 6149/1: nomadik-gpio: add function to configure sleep mode behaviour
    * [  N ] ARM: 6155/1: nomadik-gpio: add pin configuration API
    * [  N2] ARM: 6160/1: ux500: add DB8500 pin configs
    * [    ] ARM: 6161/1: mop500: add basic pin configuration
    * [  N2] ARM: 6185/1: AT91: PM: dual ram controller support
    * [C   ] ARM: 6197/2: preliminary support for sparse IRQ
    * [C   ] ARM: 6199/1: Add kprobe-based event tracer
    * [C N ] ARM: 6209/2: at91: Add support for Bluewater Systems Snapper 9260/9G20 modules
    * [    ] ARM: 6213/1: atomic64_test: add ARM as supported architecture
    * [C N1] ARM: 6214/2: driver for the character LCD found in ARM refdesigns
    * [C   ] ARM: 6218/1: Versatile Express: add support for local timers on CA9X4 daughterboard
    * [    ] ARM: 6223/1: support multiple TCM banks
    * [ D 1] ARM: 6225/1: make TCM allocation static and common for all archs
    * [  N ] ARM: 6235/2: driver for the LEDs found in the later ARM refdesigns
    * [    ] ARM: 6244/1: mmci: add variant data and default MCICLOCK support
    * [C   ] ARM: 6251/1: Make SPARSE_IRQ a hidden option
    * [  N1] ARM: 6266/1: ux500: add separate irq lists for DB8500 and DB5500
    * [  N ] ARM: 6267/1: mop500: add AB8500 interrupt support
    * [  N ] ARM: 6274/1: add global control registers definition header file for nuc900
    * [C   ] ARM: 6277/1: mach-shmobile: Allow users to select HZ, default to 128
    * [C   ] ARM: 6299/1: errata: TLBIASIDIS and TLBIMVAIS operations can broadcast a faulty ASID
    * [    ] ARM: add address randomization to mmap()
    * [    ] ARM: add DMA support to sh7372, enable DMA for SDHI
    * [C   ] ARM: Add support for the LPC32XX arch
    * [    ] ARM: AMBA: Add pclk support to AMBA bus infrastructure
    * [    ] ARM: cns3xxx: Add support for AHCI controllers
    * [C N1] ARM: cns3xxx: Add support for PCI Express ports
    * [  N ] ARM: cns3xxx: Add support for SDHCI controllers
    * [C   ] ARM: deprecate support for old way to pass kernel parameters
    * [C   ] ARM: Disable VGA console for ARM in most cases
    * [C  2] ARM: imx: move mx1 support to mach-imx
    * [C   ] ARM: imx: prepare deprecating ARCH_MX1, MACH_MX2, MACH_MX21 and MACH_MX27
    * [C N1] ARM: initial LMB trial
    * [C N ] ARM: initial stack protector (-fstack-protector) support
    * [C   ] ARM: Kirkwood: add LaCie Network Space Max v2 support
    * [    ] ARM: Kirkwood: Add MPP44 (board ID) on TS-219
    * [    ] ARM: Kirkwood: Add support for 88f6282
    * [C N ] ARM: Kirkwood: Add support for HP t5325 Thin Client
    * [   2] ARM: Kirkwood: add support for PCIe1
    * [    ] ARM: Kirkwood: add support for rev A1 of the 88f6192 and 88f6180 chips.
    * [    ] ARM: Kirkwood: update LED support for Network Space v2
    * [C N ] ARM: LPC32XX: Arch config menu supoport and makefiles
    * [  N3] ARM: LPC32XX: Clock driver
    * [  N ] ARM: LPC32XX: Debug and IRQ macros
    * [  N3] ARM: LPC32XX: GPIO, timer, and IRQ drivers
    * [  N4] ARM: LPC32XX: Initial arch header files
    * [  N ] ARM: LPC32XX: Misc support functions
    * [  N1] ARM: LPC32XX: Phytec 3250 platform support
    * [  N ] ARM: LPC32XX: Serial support code
    * [  N1] ARM: LPC32XX: System suspend support
    * [    ] ARM: mach-real6410: add dm9000 ethernet support for mach-real6410
    * [C   ] ARM: mach-real6410: add sdhc device support
    * [C   ] ARM: mach-shmobile: add framebuffer support for ap4evb
    * [    ] ARM: mach-shmobile: add HDMI support to the ap4evb board
    * [    ] ARM: mach-shmobile: add SCIFA and SCIFB DMA slave definitions for sh7372
    * [    ] ARM: mach-shmobile: Add SDHI support
    * [    ] ARM: mach-shmobile: add support for the second SD-/MMC-card slot on ap4evb
    * [    ] ARM: mach-shmobile: ap4evb: Add FSI2 support
    * [C  1] ARM: mach-shmobile: ap4evb: Add LCD panel selection
    * [    ] ARM: mach-shmobile: ap4evb: Add MMC support
    * [    ] ARM: mach-shmobile: ap4evb: Add R2025S RTC support
    * [    ] ARM: mach-shmobile: ap4evb: Add SW43, SW3 tiny document
    * [    ] ARM: mach-shmobile: ap4evb: Add TouchScreen support
    * [    ] ARM: mach-shmobile: ap4evb: Add USB host support
    * [C   ] ARM: mach-shmobile: Enable TMU driver build
    * [    ] ARM: mach-shmobile: g3evm: Add IrDA support
    * [   1] ARM: mach-shmobile: intc-sh7377: Add INTCS support
    * [  N ] ARM: mach-shmobile: Runtime PM V3
    * [C  1] ARM: mach-shmobile: sh7367 clock framework V2
    * [    ] ARM: mach-shmobile: sh7372: Add I2C0, I2C1 support
    * [C N1] ARM: mach-shmobile: sh7372 clock framework support V2
    * [C N1] ARM: mach-shmobile: sh7377 clock framework V2
    * [C N ] ARM: mach-shmobile: Use shared clock framework
    * [C   ] ARM: Marvell OpenRD-Ultimate machine support
    * [   1] ARM: orion5x: Base support for DNS-323 rev C1
    * [C   ] ARM: Partially revert "Auto calculate ZRELADDR and provide option for exceptions"
    * [    ] ARM: pxa/balloon3: Add MAX1586 PMIC support
    * [    ] ARM: pxa/balloon3: Add NAND driver
    * [C N ] ARM: pxa/balloon3: PCMCIA Support
    * [    ] ARM: pxa/colibri270: Add FFUART MFP
    * [    ] ARM: pxa/colibri270: Add MMC support
    * [    ] ARM: pxa/colibri270: Add TSC support
    * [    ] ARM: pxa/colibri270: Add UHC support
    * [    ] ARM: pxa/colibri320: Add UDC support
    * [C N1] ARM: pxa/income: Add Income SBC support
    * [   4] ARM: pxa: merge all eseries board code into eseries.c
    * [C  5] ARM: pxa/palm: Flip Palm LD,TX,T5,Z72 to Palm27x
    * [C N1] ARM: pxa/palm: Introduce Palm27x
    * [    ] ARM: pxa/vpac270: Add PMIC support
    * [    ] ARM: pxa/vpac270: Add VGA modes for ADV7125
    * [    ] ARM: pxa/z2: Add battery support into Zipit Z2
    * [    ] ARM: pxa/z2: Add regulator support
    * [    ] ARM: remove bit-rotten STANDALONE_DEBUG for decompressor
    * [C  3] ARM: Remove DISCONTIGMEM support
    * [C  5] ARM: Remove support for LinkUp Systems L7200 SDP.
    * [    ] ARM: S3C64XX: Add audio support to SmartQ
    * [C N ] ARM: S3C64XX: Add keypad device to the SMDK6410 board
    * [C   ] ARM: S3C64XX: Add RTC support for S3C64XX
    * [C N ] ARM: S3C64XX: Add support for Compact Flash driver on SMDK6410
    * [C N ] ARM: S3C64XX: Support for Real6410
    * [C   ] ARM: S5P6440: Add RTC support for S5P6440
    * [C   ] ARM: S5P6440: Add support for I2C channel 0 and 1 on SMDK6440
    * [C   ] ARM: S5P6442: Add Watchdog support for S5P6442
    * [    ] ARM: S5P6442: Add Watchdog Timer map for S5P6442
    * [  N ] ARM: S5P: Add PMU device
    * [  N ] ARM: S5P: Add System define for arch_reset()
    * [C N ] ARM: S5PC100: Add keypad device to the SMDKC100 board
    * [C   ] ARM: S5PC100: Add RTC support for S5PC100
    * [C N ] ARM: S5PC100: Add support for Compact Flash driver on SMDKC100
    * [C   ] ARM: S5PC100: Add Touchscreen support.
    * [C   ] ARM: S5PC100: Add Watchdog support for S5PC100
    * [C   ] ARM: S5PC100: enable FIMC on SMDKC100
    * [C   ] ARM: S5PV210: Add Framebuffer support for GONI
    * [C N ] ARM: S5PV210: Add keypad device helpers
    * [C   ] ARM: S5PV210: Add keypad device to the SMDKV210 board
    * [    ] ARM: S5PV210: Add MAX8998 PMIC support for Aquila
    * [    ] ARM: S5PV210: Add MAX8998 PMIC support for GONI
    * [C   ] ARM: S5PV210: Add OneNAND device to the Aquila board
    * [C   ] ARM: S5PV210: Add OneNAND device to the GONI board
    * [C   ] ARM: S5PV210: Add RTC support for S5PV210 and S5PC110
    * [C   ] ARM: S5PV210: Add SDHCI devices for Aquila board
    * [C   ] ARM: S5PV210: Add SDHCI devices for GONI board
    * [C N ] ARM: S5PV210: Add support for Compact Flash driver on SMDKV210/C110
    * [C   ] ARM: S5PV210: Add support for I2C devices on SMDKV210 and SMDKC110
    * [C   ] ARM: S5PV210: Add support HSMMC on SMDKV210
    * [C   ] ARM: S5PV210: enable FIMC on Aquila
    * [C   ] ARM: S5PV210: enable FIMC on Goni
    * [  N ] ARM: S5PV310: Add Board support file
    * [  N1] ARM: S5PV310: Add Clock and PLL support
    * [C N ] ARM: S5PV310: Add I2C channel 0, 1 and 2 support
    * [  N ] ARM: S5PV310: Add IRQ support
    * [  N3] ARM: S5PV310: Add new CPU initialization support
    * [C N ] ARM: S5PV310: Add new Kconfig and Makefiles
    * [C N ] ARM: S5PV310: Add Samsung UNIVERSAL_C210 support
    * [C   ] ARM: S5PV310: Add serial port support
    * [  N1] ARM: S5PV310: Add Timer support
    * [C N ] ARM: SAMSUNG: Add Compact Flash device support for Samsung SoCs
    * [C N ] ARM: SAMSUNG: Add device definition for HSMMC3
    * [C N ] ARM: SAMSUNG: Add keypad device support
    * [   1] ARM: SAMSUNG: Add new s3c-sdhci card detection methods for Samsung SoCs
    * [  N ] ARM: SAMSUNG: Add platform definitions and helpers for FIMC driver
    * [C   ] ARM: SAMSUNG: Make WDT driver dependency SoC specific instead of machine specific
    * [C N1] ARM: tegra: add GPIO support
    * [  N ] ARM: tegra: Add IRQ support
    * [  N4] ARM: tegra: add pinmux support
    * [  N ] ARM: tegra: Add timer support
    * [  N1] ARM: tegra: harmony: Add harmony board file
    * [C N1] ARM: tegra: SMP support
    * [C N ] Davinci: tnetv107x evm board initial support
    * [C N4] Davinci: tnetv107x soc support
    * [    ] EP93xx: Add i2s core support
    * [    ] eukrea_mbimx27: add audio codec
    * [    ] eukrea_mbimx27: add support for the keyboard
    * [C   ] i2c: i2c-sh_mobile kconfig update for SH-Mobile ARM
    * [C   ] i.MX25: add AUDMUX and SSI support
    * [C N1] i.MX25: add cpuimx25 module and its baseboard
    * [  N ] i.MX27: add suspend to RAM support
    * [C N1] i.MX35: add cpuimx35 support and its baseboard
    * [C N1] i.MX51: add support for cpuimx51 module and its baseboard
    * [C N ] ixp4xx: base support for Arcom Vulcan
    * [  N ] ixp4xx/vulcan: add PCI support
    * [C   ] mach-cpuimx27: add USB Host2 and OTG support
    * [    ] MAINTAINERS: Add a patchwork entry for ARM/SH-Mobile.
    * [    ] mx25: add support for the CSI device
    * [    ] mx25: flexcan clock support
    * [    ] mx25pdk: add keypad support
    * [    ] mx27_3ds: add support for the keypad
    * [    ] mx27: add support for the CSI device
    * [C N4] mx2_camera: Add soc_camera support for i.MX25/i.MX27
    * [    ] mx51_3ds: add keypad support on 3ds platform
    * [C N ] mx51_3ds: Add support for the imx51 3-stack board
    * [    ] mxc_nand: add support for platform defined partitions
    * [C   ] OMAP1: OPP: add KConfig entry for 96MHz ARM rate (using a 12MHz oscillator)
    * [    ] OMAP2: Devkit8000: Enable DVI-D output
    * [    ] OMAP2: hwmod data: add IVA1 (2420), IVA2 (2430) hwmods
    * [    ] OMAP3630: Add ES1.1 and ES1.2 detection
    * [    ] omap-3630-sdp : Add support for Flash
    * [    ] omap3: add support for NAND on LDP board
    * [    ] omap3: add support for NAND on zoom2 board
    * [    ] omap3: add support for NAND on zoom3 board
    * [    ] OMAP3: hwmod data: add data for OMAP3 IVA2
    * [C N ] omap4: Add OMAP4 Panda Support
    * [  N ] omap4: hotplug: Add basic CPU hotplug support
    * [  N ] omap4: suspend: Add basic system suspend support
    * [    ] OMAP: clock: add kerneldoc for structures; move flags closer to structs
    * [   1] OMAP: DSS2: OMAPFB: Add support for switching memory regions
    * [    ] OMAP: hwmod data: add class for IVA hwmods
    * [C N4] omap: mux: Add data for 2420
    * [  N5] omap: mux: Add data for 2430
    * [C   ] omap: Use 32KiHZ timer by default
    * [  N ] orion/kirkwood: add audio functions.
    * [    ] pca100: add framebuffer device support and TFT
    * [    ] plat-mxc/ehci.c: add i.MX25 support
    * [   1] s3c-fb: udpate to support s3c2416/s3c2443 style hardware

Power

    * [C N1] POWER: Add JZ4740 battery driver.
    * [C N1] powerpc/5121: add initial support for PDM360NG board
    * [   1] powerpc/5121: shared DIU framebuffer support
    * [    ] powerpc/512x: add clock structure for Video-IN (VIU) unit
    * [C   ] powerpc/512x: Group mpc512x board's selection menu
    * [  N1] powerpc/85xx: Adding DTS for the STx GP3-SSA MPC8555 board
    * [    ] powerpc/85xx: Add P1021 PCI IDs and quirks
    * [C N2] powerpc/85xx: Introduce support for the Freescale P1022DS reference board
    * [C   ] powerpc/85xx: kexec for SMP 85xx BookE systems
    * [C N3] powerpc/8xx: Add support for the MPC8xx based boards from TQC
    * [    ] powerpc: Add i8042 keyboard and mouse irq parsing
    * [  N ] powerpc/book3e: Add generic 64-bit idle powersave support
    * [  N5] powerpc: Emulate most Book I instructions in emulate_step()
    * [    ] powerpc: Enable asymmetric SMT scheduling on POWER7
    * [CD  ] powerpc/fsl-diu-fb: Support setting display mode using EDID
    * [    ] powerpc, hw_breakpoint: Enable hw-breakpoints while handling intervening signals
    * [C N2] powerpc, hw_breakpoints: Implement hw_breakpoints for 64-bit server processors
    * [C N1] powerpc/mpc8308rdb: support for MPC8308RDB board from Freescale
    * [    ] powerpc/powermac: Add PowerMac10,2 machine descriptor
    * [C N ] powerpc/pseries: Partition hibernation support
    * [   2] powerpc: Rework VDSO gettimeofday to prevent time going backwards
    * Various
    * [    ] alpha: add performance monitor interrupt counter
    * [  N2] alpha: implement HW performance events on the EV67 and later CPUs
    * [C   ] Blackfin: add support for dynamic ftrace
    * [C   ] Blackfin: add support for LZO compressed kernels
    * [C   ] Blackfin: allow cache funcs to be in L1 for IFLUSH Anomaly 05000491
    * [C  1] Blackfin: BF51x/BF52x: support GPIO Hysteresis/Schmitt Trigger options
    * [ DN ] Blackfin: document SPI CS limitations with CPHA=0
    * [C   ] Blackfin: remove CONFIG_MEM_GENERIC_BOARD
    * [ D  ] Blackfin: remove useless and outdated documentation
    * [C   ] dmaengine: shdma: Enable on SH-Mobile ARM
    * [ D  ] Documentation: Mention that KProbes is supported on MIPS
    * [C N4] fbdev: sh-mobile: HDMI support for SH-Mobile SoCs
    * [    ] i2c: davinci: Add cpufreq support
    * [    ] i2c: davinci: Add helper functions for power management
    * [    ] i2c: davinci: Add suspend/resume support
    * [    ] m68k/mac: Add color classic ii support
    * [C N1] microblaze: Add KGDB support
    * [  N2] microblaze: Add stack unwinder
    * [C   ] microblaze: Allow PAGE_SIZE configuration
    * [C   ] microblaze: Disable FRAME_POINTER selection
    * [C   ] microblaze: Enable early printk only for uartlite
    * [    ] microblaze: Support brki rX, 0x18 for user application debugging
    * [    ] MIPS: Add -Werror to arch/mips/Kbuild
    * [C N6] MIPS: Alchemy: Add basic support for the GPR board
    * [    ] MIPS: Enable heap randomization.
    * [  N ] MIPS: Introduce support for Platform definitions
    * [C N2] MIPS: kprobe: Add support.
    * [   1] MIPS: Octeon: Support 256 MSI on PCIe
    * [  N2] MIPS: PowerTV: Add Gaia platform definitions.
    * [    ] MIPS: RM7000: Add support for tertiary cache
    * [   4] of/address: Merge all of the bus translation code
    * [    ] S390: cio: CHSC SIOSL Support
    * [C N1] sh-mobile: add support for displays, connected over the MIPI bus
    * [    ] sparc64: Add missing ID to parport probing code.
    * [    ] sparc: Kill all BKL usage.
    * [C   ] sparc: Kill user copy check code.
    * [C   ] topology: alternate fix for ia64 tiger_defconfig build breakage
    * [    ] xtensa: Add -mforce-no-pic option is supported

Quelle und Links : http://www.heise.de/open/artikel/Kernel-Log-Was-2-6-36-bringt-3-Infrastruktur-1099215.html
Titel: Kernel-Log – Was 2.6.36 bringt (4): Treiber
Beitrag von: SiLæncer am 04 Oktober, 2010, 10:25
Erheblich verbesserte Unterstützung für Infrarot-Empfänger und -Fernbedienungen, optimierte USB-3.0-Treiber und die Lösung für eines jener viel diskutierten Probleme, das die Android-Entwickler – auf andere Art und Weise – schon länger gelöst haben.

Bei der Freigabe der sechsten Vorabversion von Linux 2.6.36 am Mittwoch vergangener Woche deutete Linus Torvalds an, den Kernel 2.6.36 bald veröffentlichen zu wollen. Zum Abschluss der Mini-Serie "Was 2.6.36 bringt" soll es daher jetzt im vierten Teil um die Neuerungen rund um Treiber und die mit ihnen verknüpfte Infrastruktur wie ACPI, PCI und Co. gehen. Der erste Teil der Serie hatte sich mit den Änderungen rund um Grafik-Hardware beschäftigt, der zweite war Dateisystemen, Storage- und Netzwerk-Hardware gewidmet; der dritte drehte sich um Dinge wie Speicherverwaltung, Build-System sowie die Unterstützung für verschiedene CPU- und System-Architekturen.

IR-Hardware, Video4Linux und USB

Das bei 2.6.35 eingeführte Subsystem für Infrarot-Hardware bietet nun Schnittstellen, über die der LIRC-Userspace-Daemon Rohdaten mit Infrarot-Empfängern und -Sendern austauschen kann – etwa damit der Daemon Daten dekodiert, wenn der Kernel-Treiber nicht selbst dazu in der Lage ist (1, 2). Zum noch jungen IR-Subsystem stießen noch mehrere neue Treiber für IR-Hardware verschiedener Hersteller. Bei den meisten von ihnen handelt es sich um Portierungen der bislang extern gewarteten LIRC-Treiber; einige noch nicht portierte LIRC-Treiber wurden fürs erste in den Staging-Bereich aufgenommen – Details dazu finden sich im Abschnitt "Die kleinen Perlen" am Ende dieses Artikels im Abschnitt "V4L".

Entfernt haben die Kernel-Hacker die V4L-Treiber ov511, stv680_blank, quickcam_messenger, w9968cf und zc0301, da der Kernel die von ihnen betreute Hardware schon länger mit moderneren Gspca-Treibern anspricht. Die Entwicklung von V4L-Treibern soll das neue "Control Handling Framework" erleichtern. Zum Kernel stieß ferner der V4L-Gspca-Treiber sq930x, der unter anderem einige Webcams von Creative anspricht.

Durch Änderungen am USB-Subsystem unterstützt dieses nun einige der in Addendum 1.1 der EHCI-Spezifikation beschriebenen Erweiterungen von USB 2.0 besser, die verschiedene Verbesserungen im Hinblick auf Power Management bringen (1, 2, 3). Der USB-Code beherrscht nun auch die zur Laufzeit nutzbaren Stromsparfunktion von PCI-USB-Controllern sowie einige herstellerspezifische Wakeup-Flags, die Intel in die USB-Controller einiger seiner I/O-Controller Hubs eingebaut hat. Der USB-Storage-Treiber bietet nun Basis-Unterstützung für USB Autosuspend – laut Commit-Kommentar funktioniert das bislang aber nur mit Geräten wie Kartenlesern oder Flash-Drives und interagiert nicht sonderlich gut mit Hal oder DeviceKit, das die USB-Geräte durch eine regelmäßige Prüfung auf Medienwechsel immer wieder aufgeweckt werden. Der xHCI-Treiber für USB-3.0-Hardware soll nun Daten flotter Übertragen und bietet Unterstützung für Isochronous Transfers.

ACPI, PCI und Power Management

Über neue Schnittstellen lässt sich ab 2.6.36 auslesen, welche PCI/PCIe-Devices die zur Laufzeit nutzbaren Stromsparmodi von I/O-Geräten wie weit nutzen; diese Daten kann die kürzlich erschienene Version 1.13 von PowerTop bereits auslesen und aufgearbeitet ausgeben. Eine vom Verwalter des Powermanagement-Codes eingebrachte Änderung soll sicher stellen, dass Aufwachereignisse ("Event") ordnungsgemäß verarbeitet werden, selbst wenn der Kernel in dem Moment gerade dabei war, das System schlafen zu legen. Das beseitigt eines der viel diskutierten Probleme, die Google beim Android-Kernel bereits auf andere Art gelöst hat.

Der bei 2.6.35 eingeführte Treiber intel_idle gilt nicht mehr als experimentell und unterstützt nun auch den Atom-Prozessor mit Lincroft-Kern sowie die Xeon-Prozessoren der Westmere-EX-Generation. Schon länger als "deprecated" markierte Dateien und Verzeichnisse wie /proc/acpi/sleep, /proc/acpi/info, /proc/acpi/dsdt, /proc/acpi/processor/CPU*/power und /proc/acpi/embedded_controller/ verschwinden mit 2.6.36, da die gleichen Informationen auch via Sysfs abrufbar sind (1, 2, 3). Zahlreiche andere ACPI-Dateien in Procfs – darunter /proc/acpi/thermal_zone/*/*, /proc/acpi/video/*/brightness oder /proc/acpi/video/*/info – gelten nun ebenfalls als "deprecated" 1, 2); sie erscheinen nur noch nach dem Aktivieren von CONFIG_ACPI_PROCFS und dürften langfristig ebenfalls verschwinden.

Staging

Zum Bereich für Code, der die Qualitätsansprüche seiner Entwickler oder der Kernel-Hacker nicht erfüllt, stießen neben den erwähnten Lirc-Treibern zwei weitere Treiber für Audio/Video-Hardware: Der Treiber easycap für USB-Video-Hardware des gleichnamigen Herstellers und der Treiber solo6x10 für die Softlogic 6x10 MPEG Codec Cards. Durch größere Umbauten am WLAN-NG-Treiber kann dieser nun nicht mehr über das alte Wext, sondern nur noch über das modernere Cfg80211-Interface konfiguriert werden – da Letzteres Wext-Kompatibilitätscode mitbringt, sollte sich für Anwender nichts ändern.

Der ursprünglich Compcache genannte und später in Ramzswap umbenannte Staging-Treiber zum Anlegen eines komprimierten Swap Device im Arbeitsspeicher wurde abermals umbenannt und heißt nun Zram (1, 2, 3). Details zu der Technik liefert ein Artikel in c't 22/10 (ab Montag, 11. Oktober, am Kiosk). Diese c't enthält auch einen Artikel, der den Erfolg des vor zwei Jahren in den Hauptentwicklungszweig von Linux integrierten Staging-Zweigs beleuchtet. Bei dieser Analyse fand sich nur ein Treiber, der im Staging-Bereich so weit reifte, dass er mittels "git mv" vom Staging-Bereich an eine andere Stelle im Kernel-Quellcode verlagert wurde: Der "Restricted Access Region Register Driver" rar_register verlässt mit 2.6.36 den Staging-Bereich. Er war vor einem Jahr unter dem Namen "rar" mit Version 2.6.32 zum Kernel gestoßen und eignet sich für die mit Atom-Prozessor ausgestatteten Mobile Internet Devices (MIDs).

Weitere Treiber

    * Zum Plattform-Subsystem stieß der Treiber ideapad für die gleichnamigen Netbooks von Lenovo.
    * Die neue Nutzer manchmal verwirrende Scroll Acceleration im Treiber für die Magic Mouse ist nun standardmäßig deaktiviert und muss über einen Modul-Parameter eingeschaltet werden.
    * Der FireWire-Code des Kernels beherrscht nun Isochronous Multichannel Reception. Neu dabei ist der "nosy" genannte Traffic Sniffer für FireWire samt passenden Userland-Tools.
    * Bei den Sound-Treibern gab es abgesehen von zahlreichen neuen Alsa-Treibern für Embedded Systems vornehmlich Detailverbesserungen – darunter Aufräumarbeiten, damit die Audio-Treiber das Big Kernel Log nicht mehr nutzen.

Die kleinen Perlen

Viele kleinere, aber keineswegs unbedeutende Neuerungen finden sich in der folgenden Liste mit den englischen Commit-Überschriften der jeweiligen Änderung. Die Einträge verlinken genau wie viele der Verweise im vorangegangenen Text auf das Webfrontend des von Linus Torvalds gepflegten Git-Zweigs mit den "offiziellen" Kernel-Quellen auf Kernel.org. Der über diese Links angezeigten Commit-Kommentar und der darunter ausgegebene Patch liefern zahlreiche weitere Informationen zur jeweiligen Änderungen.

Vor jedem Link finden sich in eckigen Klammern einige Buchstaben und Zahlen. Ein "C" kennzeichnet Patches mit Änderungen an Kconfig-Dateien, welche die Hilfetexte und Konfigurationsoptionen enthalten, die bei der Kernel-Konfiguration über "make menuconfig", "make xconfig" und ähnliche Werkzeuge angezeigt werden. Ein "D" steht bei Patches, die die Dokumentation verändern, die im Kernel-Zweig unterhalb von Documentation/ liegt. Ein "N" weist Änderungen aus, die eine neue Datei anlegen. Die Zahl vermittelt einen groben Eindruck zur Größe des Patches: eine "1" steht etwa für Änderungen, die inklusive Kommentar zwischen 10 und 20 KByte groß sind, eine "2" für solche, die zwischen 20 und 30 KByte Umfang haben; Änderungen ohne Zahl sind kleiner als 10 KByte, Patches mit einer "9" hingegen 90 KByte oder größer.

ACPI

   * [   2] ACPI / ACPICA: Do not execute _PRW methods during initialization
    * [C N ] ACPI, APEI, ERST debug support
    * [    ] ACPICA: Add support for WDDT - Watchdog Descriptor Table
    * [    ] ACPICA: Expand device initialization counters to 32 bits
    * [    ] ACPICA: Expand initialization counters to 32 bits
    * [    ] ACPICA: iASL/Core: Add support for _WDG/_WED MS methods
    * [    ] ACPICA: Optimization: Reduce the number of namespace walks
    * [   2] ACPICA: Performance enhancement for namespace search and access
    * [    ] ACPICA: Update version to 20100528
    * [    ] ACPICA: Update version to 20100702
    * [    ] ACPI: Disable ASPM if the platform won't provide _OSC control for PCIe
    * [C   ] acpi ec_sys: Be more cautious about ec write access
    * [  N ] ACPI: introduce drivers/acpi/debugfs.c
    * [   3] ACPI: introduce drivers/acpi/sysfs.c
    * [ D  ] ACPI: introduce module parameter acpi.aml_debug_output
    * [C N ] ACPI: Provide /sys/kernel/debug/ec/...
    * [    ] ACPI: Provide /sys/kernel/debug//ec/ec0/io for binary access to the EC
    * [    ] ACPI: Register EC io ports in /proc/ioports
    * [ DN ] Documentation: Add new /sys/kernel/debug/ec/* files to ABI
    * [    ] intel_idle: delete power_policy modparam, and choose substate functions
    * [C   ] intel_idle: disable module support

EDAC/I2C/HW-Monitoring/Watchdog

   * [    ] amd64_edac: Remove polling mechanism
    * [    ] drivers/hwmon/hdaps.c: add Lenovo Thinkpad T400 to the whitelist
    * [    ] edac: mpc85xx: add support for new MPCxxx/Pxxxx EDAC controllers
    * [CDN ] hmc6352: add driver for the HMC6352 compass
    * [    ] hp_accel: add quirks for HP ProBook 532x and HP Mini 5102
    * [ D  ] hwmon: Add 3 critical limit attributes to sysfs-interface
    * [ D  ] hwmon: Add 4 current alarm/beep attributes to sysfs-interface
    * [CDN2] hwmon: Add driver for SMSC EMC2103 temperature monitor and fan controller
    * [C N ] HWMON: Add JZ4740 ADC driver
    * [CDN2] hwmon: add support for JEDEC JC 42.4 compliant temperature sensors
    * [CD  ] hwmon: coretemp: documentation update and cleanup
    * [    ] hwmon: coretemp: enable coretemp device add operation failure
    * [CDN3] hwmon: driver for SMM665 Six-Channel Active DC Output Controller/Monitor
    * [    ] hwmon: (emc1403) Add power support
    * [CD  ] hwmon: f71882fg: add support for the Fintek F71808E
    * [    ] hwmon: (k8temp) Differentiate between AM2 and ASB1
    * [    ] hwmon: (lm75) Add suspend/resume feature
    * [ DN1] hwmon: (ltc4245) Expose all GPIO pins as analog voltages
    * [    ] hwmon: New subsystem maintainers
    * [CD 1] hwmon: (pc87427) Add support for manual fan speed control
    * [    ] hwmon: (pc87427) Add support for the second logical device
    * [CD 1] hwmon: (pc87427) Add temperature monitoring support
    * [ D  ] hwmon: (w83627ehf) Add support for W83667HG-B
    * [ D  ] i2c: Add support for custom probe function
    * [C   ] i2c: Enable NXP LPC support in Kconfig
    * [C N1] i2c: I2C bus multiplexer driver pca954x
    * [C N1] i2c: Multiplexed I2C bus core support
    * [C N1] i2c/nuc900: add i2c driver support for nuc900
    * [CD  ] revert "hwmon: f71882fg: add support for the Fintek F71808E"
    * [C N1] watchdog: Adding support for ARM Primecell SP805 Watchdog
    * [C N2] WATCHDOG: Add watchdog driver for OCTEON SOCs
    * [C N2] watchdog: f71808e_wdt: new watchdog driver for Fintek F71808E and F71882FG
    * [C   ] watchdog: hpwdt (12/12): Make NMI decoding a compile-time option
    * [C   ] watchdog: hpwdt (4/12): Despecificate driver from iLO2
    * [    ] watchdog: hpwdt (7/12): allow full range of timer values supported by hardware

Alsa

   * [    ] ALSA: asihpi - Add ASI5200 family
    * [    ] ALSA: asihpi - HPI version 4.04.01
    * [    ] ALSA: emu10k1 - delay the PCM interrupts (add pcm_irq_delay parameter)
    * [ D  ] ALSA: hda - Add a new hp-laptop model for Conexant 5066, tested on HP G60
    * [    ] ALSA: hda - Add beep mixer support to Conexant codecs
    * [    ] ALSA: hda - Add conexant quirk for AMD based Lenovo G series machines
    * [    ] ALSA: hda - Add Dell Latitude E6400 model quirk
    * [    ] ALSA: hda - Add errata initverb sequence for CS42xx codecs
    * [ D  ] ALSA: hda - add ideapad model for Conexant 5051 codec
    * [    ] ALSA: hda - Adding support for new IDT 92HD87XX codecs
    * [    ] ALSA: hda - Add PC-beep whitelist for an Intel board
    * [    ] ALSA: hda - Add pin-fix for HP dc5750
    * [    ] ALSA: hda - Add quirk for Dell Vostro 1220
    * [    ] ALSA: hda - Add quirk for Lenovo T400s
    * [    ] ALSA: hda - Add quirk for Toshiba C650D using a Conexant CX20585
    * [    ] ALSA: hda - Add Sony VAIO quirk for ALC269
    * [    ] ALSA: hda - Add support for Acer ZGA ALC271 (1025:047c)
    * [    ] ALSA: hda - add support for Conexant CX20584
    * [    ] ALSA: hda - Add support for HDMI HBR passthrough
    * [    ] ALSA: hda - Add support for IDT 92HD89XX codecs
    * [    ] ALSA: hda - Add support for Lenovo S10-3t
    * [    ] ALSA: hda - Add support of dual-ADCs for Realtek ALC275
    * [ D  ] ALSA: hda: document VIA models
    * [    ] ALSA: HDA: Enable internal speaker on Dell M101z
    * [    ] ALSA: hda - Enable PC-beep for EeePC with ALC269 codec
    * [    ] ALSA: hda - Fix missing stream for second ADC on Realtek ALC260 HDA codec
    * [    ] ALSA: hda_intel: ALSA HD Audio patch for Intel Patsburg DeviceIDs
    * [    ] ALSA: hda - New snd-hda-intel model/pin config for hp dv7-4000
    * [    ] ALSA: hda - patch_nvhdmi.c: Add missing codec IDs, unify names
    * [    ] ALSA: hda - Restrict PCM parameters per ELD information over HDMI
    * [    ] ALSA: hda - Share digital I/O parser in patch_realtek.c
    * [   1] ALSA: hda - Support ALC680 codec
    * [ D  ] ALSA: hda - Update model entries in HD-Audio-Models.txt
    * [    ] ALSA: HDA: Use model=auto for LG R510
    * [C   ] ALSA: Kconfig: SND_AC97_POWER_SAVE description improvement
    * [    ] ALSA: pcm core - add a safe check to the silence filling function
    * [ D  ] ALSA: Update documents about new bits of xrun_debug proc file
    * [    ] ALSA: via82xx: allow changing the initial DXS volume
    * [    ] ALSA: virtuoso: work around missing reset in the Xonar DS Windows driver
    * [    ] ASoC: ad193x: add set_sysclk entry to support different clock input
    * [C   ] ASoC: add AD1980 obsolete information
    * [C N2] ASoC: Add driver for cs42l51
    * [C N2] ASoC: Add JZ4740 ASoC support
    * [C N1] ASoC: Add JZ4740 codec driver
    * [C N1] ASoC: Add SmartQ sound driver
    * [    ] ASoC: ak4642: Add Digital Playback Volume control
    * [    ] ASoC: codec: Add WM8987 device id to WM8750 driver
    * [    ] ASoC: da7210: Add HeadPhone Playback Volume control
    * [    ] ASoC: Default WM2000 ANC and speaker to enabled
    * [C N ] ASoC: EP93xx: Add Snapper CL15 i2s audio support
    * [C N2] ASoC: ep93xx i2s audio driver
    * [C   ] ASoC: eukrea-tlv320: add support for cpuimx35sd
    * [C   ] ASoC: eukrea-tlv320: add support for our i.MX25 board
    * [    ] ASoC: fsi: Add new funtion for SPDIF
    * [    ] ASoC: fsi: Add specified ID for soc-audio
    * [    ] ASoC: Implement WM8994 AIF1ADC2 paths
    * [    ] ASoC: Implement WM8994 OPCLK support
    * [C N ] ASoC: imx: add eukrea-tlv320
    * [C N2] ASoC: Initial WM8741 CODEC driver
    * [C N ] ASoC: JZ4740: Add qi_lb60 board driver
    * [C N ] ASoC: kirkwood: Add audio support to openrd client platforms
    * [C N3] ASoC: kirkwood: Add i2s support
    * [C N2] ASoC: NUC900/audio: add nuc900 audio driver support
    * [    ] ASoC: omap-mcbsp: Support for sDMA packet mode
    * [    ] ASoC: RX-51: Add basic jack detection
    * [    ] ASoC: RX-51: Add Jack Function kcontrol
    * [C   ] ASOC: S5PC100: Enable AC97 support
    * [C   ] ASOC: S5PV210: Enable AC97 support
    * [    ] ASoC: spdif: Add codec driver to use spdif stand-alone
    * [    ] ASoC:Support Samsung SoC(S5P) in I2Sv2
    * [    ] ASoC: tlv320dac33: Add support for automatic FIFO configuration
    * [    ] ASoC: tlv320dac33: Add support for changing upper threshold
    * [    ] ASoC: TWL4030: Add configurable delay after digimic enable
    * [ DN1] sound: move driver parameters to their own files
    * [   1] sound/oss: convert to unlocked_ioctl
    * [   1] sound: push BKL into open functions

Firewire

   
    * [   1] firewire: add CSR BUS_TIME support
    * [    ] firewire: add CSR BUSY_TIMEOUT support
    * [    ] firewire: add CSR cmstr support
    * [    ] firewire: add CSR CYCLE_TIME write support
    * [    ] firewire: add CSR NODE_IDS support
    * [    ] firewire: add CSR PRIORITY_BUDGET support
    * [    ] firewire: 'add CSR_... support' addendum
    * [    ] firewire: add read_csr_reg driver callback
    * [   1] firewire: cdev: add PHY packet reception
    * [    ] firewire: cdev: add PHY packet transmission
    * [    ] firewire: cdev: add PHY pinging
    * [    ] firewire: core: add CSR abdicate support
    * [    ] firewire: core: add CSR MAINT_UTILITY support
    * [    ] firewire: core: add CSR RESET_START support
    * [    ] firewire: core: add CSR SPLIT_TIMEOUT support
    * [    ] firewire: core: add CSR STATE_CLEAR/STATE_SET support
    * [ D  ] firewire: nosy: note ioctls in ioctl-number.txt
    * [    ] firewire: ohci: add MSI support
    * [    ] firewire: ohci: work around VIA and NEC PHY packet reception bug

Input/HID

   * [C N ] HID: add ACRUX game controller force feedback support
    * [    ] HID: add device ID for new Asus Multitouch Controller
    * [    ] HID: add HID_QUIRK_HIDINPUT_FORCE
    * [    ] HID: add no-get quirk for eGalax touch controller
    * [C N ] HID: add proper support for Elecom BM084 bluetooth mouse
    * [    ] HID: Add quirk for eGalax touch controler.
    * [    ] HID: add support for another BTC Emprex remote control
    * [    ] HID: Add support for chicony multitouch screens.
    * [C   ] HID: Add support for Conceptronic CLLRCMCE
    * [    ] HID: fixup blacklist entry for Asus T91MT
    * [    ] HID: Kanvus Note A5 tablet needs HID_QUIRK_MULTI_INPUT
    * [    ] HID: magicmouse: add param for scroll speed
    * [    ] HID: magicmouse: Correct parsing of large X and Y motions.
    * [    ] HID: magicmouse: enable horizontal scrolling
    * [    ] HID: magicmouse: properly account for scroll movement in state
    * [    ] HID: magicmouse: report last touch up
    * [    ] HID: magicmouse: scroll on entire surface, not just middle of mouse
    * [ D  ] HID: roccat: change kone_driver_version to kone_abi_version
    * [ D  ] HID: roccat: remove obsolete kone_abi_version sysfs attribute
    * [C N4] Input: Add ATMEL QT602240 touchscreen driver
    * [C N4] Input: add driver for ADXL345/346 Digital Accelerometers
    * [C N ] Input: Add pwm beeper driver
    * [C N1] input: Add STMPE keypad driver
    * [    ] Input: adp5588-keys - support GPI events for ADP5588 devices
    * [    ] Input: ads7846 - extend the driver for ads7845 controller support
    * [    ] Input: adxl34x - add support for ADXL346 orientation sensing
    * [C N1] Input: cy8ctmg110 - capacitive touchscreen support
    * [ D 1] Input: document the MT event slot protocol
    * [    ] Input: gpio-keys - add gpiolib debounce support
    * [    ] Input: gpio_keys - add hooks to enable/disable device
    * [    ] Input: i8042 - reset keyboard controller wehen resuming from S2R
    * [    ] Input: matrix_keypad - add support for clustered irq
    * [C N1] Input: mcs - Add MCS touchkey driver
    * [C N1] Input: samsung-keypad - Add samsung keypad driver
    * [C N1] input: STMPE touch controller support
    * [    ] Input: synaptics - only report width on hardware that supports it
    * [    ] Input: synaptics - set min/max for finger width
    * [    ] Input: uinput - add devname alias to allow module on-demand load
    * [C   ] Input: usbtouchscreen - add support for ET&T TC4UM touchscreen controller
    * [    ] Input: usbtouchscreen - implement basic suspend/resume
    * [    ] Input: usbtouchscreen - implement reset_resume
    * [    ] Input: usbtouchscreen - implement runtime power management
    * [    ] Input: wacom - add support for DTU2231 and DTU1631
    * [    ] Input: xpad - add product ID for Hori Fighting Stick EX2
    * [    ] Input: xpad - add USB-ID for PL-3601 Xbox 360 pad
    * [    ] Input: xpad - remove mouse buttons and axes for dance pads
    * PCI
    * [ D  ] intr-remap: allow disabling source id checking
    * [ D  ] pci: add PCI DMA unamp state API to feature-removal-schedule.txt
    * [ D  ] PCI: Allow read/write access to sysfs I/O port resources
    * [    ] PCI: change device runtime PM settings for probe and remove
    * [C   ] PCI: Default PCIe ASPM control to on and require !EMBEDDED to disable
    * [    ] PCI: disable MSI on VIA K8M800
    * [    ] PCI: Don't enable aspm before drivers have had a chance to veto it
    * [ DN1] PCI: export SMBIOS provided firmware instance and label to sysfs
    * [ DN2] PCI: PCIe: Ask BIOS for control of all native services at once
    * [ D  ] PCI: PCIe: Introduce commad line switch for disabling port services
    * [ D 9] pcmcia: do not use io_req_t when calling pcmcia_request_io()
    * [ D 4] pcmcia: remove cs_types.h
    * [ D 4] pcmcia: remove obsolete ioctl
    * [    ] PNPACPI: Add support for remote wakeup
    * [ D  ] x86/PCI: Add option to not assign BAR's if not already assigned

Plattform drivers

   * [    ] acerhdf: add AO531 and many BIOS versions for 1410, 1810xx and packard bell netbooks
    * [    ] acerhdf: add new BIOS versions
    * [    ] acerhdf: remove "chk_off" as it was only needed for T31 netbooks
    * [    ] asus-laptop: fix wapf, wlan_status and bluetooth_status module_param permissions
    * [C   ] classmate-laptop: depends on RFKILL or RFKILL=n
    * [   3] compal-laptop: add JHL90, battery & hwmon interface
    * [    ] dell-laptop: Add another Dell laptop family to the DMI whitelist
    * [    ] dell-wmi: Add support for eject key on Dell Studio 1555
    * [    ] eeepc-laptop: fix hotplug_disabled module_param permissions
    * [C N1] gpio: Add PMIC GPIO block support
    * [    ] intel_scu_ipc: detect CPU type automatically
    * [    ] intel_scu_ipc: Support Medfield processors
    * [    ] platform/x86: move rfkill for Dell Mini 1012 to compal-laptop
    * [    ] Remove indirect read write api support.
    * [    ] thinkpad-acpi: Add KEY_CAMERA (Fn-F6) for Lenovo keyboards
    * [    ] thinkpad-acpi: add support for model-specific keymaps
    * [    ] thinkpad-acpi: find ACPI video device by synthetic HID
    * [ D  ] thinkpad-acpi: untangle ACPI/vendor backlight selection
    * [    ] toshiba-acpi: Add an extra couple of keys
    * [    ] toshiba-acpi: Add support for Toshiba Illumination.
    * [    ] x86 platform drivers: hp-wmi Add media key 0x20e8
    * [ D  ] X86 platform drivers: Remove EC dump from thinkpad_acpi
    * [    ] X86 platform: hp-wmi Better match the HP WMI query interface

Power Management

   * [    ] [CPUFREQ] powernow-k8: On load failure, remind the user to enable support in BIOS setup
    * [    ] [CPUFREQ] Remove pointless printk from p4-clockmod.
    * [ D  ] [CPUFREQ] unexport (un)lock_policy_rwsem* functions
    * [    ] cpuidle: extend cpuidle and menu governor to handle dynamic states
    * [    ] PM: describe kernel policy regarding wakeup defaults (v. 2)
    * [    ] pm_qos: Reimplement using plists

Staging

   * [  N1] Staging: add quickstart acpi key driver
    * [   2] Staging: batman-adv: Add bonding functionality
    * [  N ] Staging: batman-adv: Add information about batman-adv sysfs entries
    * [    ] Staging: batman-adv: Adding netfilter-bridge hooks
    * [    ] Staging: batman-adv: Add release information for version 2010.0.0
    * [   3] Staging: batman-adv: add routing debug log accessible via debugfs
    * [   2] Staging: batman-adv: Move tables from sysfs to debugfs
    * [    ] Staging: batman-adv: Update TODO with new points from review
    * [C  8] Staging: dt3155: remove the driver
    * [C N1] Staging: iio: add digital compass hmc5843 driver
    * [   2] staging:iio:max1363 add theshold event support
    * [    ] Staging: otus: TODO: Don't bother, for documentation purposes only
    * [C N ] Staging: quickstart: add the quickstart driver to the build
    * [   1] Staging: ramzswap: Support generic I/O requests
    * [    ] staging: rtl8192su: update TODO
    * [C  9] Staging: sep: remove driver
    * [C   ] Staging: solo6x10: Add kconfig/kbuild fairy dust for solo6x10
    * [  N ] Staging: solo6x10: Add TODO
    * [  N9] staging: ti dspbridge: add core driver sources
    * [  N9] staging: ti dspbridge: add DOFF binaries loader
    * [  N9] staging: ti dspbridge: add header files
    * [  N9] staging: ti dspbridge: add platform manager code
    * [  N9] staging: ti dspbridge: add resource manager
    * [    ] Staging: ti-st: update ABI and TODO
    * [    ] Staging: ti-st: update TODO
    * [    ] Staging: ti-st: Update TODO
    * [    ] Staging: vt6655: Add TODO entries on x86-64 pointers and .data size

USB

   * [    ] hsu: add a periodic timer to check dma rx channel
    * [    ] USB: add device IDs for igotu to navman
    * [    ] USB: add do_wakeup parameter for PCI HCD suspend
    * [    ] USB: Add USB 2.0 to ssb ohci driver
    * [C N1] USB: add USB serial ssu100 driver
    * [    ] USB: autoconvert trivial BKL users to private mutex
    * [    ] USB: cdc-acm: Adding second ACM channel support for various Nokia and one Samsung phones
    * [    ] USB: cdc-acm: Add pseudo modem without AT command capabilities
    * [    ] USB: cp210x: Add B&G H3000 link cable ID
    * [    ] USB: cp210x: Add four new device IDs
    * [    ] USB: CP210x Add new device ID
    * [    ] USB: cp210x usb driver: add USB_DEVICE for Pirelli DP-L10 mobile.
    * [C N1] USB: EHCI Debug Port Device Gadget
    * [    ] USB: EHCI: Disable langwell/penwell LPM capability
    * [C   ] USB: EHCI: make CONFIG_USB_EHCI_TT_NEWSCHED default to Y
    * [    ] USB: ftdi_sio: Added custom PIDs for ChamSys products
    * [    ] USB: ftdi_sio: Add ID for Ionics PlugComputer
    * [    ] USB: ftdi_sio: add product ID for Lenz LI-USB
    * [    ] USB: gadget: file_storage: serial parameter even if not test mode
    * [    ] USB: gadget: f_mass_storage: added eject callback
    * [ D  ] USB: gadget: g_ether: updated INF file
    * [ DN ] USB: gadget: g_multi: added documentation and INF files
    * [C  1] USB: gadget: g_multi: code clean up and refactoring
    * [ DN ] USB: gadget: g_serial: INF file updated
    * [ D  ] USB: gadget: storage: optional SCSI WRITE FUA bit
    * [    ] USB: iuu_phoenix: Add support for different baud rates.
    * [    ] USB: option: add Celot CT-650
    * [    ] USB: option: Huawei ETS 1220 support added
    * [C   ] USB: otg/ulpi: add support for SMSC USB3319 ulpi phy
    * [    ] USB: remove fake "address-of" expressions
    * [    ] USB: serial: enable async suspend for usb serial port device
    * [    ] USB: serial: enabling support for Segway RMP in ftdi_sio
    * [    ] usb: serial: mos7840: Add USB IDs to support more B&B USB/RS485 converters.
    * [    ] usb: serial: mos7840: Add USB ID to support the B&B Electronics USOPTL4-2P.
    * [    ] USB: usbtest: support test device with only one iso-in or iso-out endpoint
    * [    ] USB: xhci: Performance - move functions that find ep ring.
    * [    ] USB: xhci: Performance - move interrupt handlers into xhci-ring.c
    * [    ] USB: xhci: Performance - move xhci_work() into xhci_irq()
    * [    ] USB: xHCI: Supporting MSI/MSI-X
    * [    ] USB HID: Add ID for eGalax Multitouch used in JooJoo tablet

V4L

   * [  N1] V4L/DVB: Add a keymap file with dib0700 table
    * [  N2] V4L/DVB: Add closed captioning support for the HVR-950q
    * [    ] V4L/DVB: af9013: add support for firmware 5.1.0.0
    * [    ] V4L/DVB: af9015: support for AverMedia AVerTV Volar M (A815Mac)
    * [    ] V4L/DVB: cs53l32a: convert to new control framework
    * [   3] V4L/DVB: cx2341x: convert to the control framework
    * [    ] V4L/DVB: cx23885: Add correct detection of the HVR-1250 model 79501
    * [   1] V4L/DVB: cx23885: Add preliminary IR Rx support for the HVR-1250 and TeVii S470
    * [ D  ] V4L/DVB: cx23885: add support for new model revisions of the HVR12xx board family
    * [C   ] V4L/DVB: cx23885: Change Kconfig dependencies to new IR_CORE functions
    * [   1] V4L/DVB: cx23885: Convert cx23885-input to use new in kernel IR pulse decoders
    * [    ] V4L/DVB: cx23885: Enable Message Signaled Interrupts(MSI)
    * [    ] V4L/DVB: cx23885: Require user to explicitly enable CX2388[57] IR via module param
    * [    ] V4L/DVB: cx25840: Add s_io_pin_config core subdev ops for the CX2388[578]
    * [  N4] V4L/DVB: cx25840: Add support for CX2388[57] A/V core integrated IR controllers
    * [   1] V4L/DVB: cx25840: convert to the new control framework
    * [    ] V4L/DVB: cx88: Let the user disable IR support
    * [   1] V4L/DVB: dib0700: properly implement IR change_protocol
    * [ D  ] V4L/DVB: DocBook/dvb: Update spec to reflect the current FE capabilities
    * [ D 1] V4L/DVB: DocBook/media: Add LIRC DocBook to media.html
    * [ DN2] V4L/DVB: Documentation: add v4l2-controls.txt documenting the new controls API
    * [   1] V4L/DVB: dvb: add lgdt3304 support to lgdt3305 driver
    * [ D  ] V4L/DVB: dvb: add support for kworld 340u and ub435-q to em28xx-dvb
    * [    ] V4L/DVB: dvb-usb: add support for rc-core mode
    * [   5] V4L/DVB: dvb-usb: prepare drivers for using rc-core
    * [C   ] V4L/DVB: Fix IR_CORE dependencies
    * [ D  ] V4L/DVB: get_dvb_firmware: update af9015
    * [   4] V4L/DVB: gspca - gl860: new driver for MI2020 sensor
    * [    ] V4L/DVB: gspca - main: Remove V4L1 compatibility
    * [    ] V4L/DVB: gspca - main: Version change
    * [ D  ] V4L/DVB: gspca - pac7302: add Genius iSlim 310
    * [CDN1] V4L/DVB: gspca - spca1528: New subdriver
    * [   1] V4L/DVB: gspca - sq930x: New sensor mt9v111
    * [   1] V4L/DVB: gspca - vc032x: Add more controls for poxxxx
    * [    ] V4L/DVB: gspca - zc3xx: Add back the brightness control
    * [   1] V4L/DVB: gspca - zc3xx: Add the light frequency control for sensor hv7131r
    * [   2] V4L/DVB: gspca - zc3xx: Check the USB exchanges
    * [    ] V4L/DVB: Increment DVB API version
    * [  N ] V4L/DVB: IR: add empty lirc pseudo-keymap
    * [    ] V4L/DVB: IR: add helper function for hardware with small o/b buffer
    * [C N3] V4L/DVB: IR: add mceusb IR receiver driver
    * [  N ] V4L/DVB: IR: add RC6 keymap for Windows Media Center Ed. remotes
    * [    ] V4L/DVB: IR: add tx callbacks to ir-core
    * [    ] V4L/DVB: IR: Allow not to compile keymaps in
    * [    ] V4L/DVB: ir-core: Add support for disabling all protocols
    * [    ] V4L/DVB: ir-core: allow specifying multiple protocols at one open/write
    * [   3] V4L/DVB: ir-core: centralize sysfs raw decoder enabling/disabling
    * [   2] V4L/DVB: ir-core: move decoding state to ir_raw_event_ctrl
    * [    ] V4L/DVB: ir-core: Rename sysfs protocols nomenclature to rc-5 and rc-6
    * [ D 1] V4L/DVB: IR: extend interfaces to support more device settings
    * [    ] V4L/DVB: IR/imon: auto-configure another 0xffdc device variant
    * [C   ] V4L/DVB: IR: Kconfig fixes
    * [    ] V4L/DVB: IR keymap: Add print button for HP OEM version of MCE remote
    * [ DN1] V4L/DVB: IR/lirc: add docbook info covering lirc device interface
    * [    ] V4L/DVB: IR/lirc: make lirc userspace and staging modules buildable
    * [    ] V4L/DVB: IR/mceusb: add tx callback functions and wire up
    * [    ] V4L/DVB: IR: NECX: support repeat
    * [C  3] V4L/DVB: IR: Port ene driver to new IR subsystem and enable it
    * [C   ] V4L/DVB: IR: put newly ported streamzap driver in proper home
    * [    ] V4L/DVB: ivtv: Add firmare monitoring and debug mode to ignore firmware problems
    * [   1] V4L/DVB: ivtv: Automatic firmware reload
    * [   2] V4L/DVB: ivtv: convert to the new control framework
    * [    ] V4L/DVB: ivtv: Increment driver version due to firmware loading changes
    * [C   ] V4L/DVB: lgs8gxx: remove firmware for lgs8g75
    * [C   ] V4L/DVB: mt9m111: Added indication that MT9M131 is supported by this driver
    * [   2] V4L/DVB: Port dib0700 to rc-core
    * [CD 6] V4L/DVB: Remove obsolete ovcamchip sensor framework
    * [    ] V4L/DVB: Report supported QAM modes on bt8xx
    * [ D  ] V4L/DVB: Retrieve firmware for az6027
    * [    ] V4L/DVB: saa7115: convert to the new control framework
    * [   1] V4L/DVB: saa717x: convert to the new control framework
    * [   1] V4L/DVB: sms: Convert IR support to use the Remote Controller core
    * [    ] V4L/DVB: smsusb: enable IR port for Hauppauge WinTV MiniStick
    * [  N ] V4L/DVB: staging: Add an specific TODO note for lirc_i2c
    * [  N ] V4L/DVB: staging/lirc: add lirc_bt829 driver
    * [  N2] V4L/DVB: staging/lirc: add lirc_ene0100 driver
    * [  N1] V4L/DVB: staging/lirc: add lirc_i2c driver
    * [  N1] V4L/DVB: staging/lirc: add lirc_igorplugusb driver
    * [  N2] V4L/DVB: staging/lirc: add lirc_imon driver
    * [  N2] V4L/DVB: staging/lirc: add lirc_it87 driver
    * [  N1] V4L/DVB: staging/lirc: add lirc_ite8709 driver
    * [  N1] V4L/DVB: staging/lirc: add lirc_parallel driver
    * [  N2] V4L/DVB: staging/lirc: add lirc_sasem driver
    * [  N3] V4L/DVB: staging/lirc: add lirc_serial driver
    * [  N3] V4L/DVB: staging/lirc: add lirc_sir driver
    * [  N2] V4L/DVB: staging/lirc: add lirc_streamzap driver
    * [  N1] V4L/DVB: staging/lirc: add lirc_ttusbir driver
    * [  N3] V4L/DVB: staging/lirc: add lirc_zilog driver
    * [C   ] V4L/DVB: staging/lirc: fix Kconfig dependencies
    * [  N3] V4L/DVB: staging/lirc: port lirc_streamzap to ir-core
    * [C N ] V4L/DVB: staging/lirc: wire up Kconfig and Makefile bits
    * [C N5] V4L/DVB: STAGING: remove lirc_ene0100 driver
    * [ D  ] V4L/DVB: TechnoTrend TT-budget T-3000
    * [  N1] V4L/DVB: tm6000: add ir support
    * [C   ] V4L/DVB: tm6000: move dvb into a separate kern module
    * [    ] V4L/DVB: uvcvideo: Add support for absolute pan/tilt controls
    * [    ] V4L/DVB: uvcvideo: Add support for Manta MM-353 Plako
    * [    ] V4L/DVB: uvcvideo: Add support for Miricle 307K thermal webcam
    * [    ] V4L/DVB: uvcvideo: Make button controls work properly
    * [    ] V4L/DVB: uvcvideo: Support menu controls in the control mapping API
    * [    ] V4L/DVB: V4L2: mediabus: add 12-bit Bayer and YUV420 pixel formats
    * [   1] V4L/DVB: V4L2: sh_mobile_camera_ceu: add support for CSI2
    * [    ] V4L/DVB: V4L2: sh_vou: VOU does support the full PAL resolution too
    * [C N1] V4L/DVB: V4L2: soc-camera: add a MIPI CSI-2 driver for SH-Mobile platforms
    * [    ] V4L/DVB: v4l2_subdev, cx23885: Differentiate IR carrier sense and I/O pin inversion
    * [CDN8] V4L/DVB: v4l: Add driver for Samsung S5P SoC video postprocessor
    * [C N4] V4L/DVB: v4l: Add MPC5121e VIU video capture driver
    * [C   ] V4L/DVB: V4L: do not autoselect components on embedded systems
    * [C N ] V4L/DVB: vpfe_capture: Create separate Kconfig file for davinci devices
    * [    ] V4L/DVB: IR: let all protocol decoders have a go at raw data
    * [    ] V4L/DVB: IR: only initially registers protocol that matches loaded keymap

Various other drivers

   * [C N1] Add s3c-adc-battery driver
    * [    ] DMAENGINE: add runtime slave config to DMA40 v3
    * [    ] DMAENGINE: add runtime slave control to COH 901 318 v3
    * [    ] DMAENGINE: ste_dma40: add DB8500 memcpy channels
    * [    ] DMAENGINE: ste_dma40: support disabling physical channels
    * [    ] DMAENGINE: ste_dma40: support older silicon
    * [    ] Driver core: Add BUS_NOTIFY_BIND_DRIVER
    * [C N ] drivers/misc: ROHM BH1780GLI ambient light sensor driver
    * [CDN1] drivers/misc: support for the pressure sensor BMP085 from Bosch Sensortec
    * [C N2] drivers: regulator: add Maxim 8998 driver
    * [C N1] gpio: Add STMPE GPIO driver
    * [ D  ] gpiolib: decouple might_sleep_if() from DEBUG
    * [C N2] gpio: sx150x: add Semtech I2C sx150x gpio expander driver
    * [C N4] hsu: driver for Medfield High Speed UART device
    * [C N2] Intel MID platform battery driver
    * [C N ] ISL6271A voltage regulator support.
    * [C N1] leds: add LED driver for Network Space v2 LEDs
    * [C N2] mrst_max3110: add UART driver for Max3110 on Moorestown
    * [C   ] of/i2c: Generalize OF support
    * [C N1] [PATCH v3 1/2] regulator: add support for regulators on the ab8500 MFD
    * [C N1] regulator: add TPS6586X regulator driver
    * [C N ] regulator: new drivers for AD5398 and AD5821
    * [C N1] rtc: add Intersil ISL12022 RTC driver
    * [C N1] RTC: Add JZ4740 RTC driver
    * [C N1] rtc: add support for DS3232 RTC
    * [C N1] rtc: driver for the DryIce block found in i.MX25 chips
    * [   1] rtc: fixes and new functionality for fm3130
    * [C   ] rtc: rtc-s3c: Add extra option to include RTC for Samsung SoCs
    * [    ] rtc: rtc-s3c: Updates RTC driver for clock enabling support
    * [C N5] serial: max3107: introduce a max3107 driver
    * [ D  ] serial: MMIO32 support for 8250_early.c
    * [  N ] tty: implement BTM as mutex instead of BKL
    * [    ] U6715 16550A serial driver support

Nachzügler

Die Kernel-Entwickler pflegen das Gros der Änderungen für eine neue Kernel-Version in der Merge Window genannten Phase am Anfang des Entwicklungszyklus in das Quellcodeverwaltungssystem ein. Dadurch stehen die wesentlichen Änderungen einer neuen Kernel-Version bereits Wochen vor deren Freigabe fest. Gelegentlich nehmen die Kernel-Entwickler in der zweiten Phase des Entwicklungszyklus aber noch einige kleinere, zumeist nicht ganz so wichtige Änderungen der Kategorie "Die kleineren Perlen" in den Linux-Kernel auf – teilweise, nachdem das Kernel-Log über die entsprechenden Subsysteme des Kernels bereits berichtet hat. Einige solcher Nachzügler gab es diesmal beim Code für Grafik-Hardware:

   * [    ] drm/i915,agp/intel: Add second set of PCI-IDs for B43
    * [    ] drm/kms: Add a module parameter to disable polling
    * [    ] efifb: support the EFI framebuffer on more Apple hardware
    * [    ] intel_agp,i915: Add more sandybridge graphics device ids

Quelle und Links : http://www.heise.de/open/artikel/Kernel-Log-Was-2-6-36-bringt-4-Treiber-1100010.html
Titel: Linux Kernel 2.6.36-rc7
Beitrag von: SiLæncer am 08 Oktober, 2010, 19:38
Changelog (http://www.kernel.org/pub/linux/kernel/v2.6/testing/ChangeLog-2.6.36-rc7)

http://kernel.org/
Titel: Linux-Kernel 2.6.36 freigegeben
Beitrag von: SiLæncer am 21 Oktober, 2010, 07:32
Ausnahmsweise nicht größer als der Vorgänger, aber dennoch voller Neuerungen: Linus Torvalds hat vergangene Nacht den Linux-Kernel 2.6.36 veröffentlicht, der unter anderem mit verschiedenen Performance-Verbesserungen, der Sicherheitserweiterung AppArmor und einer KDB-KMS-Debug-Shell aufwartet.

Zudem verbessern wie immer hunderte neuer oder überarbeiteter Treiber die Hardware-Unterstützung des Linux-Kernels erheblich – neu ist etwa ein Treiber für Fermi-Grafikchips und dutzende Treiber für Infrarot-Hardware. Ein Artikel auf heise open (http://www.heise.de/open/artikel/Die-Neuerungen-von-Linux-2-6-36-1102066.html) bietet einen Überblick über diese und viele andere wichtige Verbesserungen; am Ende wagen wir zudem einen Ausblick auf die Neuerungen, welche die Linux-Version 2.6.37, die möglicherweise noch zu Weihnachten erscheint, enthalten könnte:

    * Die Neuerungen von Linux 2.6.36 (http://www.heise.de/open/artikel/Die-Neuerungen-von-Linux-2-6-36-1102066.html)

Quelle : www.heise.de
Titel: Hauptentwicklungsphase des Linux-Kernel 2.6.37 abgeschlossen
Beitrag von: SiLæncer am 01 November, 2010, 16:37
Eineinhalb Wochen nach der Freigabe von Linux 2.6.36 hat Linus Torvalds die erste Vorabversion des Linux-Kernel 2.6.37 veröffentlicht. Damit hat er zugleich auch das Merge Window beendet – die erste Phase in der Entwicklung einer neuen Kernel-Version, in der die Kernel-Hacker das Gros der Neuerungen in das Quellcodeverwaltungssystem des Hauptentwicklungszweig integrieren.

In diesem Merge Window hat Torvalds knapp 9500 kleine und große Änderungen für 2.6.37 aufgenommen. 10.315 Dateien wurden laut Diffstat geändert; 1.037.346 Zeilen Quellcode sind neu und 560.632 flogen raus – verschobene oder veränderte Quellcodezeilen gehen in beide Zahlen ein. Dadurch wird Linux 2.6.37 zu den Kernel-Versionen mit vergleichsweise viel Änderungen zählen; 2.6.36 enthielt laut Diffstat lediglich 582.139 neue Quellcodezeilen.

Wie Torvalds in der Ankündigung von 2.6.37-rc1 hervorhebt, nutzen die Kern-Areale des Linux-Kernel nun das Big Kernel Lock (BKL) nicht mehr – eine sperrige Lock-Technik aus den Anfangszeiten der Multiprozessor-Unterstützung von Linux. Er war damals vergleichsweise einfach umsetzbar, wird jedoch durch die subsystemübergreifende Sperrung schnell zum Flaschenhals bei Systemen mit vielen Prozessorkernen.

Wie erwartet haben die Kernel-Entwickler auch den "Intial Domain Support" für Xen aufgenommen. Er stellt einen wichtigen Schritt hin zur Betrieb des Linux-Kernels als kontrollierende Xen-Domäne (Dom0) dar. Es fehlen allerdings noch die Backend-Treiber zum Betrieb als Xen-Dom0-Kernel, wie Jeremy Fitzhardinge kürzlich erklärte; er hofft derzeit, dass diese im nächsten Entwicklungszyklus in den Hauptentwicklungszweig einfließen.
Wie immer stießen zudem zahlreiche Treiber neu zum Kernel oder wurden erweitert; in die erste Kategorie fällt etwa der uas genannte Treiber für USB Attached SCSI, der flotten Datenaustausch mit USB-3.0-Datenträgern ermöglicht; der Treiber für die Magic Mouse von Apple unterstützt nun auch das Magic Trackpad. Die "Lazy Inode Table Initialization" soll das Anlegen von Ext4-Dateisystemen deutlich beschleunigt. Wie üblich wird heise open in den kommenden Wochen über diese und Dutzende andere wichtige Neuerungen von Linux 2.6.37 im Rahmen einer Mini-Serie mit dem Titel "Was 2.6.37 bringt" berichten.

Wie von Torvalds zuvor bereits grob angekündigt war das Merge Window damit nur elf Tage statt der sonst üblichen zwei Wochen offen. Mitschuld daran sind die Reispläne von Torvalds und vielen anderen wichtigen Kernel-Entwickler, denn sie treffen sich heute und morgen auf dem Kernel-Summit – ein jährliches Zusammenkommen, das die eingeladenen Kernel-Entwickler zur Aus- und Absprache nutzen. Der Summit findet dieses Jahr in Boston statt. Direkt im Anschluss folgt diesmal die Linux Plumbers Conference, bei der es nicht nur um Kernel-Themen, sondern auch um X-Server, Udev, Pulseaudio und andere für die Arbeit des Systems wichtige Software geht, mit der Anwender normalerweise nicht direkt in Berührung kommt.

Nach Ende des Merge Window folgt nun die normalerweise acht bis zwölf Wochen lange Stabilisierungsphase, in der Torvalds typischerweise wöchentlich neue Vorabversionen freigibt. Zu Weihnachten dürfte Linux 2.6.37 daher allenfalls erscheinen, wenn die Kernel-Hacker etwas flotter als zuletzt üblich arbeiten; eine Freigabe Mitte Januar scheint derzeit deutlich wahrscheinlicher.

Quelle : www.heise.de
Titel: Zweiter Release-Kandidat von Linux-Kernel 2.6.37 steht bereit
Beitrag von: SiLæncer am 17 November, 2010, 11:19
Zirka zwei Wochen nach Veröffentlichung von Linux-Kernel 2.6.37-rc1 haben die Entwickler einen zweiten Veröffentlichungs-Kandidaten zur Verfügung gestellt .

Linux-Kernel 2.6.37-rc1 war die erste Ausgabe dieser Reihe, mit der sich der pure Kern ohne ein "Big Kernel Lock" hat bauen lassen. Ebenso brachte der erste Release-Kandidat viele Treiber-Verbesserungen, wie zum Beispiel Intel Poulsbo und Broadcom WiFi.

Version 2.6.37-rc2 bringt eigentlich keine wirklich nennenswerten Neuerungen mit sich. Die Entwickler haben sich hauptsächlich auf das Ausbessern von Fehlern konzentriert. Die offiziellen Ankündigung von Linux-Vater Torvalds finden Sie bei lkml.org (http://lkml.org/lkml/2010/11/15/568).

Quelle : www.tecchannel.de
Titel: Der Linux-Desktop wird schneller
Beitrag von: SiLæncer am 17 November, 2010, 16:18
Ein neuer Patch für den Kernel-Scheduler verspricht massive Verbesserungen der System-Geschwindigkeit unter Last. Erste Tests zeigen tatsächlich, dass die neue Lösung eine extreme Verbesserung darstellt.

Wer die Entwicklung des Kernels in den letzten Wochen oder Monaten verfolgte, konnte nicht übersehen, dass sich der Fokus der Entwicklung auf die Verbesserung der Geschwindigkeit verschob. So ist die wohl wichtigste Änderung der kommenden Version des Kernels die Entfernung des »Big Kernel Locks« (BKL). Der BKL wurde 1996 mit der Erweiterung des Kernels um SMP-Fähigkeiten eingeführt, um den gleichzeitigen Zugriff von zwei Prozessoren auf die gleichen Datenstrukturen zu regeln. Diese Methode skaliert allerdings schlecht auf vielen Prozessoren und Threads und macht das System träger. Durch die Entfernung der Locks wird das System effektiv schneller, denn es entfallen zahlreiche Zwangspausen, die Bereiche vor einem gleichzeitigen Zugriff schützten.

Nun sorgt ein weiterer Patch im Kreise der Entwickler für Verzückung. Die auf einer Idee von Linus Torvalds zurückgehende Überarbeitung des Schedulers von Mike Galbraith implementiert automatische Task-Gruppen. Ziel der gerade einmal 200 Zeilen langen Implementierung ist die Reduktion der Latenz und damit einhergehend auch eine höhere Ausführungsgeschwindigkeit des Systems.

Die Resultate der neuen Lösung können sich durchaus sehen lassen. Laut einer Messung von Galbraith fiel die durchschnittliche Latenz von ehemals 9000 µs auf unter 150 µs. Die maximale Latenz lag bei der neuen Lösung bei knapp 4,16 ms, während sie bei dem Original noch bei fast 43 ms lag. Ähnliche Werte konnten auch andere Entwickler beobachten. Torvalds selbst spricht von einer »gewaltigen Verbesserung«, die man problemlos mit »bloßem Auge«, ohne jegliche Tests, erkennen kann. In seinem Fall hatte er lediglich »make -j64« ausgeführt und gleichzeitig seine E-Mails durchgeblättert.

Die Entwickler selbst sind sich deshalb sicher, dass die Arbeit von Galbraith zu jenen gehört, die eine extreme Verbesserung für den Kern darstellen. Wie diverse Versuche zeigen, bringt sie nicht nur theoretische Vorteile, sondern macht den Desktop unter Last spürbar flüssiger. Laut Torvalds ist die neue Funktion deshalb als »Killer-Feature« einzustufen. Sieht man die Geschwindigkeitssteigerung, die die neue Funktion mit sich bringt, so kann man ihm uneingeschränkt zustimmen.

Quelle : www.pro-linux.de
Titel: Kernel-Entwickler - Bessere Treiber mit Linux
Beitrag von: SiLæncer am 23 November, 2010, 12:56
Hardwaretreiber sollten zuerst für Linux programmiert werden, schlägt Kernel-Entwickler Luis R. Rodriguez vor. Damit könnten Hardwarehersteller qualitativ bessere Treiber entwickeln und später auf Windows und Mac OS X portieren.

Die Entwicklung von geschlossenen Treibern nutzen die Hardwarehersteller nach Ansicht des Kernel-Entwicklers Luis R. Rodriguez aus, um ihre Treiber schnell und schlampig zu programmieren. Zudem mangele es ihnen an Übersicht und Qualität, schreibt Rodriguez in einem Beitrag an die Linux-Kernel-Mailingliste. Wenn Treibercode von Hardwareherstellern beim Linux-Kernel eingereicht werde, müsse er meist aufgearbeitet werden. Zudem sorgten etliche Codeprüfungen dafür, dass am Ende ein qualitativ hochwertiger Treiber entstehe.

Da die verschiedenen Betriebssysteme als Basis oftmals ein gemeinsames Treiberframework mitbringen, ist der Teil des Codes, den ein Hersteller selbst einbringen muss, immer geringer geworden. Sowohl Linux als auch Mac OS X und Windows enthalten beispielsweise einen WLAN-Stack für 802.11, auf dem Hersteller ihre Treiber aufsetzen könnten.

Damit falle zumindest teilweise das Argument der Hersteller weg, die Entwicklung für den Linux-Kernel sei zu langsam, um Treiber in einer wettbewerbsfähig kurzen Zeit auf den Markt zu bringen. Rodriguez hält die lange Entwicklungszeit allerdings weiterhin für ein Problem. Er schlägt vor zu überlegen, wie auch die Kernel-Programmierer die Entwicklung beschleunigen könnten.

Er wünsche sich, dass Linux-Anwender früher und überhaupt in den Genuss von Hardwaretreibern kämen, schreibt Rodriguez. Vor allem hätten aber Anwender aller Betriebssysteme was davon, wenn Entwickler proprietärer Treiber mehr auf das Architekturdesign achteten und ihren Code besser pflegten.

Rodriguez ist beim Linux-Kernel unter anderem für die Entwicklung des WLAN-Stacks zuständig und hat an den MadWiFi- und Prism54-Treibern mitgearbeitet. Seine Äußerungen beziehen sich vor allem auf den Code für WLAN-Treiber. Unter Rodriguez' Posting schrieb Entwickler Alan Cox, die Idee sei gut, aber Firmen wollen schließlich Geld verdienen. Aus deren Sicht sei es eine gute Idee, proprietäre Stack-Erweiterungen in ihren Treibercode einzupflegen.

Quelle : www.golem.de
Titel: Kernel-Log: Flinker mit Prozessgruppen
Beitrag von: SiLæncer am 24 November, 2010, 16:28
Durch die automatische Gruppierung von Prozessen sollen Videos in Zukunft nicht mehr ruckeln und die Desktop-Oberfläche bedienbar bleiben, auch wenn viele Prozesse die CPU gehörig ins Schwitzen bringen. Derweil schreitet die Entwicklung von 2.6.37 voran und neue Stable-Kernel bringen Korrekturen für die Vorgänger. 2.6.35 hat indes sein Lebensende erreicht.

In der vergangenen Woche sorgte ein nur zirka 200 Zeilen umfassender Patch für Gesprächsstoff in Linux-Kreisen. Er soll die Interaktivität von Desktop-Applikationen in bestimmten Situationen, bei denen die CPU voll ausgelastet wird, erheblich steigern, Begonnen hatte die Diskussion um den Ansatz der Code-Änderung bereits vor einem Monat; verstärkte Aufmerksamkeit erhielt eine überarbeitete Version des Patches, nachdem Torvalds sie vor einer Woche in sehr deutlichen Worten lobte und davon sprach, dass sein System beim Kompilieren eines Kernels deutlich interaktiver sei.

Die bessere Reaktionsgeschwindigkeit erreicht der Patch, indem er für mit setsid() erstellte Sessions (etwa Daemonen, echte Terminals oder Pseudo-TTYs wie Xterm) automatisch eine eigene, über Cgroups verwaltbare Prozessgruppe erstellt und dadurch beeinflusst, wie der Prozess-Scheduler die verfügbare Prozessorzeit verteilt. Am besten lässt sich das mit einem vereinfachten Beispiel verdeutlichen, bei dem ein Multimedia-Player ein Video auf einer Single-Core-System wiedergibt, während man parallel in einem Xterm einen Kernel mit 9 simultanen Jobs (make -j 9) kompiliert.

Im Normalfall würde der Scheduler jedem Job 10 Prozent der Zeit zuteilen. Das ist unter Umständen zu wenig für eine flüssige Video-Wiedergabe. Wenn die Desktop-Oberfläche Tastatur- und Mauseingaben verarbeiten soll, müsste auch sie sich noch dazwischenquetschen, sodass die Zeit dann durch elf Prozesse aufgeteilt würde.

Durch den Patch landen die im Pseudo-Terminal gestarteten Compiler-Prozesse in einer eigenen Gruppe; die Prozesse der Desktop-Umgebung und der darüber gestartete Multimedia-Player stecken in einer anderen. Sofern in beiden Gruppe Prozesse laufen, die die CPU voll fordern, gewährt der Prozess-Scheduler jeder Gruppe 50 Prozent der Prozessorzeit. Innerhalb der Gruppe wird die Zeit wieder gerecht verteilt – jeder Compiler-Job erhält dann nicht mehr 10, sondern nur noch 5,6 Prozent der CPU-Zeit. Dadurch steht der Gruppe mit Desktop und Video-Player mehr Rechenzeit zur Verfügung, was für eine flüssige Video-Wiedergabe ausreichen sollte und noch genug Luft lässt, damit die Desktop-Oberfläche flott auf Eingaben via Maus und Tastatur reagiert.

Bei flotten CPUs dürfte die Player-Software allerdings die ihr zur Verfügung stehende CPU-Zeit gar nicht komplett verwenden und daher die Kontrolle an den Scheduler zurückgeben, wenn es gerade nichts weiteres zu tun gibt. Der verteilt die Zeit dann an andere Jobs, sodass die Gruppe mit den Prozessen zum Kompilieren des Kernels letztendlich mehr als 50 Prozent der CPU-Zeit erhält – das Kompilieren sollte dadurch nicht viel länger dauern als ohne die automatische Gruppierung.

Userland

Dieses Verhalten lässt sich aber auch bei älteren Kerneln und ohne den Patch konfigurieren. Dazu sind bei konfigurierten CPU-Cgroups lediglich zwei Aufrufe in den Startdateien der Bash nötig, wie Pulseaudio- und Systemd-Entwickler Lennart Poettering erklärt. Eine vergleichbare Lösung direkt in Systemd hält er für eleganter und flexibler als die automatische Gruppierung durch den Kernel. Den dazu nötigen Code implementierte Poettering wenige später und integrierte ihn in Systemd, damit es zusammen mit einer Erweiterung für das Gnome-Terminal die Gruppen ähnlich anlegt, wie es der Kernel-Patch auch tun würde. Ted Ts'o ('tytso') merkte an, dass man die Spezifikation für Desktop-Dateien sogar so anpassen könnte, dass auch andere Applikationen automatisch eine eigene Gruppe erhalten können.

Über die Vor- und Nachteile der beiden Ansätze und ihrer Implementierungsdetails wurde in einer langen Diskussion teilweise recht harsch gestritten. Auch Torvalds sparte an einigen Stellen nicht mit deutlichen Worten, brachte die Diskussion aber später auch wieder zur Ruhe, indem er erklärte, dass nichts dagegen spricht, beide Ansätze zu verfolgen.

Genau darauf scheint es zumindest derzeit hinauszulaufen, denn der Verwalter des Prozess-Schedulers hat angedeutet, den Kernel-Patch zur Auto-Gruppierung für 2.6.38 zu integrieren; dabei hat er aber ein Problem im Code gefunden, an dessen Beseitigung noch gearbeitet wird. Die Auto-Gruppierung lässt sich durch eine Konfigurationsoption ein- und ausschalten, sodass Distributionen, die ausschließlich auf die Systemd-Lösung setzen wollen, die zuständigen Kernel-Funktionen problemlos deaktivieren können.

Den meisten Anwendern dürfte ohnehin egal sein, welche der beiden Ansätze nun unter der Haube arbeitet – Hauptsache, die Desktop-Oberfläche reagiert flott und Videos und ruckeln nicht, selbst wenn andere Prozesse die CPU ins Schwitzen bringen.

Kernel-Versionsstatus

Zum Start dieser Arbeitswoche hat Linus Torvalds die dritte Vorabversion von Linux 2.6.37 veröffentlicht und sich in der begleitenden Freigabe-Mail erfreut darüber gezeigt, dass es so ruhig gewesen sei – dass also die anderen Kernel-Hacker relativ wenig Änderungen zur Aufnahme eingesandt haben.

Am Montag Abend folgte Greg Kroah-Hartman und gab vier neue Stable-Kernel frei: 2.6.27.56, 2.6.32.26, 2.6.35.9 und 2.6.36.1. Einige Korrekturen für die 36er-Reihe hat er hat er außen vor gelassen und für 2.6.36.2 aufgehoben. Die 35er-Reihe hat mit 2.6.35.9 jetzt ihr "End of Life" erreicht und soll keine weitere Updates erhalten; Anwender dieser Kernel-Serie sollen daher auf den Kernel 2.6.36 umsteigen, schreibt Kroah-Hartman in der Freigabe-Mail zu dieser Version.

Kernel-Log-Staccato

Kernel

    * Die Linux-Foundation hat kürzlich das Web-Seminar "Introduction to Btrfs with Chris Mason" online gestellt, dass nach einer Registrierung kostenlos abrufbar ist. Im Webinar zu dem als "Next Generation File System for Linux" eingestuften Dateisystems gibt Btrfs-Hauptentwickler Chris Mason einen Überblick über einige der jüngst fertiggestellte Entwicklungen und erläutert die RAID-5 und RAID-6-Fähigkeiten näher.
    * Christoph Hellwig gibt in dem "XFS status update for October 2010" einen Überblick über die jüngsten Entwicklungen rund um XFS und geht dabei auch auf die Neuerungen ein, die für die Linux-Version 2.6.37 integriert wurden.
    * Anfang des Monats flammte auf der LKML nochmal kurz eine Diskussion rund um die Änderungen auf, die im Android-Kernel stecken, aber nicht Bestandteil des offiziellen Kernels sind. Der langjährige und derzeit bei Google beschäftigte Kernel-Hacker Ted 'tytso' Ts'o schrieb in dem Rahmen, dass auch die Kernel der Enterprise-Distributionen von Red Hat oder Novell/Suse zahlreiche Patches enthielten, die nie in den offiziellen Kernel eingeflossen sind, ohne dass es vergleichbare Diskussionen gibt. Journalisten und Blogger hätten die Diskussionen zu einer Kontroverse aufgebauscht und ihr eine Bedeutung verliehen, die sie nicht verdient.

X-Server und Co.

    * AMD hat vergangene Woche die Version 10.11 seiner als Catalyst oder Fglrx bekannten proprietären Grafiktreiber zum Download bereit gestellt, diesmal jedoch keine begleitenden Release Notes veröffentlicht.
    * Ein Nvidia-Mitarbeiter hat kürzlich in einem offiziellen Linux-Support-Foren auf nvnews.net erklärt, das Unternehmen plane keine Unterstürzung der X-Server-Alternative Wayland.
    * Wayland-Entwickler Kristian Høgsberg hat den bisher unter der MIT-Lizenz stehenden Code für libwayland-server und libwayland-client unter die LGPLv2 gestellt.

Kernel-Umland ("Plumbing layer"), Userland-Treiber, Entwicklertools, ...

    * Thomas Gleixner und Ingo Molnar haben kürzlich das Tracing-Programm 'trace' vorgestellt, mit dessen Hilfe sich Vorgänge im System besser untersuchen lassen sollen als mit existierenden Tools.
    * Lennart Poettering gibt in einem Blog-Eintrag einen Überblick über den aktuellen Stand der Systemd-Entwicklung und listet viele jüngst vorgenommene Änderungen. So enthält die SysV-Init- und Upstart-Alternative nun eine eigenen Readahead-Implementation und unterstützt Btrfs-Defragmentation, was die Boot-Zeit insbesondere auf älteren Systemen verbessern soll. Poettering hat zudem den vierten Teil seiner Serie "Systemd für Administratoren" veröffentlicht.
    * Michael Kerrisk hat die man-pages 3.31 freigegeben, die einen weiteren Syscall von getrlimit und ein Flag von Inotify erläutern, die bei Linux 2.6.36 eingeführt wurden. In seinem Blog hat Kerrisk zudem sein kürzlich erschienenes Buch "The Linux Programming Interface" (TLPI) beworben, dessen Quellen zum kostenlosen Download bereitstehen.
    * Douglas Gilbert hat die Version 1.06 des als "hdparm for SCSI disks" umschriebenen Sdparm veröffentlicht.
    * M. Tim Jones gibt in dem bei IBM Developerworks erschienen Artikel "Virtual networking in Linux" einen Überblick über die Möglichkeiten zur Netzwerkkonfiguration im Virtualisierungsumfeld.
    * Über die Webseiten der Linux Plumbers Conference sind die Präsentationsfolien von vielen der Konferenz-Vorträgern erhältlich. Im "Kernel-Report" gibt LWN.net-Gründer und Chef Jonathan Corbet einen guten Überblick über die jüngsten und in naher Zukunft erwarteten Entwicklungen des Linux-Kernels. Die neusten Verbesserungen für die Tracing-Tools des Kernels fasst Arnaldo Melo in "Perf Tools: Recent Improvements" zusammen. Rafael Wysocki liefert in "Runtime Power Management in the PCI Subsystem" Hintergründe rund um die in letzter Zeit durchgeführten Kernel-Änderungen, mit denen sich die zur Laufzeit verwendbaren Stromsparmechanismen von PCI-Geräten nutzen lassen.

Quelle und Links : http://www.heise.de/open/artikel/Kernel-Log-Flinker-mit-Prozessgruppen-1140656.html
Titel: Kernel-Log – Was 2.6.37 bringt (1): Grafik
Beitrag von: SiLæncer am 30 November, 2010, 07:07
Der Nouveau-Treiber beherrscht erstmals Power-Management und spricht den GeForce 320M an. Der Code für Intels Grafikkerne unterstützt die Video-Einheiten der in Kürze erwarteten Sandybridge-Prozessoren und einige Änderungen am Radeon-KMS-Treiber sollen dessen Performance verbessern.

Vor einer Woche hat Linus Torvalds die dritte Vorabversion von Linux 2.6.37 veröffentlicht; sofern er sich trotz Thanksgiving und einer Reise nach Tokio an den üblichen Rhythmus hält, dürfte in Kürze die vierte Vorabversion von 2.6.37 folgen.

Die Fertigstellung der vermutlich Anfang Januar oder vielleicht schon Ende Dezember erwarteten Kernel-Version rückt damit langsam näher. Der jetzige Entwicklungsstand ähnelt der finalen Version allerdings schon stark, denn die Kernel-Hacker haben wie üblich am Anfang des Entwicklungszyklus alle größeren Neuerungen im Rahmen des Merge Window in den Hauptentwicklungszweig integriert. In der jetzigen Stabilisierungsphase fließen vorwiegend Fehlerkorrekturen, aber keine größeren Änderungen mehr ein, denn die könnten neue Fehler mit sich bringen.

Das Kernel-Log kann daher schon jetzt einen umfassenden Überblick über die größten Neuerungen der nächsten Kernel-Version geben. Wie üblich wird es die Informationen über mehrere Artikel verteilen, die sich nach und nach den verschiedenen Funktionsbereichen des Kernels widmet. Den Anfang der Serie "Was 2.6.37 bringt" machen die Änderungen rund um die Unterstützung für Grafikhardware; in den kommenden Wochen folgen Artikel zur Netzwerkunterstützung, zu Storage-Hardware, Dateisystemen, Architektur-Code, Treibern und einigen weiteren Funktionsbereichen.

Die drei Großen

Der Nouveau-Treiber unterstützt nun NVAF-Chips wie den auch MCP89 genannten GeForce 320M – ein Mainboard-Chipsatz mit integrierter Grafik, der etwa in einigen der aktuellen MacBooks steckt. Der Nouveau-Code spricht jetzt auch einige der Power-Management-Funktionen von GeForce-Grafikchips an; die Lüfterregelung aktiviert er aber weiterhin nicht, wodurch die Lüfter von Grafikkarten, die den Lüfter nicht autark regeln, stetig auf Höchstgeschwindigkeit laufen.

Der Code für Radeon-Grafikchips der Evergreen-Generation (HD 5000-Serie) bietet nun Blit-Unterstützung, was die Nutzung des Grafikspeichers jenseits der "PCI Aperture Size" ermöglicht sowie 2D- und 3D-Performance steigert. Letztere verbessert auch die auch für ältere Radeon-Grafikchips implementierte Writeback-Unterstützung.

Die Treiber für Intel-GPUs unterstützt nun den Ring Buffer der mit Grafikchip ausgestatteten Sandybridge-Prozessoren; Userland-Code kann darüber die Recheneinheiten zum De- und Encodieren von Video nutzen, welche die GPUs der Anfang nächsten Jahres erwarteten Intel-Prozessoren enthalten (1, 2). Der Intel-KMS-Treiber kann nun auch die Audio-Ausgabe via DisplayPort und HDMI aktivieren; gibt es bei der Erkennung der Audio-Fähigkeiten von via DP oder HDMI angeschlossenen Ausgabegeräten Probleme, kann man die Audio-Ausgabe nun auch manuell aktivieren (1, 2, 3) .

Für die GMA500-Grafik des Poulsbo-Chipsatzes von Intel bringt der Kernel nun einen minimalistischen Treiber zur Regelung der Bildschirmhelligkeit mit. Open-Source-Grafiktreiber oder einen universellen, für die gängigsten Mainstream-Distributionen einsetzbaren proprietären Grafiktreiber gibt es für diesen eher auf Embedded-Systeme ausgerichteten, aber auch in einigen Netbooks eingesetzten Chipsatz weiterhin nicht. Intel ist sich der Problematik durchaus bewusst und will sie langfristig beseitigen, wie der Kernel-Log-Author kürzlich von einem Intel-Mitarbeiter erfuhr – es blieb aber unklar, ob damit ein Treiber für die jetzigen oder Chipsätze gemeint ist oder ob nur zukünftige Chipsätze einen ordentlichen Linux-Treiber erhalten.

Fehlersuche

Um Problemen oder Abstürzen auf den Grund zu gehen lässt sich nun auch mit den KMS-Treibern für GeForce- und Radeon-Grafikhardware eine KDB-Debug-Shell öffnen (1, 2); der für die Shell zuständige Code stieß bei Version 2.6.36 zum Kernel, arbeitet dort aber nur mit dem Intel-KMS-Treiber zusammen. Nachdem es um den Treiber für die unter anderem von Virtualiersungslösungen von VMware emulierter Grafik-Hardware etwas ruhiger geworden war, erhielt er nun wieder etwas größere Änderungen; unter ihnen finden sich unter anderem eine Korrektur zur besseren Unterstützung von ACPI S3 und S4
Einige weitere Änderungen rund um den für DRM und KMS zuständigen Kernel-Code listet dessen Betreuer Dave Airlie in seinem Haupt-Git-Pull-Request auf. Darüber hinaus gab es noch einige Änderungen am im Staging-Zweig angesiedelten USB-DisplayLink-Treiber udlfb – darunter Dokumentation und DPMS-Unterstützung. Durch Verbesserungen am Code zum Auslesen der Display-Informationen (EDID/Extended display identification data) und dem Setzen der Bildschirmauflösung kann der Treiber nun über billige DisplayLink-Chips wie den DL-125 auch High-End-Monitore ansprechen, deren Standard-Auflösung jenseits von 1280 × 1024 liegt. Bereits vor Monaten verliehen die Entwickler des Treibers in einem ihrer Hoffnung Ausdruck, dass der Treiber den Staging-Bereich bald verlassen kann; bei 2.6.37 war es aber noch nicht der Fall.

Die kleinen Perlen

Viele kleinere, aber keineswegs unbedeutende Neuerungen finden sich in der folgenden Liste mit den englischen Commit-Überschriften der jeweiligen Änderung. Die Einträge verlinken genau wie viele der Verweise im vorangegangenen Text auf das Webfrontend des von Linus Torvalds gepflegten Git-Zweigs mit den "offiziellen" Kernel-Quellen auf Kernel.org. Der über diese Links angezeigten Commit-Kommentar und der darunter ausgegebene Patch liefern zahlreiche weitere Informationen zur jeweiligen Änderungen.

Vor jedem Link finden sich in eckigen Klammern einige Buchstaben und Zahlen. Ein "C" kennzeichnet Patches mit Änderungen an Kconfig-Dateien, welche die Hilfetexte und Konfigurationsoptionen enthalten, die bei der Kernel-Konfiguration über "make menuconfig", "make xconfig" und ähnliche Werkzeuge angezeigt werden. Ein "D" steht bei Patches, die die Dokumentation verändern, die im Kernel-Zweig unterhalb von Documentation/ liegt. Ein "N" weist Änderungen aus, die eine neue Datei anlegen. Die Zahl vermittelt einen groben Eindruck zur Größe des Patches: eine "1" steht etwa für Änderungen, die inklusive Kommentar zwischen 10 und 20 KByte groß sind, eine "2" für solche, die zwischen 20 und 30 KByte Umfang haben; Änderungen ohne Zahl sind kleiner als 10 KByte, Patches mit einer "9" hingegen 90 KByte oder größer.

    * [    ] agp/intel: Also add B43.1 to list of supported devices
    * [  N1] drm/i915: add _DSM support
    * [    ] drm/i915: Add support for GPU soft reset on Ironlake.
    * [    ] drm/i915: Allow powersave modparam to be adjusted at runtime.
    * [    ] drm/i915/dp: use VBT provided eDP params if available
    * [    ] drm/i915: enable thermal reporting for IPS
    * [    ] drm/nouveau: Add a module option to force card POST.
    * [    ] drm/nouveau: Add module parameter to override the default AGP rate.
    * [    ] drm/nouveau: Add support for I2C hardware monitoring devices.
    * [  N1] drm/nouveau: Add temperature support (vbios parsing, readings, hwmon)
    * [    ] drm/nouveau: allow static performance level setting
    * [    ] drm/nouveau: Expose some BO usage flags to userspace.
    * [C   ] drm/nouveau: Fix build regression, undefined reference to `acpi_video_get_edid'
    * [    ] drm/nouveau: implement parsing of DCB 2.2 GPIO table
    * [  N2] drm/nouveau: import initial work on vbios performance table parsing
    * [  N1] drm/nouveau: move ramht code out of nouveau_object.c, nothing to see here
    * [    ] drm/nv04-nv40: import initial pm backend
    * [    ] drm/nv50: Fix large 3D performance regression caused by the interchannel sync patches.
    * [  N ] drm/nv50: import initial clock get/set routines + hook up pm engine
    * [  N ] drm/nva3: split pm backend out from nv50
    * [    ] drm/radeon/kms/atom: add proper external encoders support
    * [   1] drm/radeon/kms: implement display watermark support for evergreen
    * [   1] drm/radeon/kms: remove new pll algo
    * [   1] drm: replace drawable ioctl by noops
    * [    ] drm/ttm: Documentation update
    * [    ] drm/ttm: Optimize delayed buffer destruction
    * [  N2] drm/ttm: restructure to allow driver to plug in alternate memory manager
    * [ D  ] drm: use noop_llseek
    * [    ] drm/vmwgfx: Add a parameter to get the max fb size
    * [    ] drm/vmwgfx: Add new-style PM hooks to improve hibernation behavior
    * [    ] drm/vmwgfx: Really support other depths than 32
    * [   1] fbdev: sh_mobile_hdmi: support hot-plugging of different HDMI / DVI displays
    * [   2] fbdev: sh_mobile_lcdcfb: Support multiple video modes in platform data
    * [  N ] intel-gtt: introduce drm/intel-gtt.h
    * [    ] Minimal support for viafb suspend/resume
    * [ D  ] viafb: add documentation for proc interface
    * [   1] viafb: add initial VX900 support
    * [   1] viafb: add interface for output device configuration
    * [    ] viafb: add new output device management
    * [   1] viafb: introduce per output device power management
    * [  N2] vmwgfx: Implement a proper GMR eviction mechanism
    * [    ] staging: udlfb: add module options for console and fb_defio

Quelle und Links : http://www.heise.de/open/artikel/Kernel-Log-Was-2-6-37-bringt-1-Grafik-1143775.html
Titel: Kernel-Log: Studie liefert Hintergründe zur Entwicklung des Linux-Kernels
Beitrag von: SiLæncer am 02 Dezember, 2010, 15:47
Die neue Studie der Linux Foundation erläutert den aktuellen Entwicklungsprozess des Linux-Kernels und zeigt mit vielen Zahlen, wie schnell der Kernel wächst. Sie analysiert ferner, welche Entwickler und Unternehmen wie stark zur Kernel-Entwicklung beitragen.

Die Linux Foundation hat eine aktualisierte Ausgabe ihrer Studie zum Thema "Who Writes Linux and Who Supports It" veröffentlicht , die Einblicke in die Entwicklung des Linux-Kernels bietet. Die neue Studie trägt den Titel "Linux Kernel Development – How Fast it is Going, Who is Doing It, What They are Doing, and Who is Sponsoring It" und analysiert ähnlich wie die erste und zweite Version unter anderem, welche Unternehmen die Kernel-Entwicklung vorantreiben, wie viele Programmierer Änderungen beisteuern und wie schnell der Kernel wächst.

Geschrieben wurde die Studie von Kernel-Entwickler und LWN.net-Chef Jonathan Corbet, dem bei Novell angestellten Kernel-Entwickler Greg Kroah-Hartman und Amanda McPherson von der Linux Foundation. Wie bei den beiden ersten Studien liegen auch der jetzigen die Daten seit Veröffentlichung der Kernel-Version 2.6.11 zugrunde – direkt danach hatte Torvalds zur Verwaltung der Kernel-Quellen auf das damals von ihm gestartete Quellcodeverwaltungssystem Git umgestellt. In einigen Bereichen der Studie haben sich die Autoren allerdings auf die Änderungen konzentriert, welche die Kernel-Entwickler zwischen der Freigabe der Versionen 2.6.30 und 2.6.35 vorgenommen haben – also dem Zeitraum zwischen der zweiten Studie und dem Schreiben der jetzt veröffentlichten. Wie schon zuvor nutzten die drei bei der Auswertung den "Git Data Miner" (gitdm).

mehr ... (http://www.heise.de/open/artikel/Kernel-Log-Studie-liefert-Hintergruende-zur-Entwicklung-des-Linux-Kernels-1145864.html)

Quelle : www.heise.de
Titel: Kernel-Log – Was 2.6.37 bringt (2): Dateisysteme
Beitrag von: SiLæncer am 05 Dezember, 2010, 19:07
Mit der nächsten Kernel-Version erreicht Ext4 neue Leistungsdimensionen und kann Datenträger durch einen Trick flotter formatieren. Neu sind auch eine Discard-Funktion, die für langsam trimmendende SSDs interessant ist, das "Rados Block Device" für Block-Devices im Cluster sowie Fehlerkorrekturen und Optimierungen an Btrfs.

Die Freigabe des RC4 des für den Jahreswechsel erwarteten Kernels 2.6.37 vor wenigen Tagen nimmt das Kernel-Log zum Anlass, die Mini-Serie "Was 2.6.37 bringt" mit der Beschreibung der Neuerungen rund um Dateisysteme fortzusetzen. Der erste Teil der Serie hatte sich mit den Änderungen rund um Grafik-Hardware beschäftigt; folgen werden in den kommenden Wochen noch Artikel zu Architektur-Code, Treibern und der sie umgebenden Infrastruktur.

Ext-Familie

Die "Lazy Inode Table Initialization" soll in Kombination mit neuen Userland-Tools das Anlegen von Ext4-Dateisystemen deutlich beschleunigen, da die für die Inode-Tabellen benötigten Bereiche beim Formatieren nicht mehr explizit bereinigt werden.

Der Ext4-Code arbeitet nun enger mit dem Block Layer zusammen – dadurch soll das Dateisystem deutlich schneller arbeiten, besser skalieren und gleichzeitig die CPU weniger belasten. Wie Ext3-Hauptentwickler Ted "tytso" Ts'o im Haupt-Git-Pull-Request und noch etwas ausführlicher einem Blog-Eintrag schreibt, stiegt der Durchsatz durch diese und einige bereits zuvor umgesetzte Änderungen auf einem Testsystem mit 48 Prozessorkernen auf das Dreifache und die CPU-Belastung reduzierte sich um den Faktor drei bis vier. Dadurch käme Ext4 nun recht nahe an die Leistung von XFS heran; er habe zudem noch weitere Performance-Verbesserungen geplant.

Gelegentliches Putzen

Das VFS bietet nun einen "FITRIM" genannten Ioctl, über das Programme wie das bald in die Standard-Werkzeugsammlung util-linux-ng einziehende fstrim den Dateisystem-Code des Kernels anweisen können, nach freien Bereichen zu suchen und den Datenträger darüber zu informieren – etwa per ATA_TRIM. Bislang implementiert allerdings nur Ext4 die neue Schnittelle für die auch "Batched Discard" bezeichneten Funktion (1, 2).Das Melden freier Bereiche ist für Thin Provisioning wichtig und verbessert Performance und Lebensdauer von SSDs.

Da dafür das ganze Dateisystem nach freien Bereichen durchsucht werden muss, kann solch ein Batched Discard durchaus einige Zeit in Anspruch nehmen. Wie lange anschließend der Datenträger zur Verarbeitung der Kommandos braucht, ist nicht mehr sonderlich wichtig.Manche SSDs lassen sich dabei nämlich viel Zeit, wie der Entwickler der Änderungen vor einigen Monaten bei der Vorstellung der Patches erläuterte. Daher sinkt der Datendurchsatz unter Umständen erheblich, wenn der Kernel den Datenträger direkt bei jedem Löschen einzelner Dateien über freigewordene Bereiche informiert, wie es der Kernel seit Version 2.6.33 beherrscht.

Der Entwickler bietet einige Programme für Test der Discard-Geschwindigkeitstest auf seiner Homepage zur Verfügung. Dort finden sich auch Messwerte einiger Produkte, es fehlen allerdings Hersteller-Namen und Modell-Bezeichnungen.

Btrfs und Ceph

Einen guten Überblick über die Änderungen an Btrfs gibt der Git-Pull-Request von Chris Mason. So brachte Red-Hat-Entwickler Josef Bacik Änderungen ein, durch die das "Next Generation Linux File System" eine Liste freie Blöcke in einer speziellen Inode zwischenspeichert, sofern das Dateisystem mit "-o space_cache" eingebunden wird. Das macht das Btrfs nach einem frischen Mounten "erheblich flotter", weil die Strukturen nicht nach freien Blöcken abgesucht werden müssen. Kurz vor Freigabe der vierten Vorabversion von 2.6.37 stießen zudem noch einige Korrekturen am Btrfs-Code zum Kernel, unter anderem für Probleme, die sich beim Einsatz von Direct I/O oder beim Zusammenspiel mit NFS zeigten.

Eine umfangreiche, im Git-Pull-Request kurz erläuterte Umstrukturierung gab es beim teilweise auf dem Btrfs aufbauenden Code des Cluster-Dateisystems Ceph: Teile des Dateisystem-Codes wurden in die Kernel-interne Library libceph verlagert, auf die neben Ceph auch das neue und experimentelle Rados Block Device (RDB) aufsetzt. Ähnlich wie mit nbd oder iSCSI lassen sich damit Block Devices erstellen, deren Daten im Netz liegen – in diesem Fall in einem Ceph-Cluster. Weitere Hintergründe und eine Kurzbeschreibung der Funktion liefern ein Blog-Eintrag der Ceph-Entwickler und das Ceph-Wiki.

NFS, XFS und Co.

Der CIFS-Code zum Zugriff von Samba- oder Windows-Freigaben unterstützt nun die Mount-Option multiuser und mfsymlinks. Mit Hilfe eines neuen Idmappers kann der NFS-Client schneller und flexibler zwischen Namen und Identifikationsnummern (IDs) für Benutzer und Gruppen übersetzen – Details zur Funktion liefert die zugehörige Dokumentation. Einige Optimierungen am Readdir-Code von NFSv4 können das Auflisten von Verzeichnissen mit vielen Dateien erheblich beschleunigen, wie der Entwickler der Änderung mit Messwerten im Commit-Kommentar zeigt. Einige der wichtigsten Änderungen am NFSD-Code führt J. Bruce Fields in seinem Git-Pull-Request auf.

Einen guten Überblick über die Änderungen an XFS liefert das "XFS Status Update For October 2010" – einige Optimierungen rund um die Metadaten (u. a. 1) sollen etwa die Skalierbarkeit weiter verbessern und hätten das Entfernen von 50 Millionen Dateien in einem Test um über hundert Prozent beschleunigt.

Das Cluster-Dateisystem GFS2 gilt nicht mehr als experimentell und bietet nun Unterstützung für Fallocate. Einige weitere Änderungen an GFS finden sich im Git-Pull-Request von Steven Whitehouse; der von Joel Becker listet die wichtigsten Änderungen an OCFS2, der von Ryusuke Konishi die an NILFS2.

Bessere Skalierung

Der Code des VFS und der verschiedenen Dateisysteme braucht nun das Big Kernel Lock (BKL) nicht mehr. Nachdem bereits in 2.6.36 einige Änderungen gab, die die Skalierbarkeit des VFS verbessern sollen, stießen mit 2.6.37 weitere Optimierungen mit diesem Ziel zum Kernel – erneut blieben jedoch viele ähnlich gelagerte Änderungen außen vor, deren Aufnahme zuvor recht wahrscheinlich schien.
Indirekte Hauptursache dafür war Dave Chinner, der einen zweiten Ansatz zur Verbesserung der Skalierbarkeit präsentiert hatte, der sich an einigen Stellen von jenem Unterschied, den Nick Piggin gezeigt und zur Aufnahme vorbereitet hatte. Darüber entstand eine längere Diskussion. Die war zwar streckenweise recht harsch, führte allerdings auch zu Verbesserungen in beiden Patch-Sammlungen – weitere Hintergründe dazu liefert LWN.net in einem Artikel. Auch jetzt, einige Wochen nach der Hauptdiskussion, ist noch immer nicht absehbar, welcher der Ansätze bei 2.6.38 das Rennen macht; Torvalds hat allerdings angedeutet, die Patches von Piggin aufnehmen zu wollen, wenn sich die an der Diskussion und Entscheidungsfindung beteiligten Entwickler nicht einigen können.

Die kleinen Perlen

Viele kleinere, aber keineswegs unbedeutende Neuerungen finden sich in der folgenden Liste mit den englischen Commit-Überschriften der jeweiligen Änderung. Die Einträge verlinken genau wie viele der Verweise im vorangegangenen Text auf das Webfrontend des von Linus Torvalds gepflegten Git-Zweigs mit den "offiziellen" Kernel-Quellen auf Kernel.org. Der über diese Links angezeigten Commit-Kommentar und der darunter ausgegebene Patch liefern zahlreiche weitere Informationen zur jeweiligen Änderungen.

Vor jedem Link finden sich in eckigen Klammern einige Buchstaben und Zahlen. Ein "C" kennzeichnet Patches mit Änderungen an Kconfig-Dateien, welche die Hilfetexte und Konfigurationsoptionen enthalten, die bei der Kernel-Konfiguration über "make menuconfig", "make xconfig" und ähnliche Werkzeuge angezeigt werden. Ein "D" steht bei Patches, die die Dokumentation verändern, die im Kernel-Zweig unterhalb von Documentation/ liegt. Ein "N" weist Änderungen aus, die eine neue Datei anlegen. Die Zahl vermittelt einen groben Eindruck zur Größe des Patches: eine "1" steht etwa für Änderungen, die inklusive Kommentar zwischen 10 und 20 KByte groß sind, eine "2" für solche, die zwischen 20 und 30 KByte Umfang haben; Änderungen ohne Zahl sind kleiner als 10 KByte, Patches mit einer "9" hingegen 90 KByte oder größer.

Btrfs

    * [    ] Btrfs: add support for mixed data+metadata block groups
    * [    ] Btrfs: allow subvol deletion by unprivileged user with -o user_subvol_rm_allowed
    * [    ] Btrfs: async transaction commit
    * [    ] Btrfs: let the user know space caching is enabled
    * [    ] Btrfs: Switch the extent buffer rbtree into a radix tree
    * [    ] Btrfs: tune the chunk allocation to 5% of the FS as metadata

Ext[234]

    * [    ] ext3/ext4: Factor out disk addressability check
    * [    ] ext4: add batched_discard into ext4 feature list
    * [    ] ext4: add interface to advertise ext4 features in sysfs
    * [    ] ext4: Add new ext4 inode tracepoints
    * [    ] ext4: avoid uninitialized memory references in ext3_htree_next_block()
    * [    ] ext4: implement writeback livelock avoidance using page tagging
    * [   3] ext4,jbd2: convert tracepoints to use major/minor numbers
    * [    ] ext4: move mpage_put_bnr_to_bhs()'s functionality to mpage_da_submit_io()
    * [    ] ext4: optimize orphan_list handling for ext4_setattr

NFS

    * [   2] NFS: add readdir cache array
    * [ D  ] NFS: Allow NFSROOT debugging messages to be enabled dynamically
    * [    ] NFS: client needs to maintain list of inodes with active layouts
    * [    ] NFS: create and destroy inode's layout cache
    * [    ] nfsd4: fix hang on fast-booting nfs servers
    * [C  2] nfsd4: remove spkm3
    * [C   ] nfsd: allow deprecated interface to be compiled out.
    * [ D  ] nfsd: formally deprecate legacy nfsd syscall interface
    * [   1] nfs: introduce mount option '-olocal_lock' to make locks local
    * [    ] NFS: Optimise the readdir searches
    * [ D  ] NFS: rename nfs.upcall -> nfs.idmap
    * [  N ] NFS: set layout driver
    * [   3] NFSv4.1: pnfs: add LAYOUTGET and GETDEVICEINFO infrastructure
    * [    ] NFSv4.1: pnfsd, pnfs: protocol level pnfs constants
    * [  N2] NFSv4.1: pnfs: filelayout: add driver's LAYOUTGET and GETDEVICEINFO infrastructure
    * [  N ] NFSv4.1: pnfs: filelayout: introduce minimal file layout driver
    * [CDN ] NFSv4.1: pnfs: full mount/umount infrastructure

Various others

    * [    ] 9p: Add a Direct IO support for non-cached operations.
    * [    ] 9p: Implement TGETLOCK
    * [    ] 9p: Implement TLOCK
    * [    ] 9p: Implement TREADLINK operation for 9p2000.L
    * [    ] BKL: Remove BKL from NILFS2
    * [    ] cifs: Allow binding to local IP address.
    * [   1] cifs: convert cifs_tcp_ses_lock from a rwlock to a spinlock
    * [   1] cifs: convert GlobalSMBSeslock from a rwlock to regular spinlock
    * [   1] cifs NTLMv2/NTLMSSP ntlmv2 within ntlmssp autentication code
    * [ D  ] fs/9p: Add access = client option to opt in acl evaluation.
    * [    ] fs/9p: Add xattr callbacks for POSIX ACL
    * [   1] fs/9p: Implement create time inheritance
    * [C N1] fs/9p: Implement POSIX ACL permission checking function
    * [    ] fs/9p: Implement setting posix acl
    * [    ] fs: allow for more than 2^31 files
    * [    ] fs: allow for more than 2^31 files
    * [    ] fs: Do not dispatch FITRIM through separate super_operation
    * [    ] fs: Implement lazy LRU updates for inodes
    * [   1] fs: inode split IO and LRU lists
    * [    ] fs: introduce a per-cpu last_ino allocator
    * [   1] fs/locks.c: prepare for BKL removal
    * [    ] GFS2: Add "norecovery" mount option as a synonym for "spectator"
    * [    ] lockd: Mostly remove BKL from the server
    * [ D  ] locks: remove fl_copy_lock lock_manager operation
    * [    ] net/9p: Add waitq to VirtIO transport.
    * [    ] nilfs2: add bdev freeze/thaw support
    * [   1] nilfs2: do not allocate multiple super block instances for a device
    * [  N ] nilfs2: make snapshots in checkpoint tree exportable
    * [C  1] NTLM auth and sign - Define crypto hash functions and create and send keys needed for key exchange
    * [    ] NTLM auth and sign - minor error corrections and cleanup
    * [   1] NTLM auth and sign - Use kernel crypto apis to calculate hashes and smb signatures
    * [ D  ] ocfs2: Add a mount option "coherency=*" to handle cluster coherency for O_DIRECT writes.
    * [    ] ocfs2: Add readahead support for CoW.
    * [    ] ocfs2: Add readhead during CoW.
    * [C   ] quota: Make QUOTACTL config be selected by its users
    * [    ] sunrpc: Make the /proc/net/rpc appear in net namespaces
    * [  N ] sunrpc: The per-net skeleton
    * [    ] sunrpc: use seconds since boot in expiry cache
    * [   1] UBIFS: introduce new flags for RO mounts
    * [    ] xfs: batch inode reclaim lookup
    * [   1] xfs: Extend project quotas to support 32bit project ids
    * [    ] xfs: implement batched inode lookups for AG walking
    * [ D  ] xfs: remove experimental tag from the delaylog option
    * [   1] xfs: split inode AG walking into separate code for reclaim

Quelle und Links : http://www.heise.de/open/artikel/Kernel-Log-Was-2-6-37-bringt-2-Dateisysteme-1144739.html
Titel: Linux-Kernel mit Longterm-Pflege
Beitrag von: SiLæncer am 06 Dezember, 2010, 12:40
Greg Kroah-Hartman hat angekündigt, im Rahmen der Stable-Series nur noch die aktuelle Version des Linux-Kernels mit kleineren Patches und Bugfixes zu versorgen. Die Pflege ausgewählter älterer Kernel-Versionen erfolgt in Zukunft unter der Bezeichnung Longterm. Von der Änderung erhofft sich der Kernel-Entwickler, dass sich Community und Entwickler auf die aktuellen Versionen konzentrieren und ihre Zeit nicht mit Jahre alten Kernel-Versionen verplempern. Die Longterm-Kernel sollen den selben Regeln folgen wie die Stable-Series.

Für die Stable-Series heißt es damit "zurück zu den Wurzeln", wie Kroah-Hartman schreibt: Ursprünglich wurden die Stable-Kernel im März 2005 bei Linux 2.6.11 eingeführt, um kleinere Fehler zu beheben, die nach der Veröffentlichung einer Kernel-Version entdeckt werden. Derartige "stabilisierte" Kernel tragen eine vierstellige Versionsnummer – der erste Stable-Kernel war 2.6.11.1. Mit Erscheinen einer neuen Kernelversion sollte dann die weitere Pflege des Kernels eingestellt werden.

Mit der Zeit hat es sich allerdings eingebürgert, ausgewählte Kernel-Releases auch weit über das Erscheinen der Nachfolgeversion hinaus mit Bugfixes zu versorgen; nicht zuletzt, um das Bedürfnis der Linux-Distributoren nach langfristig gepflegten Kerneln zu erfüllen. Das begann mit dem Kernel 2.6.16, der über mehr als zwei Jahre mit Patches versorgt wurde; derzeit sind es die Kernel-Serien 2.6.27 und 2.6.32.

Ab sofort soll für Stable-Kernel wieder gelten: Pflege ungefähr bis Erscheinen der nächsten Version. Wie bislang will Greg Kroah-Hartman auch nach der Freigabe einer neuen Version des Hauptentwicklungszweigs (beispielsweise 2.6.37) noch ein oder zwei Stable-Releases für dessen Vorgänger (im Beispiel 2.6.36) veröffentlichen, damit sich die neue Version stabilisieren kann und Anwender etwas Zeit zum Wechsel haben. Eine weitergehende Versorgung mit Patches und Bugfixes wird es aber nur noch für ausgewählte Kernel-Serien geben.

Kroah-Hartman wird die Betreuung des derzeit gegflegten Longterrm-Kernels 2.6.32 fortsetzen; Intel-Entwickler Andi Kleen will 2.6.35 als Longterm-Kernel weiterpflegen, da Intel diese Version in Meego 1.1 verwendet und auch das von der Linux Foundation übernommene CELF an der Pflege dieser Version interessiert ist. Windriver-Mitarbeiter Paul Gortmaker will sich um 2.6.34-longterm kümmern, weil es Windriver-Produkte auf Basis von 2.6.34 gibt, für die er diese Kernel-Version ohnehin pflegt. Die derzeit noch von Greg Kroah-Hartman gepflegte Kernel-Serie 2.6.27 wird wohl keine Longterm-Weihen erhalten.

Quelle : www.heise.de
Titel: Kernel-Log – Was 2.6.37 bringt (3): Netzwerk- und Storage-Hardware
Beitrag von: SiLæncer am 13 Dezember, 2010, 17:49
Zahlreiche Änderungen am Netzwerk- und Storage-Code sollen die Arbeitsgeschwindigkeit steigern und die Hardware-Unterstützung verbessern. Neu sind etwa ein PPTP-Stack, verschiedene Treiber für WLAN-Hardware von Atheros, Broadcom und Realtek und Code für Festplatten, die logisch mit 4 KByte großen Sektoren arbeiten.

In einer Antwort auf die Freigabe-Mail von Linux 2.6.37-rc5 vergagenen Woche rechnete Tony Luck hoch, dass die Freigabe von 2.6.37 noch vor Weihnachten durchaus im Bereich des Möglichen liege, da diesmal alles sehr gut laufe. Torvalds sieht das ähnlich, aber nicht ganz so rosig; und selbst wenn alles glatt laufe, würde vermutlich kaum jemand wollen, dass das Merge Window in den Urlaubstagen rund um den Jahreswechsel offen sei. Er denkt daher, dass er den Kernel 2.6.37 Anfang Januar freigeben wird, sofern nicht noch Probleme auftauchen, die eine weitere Verzögerung erfordern.

Das Kernel-Log setzt derweil die Mini-Serie "Was 2.6.37 bringt" mit einer Beschreibung der Neuerungen rund um Treiber und Infrastruktur für Storage und Netzwerk-Hardware fort. Der erste Teil der Serie hatte sich bereits mit den Änderungen rund um Grafik-Hardware beschäftigt, der zweite mit denen rund um Dateisysteme; folgen werden in den kommenden Wochen noch Artikel zu Architektur-Code, Treibern und der sie umgebenden Infrastruktur.

Netzwerk

Zum Netzwerk-Subsystem stieß eine Kernel-Implementierung des für VPNs genutzten Point-to-Point Tunneling Protocols (PPTP); wie der Commit-Kommentar erläutert, soll sie deutlich schneller arbeiten und die CPU weniger belasten als existierende Userspace-PPTP-Stacks. Nutzen lassen sich die neuen Kernel-Funktionen mit accel-pptp.

Neu dabei ist auch der Treiber bna für 10Gb-Ethernet-Chips 1010 und 1020 von Brocade. Der Treiber bnx2x unterstützt nun auch den Broadcom 57712; zum Kernel stieß ferner ein Netzwerk-Treiber für die LAN-Chips der Tile-Architektur sowie LAN- und CAN-Treiber für Intels Embedded-PCH Topcliff. Der Kernel beherrscht nun auch das CAIF Shared Memory Transport Protocol der U5500-Chips von ST Ericsson (STE) (1, 2).

Die Unterstützung für Bluetooth-Elemente von durch ath9k versorgte WLAN/BT-Kombi-Hardware mit Atheros-Chips wurde ausgebaut. Der Kernel kennt nun auch die Bluetooth-Controller im MacBookAir3,1(2), MacbookPro 6,2 und MacbookPro 7,1. USB Autosuspend im Bluetooth-USB-Treiber btusb ist nun standardmäßig eingeschaltet, was die Leitungsaufnahme senken sollte, wenn es nichts zu tun gibt.

Einige weitere wichtige Änderungen nennt Netzwerk-Subsystem-Betreuer David Miller in seinem Haupt-Git-Pull-Request. Dort lobt er zahlreiche von Eric Dumazet eingebrachte und teilweise bei den kleinen Perlen am Ende des Artikels verlinkte Optimierungen rund um Routing-, Neighbour- und Device Handling. Laut Tests sei das Routing dadurch nun schneller, wenn der Routing Cache deaktiviert ist; letzterer werde aber noch für andere Dinge gebraucht, daher können man ihn nicht einfach entfernen. Einige Hintergründe zu den Optimierungen finden sich auch in den Präsentationsfolien des kürzlich von Miller gehaltenen Vortrags "Linux Networking: The RISE of the congestion window, the FALL of the routing cache, and the LOCALITY of packets".

WLAN

Mit der Kernel-Version 2.6.37 haben die Entwickler den Treiber carl9170 für die Atheros-Chips AR9170 in den Linux-Kernel integriert (u. a. 1, 2, 3, 4, 5). Diese Bausteine betreuten bislang die Treiber ar9170usb und otus. Ursprünglich hatte Ersterer den im Staging-Bereich angesiedelten Otus-Treiber ersetzen sollen, konnte jedoch bei Funktionsumfang, Geschwindigkeit, Stabilität und Qualität nie zu Otus aufschließen. Das soll Carl9170 gelungen sein, daher wurde Otus rausgeschmissen; mittelfristig dürfte ar9170usb das gleiche Schicksal ereilen.

Es gab noch einige andere für Netzwerk-Hardware relevante Änderungen im Staging-Bereich, in dem Treiber und andere eigenständiger Code liegt, der den Qualitätsansprüchen seiner Entwickler oder der Kernel-Hacker nicht genügt. Der neu aufgenommene Staging-Treiber rtl8712 ersetzt den für USB-802.11n-Chips von Realtek geeigneten Treiber rtl8192su; beiden nutzen einen eigenen WLAN-Stack, was einer der Gründe für die Einordnung in Staging-Zweig ist. WLAN-Treiber-Entwickler Larry Finger deutet allerdings an, das Realtek sich neuerdings mehr Mühe bei der Entwicklung von Linux-Treibern gibt.

In diesem Bereich landete auch der von Broadcom selbst entwickelte Open-Source-Treiber brcm80211, der einige 802.11n-WLAN-Bausteine von Broadcom anspricht. Wie schon zur Vorstellung des Treibers im September stehen unter anderem Unterstützung für Stromspartechniken oder Datenverschlüsselung durch den WLAN-Chip auf der Todo-Liste. Das gilt auch für das Funken mit 40 MHz breiten Kanälen – ein optionales Feature des 802.11n-Standards, das jedoch erforderlich ist, um die maximale Brutto-Datenrate von 300 MBit/s zu erreichen.

Unter den "kleinen Perlen" am Ende des Artikels finden sich auch einige Commits, welche den Code zur noch rudimentäre 802.11n-Untersüttzung im Treiber b43 verbessert, der andere WLAN-Bausteine von Broadcom anspricht. Diese Arbeit stammt größtenteils von Rafał Miłecki, der kürzlich in einem Blog-Eintrag beschrieb, dass eine weiter verbesserte Version des B43-Treibers nach einem Jahr Arbeit nun endlich auf dem BCM4328 arbeite. Miłecki erklärte zudem auf Nachfrage, dass sich die vom brcm80211 unterstützten Chips von Aufbau stark von jenen unterscheiden, die b43 anspricht – viele Elemente zum Ansprechen des PHYs seien aber ähnlich, daher glaubt er, dass b43 langfristig weiter verbessert wird und dann auch die derzeit von brcm80211 unterstützten Chips ansprechen wird.

Block Layer

Der für Schreibbarrieren zuständigen Code arbeitete nach Ansicht einiger Kernel-Hacker bislang an einigen Stellen übervorsichtig. Eine größere Umstrukturierung soll dem ein Ende machen und verlagert die Verantwortung zum Ordnen der Schreibreihenfolge größtenteils an den Dateisystemcode, was den Datendurchsatz bei bestimmten Aufgaben deutlich steigern soll. Hintergründe zu diesem Thema liefert LWN.net im Artikel "The end of block barriers", eine LKML-Diskussion und die Kommentare zu einigen die Änderung umsetzenden Commits (1, 2, 3, 4)

Über Control Groups (Cgroups) lässt sich nun auch der maximale Durchsatz von Datenträgern limitieren/drosseln; Details liefern einige der Commit-Kommentare (1, 2, 3, 4) und die aktualisierte Dokumentation. Einige Änderungen am CFQ-I/O-Scheduler sollen dessen Performance steigern, wenn ein Fsync ("File Synchronize") bei kleinen Dateien abgearbeitet wird. Der Code zum Einbinden der Root-Partition kann die richtige Partitionen nun mit Hilfe eines UUID (Universally Unique Identifier) finden, wenn man den Kernel mit einem Parameter wie "root=PARTUUID=hex-uuid" dazu anweist.

Storage-Hardware

Das Libata-Subsystem arbeitet nun auch mit Festplatten zusammen, die nicht nur physisch, sondern auch logisch mit Sektoren arbeiten, die nicht 512 Byte groß sind; getestet hat der Entwickler den Code mit einem "Engineering Sample" eines mit 4K-Sektoren arbeitenden Datenträgers von Hitachi GST. Durch die neue Libata Transport Class exportiert der für ATA-Adapter zuständige Kernel-Code fortan weit mehr ATA-Interna via Sysfs. Der Kernel unterstützt nun zudem IDE-R Devices von Intels AMT (Active Management Technology); um verschiedene Probleme zu beseitigen haben die Libata-Entwickler den Code für Link Power Management neu implementiert.

Im SCSI-Subsystem und dem darauf aufbauenden Libata-Code gab es einige größere, erst für die dritte Vorabversion von 2.6.37 integrierte und zuvor auf der LKML diskutierte Änderungen. Sie bauen die Locking-Mechanismen um, was manche Treiber beschleunigen soll (u. a. 1, 2)

Der neue Treiber cxgb4i bietet iSCSI Connection Acceleration bei T4-Produkten von Chelsio. Der Infiniband-Stack und der Treiber mlx4_ib bieten nun Unterstützung für das auch als InfiniBand-over-Ethernet/IBoE (u. a. 1, 2). Die Technik wird eigentlich RDMA over Converged Ethernet (RoCE) genannt, der Betreuer des Infiniband-Codes bevorzugt jedoch InfiniBand-over-Ethernet, wie er in zwei Blog-Einträgen zu den Neuerungen erläutert (1, 2)

Die kleinen Perlen: Netzwerk

Viele kleinere, aber keineswegs unbedeutende Neuerungen finden sich in der folgenden Liste mit den englischen Commit-Überschriften der jeweiligen Änderung. Die Einträge verlinken genau wie viele der Verweise im vorangegangenen Text auf das Webfrontend des von Linus Torvalds gepflegten Git-Zweigs mit den "offiziellen" Kernel-Quellen auf Kernel.org. Der über diese Links angezeigten Commit-Kommentar und der darunter ausgegebene Patch liefern zahlreiche weitere Informationen zur jeweiligen Änderungen.

Vor jedem Link finden sich in eckigen Klammern einige Buchstaben und Zahlen. Ein "C" kennzeichnet Patches mit Änderungen an Kconfig-Dateien, welche die Hilfetexte und Konfigurationsoptionen enthalten, die bei der Kernel-Konfiguration über "make menuconfig", "make xconfig" und ähnliche Werkzeuge angezeigt werden. Ein "D" steht bei Patches, die die Dokumentation verändern, die im Kernel-Zweig unterhalb von Documentation/ liegt. Ein "N" weist Änderungen aus, die eine neue Datei anlegen. Die Zahl vermittelt einen groben Eindruck zur Größe des Patches: eine "1" steht etwa für Änderungen, die inklusive Kommentar zwischen 10 und 20 KByte groß sind, eine "2" für solche, die zwischen 20 und 30 KByte Umfang haben; Änderungen ohne Zahl sind kleiner als 10 KByte, Patches mit einer "9" hingegen 90 KByte oder größer.

LAN

    * [   5] be2net: add multiple RX queue support
    * [    ] bnx2: Add PCI Advanced Error Reporting support.
    * [  N9] bnx2: Update firmware to 6.0.x.
    * [  N9] bnx2x: add 6.0.34 fw files
    * [    ] bnx2x: Add BCM84823 to the supported PHYs
    * [   9] bnx2x: Add dual-media changes
    * [   9] bnx2x, cnic, bnx2i: use new FW/HSI
    * [   9] bnx2x: remove old FW files
    * [    ] bnx2x: Update bnx2x version to 1.52.53-6
    * [  N ] caif-u5500: CAIF shared memory mailbox interface
    * [    ] cnic: Add support for 57712 device
    * [    ] cxgb4: update PCI ids
    * [C   ] de2104x: remove experimental status
    * [    ] e1000e: use hardware writeback batching
    * [  N2] enic: Add support for multiple hardware receive queues
    * [    ] ibmveth: Add optional flush of rx buffer
    * [    ] ibmveth: Add rx_copybreak
    * [    ] ibmveth: Add scatter-gather support
    * [    ] ibmveth: Add tx_copybreak
    * [    ] ibmveth: Enable IPv6 checksum offload
    * [   1] igb: Add support for DH89xxCC
    * [C N1] introduce cx82310_eth: Conexant CX82310-based ADSL router USB ethernet driver
    * [    ] jme: Adding mii-tool support
    * [    ] jme: Support WoL after shutdown
    * [  N2] mlx4_en: Added self diagnostics test implementation
    * [    ] phylib: Add support for Marvell 88E1149R devices.
    * [ D  ] phylib: make local function static
    * [    ] phy/marvell: fix 88e1121 support
    * [   2] qeth: NAPI support for l2 and l3 discipline
    * [    ] qlcnic: add cksum flag
    * [   1] qlcnic: add eswitch statistics support
    * [    ] qlcnic: cleanup port mode setting
    * [    ] qlcnic: mac vlan learning support
    * [    ] qlcnic: PCI ID addition
    * [    ] qlcnic: support anti mac spoofing
    * [    ] qlcnic: support mac learning
    * [    ] qlcnic: support port vlan id
    * [    ] qlcnic: support quiescent mode
    * [    ] qlcnic: support vlan rx accleration
    * [    ] qlcnic: update version 5.0.10
    * [    ] qlcnic: vlan gro support
    * [    ] qlcnic: vlan lro support
    * [    ] r8169: add gro support
    * [   1] r8169: use 50% less ram for RX ring
    * [    ] s2io: remove lro parameter
    * [  N2] sfc: Add filter table management
    * [  N2] sfc: Add support for SFE4003 board and TXC43128 PHY
    * [   1] sfc: Allocate each channel separately, along with its RX and TX queues
    * [   1] sfc: Allow changing the DMA ring sizes dynamically via ethtool
    * [    ] sfc: Implement the ethtool RX n-tuple control functions
    * [   2] sfc: Make the dmaq size a run-time setting (rather than compile-time)
    * [   4] sfc: Remove support for SFN4111T, SFT9001 and Falcon GMAC
    * [    ] skge: add GRO support
    * [    ] sky2: enable GRO by default
    * [   1] stmmac: consolidate and tidy-up the COE support
    * [    ] stmmac: review the wake-up support
    * [    ] sundance: Add initial ethtool stats support
    * [    ] tg3: Add EEE support
    * [    ] tg3: Add extend rx ring sizes for 5717 and 5719
    * [    ] tg3: Add support for selfboot format 1 v6
    * [    ] tg3: Unlock 5717 B0+ support
    * [    ] via-velocity: forced 1000 Mbps mode support.
    * [    ] xilinx_emaclite: netpoll support

WLAN

    * [    ] airo: remove "basic_rate" module option
    * [   1] ath5k: Allow ath5k to support virtual STA and AP interfaces.
    * [    ] ath5k: Move debugfs under ieee80211/[wiphy-name]
    * [    ] ath9k: Change the default LED pattern.
    * [    ] ath9k_htc: Add new devices into AR7010
    * [    ] ath9k_htc: Add support for device ID 3346
    * [    ] ath9k_htc: Enable fastcc for HTC devices.
    * [    ] ath9k_hw: Add capability flag for Antenna diversity and combining feature
    * [    ] ath9k_hw: Add functions to get/set antenna diversity configuration
    * [   7] ath9k_hw: remove AR9003 2.0 support
    * [    ] ath9k_hw: Support fastcc for AR7010
    * [    ] ath9k: implement channel utilization stats for survey
    * [C   ] ath9k: make the driver specific rate control module optional
    * [    ] b43: N-PHY: Implement Host Flags write during device init
    * [    ] b43: N-PHY: Implement MAC PHY clock set
    * [    ] b43: N-PHY: Implement RX core state setting for rev.2 and earlier PHYs
    * [  N9] b43: N-PHY: put radio-specific code in separated file
    * [ D 1] cfg80211: add some documentation
    * [   3] cfg80211/mac80211: allow per-station GTKs
    * [   4] cfg80211/mac80211: extensible frame processing
    * [    ] cfg80211: support sysfs namespaces
    * [    ] iwlagn: add bt_ch_announce module parameter
    * [    ] iwlagn: API v5 for 6050 series device
    * [   1] iwlagn: implement advance BT config command
    * [    ] iwlwifi: add 6000g2b BT coexist API
    * [   1] iwlwifi: add bt full concurrency support
    * [    ] iwlwifi: add PAN API
    * [    ] iwlwifi: do not force complete scan too early
    * [C   ] iwlwifi: enable experimental ucode support
    * [   8] iwlwifi: initial contextification
    * [ D  ] iwlwifi: schedule to deprecate software scan support
    * [    ] mac80211: add helper for reseting the connection monitor
    * [   1] mac80211: add p2p device type support
    * [    ] mac80211: allow vendor specific cipher suites
    * [ D  ] mac80211: fix docbook
    * [    ] mac80211: send last 3/5 probe requests as unicast
    * [    ] mac80211: Support receiving data frames on multiple vifs.
    * [   1] mac80211: support runtime interface type changes
    * [    ] mac80211: support use of NAPI for bottom-half processing
    * [    ] orinoco: update status in MAINTAINERS
    * [C   ] p54spi: Kconfig option for config blob
    * [    ] p54usb: add five more USBIDs
    * [    ] rt2x00: Add rt73usb device ID
    * [    ] rt2x00: Don't enable broad- and multicast buffering on USB devices
    * [    ] rt2x00: Enable rx aggregation in rt2800
    * [    ] rt2x00: Implement HT protection for rt2800
    * [   1] rt2x00: Implement TX status reporting for rt2800usb
    * [   1] rt2x00: Merge rt2800{pci/usb} radio enabling/disabling code to rt2800lib
    * [    ] wimax: make functions local
    * [ DN2] wireless: move documentation books
    * [C N1] wl1251: move to it's own directory
    * [    ] wl1271: Add support for hardware GEM cipher
    * [    ] wl1271: Change supported channel order for a more optimal scan
    * [    ] wl1271: Enable 11a support always, prevent scanning for unsupporting chips
    * [    ] wl1271: Enable/disable 11a support based on INI configuration
    * [    ] wl1271: Optimize scan duration
    * [    ] wl1271: sdio: add suspend/resume support
    * [    ] wl1271: sdio: enable runtime PM
    * [    ] wl1271: Support FEM autodetection
    * [    ] wl1271: Support firmware RX packet aggregation
    * [    ] wl1271: Support firmware TX packet aggregation
    * [C N ] wl12xx: add platform data passing support

Various

    * [    ] AF_UNIX: Implement SO_TIMESTAMP and SO_TIMETAMPNS on Unix sockets
    * [    ] af_unix: limit recursion level
    * [    ] Bluetooth: Support SDIO devices that are AMP controllers
    * [    ] bonding: enable gro by default
    * [C   ] caif-u5500: Build config for CAIF shared mem driver
    * [  N1] caif-u5500: CAIF shared memory transport protocol
    * [ D  ] Documentation: Update Phonet doc for Pipe controller changes
    * [ D  ] Documentation: Update Phonet doc for Pipe Controller implementation
    * [   3] drivers/net: avoid some skb->ip_summed initializations
    * [    ] fib_hash: embed initial hash table in fn_zone
    * [   1] fib_hash: RCU conversion phase 2
    * [   1] fib: RCU conversion of fib_lookup()
    * [    ] flow: better memory management
    * [    ] gro: __napi_gro_receive() optimizations
    * [    ] ip_gre: lockless xmit
    * [    ] ipip: enable lockless xmits
    * [    ] ipmr: RCU protection for mfc_cache_array
    * [    ] ipv4: __mkroute_output() speedup
    * [    ] ipv4: rcu conversion in ip_route_output_slow
    * [   1] neigh: RCU conversion of struct neighbour
    * [    ] neigh: reorder struct neighbour fields
    * [    ] net: add a core netdev->rx_dropped counter
    * [    ] net: avoid RCU for NOCACHE dst
    * [   1] net dst: use a percpu_counter to track entries
    * [    ] net: dynamic ingress_queue allocation
    * [    ] net: enable GRO by default for vlan devices
    * [    ] net: introduce DST_NOCACHE flag
    * [   2] net neigh: RCU conversion of neigh hash table
    * [    ] net: percpu net_device refcount
    * [    ] net: poll() optimizations
    * [    ] net: pskb_expand_head() optimization
    * [C N1] net/sched: add ACT_CSUM action to update packets checksums
    * [C   ] Phonet: advise against enabling the pipe controller
    * [ D  ] Phonet: cleanup pipe enable socket option
    * [   1] Phonet: 'connect' socket implementation for Pipe controller
    * [C  1] Phonet: Implement Pipe Controller to support Nokia Slim Modems
    * [    ] sit: enable lockless xmits

Die kleinen Perlen: Storage

Block Layer, DRBD, Infiniband, MD ...

    * [    ] cciss: fix PCI IDs for new Smart Array controllers
    * [    ] cciss: remove controllers supported by hpsa
    * [    ] cciss: remove overlapping PCI IDs
    * [    ] drbd: Adding support for BIO/Request flags: REQ_FUA, REQ_FLUSH and REQ_DISCARD
    * [   2] drbd: receiving of big packets, for payloads between 64kByte and 4GByte
    * [   1] drbd: Removed the BIO_RW_BARRIER support form the receiver/epoch code
    * [   3] drbd: Sending of big packets, for payloads from 64KByte to 4GByte
    * [    ] loop: add some basic read-only sysfs attributes
    * [    ] md: use separate bio pool for each md device.[ D  ] update block_device_operations documentation

Barrier Rewrite

    * [    ] block/loop: implement REQ_FLUSH/FUA support
    * [    ] block: remove the BLKDEV_IFL_BARRIER flag
    * [    ] btrfs: replace barriers with explicit flush / FUA usage
    * [   1] dm: implement REQ_FLUSH/FUA support for bio-based dm
    * [   1] dm: implement REQ_FLUSH/FUA support for request-based dm
    * [    ] dm: relax ordering of bio-based flush implementation
    * [    ] ext4: do not send discards as barriers
    * [    ] fat: do not send discards as barriers
    * [    ] gfs2: replace barriers with explicit flush / FUA usage
    * [    ] jbd2: replace barriers with explicit flush / FUA usage
    * [    ] jbd: replace barriers with explicit flush / FUA usage
    * [   2] md: implment REQ_FLUSH/FUA support
    * [    ] nilfs2: replace barriers with explicit flush / FUA usage
    * [    ] reiserfs: replace barriers with explicit flush / FUA usage
    * [    ] swap: do not send discards as barriers
    * [    ] virtio_blk: drop REQ_HARDBARRIER support
    * [    ] xen-blkfront: disable barrier/flush write support

Libata

    * [    ] ata_piix: Add device ID for ICH4-L
    * [    ] ata_piix: implement LPM support
    * [   1] libata: clean up lpm related symbols and sysfs show/store functions
    * [    ] libata: implement cross-port EH exclusion
    * [    ] libata: implement LPM support for port multipliers [    ] libata: reorder ata_queued_cmd to remove alignment padding on 64 bit builds

MFD, MMC, MTD...

    * [C N2] mfd: AB8500 debugfs
    * [C N ] mfd: AB8500 register access via PRCMU I2C
    * [C   ] mfd: Add basic tps6586x interrupt support
    * [    ] mfd: Adding twl6030 mmc card detect support for MMC1
    * [C N1] mfd: Add MAX8998 interrupts support
    * [C N5] mfd: Add mc13892 support to mc13xxx
    * [    ] mfd: Add PM support to STMPE devices
    * [C N ] mfd: Add VIA VX855 multi-function device support
    * [C N ] mfd: Add WM831x SPI support
    * [    ] mfd: Add WM8325 support
    * [C  3] mfd: Align ab8500 with the abx500 interface
    * [C N1] mfd: Factor out WM831x I2C I/O from the core driver
    * [C   ] mfd: LP3974 PMIC support
    * [    ] mfd: Support for ICs compliant with max8998
    * [C   ] mfd: Switch AB3100 to use MFD cells
    * [C   ] mfd: Update kconfig for ab8500 core driver
    * [    ] mmc: add a file to debugfs for changing host clock at runtime
    * [    ] mmc: Add helper function to check if a card is removable
    * [C N ] mmc: add new sdhci-pxa driver for Marvell SoCs
    * [    ] mmc: add runtime PM handlers
    * [CD  ] mmc: make number of mmcblk minors configurable
    * [    ] mmc: MMC 4.4 DDR support
    * [    ] mmc: SDHC 3.0: support 10-bit divided clock mode
    * [    ] mmc: sdhci: Add Moorestown device support
    * [    ] mmc: sdhci: Enable high-speed support for MMC cards
    * [    ] mmc: sdhci: Intel Medfield support
    * [C N ] mmc: sdhci-pltfm: add -pltfm driver for imx35/51
    * [    ] mmc: sdhci-pltfm: add suspend/resume functions
    * [    ] mmc: sdio: support suspend/resume while runtime suspended
    * [    ] mmc_test: move files from sysfs to debugfs
    * [C N1] mmc: USB SD Host Controller (USHC) driver
    * [    ] mtd: add BLKPG API based repartition support
    * [C N1] mtd: add Broadcom BCM63xx image tag partition parser
    * [    ] mtd: allow to unload the mtdtrans module if its block devices aren't open
    * [    ] mtd: cfi_util: add support for switching SST 39VF640xB chips into QRY mode
    * [C N3] mtd: generic FSMC NAND MTD driver
    * [    ] mtd: m25p80: Add support for the Winbond W25Q64
    * [    ] mtd: m25p80: Add support for two new Spansion SPI devices (S25FL-K)
    * [    ] mtd: m25p80.c: Add support for S25FL032P spi-nor flash devices.
    * [   1] mtd: nand: add support for BBT without OOB
    * [   1] mtd: nand: add support for reading ONFI parameters from NAND device
    * [    ] mtd: nandsim: add module param for BBT handling
    * [    ] mtd: nand: spansion S30MLxxxP support
    * [    ] mtd: nand: support new Toshiba SLC [C   ] mtd: OneNAND: S5PC210 OneNAND support

SCSI

    * [   2] scsi: autoconvert trivial BKL users to private mutex
    * [  N9] SCSI: bfa: cleanup driver
    * [    ] SCSI: fc class: add fc host dev loss sysfs file
    * [    ] SCSI: fcoe: set default FIP mode as FIP_MODE_FABRIC
    * [    ] SCSI: ibmvfc: prep for fc host dev loss tmo support
    * [   1] SCSI: libosd: Support for scatter gather write/read commands
    * [   2] SCSI: lpfc 8.3.18: Add new WQE support
    * [   1] SCSI: lpfc 8.3.18: Add support of received ELS commands
    * [    ] SCSI: megaraid_sas: Add input parameter for max_sectors
    * [    ] SCSI: megaraid_sas: support devices update flag
    * [ D  ] SCSI: megaraid_sas: Version and documentation update
    * [   1] SCSI: pmcraid: add support for set timestamp command and other fixes
    * [    ] SCSI: qla2xxx: Added AER support for ISP82xx.
    * [    ] SCSI: qla2xxx: Add flash read/update support using BSG interface
    * [    ] SCSI: qla2xxx: Add module parameter to enable/disable GFF_ID device type check.
    * [    ] SCSI: qla2xxx: Increase SG table size to support large IO size per scsi command.
    * [    ] SCSI: qla2xxx: Update to AER support, do early abort commands.
    * [    ] SCSI: qla4xxx: Add support for 8130/8131 AENs.
    * [    ] SCSI: qla4xxx: update AER support for ISP82XX
    * [    ] SCSI: scsi_debug: Update thin provisioning support
    * [    ] SCSI: sd: Update thin provisioning support [ D  ] SCSI: st: add MTWEOFI to write filemarks without flushing drive buffer

Quelle und Links : http://www.heise.de/open/artikel/Kernel-Log-Was-2-6-37-bringt-3-Netzwerk-und-Storage-Hardware-1152083.html
Titel: Kernel-Log – Was 2.6.37 bringt (4): Architektur- und Infrastruktur-Code
Beitrag von: SiLæncer am 20 Dezember, 2010, 17:00
Zum Kernel stießen erste Teile der Unterstützung zum Betrieb als Xen-Host (Dom0). LZO-Komprimierung soll den Wechsel in den und aus dem Ruhezustand beschleunigen. Nach jahrelanger Arbeit kommen fast alle Bereiche des Kernels nun ohne das Big Kernel Lock (BKL) aus.

Bei der Freigabe von 2.6.37-rc6 hat Linus Torvalds vergangene Woche nochmal betont, den Linux-Kernel 2.6.37 nach den Urlaubstagen rund um den Jahreswechsel freigeben zu wollen. Zudem laufe es derzeit nicht ganz so ruhig, wie er es gerne hätte – das gilt vermutlich auch für den in Kürze erwartete siebte Vorabversion, denn kürzlich wurde eine Neuerung rückgängig gemacht, die die Verteilung der Hardware-Ressourcen hatte verbessern sollen.

Einen Überblick über diese und zahlreiche anderen Änderungen rund um den plattformspezifischen und Infrastruktur-Code des Kernels liefert der folgende vierte Teil der Kernel-Log-Mini-Serie "Was 2.6.37 bringt". Der erste Teil der Serie hatte sich bereits mit den Änderungen rund um Grafik-Hardware beschäftigt, der zweite mit denen rund um Dateisysteme und der dritte mit Anpassungen am Netzwerk- und Storage-Code. Zwischen den Jahren folgt der fünfte und letzte Teil, der sich mit weiteren Treibern und der sie umgebenden Kernel-Subsysteme beschäftigt.

Bye bye Big Kernel Lock

Einer Neuerung von 2.6.37 ließ Linus Torvalds besondere Aufmerksamkeit zukommen, indem er sie bei der Vorstellung der ersten Vorabversion von 2.6.37 explizit erwähnte: Die Kernbereiche des Linux-Kernels sind nun nicht mehr auf das Big Kernel Lock (BKL) angewiesen. Dabei handelt es sich um eine Locking-Technik aus den Anfangszeiten der Multiprozessor-Unterstützung von Linux, die Konflikte beim gleichzeitigen Zugriff auf zentrale Datenstrukturen im Kernel vermeidet. Sie war damals vergleichsweise einfach umsetzbar, sperrt aber subsystemübergreifend – das wirkt sich bei Systemen mit vielen Prozessorkernen negativ auf die Performance aus und kann zu langen Latenzen bei Systemaufrufen führen, die nicht nur im Echtzeit-Umfeld unerwünscht sind.

Über eine neue Option lassen sich jetzt sogar Kernel komplett ohne BKL konfigurieren. Auf eine Handvoll noch auf das BKL angewiesene Treiber und Dateisysteme muss man dann aber verzichten – die meisten sind für aktuelle Systeme eher uninteressant, wenn man vom UDF-Dateisystem absieht. Patches, damit auch das unter anderem für manche DVDs benötigte Dateisystem ohne das BKL arbeitet, kamen aber zu spät zur Aufnahme bei 2.6.37 und dürften in 2.6.38 einziehen.

Prozess-Management und Tracing

Der Scheduler versucht nun ein Verschieben von Echtzeit-Tasks auf andere Prozessorkerne zu vermeiden. Bei der Prozessverteilung rechnet der Scheduler die Zeit, die der Prozessor mit der Verarbeitung von IRQs verbraucht, nicht mehr dem gerade aktiven jeweiligen Prozess zu, damit der nicht weniger Zeit als vorgesehen erhält.

Über den Schalter "-V" kann das Probe-Subkommando von Perf nun an Probe-Points alle lokalen Variablen auflisten; mit Hilfe von "--externs" lassen sich alle globalen Variablen auflisten, die zugänglich sind. Neu ist auch die rudimentäre Unterstützung für Module in "perf probe".

Die neuen Jump-Label (u. a. 1, 2, 3, 4, 5) sollen den Overhead rund um die An- und Ausschaltfunktionen für Tracepoints weiter verringern – Details erläutert ein kurzer Artikel bei LWN.net. Im Feldtest zeigte sich allerdings, dass das Ganze doch noch nicht wie gewollt funktioniert, daher wird die Technik vor der Fertigstellung von 2.6.37 möglicherweise noch deaktiviert.

Security

Der Crypto-Daemon des Kernels bietet nun ein Interface für AEAD (Authenticated Encryption with Associated Data). Über einen Sysctl-Aufruf lässt sich nun festlegen, ob normale Anwender oder nur solche mit der Capability CAP_SYS_ADMIN Zugriff auf die Syslog-Informationen haben, die sich mit dmesg auslesen lassen; das soll Angriffe erschweren, die Informationen aus dem Syslog zur Hilfe nehmen.

Ursprünglich sollten Lesebeschränkungen für /proc/kallsyms Angreifern das Leben weiter erschweren – die Änderung wurde aufgrund von Problemen mit Userland-Anwendungen aber zurückgezogen. Hintergründe dazu liefert LWN.net im Artikel "Making attacks a little harder"; einige Tage nach Rücknahme der Änderung wurde eine Umsetzung mit Capabilities vorgeschlagen, doch auch die fand fürs erste keinen Anklang.

Virtualisierung

Unter den von den Xen-Entwicklern für Linux 2.6.37 beigesteuerten Änderungen war auch der "Initial Domain Support", der den Kernel um Funktionen zum Betrieb als Dom0 erweitert (u. a. 1, 2, 3, 4, 5, 6, 7). Xen-Anwendern ist das aber fürs erste keine große Hilfe, da der Treiber zum Aufsetzen der Xen-Backends fehlt, über die die Gastsysteme auf Datenträger und Netzwerk zugreifen. Die Xen-Entwickler planen, den dafür zuständigen Code zur Aufnahme bei 2.6.38 einzusenden, sodass mit dieser Version der Dom0-Betrieb möglich sein könnte. Beim diesem und dem jetzt in den Kernel integrierten Xen-Code handelt es sich jedoch um eine abgespeckte Variante, die weniger Funktionen bietet als aktuelle Xen-Versionen oder der XenServer von Citrix.

Der Haupt-Git-Pull-Request von Avi Kivity listet einige der wichtigsten Änderungen an KVM – darunter Code zur Paravirtualierung bei PowerPC und Verbesserungen für die Timer-Infrastruktur. Unterstützung für Nested Paging bei AMD-Prozessoren soll die Performance bei Nested Virtualization verbessern – also beim Betrieb einer VM innerhalb einer VM. Wie geplant hat ein VMware-Entwickler die Unterstützung für die ursprünglich von VMware propagierte Paravirtulisierungschnittstelle VMI (Virtual Machine Interface) aus dem Linux-Kernel entfernt: Der Aufwand lohne nicht nicht mehr, da sich x86-CPUs mit Virtualisierungstechniken durchsetzten und man damit bessere Performance erziele als bei voller Paravirtualisierung. Hintergründe dazu liefert ein Blog-Eintrag auf der VMware-Homepage.

ACPI und PCI

Der neue Autosuspend Support im Power-Management-Code des Kernels erleichtert Treibern die Nutzung der Funktionen von zur Laufzeit nutzbaren Stromsparfunktionen von Geräten. Beim Wechsel in den Software Suspend kann der Kernel das Abbild des Arbeitsspeichers mit LZO komprimieren; das beschleunigt den Wechsel in den und aus dem Ruhezustand, da weniger Daten mit der Festplatte austauscht werden müssen. Wie viel Arbeitsspeicher in das Image geschrieben wird, ist nun nicht mehr fest vorgegeben, sondern von der Menge des Arbeitsspeichers abhängig , was für viele moderne Systeme sinnvoller ist.

Nachdem die ACPI-Entwickler bereits bei 2.6.36 zahlreiche ACPI-Interfaces im Procfs entfernt hatten, musste nun einige als "deprecated" gekennzeichnete Schnittstellen dran glauben, die die Fan-, Thermal-, und Video-Treiber exportierten; als Ersatz dienen Sysfs-Dateien unter /sys/class/thermal/cooling_device*/, /sys/class/thermal/thermal_zone*/ und /sys/class/backlight/. Bei 2.6.38 sollen die Funktionen verschwinden, die /proc/acpi/processor/*/throttle bereitstellt – einen Ersatz gibt es nicht, denn laut Commit-Kommentar gibt es keine Grund, warun User diesen Überhitzungsschutz beeinflussen sollten.

Bjorn Helgaas hatte einige tief greifende Änderung am Code zur Ressourcenverteilung eingebracht, durch die Linux bei der Hardware-Konfiguration in einigen Bereichen etwas mehr in der von Windows genutzten Art vorgegangen wäre – es kam zeigten sich jedoch Probleme, daher wurden die Änderungen zum RC7 zurück genommen.

Verschiedenes

    * Der Befehl "make xconfig" erzeugt nun ein Konfigurationsprogramm mit Qt4 statt Qt3, sofern dessen Entwicklerdateien vorliegen (1, 2).
    * Durch Eingabe von "/" lässt sich im per "make nconfig" aufgerufenen Text-Konfigurationsprogramm nun ähnlich wie etwa bei Firefox ein interaktiver Suchmodus aufrufen.
    * Das Fanotify-Schnittstelle für On-Access-Virenscanner lässt sich nun nutzen – die Kernel-Hacker hatten sie bereits für 2.6.36 integriert, dann aber kurz vor der Fertigstellung dieser Version deaktiviert, da einige Ungereimtheiten aufgetaucht waren, deren Beseitigung größere Änderungen erforderten.
    * Der Kernel bietet nun eine dritte, TINY_PREEMPT_RCU genannte Implementation zum Read Copy Update (RCU). Sie ist auf Uniprozesser-Systeme abgestimmt und verbraucht weniger Speicher als der normale RCU-Code (TREE_PREEMPT_RCU), ist aber im unterschied zum noch kleineren und sparsameren TINY_RCU unterbrechbar (Preemptible) und dadurch auch für den Echtzeit-Einsatz interessant.
    * Der X86-Code nutzt statt "bootmem" nun den aus LMB hervorgegangenen und bereits bei anderen Architekturen genutzten Memblock-Allocator (Urpsünglich LMB/Logical Memory Block) zum Allozieren von Arbeitsspeicher (u. a. 1 , 2, 3); Hintergründe zu dieser Umstellung und den mit ihr verbundenen Risiken liefert H. Peter Anvin in einem Git-Pull-Request.
    * Hwpoison kann die Nutzung defekter Speicherbereiche nun per Soft Offlining auch unterbinden, wenn der Kernel diese Speicherbereiche mit großen Speicherseiten (Huge Pages) anspricht (u. a. 1, 2, 3, 4); einige Hintergründe dazu liefert Andi Kleen in seinem Haupt-Git-Pull-Request. Zusammen mit diesem Code kam stießen Basis-Funktionen zur Migration von Huge Pages zum Kernel (u. a. 1, 2) – es sind aber weitere Patches nötig, bevor der Kernel große Speicherseiten tatsächlich verschieben kann.

Die kleinen Perlen

Viele kleinere, aber keineswegs unbedeutende Neuerungen finden sich in der folgenden Liste mit den englischen Commit-Überschriften der jeweiligen Änderung. Die Einträge verlinken genau wie viele der Verweise im vorangegangenen Text auf das Webfrontend des von Linus Torvalds gepflegten Git-Zweigs mit den "offiziellen" Kernel-Quellen auf Kernel.org. Der über diese Links angezeigten Commit-Kommentar und der darunter ausgegebene Patch liefern zahlreiche weitere Informationen zur jeweiligen Änderungen.

Vor jedem Link finden sich in eckigen Klammern einige Buchstaben und Zahlen. Ein "C" kennzeichnet Patches mit Änderungen an Kconfig-Dateien, welche die Hilfetexte und Konfigurationsoptionen enthalten, die bei der Kernel-Konfiguration über "make menuconfig", "make xconfig" und ähnliche Werkzeuge angezeigt werden. Ein "D" steht bei Patches, die die Dokumentation verändern, die im Kernel-Zweig unterhalb von Documentation/ liegt. Ein "N" weist Änderungen aus, die eine neue Datei anlegen. Die Zahl vermittelt einen groben Eindruck zur Größe des Patches: eine "1" steht etwa für Änderungen, die inklusive Kommentar zwischen 10 und 20 KByte groß sind, eine "2" für solche, die zwischen 20 und 30 KByte Umfang haben; Änderungen ohne Zahl sind kleiner als 10 KByte, Patches mit einer "9" hingegen 90 KByte oder größer.

ACPI, PNP

* [C  1] ACPI ac/battery/sbs: sysfs I/F always built in, procfs I/F disabled by default
    * [   1] ACPI / ACPICA: Defer enabling of runtime GPEs (v3)
    * [    ] ACPI ac: update AC status upon sysfs query
    * [    ] ACPI: add FW_BUG to OSI(Linux) message
    * [    ] ACPI: Add interfaces for ioremapping/iounmapping ACPI registers
    * [    ] ACPI battery: support percentage battery remaining capacity
    * [    ] ACPI battery: update status upon sysfs query
    * [  N3] ACPICA/ACPI: Add new host interfaces for _OSI support
    * [    ] ACPICA: Add ACPI_INLINE configuration parameter
    * [    ] ACPICA: Add repair for _HID and _CID strings
    * [    ] ACPICA: Add Vista SP2 to supported _OSI strings
    * [  N2] ACPICA: Obsolete the acpi_os_derive_pci_id OSL interface
    * [    ] ACPICA: Update version to 20100806
    * [    ] ACPICA: Update version to 20100915
    * [    ] ACPICA: Update version to 20101013
    * [    ] ACPI: debugfs custom_method open to non-root
    * [    ] ACPI: Maintain a list of ACPI memory mapped I/O remappings
    * [    ] ACPI: Make Embedded Controller command timeout delay configurable
    * [C   ] ACPI: Only processor needs CPU_IDLE
    * [    ] ACPI: Page based coalescing of I/O remappings optimization
    * [    ] PNPACPI: cope with invalid device IDs
    * [    ] PNP: log PNP resources, as we do for PCI

BKL removal

    * [    ] autofs4: Only declare function when CONFIG_COMPAT is defined
    * [    ] autofs: Only declare function when CONFIG_COMPAT is defined
    * [   2] BKL: Explicitly add BKL around get_sb/fill_super
    * [    ] BKL: Remove BKL from afs
    * [    ] BKL: Remove BKL from Amiga FFS
    * [    ] BKL: Remove BKL from autofs4
    * [    ] BKL: Remove BKL from BFS
    * [    ] BKL: Remove BKL from cgroup
    * [    ] BKL: Remove BKL from CifsFS
    * [    ] BKL: Remove BKL from do_new_mount()
    * [    ] BKL: Remove BKL from ecryptfs
    * [    ] BKL: Remove BKL from ext2 filesystem
    * [    ] BKL: Remove BKL from ext3 fill_super()
    * [    ] BKL: Remove BKL from ext3_put_super() and ext3_remount()
    * [    ] BKL: Remove BKL from ext4 filesystem
    * [    ] BKL: Remove BKL from fat
    * [    ] BKL: remove BKL from freevxfs
    * [    ] BKL: Remove BKL from HFS
    * [    ] BKL: Remove BKL from isofs
    * [    ] BKL: Remove BKL from jffs2
    * [    ] BKL: Remove BKL from JFS
    * [   5] BKL: Remove BKL from ncpfs
    * [    ] BKL: Remove BKL from NILFS2
    * [    ] BKL: Remove BKL from NTFS
    * [    ] BKL: Remove BKL from OCFS2
    * [    ] BKL: remove BKL from qnx4
    * [    ] BKL: Remove BKL from squashfs
    * [    ] BKL: Remove BKL from USB gadgetfs
    * [    ] blktrace: remove the big kernel lock
    * [   6] block: autoconvert trivial BKL users to private mutex
    * [    ] dabusb: remove the BKL
    * [   5] drivers: autoconvert trivial BKL users to private mutex
    * [   1] fs/locks.c: prepare for BKL removal
    * [    ] hpet: kill BKL, add compat_ioctl
    * [    ] init/main.c: remove BKL notations
    * [    ] ipmi: autoconvert trivial BKL users to private mutex
    * [   9] llseek: automatically add .llseek fop
    * [    ] lockd: Mostly remove BKL from the server
    * [C   ] lockd: push lock_flocks down
    * [C   ] locks: turn lock_flocks into a spinlock
    * [    ] mac: autoconvert trivial BKL users to private mutex
    * [C  1] [media] v4l: kill the BKL
    * [    ] mtd: autoconvert trivial BKL users to private mutex
    * [    ] ncpfs: Lock socket in ncpfs while setting its callbacks
    * [    ] Phonet: add to MAINTAINERS and add myself
    * [    ] rtmutex-tester: make it build without BKL
    * [   2] scsi: autoconvert trivial BKL users to private mutex
    * [    ] sunrpc: remove the big kernel lock
    * [   1] V4L/DVB: bttv: fix driver lock and remove explicit calls to BKL [   1] V4L/DVB: em28xx: remove BKL

Crypto, Security

    * [C N2] crypto: omap-aes - OMAP2/3 AES hw accelerator driver
    * [    ] MAINTAINERS: Add maintainer entries for padata/pcrypt
    * [C   ] move async raid6 test to lib/Kconfig.debug
    * [   3] SELinux: allow userspace to read policy back out of the kernel
    * [  N1] selinux: fast status update interface (/selinux/status)
    * [    ] selinux: implement mmap on /selinux/policy

Memory Management

    * [ D  ] delay-accounting: reimplement -c for getdelays.c to report information on a target command
    * [ D  ] doc: clarify the behaviour of dirty_ratio/dirty_bytes
    * [    ] HWPOISON/signalfd: add support for addr_lsb
    * [    ] mm: add account_page_writeback()
    * [    ] mm: compaction: fix COMPACTPAGEFAILED counting
    * [ DN ] mm: highmem documentation
    * [    ] mm: retry page fault when blocking on disk transfer
    * [    ] oom: add per-mm oom disable count
    * [    ] oom: avoid killing a task if a thread sharing its mm cannot be killed
    * [ DN ] oom: document obsolete oom_adj tunable
    * [    ] oom: kill all threads sharing oom killed task's mm
    * [   1] slub: Dynamically size kmalloc cache allocations
    * [C   ] slub: Enable sysfs support for !CONFIG_SLUB_DEBUG
    * [    ] SLUB: Optimize slab_free() debug check
    * [   1] writeback: do not sleep on the congestion queue if there are no congested BDIs or if significant congestion is not being encountered in the current zone

PCI, PCMCIA

    * [   1] genirq: Implement a sane sparse_irq allocator
    * [    ] genirq: Implement irq reservation
    * [    ] genirq: Implement sane enumeration
    * [C   ] genirq: Provide config option to disable deprecated code
    * [C N ] genirq: Provide Kconfig
    * [C  1] genirq: Remove the now unused sparse irq leftovers
    * [ D  ] genirq-update-kerneldoc.patch
    * [    ] MAINTAINERS: Add IRQ subsystem
    * [    ] PCI: add PCI vendor id for STmicroelectronics
    * [    ] PCI: add quirk for non-symmetric-mode irq routing to versions 0 and 4 of the MCP55 northbridge
    * [    ] PCI: Add support for polling PME state on suspended legacy PCI devices
    * [    ] PCI: Export some PCI PM functionality
    * [    ] PCI: kill BKL in /proc/pci
    * [C   ] PCI: OLPC: Only enable PCI configuration type override on XO-1
    * [    ] PCI/PCIe/AER: Disable native AER service if BIOS has precedence
    * [    ] PCI: read current power state at enable time
    * [C N2] pci root complex: support for tile architecture
    * [C   ] PCI: update Intel chipset names and defines
    * [ D 8] pcmcia: convert pcmcia_request_configuration to pcmcia_enable_device
    * [ D 4] pcmcia: do not use win_req_t when calling pcmcia_request_window()
    * [   4] pcmcia: introduce autoconfiguration feature
    * [ D 9] pcmcia: use autoconfiguration feature for ioports and iomem
    * [    ] /proc/stat: fix scalability of irq sum of all cpu
    * [    ] /proc/stat: scalability of irq num per cpu
    * [C N1] spi: add spi_tegra driver
    * [C N2] spi/fsl_spi: add eSPI controller support
    * [    ] spi/imx: Support different fifo sizes
    * [   2] spi/pl022: add PrimeCell generic DMA support
    * [C N4] spi/topcliff: Add topcliff platform controller hub (PCH) spi bus driver
    * [C   ] spi/topcliff: Tidy up Kconfig help text
    * [    ] x86: avoid E820 regions when allocating address space
    * [    ] x86: avoid high BIOS area when allocating address space
    * [  N ] x86: avoid low BIOS area when allocating address space
    * [    ] x86/PCI: irq and pci_ids patch for Intel Patsburg DeviceIDs

Power Management

    * [    ] [CPUFREQ] add sampling_down_factor tunable to improve ondemand performance
    * [    ] intel_idle: add initial Sandy Bridge support
    * [ D  ] PM: Add sysfs attr for rechecking dev hash from PM trace
    * [    ] PM / Hibernate: Fix memory corruption related to swap
    * [    ] PM / Hibernate: Restore old swap signature to avoid user space breakage
    * [    ] PM / Hibernate: Use async I/O when reading compressed hibernation image
    * [CDN4] PM: Introduce library for device-specific OPPs (v7)
    * [CD  ] PM / OPP: Hide OPP configuration when SoCs do not provide an implementation
    * [ D 1] PM / Runtime: Add no_callbacks flag
    * [   1] PM / Runtime: Merge synchronous and async runtime routines [ D 3] PM / Wakeup: Introduce wakeup source objects and event statistics (v3)

Scheduler

    * [    ] sched: Add book scheduling domain
    * [    ] sched: Add IRQ_TIME_ACCOUNTING, finer accounting of irq time
    * [    ] sched: Comment updates: fix default latency and granularity numbers
    * [  N ] sched: Create special class for stop/migrate work
    * [    ] sched: Cure more NO_HZ load average woes
    * [    ] sched: Drop all load weight manipulation for RT tasks
    * [    ] sched: Fix idle balancing
    * [    ] sched: Fix softirq time accounting
    * [    ] sched: Force balancing on newidle balance if local group has capacity
    * [    ] sched: Give CPU bound RT tasks preference
    * [    ] sched: Increment cache_nice_tries only on periodic lb
    * [    ] sched: Remove branch hints within context_switch()
    * [    ] sched: Remove irq time from available CPU power
    * [    ] sched: Try not to migrate higher priority RT tasks

Tracing

    * [C   ] coredump: default CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
    * [  N2] ftrace: Add C version of recordmcount compile time code
    * [    ] ftrace/MIPS: Add module support for C version of recordmcount
    * [    ] irq: Add tracepoint to softirq_raise
    * [C N ] jump label: Add sparc64 support
    * [CDN ] kdb: Add kdb kernel module sample
    * [    ] kdb: Allow kernel loadable modules to add kdb shell functions
    * [    ] kgdbts: prevent re-entry to kgdbts before it unregisters
    * [ D  ] kprobes: Update document about irq disabled state in kprobe handler
    * [    ] lockdep: Add improved subclass caching
    * [  N ] netdev: Add tracepoints to netdev layer
    * [    ] oprofile, x86: Adding backtrace dump for 32bit process in compat mode
    * [    ] oprofile, x86: Add support for AMD family 12h
    * [    ] oprofile, x86: Add support for AMD family 14h
    * [    ] oprofile, x86: Add support for IBS branch target address reporting
    * [    ] oprofile, x86: Add support for IBS periodic op counter extension
    * [  N1] perf: Add a script to show packets processing
    * [    ] perf hists browser: Introduce "expand/collapse all callchains" action
    * [    ] perf: Optimize context ops
    * [    ] perf: Optimize sw events
    * [    ] perf: Per cpu-context rotation timer
    * [    ] perf probe: Support global variables
    * [  N ] perf python scripting: Add futex-contention script
    * [   1] perf: Remove the sysfs bits
    * [   5] perf: Rework the PMU methods
    * [    ] perf scripting: Shut up 'perf record' final status
    * [    ] perf: Support for callchains merge
    * [    ] perf tools: Add --tui and --stdio to choose the UI
    * [    ] perf tools: Document event modifiers
    * [    ] perf trace scripting: remove system-wide param from shell scripts
    * [    ] perf trace: update Documentation with new perf trace variants
    * [    ] perf trace: update usage
    * [    ] perf ui browser: Add routines to compactly specify exit keys
    * [   2] perf, x86, Pentium4: Add RAW events verification
    * [    ] skb: Add tracepoints to freeing skb
    * [    ] tracing: Add funcgraph-irq option for function graph tracer.
    * [    ] tracing: Graph support for wakeup tracer
    * [    ] tracing, perf: Add more power related events
    * [    ] tracing/sched: Add sched_pi_setprio tracepoint
    * [ D 3] tracing, vmscan: add trace events for LRU list shrinking

Virtualization

    * [    ] KVM: create aggregate kvm_total_used_mmu_pages value
    * [ D  ] KVM: document 'kvm.mmu_audit' parameter
    * [ D  ] KVM: Document that KVM_GET_SUPPORTED_CPUID may return emulated values
    * [ D  ] KVM: fix the description of kvm-amd.nested in documentation
    * [    ] KVM: MMU: Add infrastructure for two-level page walker
    * [C   ] KVM: MMU: support disable/enable mmu audit dynamicly
    * [ DN ] KVM: PPC: Add Documentation about PV interface
    * [ D  ] KVM: PPC: Add documentation for magic page enhancements
    * [ D  ] KVM: PPC: Add get_pvinfo interface to query hypercall instructions
    * [ D  ] KVM: PPC: Add mtsrin PV code
    * [ D  ] KVM: PPC: Document KVM_INTERRUPT ioctl
    * [    ] KVM: PPC: Expose magic page support to guest
    * [C N ] KVM: PPC: Generic KVM PV guest support
    * [  N1] KVM: PPC: Implement hypervisor interface
    * [    ] KVM: PPC: Introduce shared page
    * [    ] KVM: PPC: KVM PV guest stubs
    * [    ] KVM: PPC: Magic Page Book3s support
    * [    ] KVM: S390: Add virtio hotplug add support
    * [    ] KVM: SVM: Implement MMU helper functions for Nested Nested Paging
    * [    ] KVM: SVM: Initialize Nested Nested MMU context on VMRUN
    * [    ] KVM: SVM: Report Nested Paging support to userspace
    * [    ] KVM: x86: Add clock sync request to hardware enable
    * [    ] KVM: x86: Add helper functions for time computation
    * [ DN3] KVM: x86: Add timekeeping documentation
    * [    ] KVM: x86 emulator: add bsf/bsr instruction emulation
    * [    ] KVM: x86 emulator: add CALL FAR instruction emulation (opcode 9a)
    * [    ] KVM: x86 emulator: add CBW/CWDE/CDQE instruction emulation
    * [    ] KVM: x86 emulator: Add into, int, and int3 instructions (opcodes 0xcc-0xce)
    * [    ] KVM: x86 emulator: Add IRET instruction
    * [    ] KVM: x86 emulator: add JrCXZ instruction emulation
    * [    ] KVM: x86 emulator: add LDS/LES/LFS/LGS/LSS instruction emulation
    * [    ] KVM: x86 emulator: add LOOP/LOOPcc instruction emulation
    * [    ] KVM: x86 emulator: add setcc instruction emulation
    * [    ] KVM: x86 emulator: add Src2Imm decoding
    * [    ] KVM: x86 emulator: add SrcImmU16 operand type
    * [    ] KVM: x86 emulator: Add stc instruction (opcode 0xf9)
    * [    ] KVM: x86 emulator: Add unary mul, imul, div, and idiv instructions
    * [    ] KVM: x86 emulator: add XADD instruction emulation
    * [    ] KVM: x86 emulator: implement CALL FAR (FF /3)
    * [    ] KVM: x86 emulator: implement CWD (opcode 99)
    * [    ] KVM: x86 emulator: implement DAS (opcode 2F)
    * [    ] KVM: x86 emulator: implement IMUL REG, R/M, imm8 (opcode 6B)
    * [    ] KVM: x86 emulator: implement IMUL REG, R/M, IMM (opcode 69)
    * [    ] KVM: x86 emulator: implement IMUL REG, R/M (opcode 0F AF)
    * [    ] KVM: x86 emulator: implement RDTSC (opcode 0F 31)
    * [    ] KVM: x86 emulator: implement RET imm16 (opcode C2)
    * [    ] KVM: x86 emulator: implement SCAS (opcodes AE, AF)
    * [    ] KVM: x86 emulator: support byte/word opcode pairs
    * [   1] KVM: x86 emulator: use correct type for memory address in operands
    * [ D  ] KVM: x86: explain 'no-kvmclock' kernel parameter
    * [    ] KVM: x86: Fix deep C-state TSC desynchronization
    * [    ] KVM: X86: Report SVM bit to userspace only when supported
    * [    ] KVM: x86: Robust TSC compensation
    * [    ] KVM: x86: Warn about unstable TSC
    * [ D  ] lguest: replace VIRTIO_F_BARRIER support with VIRTIO_F_FLUSH support
    * [    ] MAINTAINERS: Add myself for Xen PCI and Xen SWIOTLB maintainer.
    * [    ] MAINTAINERS: Add myself to the Xen Hypervisor Interface and remove Chris Wright.
    * [ D  ] paravirt: noreplace-paravirt is implemented for x86 and ia-64
    * [  N ] xen: add /proc/xen/xsd_{kva,port} to xenfs
    * [    ] xen: add support for PAT
    * [    ] xenbus: Xen paravirtualised PCI hotplug support.
    * [C  1] xen: convert p2m to a 3 level tree
    * [  N ] xen: define BIOVEC_PHYS_MERGEABLE()
    * [    ] xen: implement "extra" memory to reserve space for pages not present at boot
    * [    ] xen: re-enable boot-time ballooning
    * [  N ] xen: register xen pci notifier

Various

    * [  N ] atomic: add atomic_inc_not_zero_hint()
    * [    ] Audit: add support to match lsm labels on user audit messages
    * [ D  ] cgroup: add clone_children control file
    * [    ] cgroup: make the mount options parsing more accurate
    * [ D  ] cgroup: notify ns_cgroup deprecated
    * [    ] Coccinelle: Add a new mode named 'chain'
    * [  N ] Coccinelle: Add api/kstrdup.cocci
    * [  N ] Coccinelle: Add api/memdup.cocci
    * [  N ] Coccinelle: Add api/memdup_user
    * [    ] Coccinelle: Add contextual message
    * [  N ] Coccinelle: Add free/kfree.cocci
    * [  N ] Coccinelle: Add iterators/fen.cocci
    * [  N ] Coccinelle: Add iterators/itnull.cocci
    * [  N ] Coccinelle: Add iterators/list_entry_update.cocci
    * [  N ] Coccinelle: Add locks/call_kern.cocci
    * [  N ] Coccinelle: Add locks/double_lock.cocci
    * [  N ] Coccinelle: Add locks/mini_lock.cocci
    * [  N ] Coccinelle: Add misc/doubleinit.cocci
    * [  N ] Coccinelle: Add misc/ifcol.cocci
    * [  N ] Coccinelle: Add null/eno.cocci
    * [  N ] Coccinelle: Add null/kmerr.cocci
    * [  N ] Coccinelle: Find doubled arguments to boolean or bit operators.
    * [  N ] Coccinelle: Find nested lock+irqsave functions that use the same flags variables.
    * [ D  ] Coccinelle: Fix documentation
    * [ D  ] Coccinelle: Update documentation
    * [    ] debugfs: mark me as the maintainer
    * [ D  ] docbook: add idr/ida to kernel-api docbook
    * [ D  ] Documentation/development-process: more staging info
    * [ D  ] Documentation/development-process: use -next trees instead of staging
    * [ D  ] Documentation/filesystems/proc.txt: improve smaps field documentation
    * [ D 1] Documentation/kbuild: major edit of modules.txt sections 1-4
    * [ D 1] Documentation/kbuild: major edit of modules.txt sections 5-8
    * [ D  ] Documentation/kbuild: modules.txt cleanup
    * [ D  ] Documentation: make configfs example code simpler, clearer
    * [ D  ] Documentation/timers/hpet_example.c: add supporting info for hpet_example
    * [ D  ] documentation: update sysrq.txt magic sysrq keys
    * [C  1] driver core: remove CONFIG_SYSFS_DEPRECATED_V2 but keep it for block devices
    * [    ] Dynamic Debug: Initialize dynamic debug earlier via arch_initcall
    * [    ] Dynamic Debug: Split out query string parsing/setup from proc_write
    * [    ] fanotify: implement fanotify listener ordering
    * [    ] hpet: fix unwanted interrupt due to stale irq status bit
    * [    ] IMA: use rbtree instead of radix tree for inode information cache
    * [    ] kbuild: fix oldnoconfig to do the right thing
    * [C N1] kbuild: migrate all arch to the kconfig mainmenu upgrade
    * [ D  ] kbuild: Really don't clean bounds.h and asm-offsets.h
    * [    ] kconfig: allow build-time definition of the internal config prefix
    * [    ] kconfig: Allow frontends to display messages themselves
    * [    ] kconfig: allow PACKAGE to be defined on the compiler's command-line
    * [    ] kconfig: expand by default the rootmenu's prompt
    * [    ] kconfig: Fix missing declaration of variable $dir in streamline_config.pl
    * [    ] kconfig: Fix streamline_config to read multi line deps in Kconfig files
    * [    ] kconfig: Have streamline_config process menuconfigs too
    * [ D  ] kconfig: implement the `mainmenu' directive
    * [    ] kconfig: Make localmodconfig handle environment variables
    * [   5] kconfig: regen parser
    * [    ] kconfig: rephrase help text not to mention the internal prefix
    * [   1] kconfig: rephrase help texts/comments not to include the package name
    * [    ] kconfig: replace KERNELVERSION usage by the mainmenu's prompt
    * [C   ] lib/Kconfig.debug: add list_sort debugging switch
    * [C   ] namespaces: remove pid_ns and net_ns experimental status
    * [    ] nconfig: Fix help for choice menus
    * [C   ] percpu_counter: add debugobj support
    * [    ] percpu: Optimize __get_cpu_var()
    * [C  1] percpu: use percpu allocator on UP too
    * [C  1] percpu: use percpu allocator on UP too
    * [ D  ] /proc/pid/pagemap: document in Documentation/filesystems/proc.txt
    * [ D  ] /proc/pid/smaps: export amount of anonymous memory in a mapping
    * [    ] /proc/swaps: support polling
    * [  N ] ramoops: use the platform data structure instead of module params
    * [C   ] rcu: Add advice to PROVE_RCU_REPEATEDLY kernel config parameter
    * [    ] rcu: add boot parameter to suppress RCU CPU stall warning messages
    * [ D  ] rcu: add shiny new debug assists to Documentation/RCU/checklist.txt
    * [ D  ] rcu: Add tracing data to support queueing models
    * [    ] rcu: allow RCU CPU stall warning messages to be controlled in /sys
    * [C   ] rcu: Allow RCU CPU stall warnings to be off at boot, but manually enablable
    * [    ] rcu: apply TINY_PREEMPT_RCU read-side speedup to TREE_PREEMPT_RCU
    * [ D  ] rcu: document ways of stalling updates in low-memory situations
    * [C   ] rcu: Fix RCU_FANOUT help message
    * [C   ] rcu: make CPU stall warning timeout configurable
    * [C   ] rcu: restrict TREE_RCU to SMP builds with !PREEMPT
    * [ D  ] rcu: upgrade stallwarn.txt documentation for CPU-bound RT processes
    * [    ] README: cite nconfig
    * [    ] Revert "kconfig: Temporarily disable dependency warnings"
    * [    ] ring-buffer: Micro-optimize with some strategic inlining
    * [    ] ring-buffer: Pass delta by value and not by reference
    * [    ] ring-buffer: Pass timestamp by value and not by reference
    * [    ] scripts/extract-ikconfig: add support for bzip2, lzma and lzo
    * [    ] scripts/get_maintainer.pl: add default --git-fallback, remove default --git
    * [    ] scripts/get_maintainer.pl: Add --git-blame --rolestats "Authored lines" information
    * [    ] scripts/get_maintainer.pl: add interactive mode
    * [   3] scripts/get_maintainer.pl: improve --interactive UI
    * [    ] scripts/setlocalversion: update comment
    * [  N ] TTY: create drivers/tty and move the tty core files there
    * [  N ] TTY: create drivers/tty/vt and move the vt code there
    * [C  3] Update broken web addresses in arch directory.
    * [C  9] Update broken web addresses in the kernel.
    * [ D  ] Update call_rcu() usage, add synchronize_rcu()
    * [ D  ] Update documentation to note the passage of INIT_RCU_HEAD()
    * [C   ] vmcore: it is not experimental any more
    * [    ] vmlinux.lds.h: lower init ramfs alignment to 4
    * [ D  ] workqueue: add and use WQ_MEM_RECLAIM flag
    * [    ] writeback: add nr_dirtied and nr_written to /proc/vmstat
    * [    ] writeback: add /sys/devices/system/node/<node>/vmstat
    * [    ] writeback: report dirty thresholds in /proc/vmstat
    * [    ] xconfig: Change the titlebar if using Qt3

Quelle und Links : http://www.heise.de/open/artikel/Kernel-Log-Was-2-6-37-bringt-4-Architektur-und-Infrastruktur-Code-1156711.html
Titel: Kernel-Log – Was 2.6.37 bringt (5): Treiber
Beitrag von: SiLæncer am 28 Dezember, 2010, 11:03
Unterstützung für flotte USB-3.0-Datenträger mit USB Attached SCSI Protocol (UASP), ein Audio-Loopback-Treiber und Erweiterungen zum Umgang mit dem Magic Trackpad von Apple sind nur einige der Neuerungen, welche die Hardware-Unterstützung bei der im Januar erwarteten Version 2.6.37 des Linux-Kernels verbessern.

Am Mittwoch vor Weihnachten hat Linus Torvalds die siebte Vorabversion von Linux 2.6.37 veröffentlicht. Dabei erwähnte er einige etwas größere Änderungen, die ihn teilweise etwas beunruhigen. Es ist daher recht wahrscheinlich, das zwischen Weihnachten und Neujahr oder kurz nach Silvester noch mindestens eine achte Vorabversion erscheint, bevor Linux 2.6.37 freigeben wird.

Das Kernel-Log schließt derweil die Mini-Serie "Was 2.6.37 bringt" mit einer Beschreibung verschiedener Treiber und der sie umgebenden Kernel-Infrastruktur ab. Bereits im ersten Teil der Serie waren Treiber für Grafik-Hardware das Thema; im dritten kamen die für Netzwerk- und Storage-Hardware zur Sprache. Der zweite war Dateisystemen gewidmet, der vierte den Änderungen rund um den Architektur- und Infrastruktur-Code des Kernels.

USB und FireWire

Neu zum Kernel stieß der "uas" genannte Treiber für das USB Attached SCSI Protocol (UASP), das flotten Datenaustausch mit USB-3.0-Datenträgern ermöglicht, welche diese Technik beherrschen. Wenig später präsentierte Luben Tuikov den alternativen, vermeintlich besseren Treiber uasp und schlug vor, doch diesen in den Kernel zu integrieren und uas rauszuwerfen. Daraus wurde allerdings nichts, da er nicht sonderlich geschickt vorging und einige der dokumentierten und undokumentierte Arbeitsweisen der Kernel-Entwickler missachtete; weitere Hintergründe dazu finden sich etwas verstreut in den Archiven der LKML.

Der XHCI-Treiber für USB-3.0-Controller bietet nun Unterstützung für Power-Management (1, 2, 3, 4); dadurch gelingt nun auch Suspend- und Resume, ohne dass man den Treiber vorübergehend entladen muss.

Wie geplant haben die Kernel-Entwickler den älteren der beiden FireWire-Stacks und die darauf aufbauenden Treiber entfernt, da der neuere Stack und dessen Treiber mehr Features bieten, flotter arbeiten und sicherer sind, wie es im Commit-Kommentar heißt. Dort werden auch noch einige der kleineren, zumeist nur unter sehr speziellen Umständen auftretenden Probleme des neuen Stacks beschrieben, der bei Version 2.6.22 zum Kernel gestoßen war.

Media/V4L/DVB und Audio

Mauro Carvalho Chehab erwähnt im Haupt-Git-Pull-Request des Media/V4L/DVB-Subsystems, dass es viele Korrekturen, Aufräumarbeiten und Verbesserungen in diesem von ihm betreuten Bereich des Kernels gegeben habe. In letzte Kategorie fällt etwa die Erweiterung den Treibers cx231xx um Unterstützung für die Carraera, Shelby, RDx_253S und VIDEO_GRABBER genannte TV-Hardware. Einige neuere Treiber und größere Verbesserungen gab es auch rund um die noch junge Unterstützung für IR-Fernbedienungen und die zugehörigen Empfänger.

Laut Chehab seien zudem nahezu alle der verbliebenen V4L1-Treiber nun auf V4L2 portiert worden. Einige der verbliebenen V4L1-Treiber wurden als "Deprecated" eingestuft und in den Staging-Zweig verschoben, weil die Entwickler nach einer Portierung auf die neueren Schnittstellen keine Möglichkeiten zum Testen hätten und solch eine Portierung auch aufwendig sei; dazu zählen etwa die Treiber cpia und stradis, die bei 2.6.38 entfernt werden sollen.

Eine gute Zusammenfassung der Änderungen an den Alsa-Sound-Treibern des Kernels liefert deren Betreuer Takashi Iwai in seinem Haupt-Git-Pull-Request. Er erwähnt unter anderem den neuen Treiber snd-aloop. Mit ihm lassen sich "PCM Loopback Devices" aufsetzen, welche die zur Ausgabe empfangenen Daten über ein anderes Device wieder zurück an den Userspace sendet, was etwa für Synchonisations-Zwecke interessant sein kann. Die verschiedenen HDMI-Treiber für Hardware von AMD/ATI, Intel und Nvidia haben die Kernel-Hacker im Treiber snd-hda-codec-hdmi zusammengelegt.

Staging

Neben den bereits im dritten Teil der Mini-Serie "Was 2.6.37 bringt" genannten Änderungen an Staging-WLAN-Treibern gab es noch einige weitere im Bereich für Treiber, die den Qualitätsansprüchen ihrer Entwickler oder der Kernel-Hacker nicht genügt. Neben dem bereits erwähnten WLAN-Treibern brcm80211 und r8712u für Hardware von Braodcom respektive Realtek stieß auch der Treiber ath6kl für den auf Mobile- und Embedded-Einsatzgebiete abgestimmten Atheros-Chip AR6003 zum Staging-Bereich. Dort landete auch der Treiber bcm_wimax für einen von Sprint vertrieben Wimax Dongle mit Beeceem-Chip.
Die Treiber ti-st_blank (1, 2) und mrst-touchscreen sind im Staging-Bereich so weit gereift, dass sie das Unreif-Siegel ablegen konnten und von den Entwickler an die richtige Stelle des Kernel-Codes verschoben wurden. In den Staging-Zweig verschoben wurden autofs3 und smbfs, weil sich niemand mehr um diese kümmert; beide sollen vermutlich bald rausfliegen, wenn sich nicht noch jemand des Codes annimmt.

Ohne direkten Erfolg war die Staging-Integration des Codes für das HTC Dream, denn der wurde nun entfernt, weil sich niemand um die Weiterentwicklung dieser Code-Variante gekümmert hat; an einer andere Code-Variante wird aber weiter gearbeitet. Einen Überblick über weitere Änderungen im Staging-Bereich gibt der Haupt-Git-Pull-Request von Staging-Maintainer Greg Kroah-Hartman.

Verschiedenes

    * Der Treiber für die Magic Mouse von Apple spricht nun auch das Magic Trackpad an.
    * Zu den Plattform-Treibern stieß der auf einige IBM-Plattformen abgestimmte Treiber, bei denen sich alle nicht-fatalen System Management Interrupts (SMIs) deaktivieren lassen, um ordentliche Echtzeit-Eigenschaften zu erzielen.
    * Im Input-Code ist jetzt ein Keycode für Tasten festgelegt, die manche Notebooks zum Ein- und Ausschalten des Touchpads bieten.
    * Über den neuen Treiber ttyprintk kann man dem Kernel Zeichenketten übergeben, die er via Printk in die Kernel-Ausgaben schreibt. Das kann für Debug-Zwecke interessant sein, etwa um den Boot-Prozess näher zu analysieren.
    * Der Konfigurations-Parameter CONFIG_SYSFS_DEPRECATED wurde entfernt; statt dessen kann man den Kernel nun über den zur Laufzeit setzbaren Boot-Parameter "sysfs.deprecated" anweisen, ein älteres, zu alten Versionen von Udev kompatibles Sysfs-Layout aufzusetzen.

Die kleinen Perlen

Viele kleinere, aber keineswegs unbedeutende Neuerungen finden sich in der folgenden Liste mit den englischen Commit-Überschriften der jeweiligen Änderung. Die Einträge verlinken genau wie viele der Verweise im vorangegangenen Text auf das Webfrontend des von Linus Torvalds gepflegten Git-Zweigs mit den "offiziellen" Kernel-Quellen auf Kernel.org. Der über diese Links angezeigten Commit-Kommentar und der darunter ausgegebene Patch liefern zahlreiche weitere Informationen zur jeweiligen Änderungen.

Vor jedem Link finden sich in eckigen Klammern einige Buchstaben und Zahlen. Ein "C" kennzeichnet Patches mit Änderungen an Kconfig-Dateien, welche die Hilfetexte und Konfigurationsoptionen enthalten, die bei der Kernel-Konfiguration über "make menuconfig", "make xconfig" und ähnliche Werkzeuge angezeigt werden. Ein "D" steht bei Patches, die die Dokumentation verändern, die im Kernel-Zweig unterhalb von Documentation/ liegt. Ein "N" weist Änderungen aus, die eine neue Datei anlegen. Die Zahl vermittelt einen groben Eindruck zur Größe des Patches: eine "1" steht etwa für Änderungen, die inklusive Kommentar zwischen 10 und 20 KByte groß sind, eine "2" für solche, die zwischen 20 und 30 KByte Umfang haben; Änderungen ohne Zahl sind kleiner als 10 KByte, Patches mit einer "9" hingegen 90 KByte oder größer.

Audio

   * [    ] ALSA: ac97: Apply quirk for Dell Latitude D610 binding Master and Headphone controls
    * [    ] ALSA: Add more jack button slots
    * [    ] ALSA: ca0106 - add Sound Blaster 5.1vx info.
    * [    ] ALSA: core: Allow card id change to the same string
    * [    ] ALSA: HDA: Add an extra DAC for Realtek ALC887-VD
    * [    ] ALSA: hda - Added fixup for Lenovo Y550P
    * [    ] ALSA: hda - Add fixup for FSC Celsius H270
    * [    ] ALSA: HDA: Add fixup pins for Ideapad Y550
    * [    ] ALSA: hda - Adding support for new IDT 92HD90BXX and 92HD91BXX codecs
    * [    ] ALSA: hda - Add input jack layer support to Realtek codec
    * [    ] ALSA: hda - Add input volume control for each mic/line-in pin
    * [    ] ALSA: hda - Add model=mbp55 entry for MacBookPro 7,1
    * [    ] ALSA: hda - Add multiple headphone support to ALC262 codec
    * [ D  ] ALSA: HDA: Add position_fix=3 module option, and refactor related code
    * [    ] ALSA: hda - Add quirk for Acer laptop with CX20585 codec
    * [    ] ALSA: hda - Add quirk for another Acer laptop with a CX20585 codec
    * [    ] ALSA: hda: Add Samsung R720 SSID for subwoofer pin fixup
    * [    ] ALSA: hda - Add some workarounds for Creative IBG
    * [    ] ALSA: hda: Add speaker pin to automute Acer Aspire 8943G
    * [    ] ALSA: hda: add Vortex86MX PCI ids
    * [    ] ALSA: hda - Add workarounds for CT-IBG controllers
    * [    ] ALSA: hda - Apply ALC269 VAIO fix-up to all Sony laptops with ALC269
    * [    ] ALSA: HDA: Enable digital mic on IDT 92HD87B
    * [    ] ALSA: hda - Enable jack sense for Thinkpad Edge 11
    * [    ] ALSA: hda - Enable jack sense for Thinkpad Edge 13
    * [    ] ALSA: HDA: Enable SKU quirks for Realtek
    * [    ] ALSA: HDA: Enable subwoofer on Asus G73Jw
    * [    ] ALSA: hda - Fix Acer 7730G support
    * [    ] ALSA: hda - Fix ALC660-VD/ALC861-VD capture/playback mixers
    * [    ] ALSA: HDA: Fix auto-mute on Lenovo Edge 14
    * [    ] ALSA: hda - Fix input-pin setup for Realtek codecs
    * [    ] ALSA: hda - Fix ThinkPad T410[s] docking station line-out
    * [   3] ALSA: hda - Improve the input source name labels
    * [    ] ALSA: hda - MacBookAir3,1(3,2) alsa support
    * [    ] ALSA: hda - MacBookPro 5,3 line-in support
    * [    ] ALSA: hda - Optimize the check of ALC269 codec variants
    * [   2] ALSA: hda - Preliminary support for new Conexant audio codecs
    * [    ] ALSA: HDA: Quirk for Dell Vostro 320 to make microphone work
    * [    ] ALSA: hda - Reduce pci id list for Intel with class id
    * [    ] ALSA: hda - Support multiple headphone auto-mute
    * [    ] ALSA: hda: Use "alienware" model quirk for another SSID
    * [    ] ALSA: hda: Use BIOS auto-parsing instead of existing model quirk for MEDION MD2
    * [    ] ALSA: hda: Use hp-laptop quirk to enable headphones automute for Asus A52J
    * [    ] ALSA: hda: Use model=lg quirk for LG P1 Express to enable playback and capture
    * [    ] ALSA: hda: Use position_fix=1 for Acer Aspire 5538 to enable capture on internal mic
    * [    ] ALSA: hdmi - support infoframe for DisplayPort
    * [    ] ALSA: ice1712: Add support for Edirol DA-2496
    * [CDN3] ALSA: ISA: New Aztech Sound Galaxy driver
    * [CD 1] ALSA: ISA: Remove snd-sgalaxy
    * [    ] ALSA: oxygen - Add a SSID for CMI8787-HG2PCI
    * [    ] ALSA: oxygen: add PEX8111 initialization
    * [    ] ALSA: snd-aloop: add cable#0 and cable#1 files to proc card tree
    * [    ] ALSA: snd-aloop - add pause support
    * [C  3] ALSA: snd-usb-caiaq: Add support for Traktor Kontrol S4
    * [    ] ALSA: usb-audio: add BOSS ME-25 support
    * [    ] ALSA: usb-audio: add Edirol PCR-1 PCM support
    * [    ] ALSA: usb-audio: add more Yamaha USB MIDI devices
    * [    ] ALSA: usb-audio: add Novation Launchpad support
    * [    ] ALSA: usb-audio: add Roland A-PRO support
    * [   1] ALSA: usb-audio: automatically detect feedback format
    * [    ] ALSA: usb-audio - Support for Power/Status LED on Creative USB X-Fi S51
    * [    ] ALSA: usb - Creative USB X-Fi volume knob support
    * [    ] ALSA: usb: USB3 SuperSpeed sound support
    * [    ] ALSA: virtuoso: add HDAV1.3 Slim PCI ID
    * [C   ] ALSA: virtuoso: add Xonar DS headphone jack detection
    * [    ] ALSA: virtuoso: automatically handle Xonar DS headphone routing
    * [C   ] ALSA: virtuoso: update Kconfig text
    * [    ] ALSA: virtuoso: Xonar DS: add stereo upmixing to center/LFE channels
    * [    ] ASoC: ac97: add MODULE_ALIAS for the platform driver
    * [C N5] ASoC: add 88pm860x codec driver
    * [C   ] ASoC: Add build infrastructure for WL1273
    * [    ] ASoC: Add device table to SH FSI driver
    * [C N1] ASoC: add ep93xx AC97 audio driver
    * [C N1] ASoC: Add HP iPAQ RX1950 support
    * [C N9] ASoC: Add initial WM8962 CODEC driver
    * [C N8] ASoC: Add max98088 CODEC driver
    * [    ] ASoC: Add MODULE_ALIAS to Samsung DAI drivers
    * [C N ] ASoC: add saarb machine driver for 88pm860x
    * [    ] ASoC: Add sh_mobile_hdmi sound support
    * [    ] ASoC: Add support for MAX98089 CODEC
    * [    ] ASoC: add support for separate codec DAIs to the fsl_dma driver
    * [C N2] ASoC: add support for the Freescale P1022 DS reference board
    * [    ] ASoC: Add support for tlv320aic3007 to tlv320aic3x codec.
    * [    ] ASoC: Add support for WM8962 GPIO outputs
    * [C N ] ASoC: add tavorevb3 machine driver for 88pm860x
    * [    ] ASoC: ak4642: simultaneous playback/recorde support
    * [    ] ASoC: Complete supported clock ratios and rate constraints for wm8741
    * [    ] ASoC: Enable autoloading of pxa2xx CPU I2S driver with module alias
    * [C N ] ASoC: ep93xx: add Simplemachines Sim.One AC97 audio support
    * [C N ] ASoC: fsi-codec: Add FSI - HDMI support
    * [   1] ASoC: fsi: simultaneous playback/recorde support
    * [    ] ASoC: Implement interrupt based jack detection
    * [    ] ASoC: Initial WM8962 IRQ support
    * [C N1] ASoC: multi-component - Add Aquila sound driver
    * [C N1] ASoC: multi-component - Add Goni sound driver
    * [C  9] ASoC: multi-component - ASoC Multi-Component Support
    * [    ] asoc/multi-component: fsl: add support for 36-bit physical addresses
    * [C N ] ASoC: SAMSUNG: Add Machine driver for S/PDIF PCM audio
    * [C N1] ASoC: SAMSUNG: Add S/PDIF CPU driver
    * [    ] ASoC: Support non-crystal master clocks for WM8731
    * [    ] ASoC: Support non-crystal master clocks for WM8731
    * [  N1] ASoC: TI WL1273 FM Radio Codec.
    * [    ] ASoC: tlv320aic3x: Optimize PLL programming in aic3x_set_bias_level
    * [    ] ASoC: tlv320aic3x: Use regulator notifiers for optimizing the cache sync
    * [C N2] ASoC: WM8804: Initial driver
    * [C N9] ASoC: WM8985: Initial driver
    * [   2] sound: autoconvert trivial BKL users to private mutex

I2C/HW-Monitoring/EDAC

   * [   1] EDAC: Export edac sysfs class to users.
    * [    ] EDAC, MCE: Add F12h DC MCE decoder
    * [    ] EDAC, MCE: Add F12h IC MCE decoder
    * [    ] EDAC, MCE: Add F12h NB MCE decoder
    * [    ] EDAC, MCE: Add HW_ERR prefix
    * [    ] EDAC, MCE: Add support for F11h MCEs
    * [    ] EDAC, MCE: Enable MCE decoding on F12h
    * [    ] EDAC, MCE: Enable MCE decoding on F14h
    * [C N1] EDAC, MCE: Rework MCE injection
    * [    ] genirq: Provide compat handling for chip->enable()
    * [    ] HID: Add Tablet Pick -> BTN_STYLUS2 mapping
    * [C N1] hwmon: add generic GPIO fan driver
    * [ D  ] hwmon: Add tempX_emergency attribute to sysfs ABI
    * [    ] hwmon: (coretemp) fix reading of microcode revision (v2)
    * [    ] hwmon: (hp_accel) Add HP Mini 510x family support
    * [CD 1] hwmon: (it87) Add support for the IT8721F/IT8758E
    * [    ] hwmon: (lis3) add axes module parameter for custom axis-mapping
    * [    ] hwmon: lis3: pm_runtime support
    * [    ] hwmon: lis3: regulator control
    * [    ] hwmon: lis3: Short explanations of platform data fields
    * [ D  ] hwmon: (lm85) Add support for ADT7468 high-frequency PWM mode
    * [CD  ] hwmon: (lm85) Document the ADT7468 as supported
    * [ D  ] hwmon: (lm90) Add explicit support for max6659
    * [ D  ] hwmon: (lm90) Add support for extra features of max6659
    * [CD 1] hwmon: (lm90) Add support for max6695 and max6696
    * [CD  ] hwmon: (lm90) Add support for the W83L771W/G
    * [    ] hwmon: (lm90) Add support for update_interval sysfs attribute
    * [    ] hwmon: (lm90) Introduce device feature bits
    * [CDN1] hwmon: LTC4261 Hardware monitoring driver
    * [C N6] hwmon: New driver for the W83795G/ADG monitoring chips
    * [ D  ] hwmon: (pcf8591) Don't attempt to detect devices
    * [    ] hwmon: (pcf8591) Register as a hwmon device
    * [C   ] hwmon: Remove many EXPERIMENTAL flags
    * [    ] hwmon: (w83795) Add myself as co-author and maintainer
    * [    ] hwmon: (w83795) Add support for dynamic in0-2 limits
    * [C   ] hwmon: (w83795) Exclude fan control feature by default
    * [    ] hwmon: (w83795) Only start monitoring if needed
    * [    ] hwmon: (w83795) Simplify temperature sensor type handling
    * [CD  ] i2c-i801: Add Intel Patsburg device ID
    * [ D  ] i2c-i801: Add PCI idents for Patsburg 'IDF' SMBus controllers
    * [C N3] i2c-intel-mid: support for Moorestown and Medfield platform
    * [C N1] i2c/mux: Driver for PCA9541 I2C Master Selector
    * [    ] i2c-nomadik: support smbus emulation
    * [   2] i7300_edac: Add error detection code for global errors
    * [    ] i7300_edac: Adds detection for enhanced scrub mode on x8
    * [    ] i7300_edac: Add support for reporting FBD errors
    * [   1] i7300_edac: Better name PCI devices
    * [C N4] i7300_edac: start a driver for i7300 chipset (Clarksboro)
    * [    ] i7core_edac: Don't do the legacy PCI probe by default
    * [    ] Kirkwood: add fan support for Network Space Max v2
    * [    ] MAINTAINERS: Add maintainer for i7300-edac driver
    * [C   ] Move ams driver to macintosh
    * [C N1] watchdog: add support for Broadcom BCM63xx built-in watchdog
    * [C   ] watchdog: f71808e_wdt: add support for the F71889FG
    * [    ] watchdog: it8712f_wdt: Add module parameter for alternative reset sources
    * [C   ] watchdog: it87_wdt: Add support for IT8720F watchdog
    * [C   ] watchdog: it87_wdt: Add support for watchdogs with 8b timers

Input

   * [    ] 8250: add support for Kouwell KW-L221N-2
    * [    ] HID: add absolute axis resolution calculation
    * [    ] HID: Add a hid quirk for input sync override
    * [    ] HID: add NOGET quirk for AXIS 295 Video Surveillance Joystick
    * [    ] HID: add support for F430 Force Feedback Wheel
    * [C N1] HID: Add support for Logitech Speed Force Wireless gaming wheel
    * [C N2] HID: add support for two Waltop tablets
    * [C N2] HID: Add support for UC-Logic WP????U tablets
    * [    ] HID: fix A4Tech RP-649 horizontal scrollwheel
    * [C   ] HID: force feedback support for Logitech RumblePad gamepad
    * [    ] HID: magicmouse: remove timestamp logic
    * [    ] HID: magicmouse: simplify multitouch feature request
    * [ DN ] HID: ntrig: add documention
    * [CDN4] HID: roccat: add driver for Roccat Pyra mouse
    * [    ] HID: sony: Apply sixaxis quirks only to sixaxis
    * [    ] HID: support STmicroelectronics and Sitronix with hid-stantuml driver
    * [   1] HID: uclogic: add proper support for PF1209
    * [    ] HID: usbhid: remove unused hiddev_driver
    * [   1] HID: waltop: add Media Tablet 14.1 inch support
    * [   1] HID: waltop: add support for Waltop Slim Tablet 12.1 inch
    * [    ] hwmon: (lis3) Add support for new LIS3DC / HP3DC chip
    * [    ] Input: ad7877 - implement EV_KEY:BTN_TOUCH reporting
    * [    ] Input: ad7877 - implement specified chip select behavior
    * [    ] Input: ad7877 - use attribute group to control visibility of attributes
    * [C N1] input: add driver for tnetv107x on-chip keypad controller
    * [C N1] input: add driver for tnetv107x touchscreen controller
    * [C N1] Input: add input driver for polled GPIO buttons
    * [C N1] Input: add LPC32xx touchscreen controller driver
    * [C N2] Input: add ROHM BU21013 touch panel controller support
    * [C N1] Input: add support for Hanwang tablets
    * [   1] Input: add support for large scancodes
    * [C N1] Input: add support for Nomadik SKE keypad controller
    * [C N1] Input: add support for OMAP4 keyboard controller
    * [C N ] Input: add support for PowerOn button on the AB8500 MFD
    * [   3] Input: ads7846 - switch to using threaded IRQ
    * [    ] Input: atkbd - add 'terminal' parameter for IBM Terminal keyboards
    * [    ] Input: cy8ctmg110 - add fuzz to ABS_X and ABS_Y to remove jitter
    * [    ] Input: define separate EVIOCGKEYCODE_V2/EVIOCSKEYCODE_V2
    * [    ] Input: hanwang - add support for Art Master HD 5012 tablet
    * [    ] Input: i8042 - add Sony VAIOs to MUX blacklist
    * [   1] Input: media/IR - switch to using new keycode interface
    * [C   ] Input: mrst-touchscreen - move out of staging
    * [C N ] Input: serio - add support for PS2Mult multiplexer protocol
    * [    ] Input: serio - support multiple child devices per single parent
    * [    ] Input: synaptics - fix handling of 2-button ClickPads
    * [    ] Input: usbtouchscreen - add support for LG Flatron T1710B
    * [    ] Input: wacom - add another Bamboo Pen ID (0xd4)
    * [    ] Input: wacom - add a quirk for low resolution Bamboo devices
    * [    ] Input: wacom - add fuzz parameters to features
    * [    ] Input: wacom - add IDs for two new Bamboo PTs
    * [    ] Input: wacom - add new Bamboo PT (0xdb)
    * [    ] Input: wacom - add support for Bamboo Pen
    * [    ] Input: wacom - add support for the Bamboo Touch trackpad
    * [    ] Input: wacom - properly enable runtime PM
    * [    ] Input: wacom - specify Cinitq supported tools
    * [    ] Input: wacom_w8001 - add multitouch slot support
    * [    ] Input: wacom_w8001 - support (and ignore) touch tablets
    * Media/V4L/DVB
    * [ D  ] devices.txt: Remove the old obsolete vtx device nodes
    * [    ] dvb/bt8xx: kill the big kernel lock
    * [    ] dvb-core: kill the big kernel lock
    * [C N2] [media] Add driver for Siliconfile SR030PC30 VGA camera
    * [    ] [media] Add support for AUX_PLL on cx2583x chips
    * [C N4] [media] Add the via framebuffer camera controller driver
    * [    ] [media] af9013: optimize code size
    * [   2] [media] af9015: move remote controllers to new RC core
    * [    ] [media] af9015: support for DigitalNow TinyTwin v3 [1f4d:9016]
    * [  N ] [media] A-Link DTU(m) remote controller
    * [  N ] [media] Anysee remote controller
    * [  N ] [media] AverMedia RM-KS remote controller keytable
    * [    ] [media] cx231xx: Add initial support for Hauppauge USB-Live2
    * [   1] [media] cx231xx: add support for Hauppauge EXETER
    * [    ] [media] cx231xx: add USB ID Hauppauge model 111301
    * [    ] [media] cx231xx: Remove IR support from the driver
    * [  N ] [media] DigitalNow TinyTwin remote controller
    * [  N ] [media] Digittrade DVB-T USB Stick remote controller keytable
    * [ D  ] [media] DocBook/v4l: Add missing formats used on gspca cpia1 and sn9c2028
    * [ D  ] [media] Documentation: v4l: Add hw_seek spacing and two TUNER_RDS_CAP flags
    * [ D  ] [media] Documentation/video4linux/CARDLIST.[cx88|saa7134]
    * [C  1] [media] dvb: remove obsolete lgdt3304 driver
    * [    ] [media] em28xx: Add dvb support for Terratec Cinergy Hybrid T USB XS FR
    * [    ] [media] firedtv: add parameter to fake ca_system_ids in CA_INFO
    * [    ] [media] firedtv: support for PSK8 for S2 devices. To watch HD
    * [    ] [media] gp8psk: Add support for the Genpix Skywalker-2
    * [   2] [media] gspca - sonixj: Use the new video control mechanism
    * [    ] [media] hdpvr: add usb product id 0x4903
    * [C N5] [media] IR: add driver for Nuvoton w836x7hg integrated CIR
    * [    ] [media] IR: ene_ir: add support for carrier reports
    * [   2] [media] IR: ene_ir: don't upload all settings on each TX packet
    * [C  5] [media] IR: ene_ir: updates
    * [  N ] [media] LeadTek Y04G0051 remote controller keytable
    * [    ] [media] lirc_igorplugusb: add Fit PC2 device ID
    * [    ] [media] lirc_it87: add another pnp id
    * [C   ] [media] lirc_parallel: build on smp and kill dead code
    * [CD 1] [media] lmedm04: driver for DM04/QQBOX updated to version 1.60
    * [    ] [media] mceusb: add support for cx231xx-based IR (e. g. Polaris)
    * [  N ] [media] MSI DIGIVOX mini III remote controller keytable
    * [  N ] [media] MSI DIGIVOX mini II remote controller
    * [   1] [media] Nova-S-Plus audio line input
    * [  N ] [media] ov7670: allow configuration of image size, clock speed, and I/O method
    * [ D  ] [media] radio-mr800: fix locking order
    * [C N1] [media] s5h1432: Add new s5h1432 driver
    * [  N6] [media] s5p-fimc: Add camera capture support
    * [   1] [media] s5p-fimc: Add suport for FIMC on S5PC210 SoCs
    * [    ] [media] saa7164: add firmware debug message collection and procfs changes
    * [   2] [media] saa7164: add NTSC VBI support
    * [    ] [media] saa7164: add support for encoder CBR and VBR optionally
    * [   1] [media] saa7164: allow DMA engine buffers to vary in size between analog and digital
    * [    ] [media] saa7164: allow the number of encoder buffers to be user configurable
    * [    ] [media] saa7164: Disable firmware debug message output
    * [   1] [media] saa7164: Implement encoder irq handling in a deferred work queue
    * [C N5] [media] SoC Camera: add driver for OMAP1 camera interface
    * [C N3] [media] SoC Camera: add driver for OV6650 sensor
    * [    ] [media] SoC Camera: add support for g_parm / s_parm operations
    * [ D  ] [media] Support for Elgato Video Capture
    * [  N ] [media] TerraTec remote controller keytable
    * [  N ] [media] Total Media In Hand remote controller
    * [  N ] [media] TrekStor DVB-T USB Stick remote controller
    * [  N ] [media] Twinhan 1027 + IR Port support
    * [  N ] [media] TwinHan AzureWave AD-TU700(704J) remote controller
    * [   2] [media] uvcvideo: Hardcode the index/selector relationship for XU controls
    * [C N1] [media] V4L: add an IMX074 sensor soc-camera / v4l2-subdev driver
    * [    ] [media] V4L: add IMX074 sensor chip ID
    * [ DN1] [media] v4l: document new Bayer and monochrome pixel formats
    * [    ] [media] v4l/dvb: add support for AVerMedia AVerTV Red HD+ (A850T)
    * [C  1] [media] v4l: kill the BKL
    * [    ] [media] v4l: Load I2C modules based on modalias
    * [ D  ] V4L/DVB: Add documentation about the Ibmcam/Konica new gspca driver formats
    * [    ] V4L/DVB: af9013: add support for MaxLinear MxL5007T tuner
    * [    ] V4L/DVB: af9013: add support for tda18218 silicon tuner
    * [   1] V4L/DVB: af9013: optimize code size
    * [    ] V4L/DVB: af9015: add remote support for TerraTec Cinergy T Stick Dual RC
    * [    ] V4L/DVB: af9015: add support for tda18218 silicon tuner
    * [C   ] V4L/DVB: af9015: add support for TerraTec Cinergy T Stick Dual RC
    * [    ] V4L/DVB: af9015: add USB ID for Terratec Cinergy T Stick RC MKII
    * [    ] V4L/DVB: af9015: map TerraTec Cinergy T Stick Dual RC remote to device ID
    * [   5] V4L/DVB: af9015: reimplement remote controller
    * [C  1] V4L/DVB: cpia2: remove V4L1 support from this driver
    * [ D 1] V4L/DVB: Documentation: update now that the vtx/videotext API has been removed
    * [    ] V4L/DVB: dvb/bt8xx: kill the big kernel lock
    * [    ] V4L/DVB: dvb-core: kill the big kernel lock
    * [   1] V4L/DVB: em28xx: remove BKL
    * [C N2] V4L/DVB: gspca_konica: New gspca subdriver for konica chipset using cams
    * [    ] V4L/DVB: gspca - sonixj: Add sensor mi0360b
    * [ D  ] V4L/DVB: gspca - sonixj: Add webcam 0c45:612b
    * [ D  ] V4L/DVB: gspca - sonixj: Webcam 0c45:6102 added
    * [   2] V4L/DVB: gspca_xirlink_cit: Add support for camera with a bcd version of 0.01
    * [   5] V4L/DVB: gspca_xirlink_cit: Add support for Model 1, 2 & 4 cameras
    * [C N5] V4L/DVB: gspca_xirlink_cit: New gspca subdriver replacing v4l1 usbvideo/ibmcam.c
    * [   1] V4L/DVB: imon: split mouse events to a separate input dev
    * [C N2] V4L/DVB: IR/streamzap: functional in-kernel decoding
    * [C   ] V4L/DVB: Mark usbvideo ibmcam driver as deprecated
    * [C N1] V4L/DVB: NXP TDA18218 silicon tuner driver
    * [C  1] V4L/DVB: pwc: fully convert driver to V4L2
    * [C  5] V4L/DVB: saa5246a/saa5249: Remove obsolete teletext drivers
    * [C   ] V4L/DVB: saa7134-input can't be a module right now
    * [C   ] V4L/DVB: saa7134: split RC code into a different module
    * [   2] V4L/DVB: soc-camera: allow only one video queue per device
    * [C N1] V4L/DVB: Support for Sharp IX2505V (marked B0017) DVB-S silicon tuner
    * [CDN3] V4L/DVB: Support or LME2510(C) DM04/QQBOX USB DVB-S BOXES
    * [    ] V4L/DVB: tm6000: bugfix param string
    * [    ] V4L/DVB: uvc: Enable USB autosuspend by default on uvcvideo
    * [ D  ] V4L/DVB: v4l2: add core serialization lock
    * [ D  ] V4L/DVB: v4l2: Add illuminator controls
    * [ D  ] V4L/DVB: v4l2-dev: after a disconnect any ioctl call will be blocked
    * [ D  ] V4L/DVB: v4l: Add a v4l2_subdev host private data field
    * [ D  ] V4L/DVB: V4L Doc: correct the documentation for VIDIOC_QUERYMENU
    * [ D  ] V4L/DVB: V4L Doc: document V4L2_CAP_RDS_OUTPUT capability
    * [    ] V4L/DVB: videotext: remove this obsolete API
    * [ D 1] videodev2.h.xml: Update to reflect the latest changes at videodev2.h


Platform

   * [C N ] Add OLPC XO-1 rfkill driver
    * [C N ] Add OLPC XO-1 rfkill driver
    * [    ] asus-laptop: Add key found on Asus N61JQ
    * [    ] asus-laptop: Add key found on Asus N61JQ
    * [ D  ] asus-laptop: add wimax and wwan support
    * [ D  ] asus-laptop: add wimax and wwan support
    * [    ] asus-laptop: fix gps rfkill
    * [    ] asus-laptop: fix gps rfkill
    * [    ] eeepc-wmi: add additional hotkeys
    * [    ] eeepc-wmi: add additional hotkeys
    * [ DN ] eeepc-wmi: add cpufv sysfs documentation
    * [ DN ] eeepc-wmi: add cpufv sysfs documentation
    * [    ] eeepc-wmi: Add cpufv sysfs interface
    * [    ] eeepc-wmi: Add cpufv sysfs interface
    * [    ] ideapad: add ACPI helpers
    * [    ] ideapad: add ACPI helpers
    * [    ] ideapad: Add param: no_bt_rfkill
    * [    ] ideapad: Add param: no_bt_rfkill
    * [C   ] ideapad: Change the driver name to ideapad-laptop
    * [C   ] ideapad: Change the driver name to ideapad-laptop
    * [C  1] Input: dell-wmi - switch to using sparse keymap library
    * [C  1] Input: dell-wmi - switch to using sparse keymap library
    * [C   ] Input: hp-wmi - switch to using sparse keymap library
    * [C   ] Input: hp-wmi - switch to using sparse keymap library
    * [C   ] Move hdaps driver to platform/x86
    * [C   ] Move hdaps driver to platform/x86
    * [    ] msi-wmi: Add mute key support
    * [    ] msi-wmi: Add mute key support
    * [C   ] panasonic-laptop - switch to using sparse keymap library
    * [C   ] panasonic-laptop - switch to using sparse keymap library
    * [C   ] topstar-laptop - switch to using sparse keymap library
    * [C   ] topstar-laptop - switch to using sparse keymap library
    * [C   ] toshiba-acpi - switch to using sparse keymap
    * [C   ] toshiba-acpi - switch to using sparse keymap

Staging

   * [  N ] [media] Add a todo file for staging/tm6000
    * [C N9] Staging: Add initial release of brcm80211 - Broadcom 802.11n wireless LAN driver.
    * [C N9] Staging: Add SBE 2T3E3 WAN driver
    * [C N9] Staging: add speakup to the staging directory
    * [C N9] Staging: Add support for Flarion OFDM usb and pcmcia devices.
    * [C N9] Staging: add USB ENE card reader driver
    * [C N9] Staging: add West Bridge Astoria Driver
    * [  N ] Staging: autofs3: create TODO file
    * [    ] Staging: autofs3: fix up TODO
    * [    ] staging: autofs3: get the TODO file right the third time
    * [    ] Staging: batman-adv: Add hash recommendations to TODO
    * [    ] Staging: batman-adv: Add rcu TODO
    * [   6] Staging: batman-adv: attach each hard-interface to a soft-interface
    * [    ] Staging: batman-adv: Calculate hamming weight using optimized kernel functions
    * [    ] Staging: batman-adv: count batman_if list queries as reference
    * [    ] Staging: batman-adv: document fragmentation sysfs API
    * [   2] Staging: batman-adv: layer2 unicast packet fragmentation
    * [    ] Staging: batman-adv: Move mailing list address to .org
    * [   9] Staging: batman-adv: multiple mesh clouds
    * [   2] Staging: batman-adv: Prepare vis packets directly inside a skb
    * [    ] Staging: batman-adv: Start new development cycle
    * [    ] Staging: batman-adv: Use synchronize_rcu instead of call_rcu
    * [    ] Staging: batman-adv: wait for call_rcu before unloading module
    * [    ] staging: brcm80211: Add contact info to TODO list.
    * [C N9] staging: brcm80211: add fullmac driver
    * [    ] staging: brcm80211: Fix some initialisation failure paths
    * [    ] Staging: cxt1e1: multiple definition of max_mtu fix
    * [C   ] Staging: ft1000: mark pcmcia driver broken
    * [    ] staging: hv: Convert vmbus driver interface function pointer table to constant
    * [C N1] staging: iio: adc: ad7476 new SPI ADC driver
    * [C N3] staging: iio: adc: Enable driver support for ad799x AD converters
    * [C N1] staging: iio: ak8975: Add ak8975 magnetometer sensor
    * [    ] staging: iio: documentation - partial update to make more of it true.
    * [   1] staging: iio: events update documentation to match new abi.
    * [    ] staging: iio: hmc5843 change ABI to comply with documentation
    * [C N2] staging: iio: light: Adding driver for ISL29018 ALS
    * [    ] staging: iio: lis3l02dqbuffersimple.c bring example up to date.
    * [    ] staging: iio partial documentation update
    * [   4] staging: iio sync drivers with current ABI
    * [    ] staging: iio: sysfs abi documentation. Add _type and _index attrs
    * [  N2] staging: iio: update example application.
    * [C   ] Staging: keucr: prevent the driver from being built as a module.
    * [    ] staging/keucr: update TODO list and ask question about it
    * [   9] Staging: line6: another upstream sync
    * [C  9] staging: line6: sync with upstream
    * [C  1] Staging: mrst_touchscreen - clean up input side
    * [    ] Staging: mrst-touchscreen - fix channel allocation
    * [    ] Staging: mrst-touchscreen - register platform interface
    * [    ] Staging: mrst-touchscreen - simplify en/disable of interrupts for NEC
    * [C N3] staging: olpc_dcon: add OLPC display controller (DCON) support
    * [    ] staging: olpc_dcon: add people to the Cc list
    * [  N ] staging: olpc_dcon: add TODO file
    * [    ] staging: r8712u: Add module parameter to disable turbo mode
    * [  N ] staging: r8712u: Add TODO to driver files
    * [    ] staging: r8712u: Update copy-to list for patches
    * [   1] Staging: RT2860: Fixed all warnings and errors in the iface directory
    * [    ] staging: rt2870: Add new USB ID for Belkin F6D4050 v1
    * [   4] Staging: rtl8187se: r8180_wx: fixed a lot of checkptahc.pl issues
    * [    ] Staging: rtl8192e: Clean up formatting in MapHwQueueToFirmwareQueue()
    * [    ] Staging: rtl8192e: Clean up rtl8192_net_update()
    * [    ] staging: rtl8192e: Remove dead code from rtl8192_set_chan()
    * [C N9] Staging: sst: Intel SST audio driver
    * [   1] staging: sst: Remove the aava bits
    * [    ] staging: w35und: Add locking problems to TODO list
    * [   1] staging: w35und: Remove remaining typedef declarations
    * [    ] staging: west bridge, block driver change for partition support
    * [ DN ] Staging: zram: Document sysfs entries
    * [C N1] Staging: zram: Replace ioctls with sysfs interface
    * [    ] Staging: zram: Update zram documentation

USB

   * [    ] OHCI: work around for nVidia shutdown problem
    * [C N1] USB: add driver for Meywa-Denki & Kayac YUREX
    * [C N6] usb: Add Intel Langwell USB OTG Transceiver Driver
    * [    ] USB: add PID for FTDI based OpenDCC hardware
    * [C N1] USB: add platform glue driver for FSL USB DR controller
    * [CD 1] USB: add USB EHCI support for MPC5121 SoC
    * [    ] USB: AM35x: Add musb support
    * [    ] USB: cp210x: Add Renesas RX-Stick device ID
    * [    ] USB: cp210x: Add WAGO 750-923 Service Cable device ID
    * [    ] USB: ftdi_sio: add device ids for ScienceScope
    * [    ] USB: ftdi_sio: new VID/PIDs for various Papouch devices
    * [    ] usb: gadget: mass_storage: optional SCSI WRITE FUA bit
    * [    ] USB: g_file_storage: don't generate automatic serial string
    * [    ] USB: langwell: USB Client Remote Wakeup Support
    * [C N1] USB: musb: add musb support for AM35x
    * [C N1] usb: musb: introduce DA8xx/OMAP-L1x glue layer
    * [    ] usb: musb: support ISO high bandwidth for gadget mode
    * [    ] USB: opticon: Add Opticon OPN2001 write support
    * [    ] USB: option: Add more ZTE modem USB id's
    * [    ] USB: option: Add new ONDA vendor id and product id for ONDA MT825UP
    * [  N ] USB OTG: Add common data structure for Intel MID Platform (Langwell/Penwell)
    * [C   ] USB OTG Langwell: Update OTG Kconfig and driver version.
    * [    ] USB: qcserial: Enable Diagnostics Monitor and GPS ports on Gobi 2000
    * [C N ] USB: sam-ba: add driver for Atmel SAM Boot Assistant (SAM-BA)
    * [    ] USB: serial: Enable USB autosuspend by default on qcserial
    * [ D  ] USB: teach "devices" file about Wireless and SuperSpeed USB
    * [    ] USB: the development of the usb tree is now in git
    * [    ] USB: UHCI: add native scatter-gather support(v1)
    * [    ] usb: usb3.0 ch9 definitions
    * [ D  ] USB: yurex: assign a real minor number to the driver
    * [    ] xhci: Setup array of USB 2.0 and USB 3.0 ports.

Various

   * [CDN2] add Packet hub driver for Topcliff Platform controller hub
    * [    ] backlight: add low threshold to pwm backlight
    * [    ] backlight: MacBookAir3,1(3,2) mbp-nvidia-bl support
    * [   1] bq20z75: Add support for more power supply properties
    * [    ] dma: add support for scatterlist to scatterlist copy
    * [C N1] dmaengine: Add Freescale i.MX1/21/27 DMA driver
    * [C N4] dmaengine: Add Freescale i.MX SDMA support
    * [C N6] dmaengine: driver for the ARM PL080/PL081 PrimeCells v5
    * [   1] DMAENGINE: ste_dma40: added support for link jobs in hw
    * [ D  ] docbook: add more wait/wake/completion to device-drivers docbook
    * [ D  ] Documentation/gpio.txt: explain poll/select usage
    * [ DN ] Documentation: led drivers lp5521 and lp5523
    * [ DN ] Documentation: short descriptions for bh1770glc and apds990x drivers
    * [C   ] drivers/dma/Kconfig: add part number for Topcliff.
    * [C  1] drivers/misc/ad525x_dpot.c: new features
    * [    ] drivers/misc/apds9802als.c: add runtime PM support
    * [C N1] drivers/misc/apds9802als.c: ALS drivers for the apds9802als
    * [C N4] drivers/misc: driver for APDS990X ALS and proximity sensors
    * [C N4] drivers/misc: driver for bh1770glc / sfh7770 ALS and proximity sensor
    * [C N ] drivers/misc/isl29020.c: ambient light sensor
    * [C   ] drivers/rtc/rtc-ds3232.c: add alarm function
    * [ D  ] Dynamic Debug: Introduce ddebug_query= boot parameter
    * [    ] fsldma: implement support for scatterlist to scatterlist copy
    * [   1] fsldma: improved DMA_SLAVE support
    * [C N1] gpio: add driver for basic memory-mapped GPIO controllers
    * [C N ] gpio: add support for 74x164 serial-in/parallel-out 8-bit shift register
    * [C N1] gpio: add Topcliff PCH GPIO driver
    * [C N1] gpio: Add VIA VX855 GPIO driver
    * [C  1] gpio: adp5588-gpio: support interrupt controller
    * [C   ] hpilo: Despecificate driver from iLO generation
    * [    ] IB/core: Add link layer type information to sysfs
    * [   1] IB/core: Add VLAN support for IBoE
    * [    ] IB/mad: IBoE supports only QP1 (no QP0)
    * [   1] IB/mlx4: Add VLAN support for IBoE
    * [    ] IB/pack: IBoE UD packet packing support
    * [    ] intel_mid_dma: Add runtime PM support
    * [   1] intel_mid_dma: Add sg list support to DMA driver
    * [    ] langwell_gpio: add support for whitney point
    * [CD 1] led-class: always implement blinking
    * [C N1] leds: add LED driver for Big Network series LEDs
    * [  N2] leds: driver for National Semiconductor LP5521 chip
    * [  N3] leds: driver for National Semiconductors LP5523 chip
    * [C   ] leds: update LP552x support Kconfig and Makefile
    * [C N1] MAX8952 PMIC Driver Initial Release
    * [C N ] misc: Add ab8500 pwm driver
    * [C   ] misc devices: do not enable by default
    * [    ] mlx4_core: Allow log_mtts_per_seg up to 7
    * [    ] mlx4_en: Change multicast promiscuous mode to support IBoE
    * [C N1] power_supply: Add driver for TI BQ20Z75 gas gauge IC
    * [C N1] power_supply: Add driver for TWL4030/TPS65950 BCI charger
    * [C N1] power_supply: Add isp1704 charger detection driver
    * [    ] power_supply: Add types for USB chargers
    * [C   ] power_supply: Mark twl4030_charger as broken
    * [C N1] rapidio: add support for IDT CPS Gen2 switches
    * [   1] RDMA/cm: Add RDMA CM support for IBoE devices
    * [    ] RDMA/cxgb4: Fastreg NSMR fixes
    * [    ] RDMA/cxgb4: Set the default TCP send window to 128KB
    * [   1] RDMA/cxgb4: Support on-chip SQs
    * [   1] RDMA/cxgb4: Use a mutex for QP and EP state transitions
    * [    ] regulator: Add option for machine drivers to enable the dummy regulator
    * [C N2] Regulator: LP3972 PMIC regulator driver
    * [C N1] rtc: Add MAX8998 rtc driver
    * [C N2] rtc: Add support for the rtc found in the MC13892 PMIC
    * [C N1] rtc: rtc-lpc32xx: introduce RTC driver for the LPC32XX SoC
    * [    ] SGI Altix IA64 mmtimer: eliminate long interval timer holdoffs
    * [    ] ste_dma40: implement support for scatterlist to scatterlist copy
    * [ D  ] topology/sysfs: Provide book id and siblings attributes
    * [    ] tpm: change 'tpm_suspend_pcr' to be module parameter
    * [    ] uio: Support 2^MINOR_BITS minors
    * [    ] uwb: Orphan the UWB and WUSB subsystems
    * [C  9] uwb: Remove the WLP subsystem and drivers
    * [    ] vcs: add poll/fasync support

mehr ... (http://www.heise.de/open/artikel/Kernel-Log-Was-2-6-37-bringt-5-Treiber-1158141.html?artikelseite=3)

Quelle : www.heise.de
Titel: Linux-Kernel 2.6.37 freigegeben
Beitrag von: SiLæncer am 05 Januar, 2011, 07:42
In der Nacht von Dienstag auf Mittwoch hat Linus Torvalds die Linux-Version 2.6.37 veröffentlicht . Der neue Kernel enthält ersten Code für den Betrieb als Xen-Host; allerdings fehlt noch der Treiber für die Xen-Backends, über die Gastsysteme auf Datenträger und Netzwerk zugreifen. Das Dateisystem Ext4 arbeitet enger mit dem Block Layer zusammen, was seine Performance auf großen Machinen erhöhen soll. Für SSDs steht jetzt ein alternativer Batch-Discard-Mechanismus zur Verfügung, über den Dateisysteme die SSD über alle frei gewordenen Bereiche informieren können.

Zahlreiche neue und überarbeite Treiber unter anderem für das USB Attached SCSI Protocol (UASP), diverse WLAN-Chips und Apples Magic Mouse verbessern die Hardware-Unterstützung des neuen Kernels. Linux 2.6.37 ist zudem der erste moderne Linux-Kernel, der komplett ohne das Big Kernel Lock (BKL) arbeiten kann, das früher die Leistung auf Multicore-Prozessoren und SMP-Maschinen einschränkt.

Details zu diesen und vielen anderen Neuerungen liefert ein Artikel auf heise open. Hier findet sich auch ein Ausblick auf die Änderungen, die für den Ende März oder Anfang April erwartete Linux-Kernel 2.6.38 einziehen:

    * Die Neuerungen von Linux 2.6.37 (http://www.heise.de/open/artikel/Die-Neuerungen-von-Linux-2-6-37-1162390.html)

Quelle : www.heise.de
Titel: Linux-Kernel: "Wunder-Patch" für flottere Desktops
Beitrag von: SiLæncer am 07 Januar, 2011, 16:11
Kurz nach der Freigabe des Linux 2.6.37 haben die Entwickler mit der Arbeit an 2.6.38 begonnen. Bereits akzeptiert wurde ein viel diskutierter Patch (http://www.heise.de/open/artikel/Kernel-Log-Flinker-mit-Prozessgruppen-1140656.html), der in manchen Situationen die Reaktionsgeschwindigkeit des Desktops deutlich erhöhen kann. Unter den Kandidaten zur Aufnahme sind neue Treiber für aktuelle Grafikchips von AMD sowie für die integrierte Grafik in Intels aktuellen Sandy-Bridge-CPUs. Details dazu finden Sie im aktuellen Kernel-Log auf heise open.

Siehe dazu auch:

    * Kernel-Log: Wunderpatch integriert, verbesserte Grafiktreiber am Start (http://www.heise.de/open/artikel/Kernel-Log-Wunderpatch-integriert-verbesserte-Grafiktreiber-am-Start-1165324.html)

Quelle : www.heise.de
Titel: Updates für Longterm-Kernel
Beitrag von: SiLæncer am 10 Januar, 2011, 12:13
Für die Linux-Kernel 2.6.32, 2.6.34 und 2.6.36 haben die Entwickler aktuelle Versionen veröffentlicht, die vor allem Fehler beheben. Version 2.6.34.8 ist das erste Update, das unter der Ägide des Entwicklers Paul Gortmaker erfolgte.

(http://www.golem.de/1101/80613-6586-79947-5978-79866-5888-79590-5626-77227-3459-tux.png)
Grotmaker hat Version 2.6.34.8 unter der neuen Bezeichnung "Longterm" veröffentlicht. In der aktuellen Version wurden zahlreiche Fehler am Ext4-Dateisystem sowie am USB-Subsystem behoben. Zudem wurden die Identifikationsnummern zahlreicher USB-Geräte hinzugefügt. In der virtuellen Infrastruktur KVM wurden ebenfalls zahlreiche Fehler behoben.

Greg Kroah-Hartman hat für Version 2.6.32.28 nur 49 Patches akzeptiert. Sie beziehen sich unter anderem auf den ACPI-Stack sowie das Netzwerkdateisystem NFS. Die meisten Reparaturen wurden an den diversen Treibern der Kernel-Reihe vorgenommen, darunter am Raid-Treiber und am Orinoco-Treiber für entsprechende drahtlose Geräte.

Kernel 2.6.36.3 hingegen bekam 149 Patches verpasst. Viele davon betrafen die Sparc-Variante des Kernels ebenso wie den ACPI-Stack der x86-Variante. Zu den diversen Treibern, die repariert wurden, zählen vor allem der i915-Treiber von Intel sowie der Nouveau-Treiber für Nvidia-Chipsätze und Patches für die Unterstützung von AMDs Evergreen-Chipsätzen.

Für die beiden Versionen 2.6.32 und 2.6.36 zeichnet weiterhin Entwickler Greg Kroah-Hartman verantwortlich. Für die Pflege der Version 2.6.34 hatte sich der Windriver-Entwickler Paul Grotmaker verpflichtet, da die Version in Produkten seiner Firma zum Einsatz kommt. Die Kernel-Versionen werden künftig unter der Bezeichnung "Longterm" veröffentlicht, da Kroah-Hartman die Anzahl der länger gepflegten Kernel verringern will.

Die Änderungen an den aktuellen Kernel-Versionen wurden in Changelog-Dateien zusammengefasst, die unter kernel.org erhältlich sind. Dort steht auch der Quellcode der aktuellen Kernel-Versionen zum Download bereit.

Quelle : www.golem.de
Titel: Hauptentwicklungsphase des Linux-Kernel 2.6.38 abgeschlossen
Beitrag von: SiLæncer am 19 Januar, 2011, 10:09
Genau 14 Tage nach der Freigabe der Linux-Version 2.6.37 hat Linus Torvalds die erste Vorabversion des Ende März oder Anfang April erwarteten Kernels 2.6.38 freigegeben. Mit ihr endet wie üblich das am Anfang des Entwicklungszyklus gelegene Merge Window – die ungefähr zwei Wochen lange Phase direkt nach der Freigabe einer neuen Kernel-Version, in der Torvalds das Gros der Änderungen für den Nachfolger in das Quellcodeverwaltungssystem des Hauptentwicklungszweigs integriert.

Unter den knapp 7600 vorgenommenen Commits finden sich wie üblich wieder zahlreiche, von denen über kurz oder lang auch Anwender profitieren, die sich mit dem Kern ihrer Linux-Distribution normalerweise nicht weiter auseinandersetzen. Dazu zählen etwa die bereits erwähnten, auch die als "Wunderpatch" bekannt gewordenen Änderungen, die in bestimmten Situationen für eine andere Verteilung der Prozessorzeit sorgen, was die Reaktionsgeschwindigkeit von Desktop-Anwendungen deutlich steigern kann.

Torvalds hat die Auto-Gruppierung in der Freigabe-Mail sogar explizit hervorgehoben. Das gilt auch für einige schon seit Längerem entwickelten Patches zum Verbessern der Skalierbarkeit des VFS (Virtual File System), die bei 2.6.38 nun einzogen, nachdem sie bei 2.6.36 und 2.6.37 noch außen vor geblieben waren.

Eingezogen sind auch die Patches zur Unterstützung der Grafikkerne der von AMD unter dem Oberbegriff Fusion vermarkteten Bobcat-Prozessoren; die DRM-Radeon-Treiber sprechen zudem nun einige der 2D- und 3D-Beschleunigungsfunktionen der Grafikchips an, die auf den Radeon-HD-Modellen 62xx bis 68xx sitzen. Der Nouveau-DRM-Treiber bietet experimentelle und noch rudimentäre 3D-Unterstützung für die Fermi-Chips vieler aktueller GeForce-Grafikkarten der 400er-Serie, ist dazu aber auf eine proprietäre Firmware angewiesen. Der Treiber für Grafikchips von Intel nutzt die Stromsparfunktionen der Grafikchips besser, die in Core-i-Prozessoren stecken.

Die Live-Medien von Distributionen dürften in Zukunft vielleicht ein paar Programme mehr mitbringen, da das von ihnen vielfach eingesetzte SquashFS ab 2.6.38 nun auch das aus LZMA hervorgegangene Kompressionsformat XZ unterstützt, das für hohe Packdichten bekannt ist. Die neuen und in Red Hat Enterprise Linux (RHEL) 6 bereits genutzten Transparent Hugepages sollten Workloads beschleunigen, die von der Nutzung großer Speicherseiten profitieren – etwa Virtualisierung. Nicht eingezogen sind jedoch die Backends für den Dom0-Betrieb von Xen, sodass wohl erst Kernel 2.6.39 in der Lage sein wird, von Haus aus als Xen-Host zu arbeiten.

Quelle : www.heise.de
Titel: Kernel-Log – Was 2.6.38 bringt (1): Grafik
Beitrag von: SiLæncer am 25 Januar, 2011, 09:51
Der 38er-Kernel spricht AMDs neue Fusion-CPUs an und ermöglicht 2D- und 3D-Beschleunigung bei vielen aktuellen GeForce- und Radeon-Grafikkarten. Die Grafikkerne in Intels Prozessoren und Chipsätze sollen mit der nächsten Version sparsamer arbeiten und neue Page-Flip-Funktionen gehen Bild-Flackern, Tearing oder unvollständigem Rendering an den Kragen.

Keine fünf Tage nach dem Ende des Merge Window von 2.6.38 hat Linus Torvalds schon die zweite Vorabversion von Linux 2.6.38 veröffentlicht. Grund für diesen schnellen Nachschlag am vergangenen Samstag waren aber keine größeren Fehler in 2.6.38-rc1, sondern weltliche Dinge: Torvalds ist am Sonntag zur diesjährigen Linux.conf.au (LCA) gereist, die trotz der Überflutungen diese Woche im australischen Brisbane stattfindet. Vorher wollte er testen, ob er auf dem für die Reise vorgesehen Computer alle zur Kernel-Entwicklung und -Freigabe nötigen Dinge installiert hat.

In der Freigabe-Mail deutetet Torvalds an, von nun an strikter zu sein und nichts mehr aufzunehmen, was nicht eindeutig der Stabilisierung dient; alle größeren Änderungen müssen bis zum 39er-Kernel warten. Der jetzige Entwicklungsstand von 2.6.38 dürfte sich daher nicht sonderlich von der finalen Version unterscheiden, die Ende März oder Anfang April erscheinen dürfte.

Das Kernel-Log kann daher schon jetzt einen umfassenden Überblick über die wichtigsten Neuerungen des 38er-Kernels geben. Wie üblich werden wir die Informationen über mehrere Artikel verteilen, die sich nach und nach den verschiedenen Funktionsbereichen des Kernels annehmen. Den Anfang der Serie "Was 2.6.38 bringt" machen die wichtigsten Änderungen rund um die Unterstützung für Grafikhardware; in den kommenden Wochen folgen Artikel zur Netzwerkunterstützung, zu Storage-Hardware, Dateisystemen, Treibern, Architektur-Code und der Infrastruktur des Kernels.

AMD

Die Radeon-DRM/KMS-Treiber des Kernels unterstützen nun auch den Grafikkern der von AMD unter dem Oberbegriff Fusion vermarkteten und Anfang Januar eingeführten Bobcat-Prozessoren (u. a. 1, 2, 3, 4, 5, 6). Im Schnellverfahren stieß auch die Unterstützung für die Radeon-HD-Modelle 62xx bis 68xx zum Kernel (u. a. 1, 2, 3, 4), denn die war erst zwei Tage nach Beginn des Merge Window von 2.6.38 veröffentlicht worden. Die Chips auf diesen seit Oktober verkauften Grafikkarten gehören zur "Northern Islands" (NI) genannten Familie, zu der auch die GPUs (Graphics Processing Units) der im Dezember vorgestellten Radeon-HD-Modelle 6950 und 6970 zählen – Letztere werden aber noch nicht unterstützt, da sich ihre Cayman-Chips in einigen Belangen deutlich von den anderen GPUs der 6000er-Serie unterscheiden.

Die 2D- und 3D-Beschleunigung dieser AMD-GPUs lässt sich zusammen mit neuen Versionen von Libdrm, Mesa 3D und den Radeon-Treiber für X.org nutzen. Für die Bobcat-Prozessoren bringt Mesa 7.10 bereits alles wichtige mit, während man für die 6000er-Radeons noch auf den Entwicklerzweig zurückgreifen muss. Auch für passende X.org-Treiber muss man vorerst die Entwicklerquellen bemühen.

Der Radeon-DRM/KMS-Treiber beherrscht jetzt die schnelleren Übertragungsmodi von PCIe 2.0. Man muss die doppelt so schnelle Datenübertragung aber über einen Modul-Parameter "pcie_gen2=1" explizit einschalten, da die Funktion auf manchen Systemen zu Problemen führt.

Intel

Der DRM/KMS-Treiber für Grafikchips von Intel aktiviert bei den Grafikkernen der Anfang Januar vorgestellten Sandy-Bridge-Prozessoren (Core-Serien i3-2000, i5-2000 und i7-2000) nun wenn möglich den Self-Refresh, um die Leistungsaufnahme zu reduzieren. Auch beim Ironlake-Grafikkern der Vorgänger-CPUs (u. a. Core i3 sowie manche i5 und i7) aktiviert der Kernel diese Funktion nun wieder, nachdem sie aufgrund von Problemen vorübergehend lahm gelegt wurde (1, 2) – der Entwickler schreibt im Commit-Kommentar zu einem der Patches, dass die Leistungsaufnahme seines Vaio-Ironlake-Notebooks um 0,5 Watt sank. Keine solchen Messwerte gibt es für die Patches, die eine RC6 genannte Stromsparfunktion zur automatischen Absenkung des Taktes auf aktuellen und älteren Intel-Prozessoren und -Chipsätzen aktiviert (1, 2, 3).

Durch den Dynamic Render P-state Support und die Overclocking-Unterstützung kann der Grafikkern von Sandy-Bridge-CPUs jetzt die Taktfrequenz ändern, was je nach Umgebungsbedingungen die Performance steigert oder den Stromverbrauch reduziert. Der Treiber für Intels Grafikkerne nutzt ab 2.6.38 eine Hardware-Funktion zum Erkennen von Display-Wechseln – dadurch kann eine wiederholte, Strom kostende Abfrage der angeschlossenen Wiedergabegeräte entfallen.

Nvidia

Der Nouveau-DRM-Treiber von 2.6.38 wird alles Nötige zum Nutzen der 2D- und 3D-Beschleunigung der auch als NVC0 bezeichneten Fermi-Chips mitbringen, die auf den GeForce-Modellen der 400er- und 500er-Serie sitzen (u. a. 1, 2, 3, 4). Um diese Funktionen zu nutzen, bedarf es derzeit einer proprietären Firmware sowie Unterstützung in Libdrm, Mesa 3D und dem Nouveau-Treiber für X.org. Die Nachfolger der derzeit aktuellen Libdrm- und Mesa-3d-Versionen 2.4.23 respektive 7.10 dürften diese mitbringen, da Entwicklerversionen dieser Komponenten bereits alles Nötige enthalten (1, 2, 3). Um Leistung und Zuverlässigkeit zu steigern, haben die Entwickler den Nouveau-DRM/KMS-Treiber für die NV50-Chips (GeForce 8, GeForce 9, GeForce 100, GeForce 200, GeForce 300) an einigen Stellen verbessert – unter anderem beim VM-Code und der Speicherverwaltung.

Fedora hat diese Beschleunigungsfunktionen für Fermi-Chips bereits in den Entwicklerzweig Rawhide integriert, aus dem im Mai die Fedora 15 hervorgehen soll. In Zukunft wird die Distribution die Mesa-3D-Unterstützung für den Nouveau-Treiber zudem standardmäßig installieren – bislang fand sich diese in einem optionalen und als experimentell gekennzeichneten Paket. Andere Distributionen dürften diesem Beispiel früher oder später folgen.

Genau abgestimmt

Die DRM-Infrastruktur haben die Kernel-Hacker um Unterstützung für die im Commit-Kommentar detailliert erläuterten und für die Einhaltung der OpenML (Open Media Library) wichtigen "Precision Vblank Timestamps" erweitert. Mit ihnen stellt der Kernel auf wenige Mikrosekunden präzise Zeitstempel zur Verfügung, über die Anwendungen erkennen können, wann die Ausgabe eines neuen Bildes begonnen hat ("Doublebuffer Swap"). Das ist beispielsweise für Anwendungen wichtig, die Tonausgabe oder die Kontrolle anderer Geräte sehr genau mit dem Bildaufbau synchronisieren müssen. Implementiert wurde die Technik für Anwendungen in der experimentellen Psychologie und Neurowissenschaft; sie kann allerdings auch dabei helfen, um Videoplayback, Animationen oder Desktop-Effekte ruckelfrei(er) darzustellen.

Die ebenfalls neue und via DRI2 nutzbare Pageflipping-Unterstützung kann diese Zeitstempel ebenfalls zu Hilfe nehmen. Durch sie ist der Kernel besser und effizienter als zuvor in der Lage, die Freigabe eines aktualisierten Bildes mit dem Moment zu synchronisieren, in dem die Grafik-Hardware mit der Ausgabe eines neuen Bilds beginnt (Vsync). Das beseitigt Bildstörungen wie Flackern, Tearing oder unvollständiges Rendering, da vermieden wird, dass die obere und untere Hälfte eines angezeigten Bildes zu einem alten und einem neuen Bild gehören – etwa verschiedene Frames eines Films. Die für beide Funktionen nötige Unterstützung in den Grafiktreibern bieten ab dem 38er-Kernel die Treiber für AMD (1, 2) und Intel (1, 2); der Treiber für Nvidia bieten bislang nur Page-Flip-Unterstützung (1, 2).

Einige kleinere Verbesserungen gab es an vga_switcheroo, mit dem sich bei bestimmten Notebooks zwischen leistungsfähigeren Grafikchip und Chipsatz- beziehungsweise Prozessor-Grafik umschalten lässt. Der Treiber udlfb zum Anbinden von USB-2.0-Monitoren via DisplayLink ist im Staging-Bereich nun so weit gereift, dass er diesen verlassen konnte und bei den anderen Framebuffer-Treibern zu Hause ist; Einsatzhinweise zum Treibers liefert die Kernel-Dokumentation.

Die kleinen Perlen

Viele kleinere, aber keineswegs unbedeutende Neuerungen finden sich in der folgenden Liste mit den englischen Commit-Überschriften der jeweiligen Änderung. Die Einträge verlinken genau wie viele der Verweise im vorangegangenen Text auf das Webfrontend des von Linus Torvalds gepflegten Git-Zweigs mit den "offiziellen" Kernel-Quellen auf Kernel.org. Der über diese Links angezeigten Commit-Kommentar und der darunter ausgegebene Patch liefern zahlreiche weitere Informationen zur jeweiligen Änderungen.

Vor jedem Link finden sich in eckigen Klammern einige Buchstaben und Zahlen. Ein "C" kennzeichnet Patches mit Änderungen an Kconfig-Dateien, welche die Konfigurationsoptionen samt der zugehörigen Hilfetexte enthalten, die bei der Kernel-Konfiguration über "make menuconfig", "make xconfig" und ähnliche Werkzeuge angezeigt werden. Ein "D" steht bei Patches, die die Dokumentation verändern, die im Kernel-Zweig unterhalb von Documentation/ liegt. Ein "N" weist Änderungen aus, die eine neue Datei anlegen. Die Zahl vermittelt einen groben Eindruck zur Größe des Patches: eine "1" steht für Änderungen, die inklusive Kommentar zwischen 10 und 20 KByte groß sind, eine "2" für solche, die zwischen 20 und 30 KByte Umfang haben; Änderungen ohne Zahl sind kleiner als 10 KByte, Patches mit einer "9" hingegen 90 KByte oder größer.

    * [    ] drm/i915: Add a module option to override the use of SSC
    * [    ] drm/i915: Add frame buffer compression on Sandybridge
    * [    ] drm/i915: add 'reset' parameter
    * [    ] drm/i915: Add support for GPU reset on gen6.
    * [    ] drm/i915: Allow the application to choose the constant addressing mode
    * [    ] drm/i915: Disable renderctx powersaving support for Ironlake
    * [    ] drm/i915: Extend hangcheck timeout
    * [   7] drm/i915: Implement GPU semaphores for inter-ring synchronisation on SNB
    * [    ] drm/i915/lvds: Add AOpen i915GMm-HFS to the list of false-positive LVDS
    * [   3] drm/i915: Only enforce fence limits inside the GTT.
    * [    ] drm/nouveau: add support for MSI
    * [    ] drm/nv20: Add Z compression support.
    * [  N ] drm/radeon: add initial tracepoint support.
    * [    ] drm/radeon/kms: add ARGB2101010 colorbuffer support for r500
    * [    ] drm/radeon/kms: add pcie get/set lane support for r6xx/r7xx/evergreen
    * [    ] drm/radeon/kms: add quirk for Mac Radeon HD 2600 card
    * [    ] drm/radeon/kms: add support for DCE5 display LUTs
    * [    ] drm/radeon/kms: Add support for external encoders on fusion APUs
    * [    ] drm/radeon/kms: disable underscan by default
    * [    ] drm/radeon/kms: don't enable pcie gen2 on NI yet
    * [   1] drm/radeon/kms: evergreen.c updates for fusion
    * [    ] drm/radeon/kms: implement gpu lockup check for evergreen
    * [    ] drm/radeon/kms: setup mc chremap properly on r7xx/evergreen
    * [    ] drm/radeon: Use the ttm execbuf utilities
    * [    ] drm/switcheroo: track state of switch in drivers.
    * [   1] drm/ttm: Add a bo list reserve fastpath (v2)
    * [   1] drm/ttm/radeon/nouveau: Kill the bo lock in favour of a bo device fence_lock
    * [C N2] fbdev: bf537-lq035: new Blackfin Sharp LQ035 framebuffer driver
    * [C N3] fbdev: bfin_adv7393fb: new Blackfin ADV7393 driver
    * [    ] fbdev: sh_mobile_hdmi: add support for 1080p modes
    * [    ] intel-gtt: maximize ggtt size on platforms that support this
    * [    ] kref: Add a kref_sub function
    * [    ] s3c-fb: add support for runtime pm
    * [    ] vga_switcheroo: add debugging mux switch option.
    * [    ] vga_switcheroo: add reprobe hook for fbcon to recheck connected outputs.
    * [    ] vga_switcheroo: split switching into two stages.
    * [    ] viafb: Add OLPC XO-1.5 port configs
    * [C N2] video: add driver for PXA3xx 2D graphics accelerator
    * [C   ] video: matroxfb: Correct video option in comments and kernel config help.

Quelle und Links : http://www.heise.de/open/artikel/Kernel-Log-Was-2-6-38-bringt-1-Grafik-1175970.html
Titel: Kernel-Log: Eindeutige Namen für Netzwerkschnittstellen
Beitrag von: SiLæncer am 31 Januar, 2011, 16:07
Zukünftig soll ein Programm für eine vorhersagbare Benennung von Netzwerkports sorgen – "em1" und "pci2#1" statt "eth0" und "eth1". Im Rahmen der Vorstellung einiger neuer Kernel-Versionen geben wir einen Überblick über die wichtigsten Stable- und Longterm-Serien.

Bereits seit Jahren wirbt Matt Domsch für Lösungen, die für verlässliche und vorhersagbare Namen von Netzwerkschnittellen sorgen sollen – bei Systemen mit mehreren Netzwerkbuchsen entscheiden derzeit die Ladereihenfolge der Treiber und die Antwortzeiten der Hardware mit darüber, ob ein bestimmter Port als eth0 oder eth1 im System auftaucht. Diesem Ziel scheint Dells Technology Strategist nun einen großen Schritt näher gekommen zu sein: Wie der auch bei DKMS und im Fedora-Projekt involvierte Entwickler in seinem Blog detailliert beschreibt, wird das im Mai erwartete Fedora 15 ein von ihm mit voran getriebenes Bezeichnungsschema nutzen, bei dem Udev zur bei der Benennung von Netzwerkgeräten auf das maßgeblich von Dell-Mitarbeitern entwickelte Programm "Biosdevname" zurückgreift. Laut Domsch wollen auch andere Distributionen diese Lösung übernehmen.

Dem ersten Netzwerk-Port auf dem Mainboard soll Udev dadurch den Namen "em1" zuteilen, wobei das "em" für "embedded" steht; Netzwerkkarten folgen dem Muster "pci<slot>#<port>" (etwa pci2#1), wodurch die Ports einer Netzwerkkarte immer unter dem selben Namen ansprechbar sein sollten, solange diese oder eine als Ersatz eingebaute Karte im selben Steckplatz steckt. Die Unterfunktionen von partitionierbaren Netzwerkkarten (NPAR) und solchen mit für Virtualisierung interessanter SR-IOV-Unterstützung erhalten zusätzlich einen Unterstrich und einen Nummer angehängt. Vlan-Funktionen sind wie bisher durch einen Punkt abgetrennt, Aliase durch einen Doppelpunkt.

Bei Vergabe der Bezeichnungen greift Biosdevname auf die in der PCI Firmware Specification 3.1 spezifizierten Informationsfelder zurück; fehlen die, versucht es die Angaben per Smbios zu erhalten. Dadurch sollen die Nummern hinter dem "em" mit jenen übereinstimmt, die auf dem Gehäuse oder dem Mainboard aufgedruckt ist – das soll Netzwerk-Admins die Kabelverteilung gerade bei Servern mit vielen Netzwerkbuchsen erleichtern. Findet Biosdevname über die erwähnten Wege keine Informationen, nutzt das Programm die PCI IRQ Routing Table und vergibt Nummern nach der Position in der Geräte-Hierarchie. USB-Netzwerkschnittstellen handhabt Biosdevname nicht, daher bekommen sie weiterhin Bezeichnungen wie "eth0"

Kernel-Versionsstatus

Seit der Freigabe der zweiten Vorabversion von 2.6.38 gab es in der vergangenen Woche wie erwartet nur kleinere und vergleichbar wenig Änderungen im Hauptentwicklungszweig von Linux; 2.6.38-rc3 dürfte in Kürze erscheinen.

Kurz nach Veröffentlichung des letzten regulären Kernel-Log erschienen zudem die dort bereits angekündigten Kernel-Versionen 2.6.32.28 und 2.6.36.3. Sie sind zwei von sechs derzeit aktiv gewarteten Kernel-Serien, die für Endanwender gedachte Kernel auf Basis von Versionen pflegen, die aus dem von Torvalds betreuten Hauptentwicklungszweig hervorgegangen sind.

Eine dieser Serien ist der von Greg Kroah-Hartman betreute Stable-Kernel, der sich bei der Pflege neuerdings stärker auf die jeweils aktuellste Version konzentrierten möchte, die aus dem Hauptentwicklungszweigs hervorging – das ist derzeit der Anfang des Jahres freigegebene Kernel 2.6.37, daher dürfte Kroah-Hartman demnächst einen Kernel 2.6.37.1 freigeben. Die Pflege für die vorangegangen Version will er nach einer kurzen Übergangsphase einstellen; der Stable-Kernel 2.6.36.3 dürfte daher einer der letzten der 36er-Stable-Serie sein.

Longterm-Kernel

Der Anfang Januar erschienene neue Kernel 2.6.32.28 hätte vor einigen Wochen auch noch die Bezeichnung "Stable-Kernel" erhalten; allerdings kennzeichnen diese und alle weiteren in diesem Absatz genannten Kernel-Serien seit Dezember das Wort "Longterm", um anzuzeigen, dass sie über einen längeren Zeitraum gepflegt werden. Die 32er-Serie ist eine von fünf solchen Serien und wird ebenfalls von Kroah-Hartman betreut. Er hat sich auch mehrere Jahre um die Pflege der 2.6.27er-Serie gekümmert, diesen Job aber kürzlich an Willy Tarreau übergeben, der bei der Pflege etwas langsamer vorgehen will. Tarreau pflegt bereits seit einigen Jahren die 2.4er-Serie, will mit diesem Longterm-Kernel aber auf absehbare Zeit aufhören. Recht neu im Geschäft mit der Langzeit-Pflege sind Andi Kleen und Paul Gortmaker, die seit Dezember Longterm-Kernel auf Basis von 2.6.34 respektive 2.6.35 betreuten, weil sie das im Rahmen ihrer Arbeit ohnehin machen – Hintergründe zur Motivation und den Plänen der beiden finden sich den Ankündigungs-Mails zu ihren Longterm-Serien (1, 2).

Neben diesen quasi-offiziellen Stable- und Longterm-Kerneln listet die Startseite von Kernel.org derzeit noch einige Stable-Kernel, obwohl diese gar nicht mehr betreut werden; einige von ihnen weisen daher möglicherweise bekannte Sicherheitslücken auf. Außerdem pflegen einige Kernel-Hacker noch weitere Kernel-Zweige – Stefan Bader von Canonical hat etwa kürzlich den Kernel "2.6.32.28+drm33.13" freigegeben, die dreizehnte Ausgabe eines auf 2.6.32.28 basierenden Kernels mit frischeren DRM-Treibern aus den Kerneln der 33er-Reihe. Baders Kernel-Zweig ist ein Nebenprodukt, das bei der Pflege des auf Linux 2.6.32 basierenden Kernels von Ubuntu 10.04 abfällt, der ebenfalls die DRM-Treiber aus 2.6.33 nutzt.

Kernel-Log-Staccato

X-Server und Co.

    * AMD hat einen zu den im professionellen Markt angesiedelten FireGL-Karten passende Beta-Version eines Linux-Grafiktreiber freigegeben, die OpenGL 4.1 unterstützt.
    * Nvidia gab kürzlich die Version 260.19.36 (x86-32, x86-64) seiner Linux-Grafiktreiber frei. Sie bringen einige kleinere Verbesserungen und beseitigen einen Fehler, der den X-Server 1.9 zum Absturz bringen kann. Nvidia hat zudem die Beta-Version 270.18 (x86-32, x86-64) veröffentlicht, die einige größere Änderungen mitbringt – unter anderem Unterstützung für den noch in Entwicklung befindlichen X-Server 1.10.
    * Nur einige Stunden, nachdem das letzte reguläre Kernel-Log die vertrackte Situation bei Grafiktreibern für Intels Sandy-Bridge-Prozessoren beschrieben hat, erschien die Final-Version eines passenden X.org-Treibers; er ist Bestandteil des kurz darauf veröffentlichten "Intel 2010Q4 graphics package", das auf alle anderen Bausteine für diese Grafikkerne verweist.
    * Zu Intels Treiberpaket gehört auch das als "Developer Release" bezeichnete Mesa 7.10, das auch Verbesserungen an den 3D-Treibern für GPUs anderer Hersteller enthält. Parallel erschien zudem die Version 7.9.1, welche einige Fehler der Version 7.9 korrigiert.
    * Openchrome-Entwickler Xavier Bachelot hat bekannt gegeben, dass VIA Dokumentation zu den 2D- und 3D-Funktionen des Grafikkerns Chrome9-HD veröffentlicht hat, der im Chipsatz VX900 steckt.
    * Intel-Entwickler Jesse Barnes liefert in einem Blog-Eintrag einige Tipps zum Debugging von Problemen bei der Bildschirmansteuerung. Einige Tage später erläuterte Barnes in "Intel display controllers" grob einige Arbeitsweisen von Intels Prozessoren und Chipsätzen mit Grafikkern.
    * Der ebenfalls bei Intel an Grafiktreibern arbeitende Chris Wilson hat kürzlich einen Patch für den GLX-Code von Mesa zur Diskussion gestellt, durch den das Ergebnis einer GLX-Operation für spätere Wiederverwertung gespeichert wird; beim Spiel "World of Padman" stieg dadurch die Framerate von 28 auf 45 Bilder pro Sekunde, wenn es per indirektem Redering (beispielsweise via X-Forwarding im Netzwerk) läuft.
    * Eine der Vortragsreihen aus den Mitte März stattfindenden Chemnitzer Linux-Tagen wird sich mit dem Kernel und Kernel-nahen Themen beschäftigen. In einem dieser Vorträge wird der Kernel-Log-Autor einen Überblick über die Verbesserungen geben, welche die jüngsten und die in Kürze anstehenden Kernel-Versionen enthalten.

Kernel-Umland ("Plumbing layer"), Userland-Treiber, Entwicklertools, ...

    * Die kürzlich freigegebene Version 4.20 des von vielen Linux-Distributionen mitgelieferten Speichertestprogramms Memtest86+ unterstützt nun auch Intels Sandy-Bridge-Prozessoren und AMDs Fusion-CPUs ("E-Series").
    * Der IBM-Developerworks-Artikel "Run ZFS on Linux" liefert einen groben Einblick in die Technik des Solaris-Dateisystems ZFS und zeigt, wie man das Dateisystem mit ZFS-Fuse unter Linux nutzt.
    * Junio C Hamano hat Git 1.7.4 veröffentlicht und deren wesentlichste Neuerungen in der Freigabe-Mail zusammengefasst.
    * Die Entwickler des Projekts Hplip (Hewlett-Packard's Linux Imaging and Printing Software) haben die Version 3.11.1 der gleichnamigen Treiber für Drucker und Multifunktionsgeräte von HP veröffentlicht. Die Release Notes geben einen detaillierten Überblick über die wichtigsten Neuerungen – etwa die neue Unterstützung für zahlreiche noch junge Laserjet-Drucker oder die verbesserten Funktionen zur Ausrichtung von Druckköpfen. Zudem beherrscht Hplip nun weitere bei Multifunktionsgeräten eingesetzte Fax- und Scan-Protokolle.
    * Dan Williams erläutert in einem Blog-Eintrag einige Hintergründe zu Linux-Treibern für Wimax sowie zum Stand der Wimax-Unterstützung im vom ihm entwickelten NetworkManager.
    * Stephen Hemminger hat die für den Kernel 2.6.37 und dessen Nachfolger gedachte Version 2.6.37 der das Programm "ip" enthaltenen Netzwerkwerkzeug-Sammlung iproute2 veröffentlicht. Zu den Neuerungen zählt die Unterstützung für Flow Matching mit Hilfe von Rxhash.

Quelle und Links : http://www.heise.de/open/artikel/Kernel-Log-Eindeutige-Namen-fuer-Netzwerkschnittstellen-1179882.html
Titel: Kernel-Log: Radeon-Treiber, Mdadm und Alsa aktualisiert
Beitrag von: SiLæncer am 09 Februar, 2011, 06:30
Eine neue Version der AMD-Treiber von X.org verbessert die Unterstützung für moderne Radeon-Grafikchips. Ein aktualisiertes, vorerst aber nur für Entwickler gedachtes Mdadm sorgt für Zusammenarbeit mit den RAID-Funktionen moderner Mainboard-Chipsätze von Intel; auch das Alsa-Projekt hat nach neun Monaten mal wieder eine neue Version herausgegeben.

Der bei AMD beschäftigte Kernel- und X.org-Entwickler Alex Deucher hat die Version 6.14.0 des Treiberpakets xf86-video-ati veröffentlicht. Es enthält den X.org-Treiber für Radeon-Grafikhardware, der aktuelle Radeon-Grafikchips mit der neuen Version erheblich besser unterstützt. So steuert er jetzt nicht nur den Grafikkern (GPU/Graphics Processing Unit) der unter dem Codenamen "Ontario" entwickelten Fusion-Prozessoren an, sondern auch die Northern-Islands-GPUs, die auf den Radeon-HD-Modellen 62xx bis 68xx sitzen. Mit beiden gelingt 2D-Beschleunigung über EXA sowie Video-Beschleunigung mit dem antiquierten Xv (Xvideo); für beide Funktionen ist der Treiber allerdings auf den noch in Entwicklung befindlichen und Ende März oder Anfang April erwartenden Linux-Kernel 2.6.38 angewiesen. Dessen DRM-Treiber mit Funktionen für KMS (Kernel-based Mode-Setting) ist bei den Northern-Islands-GPUs ohnehin Grundvoraussetzung, da der Treiber bei diesen Chips kein UMS (User Mode-Setting) beherrscht.

Im Kombination mit KMS von Kernel 2.6.36 oder neuer gelingt mit dem Treiber auch EXA und Xv bei den Evergreen-GPUs, die auf den Radeon-HD-Modellen der 5000er-Serie sitzen. Ferner haben die Entwickler die Man-Page bei der neuen Version erheblich aktualisiert. Zusammen mit Kernel 2.6.38 bietet der Treiber Pageflipping-Support, um die Aktualisierung eines Bildes besser mit dem Moment abzustimmen, in dem der Monitor mit dem Zeichnen eines neuen Bildes beginnt – weitere Hintergründe zu dieser bei Linux 2.6.38 neuen Technik finden sich im ersten Teil der Artikel-Serie "Was 2.6.38 bringt".

In Kombination mit Mesa 7.10 sollte bei den Evergreen- und Ontario-GPUs auch 3D-Beschleunigung funktionieren. Code zum Ansprechen der 3D-Einheiten der GPUs auf den Radeon-HD-Modellen 62xx bis 68xx findet sich bereits im Entwicklerzweig von Mesa 3D und dürfte wohl Bestandteil von Mesa 7.11 werden; einige der in den kommenden Wochen und Monaten erscheinenden Distributionen werden diese Änderungen aber vermutlich zurückportieren.

RAID-Verwaltungswerkzeug

Neil Brown hat die Version 3.2 des Software-RAID-Konfigurationswerkzeugs Mdadm veröffentlicht, dabei aber deutlich darauf hingewiesen, dass diese Version nur für Entwickler gedacht ist – man solle sie nicht einsetzen, ohne die Freigabe-Mail zu studieren, die auch die wichtigsten Neuerungen aufzählt. So wurde der Code zum Umbilden ("reshaping") von Arrays erheblich umstrukturiert, damit der nun mit "Externally Managed Metadata" klarkommt; dadurch unterstützt Mdadm nun den Wechsel des RAID-Levels ohne Datenverlust oder das Vergrößern von Arrays bei Intels IMSM-Format, das viele der modernen RAID-Adapter in Intels Chipsätzen für Desktop-Mainboards nutzen.

Durch das "Policy Framework" kann man in der mdadm.conf nun Vorgaben machen, die das Verhalten von mdadm beeinflussen. Das soll speziell für das Hinzufügen von Geräten mit der Option "-I/--incremental" interessant sein, damit ein aus dem Array herausgefallenes Gerät wieder automatisch in dieses aufgenommen wird. Zu diesem Zweck versteht Mdadm nun auch begrenzt Partitionstabellen. Brown hofft, das die für Anfang März geplante Version 3.2.1 allgemein verwendbar sein wird.

Alsa-Komponenten aktualisiert

Ende Januar haben die Entwickler des Alsa-Projekts die Version 1.0.24 der verschiedenen Alsa-Komponenten freigegeben. Durch die lange Entwicklungszeit von über neun Monaten ist die Liste der Änderungen recht lang geworden.

Zu den Alsa-Utilities stieß etwa das Programm alsaloop, das mehr Möglichkeiten bietet und zuverlässiger arbeiten soll als das direkte Verwendung eines Loopback-Audio-Devices mit den Treiber snd-aloop. Letzterer liegt dem Linux-Kernel seit Version 2.6.37 bei ist mit der neuen Alsa-Version nun auch Bestandteil des Pakets "alsa-driver", das ältere Linux-Kernel mit aktuellen Versionen der zum Kernel gehörenden Audio-Treiber versorgt. Viele der Neuerungen im Treiber-Paket finden sich bereits seit längeren im Kernel – darunter etwa die ausgebaute Unterstützung für Xonar-Karten, die Asoc-Treiber oder die verbesserten HDA- und USB-Treiber.

Kernel-Log-Staccato

Kernel

    * Linus Torvalds hat die vierte Vorabversion von Linux 2.6.38 freigegeben.
    * Andi Kleen gab kürzlich den Longterm-Kernel 2.6.35.11 frei.
    * Nitin Gupta und Dan Magenheimer legen ihre Frameworks zcache und kztmem zum Komprimieren des Page Cache zusammen; die Basis für den neuen Code stellt kztmem, als Name dient jedoch zcache.
    * Ksplice Uptrack versorgt nun auch die Kernel des kürzlich vorgestellten Debian 6 "Squeeze" mit zur Laufzeit anwendbaren Sicherheitskorrekturen. Die Zahl der unterstützten Distributionen steigt so auf 17 – kostenlos ist der Service aber nur für einige Fedora- und Ubuntu-Versionen.
    * Die kürzlich erheblich überarbeitete Wiki-Tabelle der vom B43-Treiber unterstützten WLAN-Chips sollte es Anwendern erleichtern herauszufinden, welche Broadcom-WLAN-Bausteine durch einen der im Kernel enthalten Treiber unterstützt wird.
    * In einem bei der Webseite "OMG! Ubuntu!" publizierten Interview ging Linus Torvalds unter anderem darauf ein, dass der Kernel immer größer und fetter wird – zumeist gebe es aber eine guten Grund für den Code, der den Kernel aufbläht.

X-Server und Co.

    * Jeremy Huddleston hat die Version 1.9.4 des X-Servers von X.org freigegeben, die im wesentlichen Fehlerkorrekturen bringt.

Kernel-Umland ("Plumbing layer"), Userland-Treiber, Entwicklertools, ...

    * Harald Hoyer hat die Version 008 von dracut veröffentlicht – einem Distributions-übergreifend ausgelegten Werkzeug zum Erstellen einer Initial Ramdisk (Initrd), das unter anderem von Fedora genutzt wird. Die neue Version legt nun auch mit Bzip2 oder Xz komprimiert Images an und bringt Unterstützung für das Programm biosdevname mit, das für eindeutige und vorhersehbare Bezeichnungen von Netzwerkschnittstellen sorgen soll.
    * Johannes Berg hat die Version 0.9.22 des auf WLAN-Konfigurationstools iw freigegeben.
    * Junio C Hamano hat Git 1.7.4 freigegeben und die wichtigsten Änderungen in der zugehörigen Freigabe-Mail zusammengefasst.
    * Daniel Poelzleithner hat die Version 0.4 des Anfang dieses Jahres gestarteten ulatencyd veröffentlicht – einem Hintergrunddienst, der durch dynamische Anpassung des Prozess-Schedulings versucht, die Reaktionsgeschwindigkeit von Desktop-Umgebung und -Anwendungen zu steigern.

Quelle und Links : http://www.heise.de/open/artikel/Kernel-Log-Radeon-Treiber-Mdadm-und-Alsa-aktualisiert-1185019.html
Titel: Ralink vervollständigt Linux-WLAN-Treiber
Beitrag von: SiLæncer am 10 Februar, 2011, 18:04
Der taiwanesische Hersteller Ralink hat damit begonnen, Verbesserungen zum Linux-Treiber für seine eigenen WLAN-Chips direkt beizutragen.

Die gesteigerte Aktivität ist nach Angaben von Kernel-Entwickler Greg Kroah-Hartman direkt auf seinen jüngsten Besuch in Taiwan zurückzuführen. Dort hatte er im Rahmen des Linux-Treiber-Projektes Gespräche mit Entwicklern bei Ralink. In diesen konnte er die Entwickler aufklären, wie eine gute Zusammenarbeit mit der Kernel-Gemeinschaft aussehen sollte. Offenbar fielen seine Erklärungen auf fruchtbaren Boden.

Schon früher hatte Ralink Linux-Treiber für seine Chips veröffentlicht. Diese kamen aber als quasi fertiger Code, und Ralink überließ es der Kernel-Gemeinschaft, den Code in den Kernel zu integrieren und zu warten. Das soll nun anders werden, eine kontinuierliche Mitarbeit der Ralink-Entwickler scheint begonnen zu haben. Als eine der ersten Maßnahmen publizierte Ralink eine Serie von vier Patches, die den rt2x00-Treiber verbessern und um die Unterstützung mehrerer neuer Chips erweitern. Damit werden nun offenbar alle Ralink-Chips im Linux-Kernel vollständig unterstützt.

Für Kroah-Hartman ist dies eine erfreuliche Entwicklung, für die den Entwicklern Lob und Dank gebührt. Ebenso gebühre seinem Arbeitgeber Novell Dank, unter anderem dafür, dass er sich in seiner Arbeitszeit dem Linux-Treiber-Projekt widmen kann, sowie HP, das beim Thema Ralink hilfreich zur Seite stand.

Quelle : www.pro-linux.de
Titel: Kernel-Log – Was 2.6.38 bringt (2): Dateisysteme
Beitrag von: SiLæncer am 17 Februar, 2011, 18:16
Linux 2.6.38 enthält die schon seit über einem halben Jahr viel diskutierten und von Torvalds heiß erwarteten Patches, die die Skalierbarkeit des Virtual File Systems (VFS) verbessern. Ext3 und XFS beherrschen nun das für SSDs interessante Batched Discard; Btrfs und SquashFS unterstützten neue Kompressionstechniken.

Am Mittwoch hat Linus Torvalds die fünfte Vorabversion der Ende März erwarteten Kernel-Version 2.6.38 freigegeben und dabei angemerkt, dass einige Fehler korrigiert worden seien, aber keine Änderung besonders hervor sticht und die Dinge ziemlich normal aussehen. Das Kernel-Log nimmt das zum Anlass, den Überblick über die wichtigsten Neuerungen von Linux 2.6.38 mit dem zweiten Teil der Mini-Serie "Was 2.6.38 bringt" fortzusetzen. Die wichtigsten Änderungen rund um Grafiktreiber hatten wir bereits im ersten Teil beschrieben; in den kommenden Wochen folgen noch Artikel zur Netzwerkunterstützung, zu Storage-Hardware, Treibern sowie Architektur- und Infrastruktur-Code.

Optimierungen am VFS

Die für 2.6.38 integrierten Optimierungen am VFS (Virtual File System), das Basis-Funktionen für alle Dateisysteme bereitstellt, waren Torvalds besonders wichtig, denn er erwähnte sie mit einer gewissen Begeisterung und recht ausführlich in der Mail zur ersten Vorabversion von 2.6.38 (u. a. 1, 2, 3, 4, 5, 6, 7). Durch diese unter Namen wie "RCU-based name lookup" entwickelten Änderungen nutzt das VFS, das allen Dateisystemen zugrunde liegt, feineres Locking mit RCU (Read Copy Update), was unter anderem einige Verzeichnisoperationen erheblich beschleunigen soll. Davon sollen nicht nur größere Server mit vielen Prozessorkernen, sondern auch Allerweltssysteme profitieren; Torvalds gibt in der Freigabemail an, bei bestimmten Tests Performance-Verbesserungen von 30 bis 50 Prozent zu sehen. Bereits in einer früheren Mail zur Aufnahme der tief greifenden Optimierungen an dem – für die zuverlässige Funktion des Kernels sehr wichtigen – VFS hatte er geschrieben, dass ein mit gefüllten Caches in seinem Home-Verzeichnis ausgeführtes Find-Kommando rund 35 Prozent schneller arbeite – und das, obwohl Find nur mit einem Thread arbeite.

Die Entwicklung der Optimierungen hatte Nick Piggin über ein Jahr lang vorangetrieben. Torvalds hätte Vorläufer der Patches, die auch unter Bezeichnungen wie "vfs-scale" und "RCU-walk" kursieren, schon bei 2.6.36 integrieren wollen – die beteiligten Entwickler einigten sich damals aber darauf, nur einige recht ungefährliche Änderungen als Grundlage zu integrieren. Weitere Änderungen folgten bei 2.6.37, wo ein anderer Entwickler ähnlich gelagerte und teilweise auf Piggins Ideen basierende Optimierungen für das VFS vorstellte, was zu Diskussionen über die beste Herangehensweise führte. Details dazu und nähere Erklärungen zur Funktionsweise der jetzt und in den vergangenen Monaten vorgenommenen VFS-Änderungen liefert lwn.net in den englischsprachigen Artikeln "VFS scalability patches in 2.6.36", "Resolving the inode scalability discussion" und "Dcache scalability and RCU-walk"; einige für Dateisystementwickler wichtige Hinweise erläutert Piggin in einer LKML-Mail.

Ext-Familie, XFS und Btrfs

Ext3 und XFS werden mit 2.6.38 das beim 37er-Kernel eingeführte Batched Discard unterstützen, das insbesondere für SSDs mit langsamer Trim-Funktion wichtig ist (1, 2, 3). In der Commit-Message zur XFS-Änderung weist Christoph Hellwig explizit darauf hin, den Batched Discard nicht während normaler Workloads anzustoßen, da die Suche nach freien Speicherbereichen größere Performance-Einbußen mit sich bringt. Einige weitere der in 2.6.37 und 2.6.38 eingeflossenen XFS-Änderungen erwähnt der Kernel-Hacker im "XFS status update for January 2011" – darunter einige Optimierungen am Locking-Code des Log-Subsystems, das dadurch deutlich besser skalieren soll.

Im Merge Window von 2.6.37 hatten die Kernel-Hacker einige Patches zum Steigern der Ext4-Performance integriert; die darunter befindliche und große Zuwächse versprechende "Multiple Page-IO Submission" mussten sie allerdings aufgrund ungelöster Probleme kurz vor Fertigstellung dieser Kernel-Version deaktivieren. Diese Fehler wurden zwischenzeitlich korrigiert – teilweise jedoch erst in der Stabilisierungsphase von 2.6.38. Die über eine Option einschaltbare Technik bleibt daher auch in 2.6.38 ausgeschaltet und soll im Merge Window von 2.6.39 wieder standardmäßig aktiviert werden.

Das weiterhin experimentelle COW-Dateisystem Btrfs kann zur transparenten Kompression neben Zlib nun auch LZO nutzen, das typischerweise erheblich schneller, aber nicht ganz so effizient packt; einige Messwerte, die das untermauern, und einen Vergleich zu einem unkomprimierten Dateisystem liefert der Commit-Kommentar (1, 2). Btrtfs beherrscht nun auch schreibgeschützte Snapshots; in seinem Haupt-Git-Pull-Request erwähnt Btrfs-Entwickler Chris Mason zudem einige Korrekturen im Code zur Unterstützung von Dateisystemen, die mehrere Datenträger überspannen.

SquashFS, UDF, Fallocate und NFS

Das von vielen Linux-Distributionen für Live- und Installationsmedien verwendete Dateisystem SquashFS unterstützt ab 2.6.38 die Komprimierung der Dateisystem-Images mit dem aus LZMA hervorgegangenen Kompressionsformat XZ (1, 2). Da das für sehr hohe Packdichten bekannt ist, dürften einige Live-Medien in Zukunft Platz für ein paar Programme mehr als zuvor bieten. Die Fedora-Entwickler wollen es bei der im Mai erwarteten Version 15 einsetzen und geben an, dass eine Live-DVD mit Spielen bei der Komprimierung mit XZ rund 8 Prozent kleiner ausfiel. Für manche Distributionen ist die neue Komprimierungsart ein alter Hut, denn sie hatten schon länger Vorläufer der jetzt integrierten Patches an Bord, obwohl Torvalds diese bei 2.6.34 nicht aufnehmen wollte.

Das bei optischen Medien wie DVD genutzte UDF-Dateisystem kommt ab 2.6.38 nun ohne das Big Kernel Lock (BKL) aus. Damit haben die Entwickler nach der BKL-Entfernungs-Aktion bei 2.6.37 nun den letzten auf typischen Systemen eingesetzten Kernel-Bestandteil vom BKL befreit. Es gibt zudem einen groben Schlachtplan, um auch die verbliebenen Nutzer des BKLs aus der Welt zu schaffen.

Über den Systemaufruf fallocate() können Programme das Dateisystem nun über ungenutzte Bereiche in der Mitte von Dateien informieren (1, 2; LWN: "Punching holes in files"). Dieser bislang nur von OCFS2 und XFS unterstützten Mechanismus sollte etwa Virtualisierungsprogramme in die Lage versetzen, nicht mehr genutzte Speicherbereiche von Festplatten-Images wieder freizugeben, die als Sparse-Dateien vorliegen – dazu müsste das Gastsystem den Host aber irgendwie über nicht mehr genutzte Speicherbereiche informieren.

Das VFS bietet nun bessere, im Rahmen eines Patch-Reviews erläuterte Unterstützung für automount (u. a. 1, 2, 3). nfsd4-Verwalter J. Bruce Fields hebt in seinem Haupt-Git-Pull-Request einige der Verbesserungen am NFS-4-Daemon hervor, die zur Server-seitigen Unterstützung von NFS 4.1 nötig sind; dabei verweist er auch auf eine Seite im NFS-Wiki, die einen Überblick über die verbleibenden für 4.1-Unterstützung benötigten Änderungen gibt.

Die kleinen Perlen

Viele kleinere, aber keineswegs unbedeutende Neuerungen finden sich in der folgenden Liste mit den englischen Commit-Überschriften der jeweiligen Änderung. Die Einträge verlinken genau wie viele der Verweise im vorangegangenen Text auf das Webfrontend des von Linus Torvalds gepflegten Git-Zweigs mit den "offiziellen" Kernel-Quellen auf Kernel.org. Der über diese Links angezeigten Commit-Kommentar und der darunter ausgegebene Patch liefern zahlreiche weitere Informationen zur jeweiligen Änderung.

Vor jedem Link finden sich in eckigen Klammern einige Buchstaben und Zahlen. Ein "C" kennzeichnet Patches mit Änderungen an Kconfig-Dateien, welche die Konfigurationsoptionen samt der zugehörigen Hilfetexte enthalten, die bei der Kernel-Konfiguration über "make menuconfig", "make xconfig" und ähnliche Werkzeuge angezeigt werden. Ein "D" steht bei Patches, die die Dokumentation verändern, die im Kernel-Zweig unterhalb von Documentation/ liegt. Ein "N" weist Änderungen aus, die eine neue Datei anlegen. Die Zahl vermittelt einen groben Eindruck zur Größe des Patches: eine "1" steht für Änderungen, die inklusive Kommentar zwischen 10 und 20 KByte groß sind, eine "2" für solche, die zwischen 20 und 30 KByte Umfang haben; Änderungen ohne Zahl sind kleiner als 10 KByte, Patches mit einer "9" hingegen 90 KByte oder größer.

    * [ D  ] Allow d_manage() to be used in RCU-walk mode
    * [   1] autofs4: Add d_automount() dentry operation
    * [   1] autofs4: Add d_manage() dentry operation
    * [    ] autofs4: Add v4 pseudo direct mount support
    * [    ] autofs4: Bump version
    * [    ] Btrfs: Add BTRFS_IOC_SUBVOL_GETFLAGS/SETFLAGS ioctls
    * [    ] btrfs: Allow to specify compress method when defrag
    * [   1] btrfs: fix wrong free space information of btrfs
    * [   1] Btrfs: forced readonly mounts on errors
    * [   1] btrfs: make the chunk allocator utilize the devices better
    * [    ] btrfs: provide simple rcu-walk ACL implementation
    * [    ] cifs: add cruid= mount option
    * [    ] CIFS: Add strictcache mount option
    * [    ] CIFS: cifs: reconnect unresponsive servers
    * [    ] cifs: move "ntlmssp" and "local_leases" options out of experimental code
    * [    ] cifs: Support NTLM2 session security during NTLMSSP authentication [try #5]
    * [ D  ] Documentation: don't remove lock manager fl_release_private
    * [ D  ] Documentation: fl_mylease no longer exists
    * [    ] ext2,3,4: provide simple rcu-walk ACL implementation
    * [    ] ext2: speed up file creates by optimizing rec_len functions
    * [    ] ext3: speed up file creates by optimizing rec_len functions
    * [ D 3] fallocate should be a file operation
    * [ D 3] fs: change d_compare for rcu-walk
    * [ D 1] fs: change d_delete semantics
    * [ D 2] fs: change d_hash for rcu-walk
    * [    ] fs: dcache documentation cleanup
    * [   1] fs: dcache per-bucket dcache hash locking
    * [   1] fs: dcache per-inode inode alias locking
    * [   2] fs: dcache scale dentry refcount
    * [   1] fs: dcache scale d_unhashed
    * [    ] fs: dcache scale lru
    * [    ] fs: implement faster dentry memcmp
    * [    ] fs: provide simple rcu-walk generic_check_acl implementation
    * [ D 2] fs: rcu-walk aware d_revalidate method
    * [   1] fs: scale inode alias list
    * [   2] fs: scale mntget/mntput
    * [ D  ] fs: small rcu-walk documentation fixes
    * [   1] fs: Use rename lock and RCU for multi-step operations
    * [    ] fs: Use this_cpu_xx operations in buffer.c
    * [    ] hfsplus: optimize fsync
    * [  N2] lockd: Introduce new-style XDR functions for NLMv3
    * [  N2] lockd: Introduce new-style XDR functions for NLMv4
    * [ D  ] nfsd4: eliminate lease delete callback
    * [    ] nfsd4: implement secinfo_no_name
    * [    ] nfsd4: support BIND_CONN_TO_SESSION
    * [   1] NFS: Introduce new-style XDR decoding functions for NFSv2
    * [   3] NFS: Introduce new-style XDR decoding functions for NFSv2
    * [   1] NFS: Introduce new-style XDR encoding functions for NFSv2
    * [   2] NFS: Introduce new-style XDR encoding functions for NFSv3
    * [    ] nilfs2: fiemap support
    * [ D  ] NTFS: writev() fix and maintenance/contact details update
    * [   1] sanitize vfsmount refcounting changes
    * [ D 1] Unexport do_add_mount() and add in follow_automount(), not ->d_automount()
    * [    ] xfs: add a lru to the XFS buffer cache
    * [   1] xfs: convert inode cache lookups to use RCU locking
    * [   1] xfs: dynamic speculative EOF preallocation
    * [   1] xfs: introduce new locks for the log grant ticket wait queues
    * [    ] xfs: provide simple rcu-walk ACL implementation

Quelle und Links : http://www.heise.de/open/artikel/Kernel-Log-Was-2-6-38-bringt-2-Dateisysteme-1192231.html
Titel: Linux Kernel 2.6.37.1 Stable
Beitrag von: SiLæncer am 18 Februar, 2011, 21:53
Changelog : http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.37.1

http://www.kernel.org/
Titel: Kernel-Log – Was 2.6.38 bringt (3): Netzwerk
Beitrag von: SiLæncer am 23 Februar, 2011, 21:31
Der 38er-Kernel bringt eine neue Mesh-Implementierung, haufenweise neue und überarbeite LAN- und WLAN-Treiber und einige kleine Verbesserungen, die die Performance des Netzwerk-Subsystems steigern sollen.

In der Nacht von Montag auf Dienstag hat Linus Torvalds die sechste Vorabversion von Linux 2.6.38 freigegeben. Er erwähnt dabei eine Korrektur für einen Fehler, der den Arbeitsspeicher durcheinander gebracht hat – vermutlich habe das Problem aber nur zwei Leute betroffen. Hinweise zum Veröffentlichungszeitpunkt von 2.6.38 gab er keine. Die zumeist wöchentlich veröffentlichte "Regression Reports" listen kürzlich 17 ungelöste Probleme, die 2.6.37 nicht zeigt; zudem waren noch 26 Fehler offen, die sich zwischen 2.6.36 und 2.6.37 eingeschlichen haben.

Das Kernel-Log nimmt die fortschreitende Entwicklung des 38er-Kernels zum Anlass, die Mini-Serie "Was 2.6.38 bringt" mit der Beschreibung der Neuerungen rund um Treiber und Infrastruktur für Netzwerk-Hardware fortzusetzen. Der erste Teil der Serie hatte sich mit den Änderungen rund um Grafik-Hardware beschäftigt, der zweite mit Dateisystemen; folgen werden in den kommenden Wochen noch Artikel zu Storage, Architektur- und Infrastruktur-Code sowie Treibern für Audio-, USB- und Video-Hardware.

LAN

Nach den bei 2.6.35 integrierten Techniken Receive Flow Steering (RFS) und Receive Packet Steering (RPS) hat Google-Entwickler Tom Herbert nun das Transmit Packet Steering (XPS) eingebracht (1, 2, 3). Darüber lässt sich bei Multiqueue-Netzwerkkarten eine Zuordnung zwischen Netzwerk-Queue und Prozessorkern festlegen, was die Effizienz der Prozessor-Caches in bestimmten Situationen verbessert und so den Datendurchsatz bei schnellen Netzwerkkarten steigert – die Idee dahinter ist somit die selbe wie bei RPS, nur das es nicht um das Empfangen, sondern das Senden von Netzwerkpaketen geht. Auf einem Testsystem mit 16 Prozessorkernen und einer Netzwerkkarte mit ebenso vielen Queues stieg die Sendeleistung durch XPS um 20 Prozent, wie Herbert im Commit-Kommentar erläutert – das Messverfahren war allerdings auch darauf ausgelegt, die Vorteile der Technik zu zeigen.

Wie schon bei 2.6.37 hat Eric Dumazet zahlreiche Low-Level-Optimierungen am Netzwerk-Code vorgenommen (u. a. 1, 2, 3, 4, 5). Er ist aber nicht der einzige Entwickler, der derzeit auf diesem Gebiet sehr aktiv ist – weitere Verbesserungen dieser Art finden sich über die Links im Abschnitt "Die kleinen Perlen" am Ende des Artikels. Google hat bei einigen Tests mit verschiedenen Betriebssystemen festgestellt, dass einige Standard-Vorgaben im TCP-Stack für moderne Internet-Kommunikation nicht unbedingt ideal sind. Eine daraufhin durch einen Google-Entwickler eingebrachte Änderung vergrößert das Initial Receive Window. Bei 2.6.39 soll ein darauf aufbauender Patch folgen, der auch das Initial Congestion Window vergrößert und dadurch Latenzen bei der Netzwerkkommunikation um 10 Prozent reduzieren soll; Hintergründe dazu finden sich in den Links zu den Patches sowie der LWN.net-Meldung "Increasing the TCP initial congestion window".

Bei den LAN-Treibern gab es zahlreiche kleinere Verbesserungen: cnic unterstützt nun etwa FCoE (Fibre Channel over Ethernet) auch beim Broadcom-Chip 57712, der VMware-Treiber Vmxnet3 bietet Multiqueue Support und ixgbe spricht auch die x540-Chips an.

WLAN

Die im Rahmen von open-mesh.org entwickelte und bislang im Staging-Bereich angesiedelte Mesh-Implementierung batman-adv (Better Approach To Mobile Ad-Hoc Networking Advanced) wurde so weit verbessert, dass sie mit 2.6.38 das Siegel "unreif" ablegt und vom Staging-Bereich in das Netzwerk-Subsystem umzieht (1, 2); einige Hintergründe zu Batman und Batman-adv liefert LWN.net in dem Artikel "Mesh networking with batman-adv".

Zum WLAN-Subsystem stieß der als experimentell gekennzeichnete Treiber rtl8192ce für Realteks 802.11n-PCIe-Chips RTL8188CE und RTL8192CE. Realtek hat diesen auf dem WLAN-Stack des Linux-Kernels aufbauenden Treiber ursprünglich selbst entwickelt; bei der Integration in den Linux-Kernel hat der langjährige Linux-WLAN-Entwickler Larry Finger geholfen; weitere Realtek-Treiber auf Basis des Linux-WLAN-Stack sind in Vorbereitung. Damit zeichnet sich langfristig eine Besserung der Lage bei WLAN-Treiber für Realtek-Chips ab, denn für die waren bislang häufig Treiber aus dem für unreifen Code gedachten Staging-Bereich nötig. Die arbeiten mit Programmen wie dem NetworkManager nicht perfekt zusammen und bleiben bei manchen Distributionen daher sogar außen vor.

Auch einige der WLAN-Treiber wurden um Unterstützung für neue Hardware erweitert – der Atheros-WLAN-Treiber ath9k spricht jetzt etwa den Chip AR9485 an (1, 2, 3) und iwlwifi unterstützt einige neue, in der aktualisierten Kconfig-Datei erwähnte WLAN-Chips von Intel wie die zweite Generation der 6000er-Chips. Der Treiber bietet jetzt auch Advance Power Management, was die Leistungsaufnahme bei Intels 6000g2b und dessen Nachfolgern reduzieren soll.

Die schon bei 2.6.37 im Treiber b43 ausgebaute, aber zu der Zeit noch unvollständige Unterstützung für einige 802.11n-WLAN-Chips von Broadcom wurde weiter überarbeitet und soll jetzt funktionieren (u. a. 1, 2, 3, 4); in dem Zuge wurde die b43-spezifische Konfigurations-Option zur Unterstützung von 802.11n-Chips umbenannt und verliert die Auszeichnung "Broken". Ähnlich verhält es sich bei den Rt2x00-Treibern für Ralink-Chips der RT30xx-Serie: Die anfangs rudimentäre und über Option zuschaltbare Unterstützung für die PCI-/PCIe-Chips RT3090, RT3091 und RT3092 sowie die USB-Chips RT3070, RT3071 und RT3072 ist nun regulärer Bestandteil der Treiber rt2800pci und rt2800usb. Eigene Optionen erhielt hingegen der noch rudimentäre Code zur Unterstützung der Ralink-Chips RT3370 (USB) und RT3390 (PCI/PCIe), denn er kann diese Chips noch nicht recht in Betrieb nehmen und richtet sich daher fürs erste nur an Tester und Entwickler.

Staccato

    * Der für Virtualisierung interessante Treiber macvlan bietet nun einen "Passthru"-Modus, in dem der Treiber viele Fähigkeiten des verwendenden Netzwerk-Chips weiterreicht, wodurch sich in Gastsystemen VLANs konfigurieren oder die MAC-Adresse verändern lassen.
    * Mit der Policy-based Packet Dequeueing Infrastructure lässt sich beim Datagram Congestion Control Protocol (DCCP) die Priorität der ausgehenden Pakete beeinflussen.
    * In das neu angelegte Verzeichnis drivers/nfc/ pflegten die Kernel-Hacker einen von Nokia-Entwicklern eingebrachten Treiber für den PN544 von NXP Semiconductors ein – ein Baustein für NFC (Near Field Communication), das für Bezahlsysteme interessant ist und in letzter Zeit wieder verstärkt Aufmerksamkeit auf sich zieht.
    * Über das WLAN-Konfigurationsinterface nl80211 lassen sich nun auch die Antennen-Einstellungen verändern, sofern der Treiber das beherrscht; der WLAN-Stack MAC80211 bietet nun alles nötige für Hardware TX fragmentation offload.
    * Einige weitere Informationen zu den Änderungen im Netwerk-Subsystem finden sich in einige der Git-Pull-Requests von Netzwerk-Subsystem-Verwalter David Miller (1, 2, 3, 4).

Die kleinen Perlen

Viele kleinere, aber keineswegs unbedeutende Neuerungen finden sich in der folgenden Liste mit den englischen Commit-Überschriften der jeweiligen Änderung. Die Einträge verlinken genau wie viele der Verweise im vorangegangenen Text auf das Webfrontend des von Linus Torvalds gepflegten Git-Zweigs mit den "offiziellen" Kernel-Quellen auf Kernel.org. Der über diese Links angezeigten Commit-Kommentar und der darunter ausgegebene Patch liefern zahlreiche weitere Informationen zur jeweiligen Änderungen.

Vor jedem Link finden sich in eckigen Klammern einige Buchstaben und Zahlen. Ein "C" kennzeichnet Patches mit Änderungen an Kconfig-Dateien, welche die Konfigurationsoptionen samt der zugehörigen Hilfetexte enthalten, die bei der Kernel-Konfiguration über "make menuconfig", "make xconfig" und ähnliche Werkzeuge angezeigt werden. Ein "D" steht bei Patches, die die Dokumentation verändern, die im Kernel-Zweig unterhalb von Documentation/ liegt. Ein "N" weist Änderungen aus, die eine neue Datei anlegen. Die Zahl vermittelt einen groben Eindruck zur Größe des Patches: eine "1" steht für Änderungen, die inklusive Kommentar zwischen 10 und 20 KByte groß sind, eine "2" für solche, die zwischen 20 und 30 KByte Umfang haben; Änderungen ohne Zahl sind kleiner als 10 KByte, Patches mit einer "9" hingegen 90 KByte oder größer.

LAN

    * [    ] atl1c: Add missing PCI device ID
    * [   2] be2net: adding support for Lancer family of CNAs
    * [    ] beceem: add network device message level control
    * [    ] bna: Update the driver version to 2.3.2.3
    * [  N7] bnx2x: add DCB support
    * [   5] bnx2x: add FCoE ring
    * [   2] bnx2x: adding dcbnl support
    * [   2] bnx2x: Add Nic partitioning mode (57712 devices)
    * [    ] bnx2x: update version to 1.62.00-2
    * [    ] cnic: Add kcq2 support on 57712
    * [    ] cnic: Support NIC Partition mode
    * [ D  ] Documentation/networking/e1000e.txt: Update documentation
    * [ D  ] Documentation/networking/e1000.txt: Update documentation
    * [ D  ] Documentation/networking/igb.txt: update documentation
    * [ D  ] Documentation/networking/igbvf.txt: Update documentation
    * [ D 1] Documentation/networking/ixgbe.txt: Update ixgbe documentation
    * [ D  ] Documentation/networking/ixgbevf.txt: Update documentation
    * [ D  ] Documentation/networking: Update Intel Wired LAN docs
    * [    ] e1000: add support for Marvell Alaska M88E1118R PHY
    * [   2] e1000: Add support for the CE4100 reference platform
    * [    ] e1000e: 82574/82583 performance improvement
    * [    ] e1000e: add netpoll support for MSI/MSI-X IRQ modes
    * [    ] e1000e: support new PBA format from EEPROM
    * [    ] GRETH: added raw AMBA vendor/device number to match against.
    * [    ] GRETH: GBit transmit descriptor handling optimization
    * [    ] igb: Add Anti-spoofing feature support
    * [    ] igbvf: add support for i350 VF device
    * [    ] ixgbe: Add anti-spoofing feature support
    * [    ] ixgbe: Add SR-IOV feature support to X540
    * [    ] ixgbe: add support for 82599 FCoE SKU
    * [   2] ixgbe: add support for x540 MAC
    * [    ] ixgbe: add WOL support for backplane adapters
    * [    ] ixgbe: add WOL support for SFP+ subdevice
    * [   3] ixgbe: cleanup flow director hash computation to improve performance
    * [   1] ixgbe: further flow director performance optimizations
    * [   1] ixgbe: rework Tx hang detection to fix reoccurring false Tx hangs
    * [    ] ixgbe: update version string
    * [    ] ixgbevf: Add X540 VF device support to the ixgbevf driver
    * [    ] ks8851: suspend resume support
    * [    ] macvlan: lockless tx path
    * [    ] MAINTAINERS: Update Intel Wired LAN info
    * [    ] mlx4_core: Add ConnectX-3 device IDs
    * [C  1] net/fec: add dual fec support for mx28
    * [    ] net/fec: add mac field into platform data and consolidate fec_get_mac
    * [    ] netxen: update driver version 4.0.75
    * [    ] qlcnic: Add description for CN1000Q adapter
    * [    ] qlcnic: change module parameter permissions
    * [   1] qlcnic: Disable loopback support
    * [    ] qlcnic: Updated driver version to 5.0.13
    * [    ] qlge: Version change to v1.00.00.27
    * [    ] r8169: more 8168dp support.
    * [C  2] r8169: remove the firmware of RTL8111D.
    * [   2] r8169: use device dependent methods to access the MII registers.
    * [    ] sfc: Use TX push whenever adding descriptors to an empty queue
    * [    ] sky2: convert to new VLAN model (v0.2)
    * [    ] sky2: implement 64 bit stats
    * [ D  ] stmmac: update the driver documentation
    * [    ] tg3: Enable mult rd DMA engine on 5719
    * [    ] tg3: Enable phy APD for 5717 and later asic revs
    * [    ] tg3: Fix 57765 EEE support
    * [    ] tg3: Raise the jumbo frame BD flag threshold
    * [    ] tg3: Reenable TSS for 5719
    * [    ] tg3: Reorg tg3_napi members
    * [    ] tg3: Update version to 3.116
    * [    ] tg3: Use new VLAN code
    * [   1] via-rhine: hardware VLAN support
    * [    ] vlan: lockless transmit path
    * [    ] vmxnet3: Provide required number of bytes in first SG buffer
    * [    ] vxge: add receive hardware timestamping
    * [   1] vxge: enable rxhash
    * [    ] vxge: Titan1A detection

WLAN

    * [C N1] ath5k: Add AHB bus support.
    * [    ] ath5k: Add initial registers values for radio RF2317 chip.
    * [    ] ath5k: Add support for antenna configuration
    * [C   ] ath5k: Use generic EWMA library
    * [    ] ath9k: Add support for Adaptive Power Management
    * [    ] ath9k: Convert to new PCI PM framework
    * [    ] ath9k_htc: Add support for handling TX power configuration
    * [    ] ath9k_htc: Add Ubiquiti wifistation ext to supported devices
    * [    ] ath9k_hw: add a private op for configuring radar pulse detection
    * [    ] ath9k: Make PM-QOS value as user configurable
    * [    ] ath9k: Properly initialize channel table for 2GHz
    * [    ] ath9k: Reintroduce modparam to enable btcoex
    * [   2] ath9k: rework tx queue selection and fix queue stopping/waking
    * [    ] b43: N-PHY: define channel table struct for rev3+ devices
    * [   1] b43: N-PHY: define registers names for 2056 radio
    * [   2] b43: N-PHY: define registers names for 2056 radio
    * [    ] b43: N-PHY: fix some typos, conditions, set gain_boost
    * [   5] b43: N-PHY: fix values for PHY regs in channel tables of 2055 radio
    * [    ] b43: N-PHY: implement radio 2056 init steps
    * [    ] b43: N-PHY: implement very basic TX power control management
    * [   1] b43: N-PHY: update init tables
    * [    ] b43: set TMS to work with current band width for N-PHY
    * [    ] cfg80211: Add antenna availability information
    * [    ] cfg80211: Add documentation for antenna ops
    * [    ] cfg80211: add mesh join/leave callback docs
    * [    ] cfg80211: Add new BSS attribute ht_opmode
    * [    ] cfg80211: add some element IDs in enum ieee80211_eid
    * [    ] cfg80211: add support for setting the ad-hoc multicast rate
    * [ D  ] cfg80211: include CQM packet loss docs
    * [  N2] cfg80211/mac80211: add mesh join/leave commands
    * [   1] cfg80211/nl80211: separate unicast/multicast default TX keys
    * [    ] iwlagn: enable shadow register
    * [    ] iwlagn: name change for bt_ch_announce module parameter
    * [  N9] iwlagn: new RXON processing for modern devices
    * [    ] iwlagn: Offical name for 100/130 device
    * [    ] iwlagn: Offical name for 6000g2a device
    * [    ] iwlagn: Offical name for 6000g2b device
    * [    ] iwlagn: Offical name for 6050g2 device
    * [    ] iwlagn: update PCI ID for 100 series devices
    * [    ] iwlagn: update PCI ID for 6000g2a series devices
    * [    ] iwlagn: update PCI ID for 6000g2b series devices
    * [    ] iwlwifi: add more power management flags
    * [   1] iwlwifi: change default led mode for different devices
    * [    ] iwlwifi: Convert to new PCI PM framework
    * [    ] iwlwifi: implement switching iftype while up
    * [   1] iwlwifi: use antenna information in EEPROM
    * [C N ] lib: Add generic exponentially weighted moving average (EWMA) function
    * [    ] mac80211: Add antenna configuration
    * [ D  ] mac80211: add doc short section on LED triggers
    * [    ] mac80211: Add function to get probe request template for current AP
    * [    ] mac80211: add missing docs for off-chan TX flag
    * [    ] mac80211: add remain-on-channel docs
    * [    ] mac80211: add support for setting the ad-hoc multicast rate
    * [   1] mac80211: add throughput based LED blink trigger
    * [ D  ] mac80211: document aggregation
    * [ D  ] mac80211: document station handling
    * [ D  ] mac80211: document workqueue
    * [   1] mac80211: implement hardware offload for remain-on-channel
    * [    ] mac80211: implement off-channel mgmt TX
    * [    ] mac80211: implement off-channel TX using hw r-o-c offload
    * [    ] mac80211: implement packet loss notification
    * [   1] mac80211: Let userspace enable and configure vendor specific path selection.
    * [ D  ] mac80211: publish docs for _ni functions
    * [ D  ] mac80211: publish interface iteration docs
    * [ D  ] mac80211: publish SMPS docs
    * [ D  ] mac80211: publish some misc docs
    * [ D  ] mac80211: publish some rate control docs
    * [   1] mac80211: serialize rx path workers
    * [    ] mac80211: support IBSS RSN with SW crypto
    * [   1] mac80211: support separate default keys
    * [    ] mwl8k: choose proper firmware image as directed by user
    * [    ] nl80211: add/fix mesh docs
    * [    ] nl80211: Add notification for dropped Deauth/Disassoc
    * [   1] nl80211/cfg80211: extend mgmt-tx API for off-channel
    * [C   ] nl80211/mac80211: Report signal average
    * [    ] rndis_wlan: add support for set_power_mgmt
    * [    ] rt2x00: add device id for windy31 usb device
    * [C   ] rt2x00: Clean up Kconfig for RT2800 devices.
    * [    ] ssb: Add sysfs attributes to ssb devices
    * [    ] wl1271: 11n Support, ACX Commands
    * [    ] wl1271: 11n Support, Add Definitions
    * [C   ] wl1271: 11n Support, functionality and configuration ability
    * [C N1] wl1271_sdio_test: Add module for sdio RX/TX testing
    * [    ] wl12xx: add auto-arp support
    * [    ] wl12xx: allow runtime changing of debug_level
    * [    ] wl12xx: disable 11a channels when regulatory changes if 11a is not supported
    * [    ] zd1201: Add missing id
    * [    ] zd1211rw: add 2 missing usb id's

Various

    * [    ] Bluetooth: add Atheros BT AR9285 fw supported
    * [  N ] Bluetooth: Add initial Bluetooth Management interface callbacks
    * [  N ] bonding: add the debugfs facility to the bonding driver
    * [   1] bridge: add RCU annotation to bridge multicast table
    * [  N ] caif: bugfix - add caif headers for userspace usage.
    * [C N1] can: add driver for Softing card
    * [C N5] can: add driver for Softing card
    * [C N2] can: add slcan driver for serial/USB-serial CAN adapters
    * [ D  ] clarify documentation for net.ipv4.igmp_max_memberships
    * [ D  ] dccp: make upper bound for seq_window consistent on 32/64 bit
    * [    ] ethoc: Add device tree configuration
    * [    ] filter: add a security check at install time
    * [    ] filter: optimize accesses to ancillary data
    * [    ] filter: Optimize instruction revalidation code.
    * [    ] gre: add module alias for gre0 tunnel device
    * [    ] ipip: add module alias for tunl0 tunnel device
    * [   2] net: Abstract away all dst_entry metrics accesses.
    * [    ] net: Add compat ioctl support for the ipv4 multicast ioctl SIOCGETSGCNT
    * [    ] net: add priority field to pktgen
    * [ D  ] net: change ip_default_ttl documentation
    * [  N ] net_dcb: add application notifiers
    * [    ] net: factorize sync-rcu call in unregister_netdevice_many
    * [    ] net: optimize INET input path further
    * [    ] net sched: use xps information for qdisc NUMA affinity
    * [    ] net: Support compat SIOCGETVIFCNT ioctl in ipv4.
    * [    ] offloading: Support multiple vlan tags in GSO.
    * [    ] packet: Enhance AF_PACKET implementation to not require high order contiguous memory allocation (v4)
    * [    ] pch_can: Add flow control processing
    * [    ] pch_can: Add setting TEC/REC statistics processing
    * [    ] pcnet_cs: add new_id
    * [    ] pktgen: adding prefetchw() call
    * [   1] qeth: support ipv6 query arp cache for HiperSockets
    * [    ] rtnetlink: Link address family API
    * [C  3] tipc: cleanup various cosmetic whitespace issues
    * [    ] tipc: Delete tipc_ownidentity()
    * [    ] tipc: Delete unused configuration service structure definition
    * [    ] tipc: Delete useless function prototypes
    * [    ] tipc: Eliminate an unused symbolic constant in link code
    * [    ] tipc: Eliminate obsolete native API forwarding routines
    * [    ] tipc: Eliminate useless initialization when creating subscriber
    * [    ] tipc: Eliminate useless return value when disabling a bearer
    * [    ] tipc: Eliminate use of user registry by configuration service
    * [    ] tipc: Eliminate use of user registry by topology service
    * [C   ] tipc: Finish streamlining of debugging code
    * [   1] tipc: Prune down link-specific debugging code
    * [    ] tipc: recode getsockopt error handling for better readability
    * [   3] tipc: remove calls to dbg() and msg_dbg()
    * [    ] tipc: remove dump() and tipc_dump_dbg()
    * [    ] tipc: remove extraneous braces from single statements
    * [    ] tipc: Remove internal linked list of node objects
    * [    ] tipc: Remove obsolete inclusions of header files
    * [    ] tipc: remove pointless check for NULL prior to kfree
    * [   2] tipc: Remove prototype code for supporting inter-cluster routing
    * [C  2] tipc: Remove prototype code for supporting multiple clusters
    * [C  2] tipc: Remove prototype code for supporting multiple zones
    * [   2] tipc: Remove prototype code for supporting slave nodes
    * [    ] tipc: remove redundant #includes
    * [    ] tipc: Remove support for TIPC mode change callback
    * [    ] tipc: Remove unused domain argument from multicast send routine
    * [   1] tipc: Remove user registry subsystem
    * [    ] tipc: remove zeroing assignments to static global variables
    * [    ] tipc: rename dbg.[ch] to log.[ch]
    * [    ] tipc: split variable assignments out of conditional expressions
    * [    ] tipc: update log.h re-include protection to reflect new name
    * [    ] xps: Improvements in TX queue selection

Quelle und Links : http://www.heise.de/open/artikel/Kernel-Log-Was-2-6-38-bringt-3-Netzwerk-1195394.html
Titel: Kernel-Log – Was 2.6.38 bringt (4): Storage
Beitrag von: SiLæncer am 28 Februar, 2011, 15:47
Der im März erwartete Kernel enthält mit LIO ein neues Target-Framework zum Aufsetzen von Storage Area Networks (SANs). Neu sind auch die Kernel-seitige Prüfung auf Medienwechsel in Laufwerken und einige für Desktop-Systeme interessante Optimierungen im Device Mapper..

Nach der Freigabe des RC6 am Dienstag vergangener Woche dürfte in Kürze die siebte Vorabversion von 2.6.38 erscheinen, mit der die Entwicklung der 38er-Kernels langsam die Zielgerade erreichen dürfte. Der RC7 wird einen kürzlich auf der LKML diskutierten Fehler im Btrfs-Code beseitigen, durch den eine kopierte Datei unter Umständen leer ist, wenn man sie erst kurz zuvor angelegt hat und mit aktuellen Versionen des zu den Coreutils gehörenden "cp" kopiert.

Das Kernel-Log will derweil die Mini-Serie "Was 2.6.38 bringt" mit der Beschreibung der Neuerungen rund um Storage-Themen fortsetzen. Der erste Teil der Serie hatte sich mit den Änderungen rund um Grafik-Hardware beschäftigt, der zweite mit Dateisystemen und der dritte mit Netzwerk-Code; folgen werden in den kommenden Wochen noch Artikel zu Architektur- und Infrastruktur-Code sowie Treibern für Audio-, USB- und Video-Hardware.

Storage Area Network

Zum SCSI-Subsystem stieß das im Rahmen von linux-iscsi.org entwickelte Multiprotocol Storage Target, kurz LIO. Mit ihm lassen sich Datenträger als SCSI-Targets aufsetzen, auf das andere Systeme per iSCSI, Fibre Channel oder FCoE (Fibre Channel over Ethernet) zugreifen. Diese Lösung zum Einrichten eines SAN (Storage Area Network) ersetzt bald das schon länger im Kernel enthaltene STGT (SCSI Target Framework; Kernel-Konfigurations-Option CONFIG_SCSI_TGT). Auch die Entwickler des SCST (SCSI Target Subsystem for Linux) hatten ihre Lösung als Ersatz propagiert, zogen aber den Kürzeren. Dafür waren neben einigen technischen Aspekte vor allem die Abwägung des SCSI-Subsystem-Verwalters verantwortlich, mit welcher Entwickler-Community die Kernel-Hacker langfristig besser zusammenarbeiten können. In SCST-Kreisen hat das hier und da zu Unmut geführt, da einige SCST als die bessere Lösung ansehen.

Einen Kurzüberblick über die Funktionen von LIO liefert der Commit-Kommentar. Einige Hintergründe zu den technischen Unterschieden zwischen den verschiedenen SCSI-Target-Implementationen und den Aspekten zur Festlegung auf LIO liefert der LWN.net-Artikel "A tale of two SCSI targets".

Die Entwicklung des maßgeblich von der Firma Rising Tide Systems vorangetriebenen LIO ist keineswegs abgeschlossen. So entfernten die Kernel-Hacker zwischen Rc5 und Rc6 das bislang zu LIO gehörende und versehentlich mit ihm integrierte Procfs-Interface, um das nicht langfristig pflegen zu müssen; möglicherweise soll ein Sysfs-Interface als Ersatz entstehen. Einige für 2.6.39 eingereichte, aber noch zu begutachtende Patches rüsten das Modul TCM_Loop Virtual SCSI nach, das eigentlich schon Bestandteil von 2.6.38 hatte werden sollen und eine lokale SPC-4-SCSI Emulation für beliebige lokale Raw-Devices ermöglicht. Außerdem stieß fürs Erste nur die Target-Engine des modular aufgebauten LIO zum Kernel. Die Protokolltreiber sollen bei 2.6.39 folgen – darunter einer für iSCSI, FCoE und FC mit HBAs von QLogic.

Wechselprüfer

Über ein von Tejun Heo eingebrachtes "In-Kernel Polling Framework" kann der Kernel jetzt selbst auf den Tausch von Wechseldatenträger (etwa Speicherkarten oder optische Medien wie DVDs) prüfen, indem es die Geräte regelmäßig befragt. Bei einem Wechsel informiert der Kernel Userland-Anwendungen wie Desktop-Umgebungen – die brauchen dadurch nicht mehr selbst auf Medientausch testen, was einige im Commit-Kommentar kurz erläuterte Problemen mit sich brachte.

Die Kernel-Prüfung hat zudem geringeren Overhead und sollte weniger Strom verbrauchen. In der Voreinstellung ist die über Sysfs einstellbare Abfrage durch den Kernel aber deaktiviert, um Störungen beim Zusammenspiel mit bestehenden Userland-Lösungen zu vermeiden. Weitere Hintergründe dazu liefert LWN.net in "Reworking disk events handling".

Device Mapper und MD

Über neue Schnittstellen kann der Device Mapper auf Funktionen des Subsystems MD (Multiple Devices) zur Verwaltung von Software-RAIDs zugreifen, die für die RAID-Level 4, 5 und 6 zuständig sind. Zusammen mit einer frischen Version von Dmraid sollte das langfristig für eine bessere Unterstützung der von vielen Mainboard-Chipsätzen gebotenen Host-RAID-5-Funktionen sorgen, für die bislang spezielle Kernel-Patches erforderlich waren, die manchen Distributionen nicht beiliegen.

Durch den Einsatz von mehreren Workqueues in Dmcrypt nutzt der Device Mapper (DM) nun Multi-Core-Prozessoren besser und sollte so flotter ver- und entschlüsseln. Neu sind auch Multi-Key-Fähigkeiten für Dmcrypt, um verschiedene Blöcke eines Datenträgers mit unterschiedlichen Keys zu verschlüsseln; die ebenfalls neue Unterstützung für den Loop-AES Block Device Encryption System setzt darauf auf. Der DM-Code für Mirroring/RAID1 leitet ab 2.6.38 Discard-Informationen weiter und informiert so Datenträger über freigewordene Bereiche. Zwei von Mikulas Patocka eingebrachte Änderungen verbessern bei bestimmten Umgebungsbedingungen die Performance des Device Mappers, was er mit Messwerten in den Commit-Kommentaren zeigt (1, 2)

Staccato

    * Der Cgroups Blkio Controller zum Begrenzen der Datenträgerverwendung unterstützt nun bei bestimmten Funktionen auch hierarchische Gruppierung – Details dazu liefert LWN.net im Artikel "Hierarchical group I/O scheduling".
    * Block-Subsystem-Maintainer Jens Axboe hebt in seinem Haupt-Git-Pull-Request noch einige Performance-Optimierungen am standardmäßig verwendenden I/O-Scheduler CFQ (Completely Fair Queuing) hervor (u.a.  1, 2)
    * Der Code für Multiple Devices (MD) bietet nun Funktionen zum Überführen eines RAID 1 in ein RAID 0.
    * Im Merge Window von 2.6.38 zog ein Patch ein, durch den das Block-Layer sicher stellen sollte, das auf ihm aufbauende Subsysteme das Readonly-Flag beherzigen. Das führte aber zu einigen in einem ab Donnerstag den 3. März frei erhältlichen LWN.net-Artikel erläuterten Problemen, sodass das Ganze fürs Erste wieder verworfen wurde.
    * Der Treiber megaraid_sas spricht ab 2.6.38 auch die MegaRAID-Chips 9265 und 9285 an.
    * Zum Libata-Subsystem stieß ein Treiber für den ATP8620 von Acard.
    * Der für Emulex-Chips zuständige LightPulse Fibre Channel SCSI Driver lpfc bietet nun Unterstützung für SLI4 FC Discovery.

Die kleinen Perlen

Viele kleinere, aber keineswegs unbedeutende Neuerungen finden sich in der folgenden Liste mit den englischen Commit-Überschriften der jeweiligen Änderung. Die Einträge verlinken genau wie viele der Verweise im vorangegangenen Text auf das Webfrontend des von Linus Torvalds gepflegten Git-Zweigs mit den "offiziellen" Kernel-Quellen auf Kernel.org. Der über diese Links angezeigten Commit-Kommentar und der darunter ausgegebene Patch liefern zahlreiche weitere Informationen zur jeweiligen Änderungen.

Vor jedem Link finden sich in eckigen Klammern einige Buchstaben und Zahlen. Ein "C" kennzeichnet Patches mit Änderungen an Kconfig-Dateien, welche die Konfigurationsoptionen samt der zugehörigen Hilfetexte enthalten, die bei der Kernel-Konfiguration über "make menuconfig", "make xconfig" und ähnliche Werkzeuge angezeigt werden. Ein "D" steht bei Patches, die die Dokumentation verändern, die im Kernel-Zweig unterhalb von Documentation/ liegt. Ein "N" weist Änderungen aus, die eine neue Datei anlegen. Die Zahl vermittelt einen groben Eindruck zur Größe des Patches: eine "1" steht für Änderungen, die inklusive Kommentar zwischen 10 und 20 KByte groß sind, eine "2" für solche, die zwischen 20 und 30 KByte Umfang haben; Änderungen ohne Zahl sind kleiner als 10 KByte, Patches mit einer "9" hingegen 90 KByte oder größer.

Block-Layer, Libata, Infiniband

    * [    ] ahci: AHCI mode SATA patch for Intel DH89xxCC DeviceIDs
    * [    ] cfq-iosched: Don't wait if queue already has requests.
    * [    ] IB/qib: Add a few new SERDES tunings
    * [    ] IB/qib: Add receive header queue size module parameters
    * [    ] IB/qib: Add support for the new QME7362 card
    * [    ] IPoIB: Add GRO support
    * [C   ] IPoIB: Remove LRO support
    * [C   ] pata_hpt3x2n: clarify about HPT371N support
    * [C   ] pata_platform: Remove CONFIG_HAVE_PATA_PLATFORM's dependencies.

SCSI

    * [    ] SCSI: bfa: Update the driver version to 2.3.2.3
    * [    ] SCSI: bnx2i: Updated version to 2.6.2.2
    * [    ] SCSI: iscsi: add module alias
    * [    ] SCSI: libfcoe: add debug message for FCF destination MAC
    * [   4] SCSI: lpfc 8.3.19: Added support for ELS RRQ command
    * [   1] SCSI: lpfc 8.3.19: Add latest SLI4 Hardware initialization support
    * [    ] SCSI: lpfc 8.3.19: Update lpfc driver version to 8.3.19
    * [   2] SCSI: lpfc 8.3.20: Implement the FC and SLI async event handlers
    * [    ] SCSI: lpfc 8.3.20: Update lpfc driver version to 8.3.20
    * [    ] SCSI: megaraid_sas: Add MSI-X support and msix_disable module parameter
    * [ D  ] SCSI: megaraid_sas: Documentation update
    * [    ] SCSI: mpt2sas: Added loadtime para for IOMissingDelay and DMD
    * [   1] SCSI: mpt2sas: Modify code to support Expander switch
    * [    ] SCSI: mptfusion: Bump version 03.04.18
    * [   1] SCSI: qla2xxx: Added support for quiescence mode for ISP82xx.
    * [    ] SCSI: qla4xxx: Update driver version to 5.02.00-k5
    * [    ] SCSI: sd: improve logic and efficiecy of media-change detection
    * [    ] SCSI: zfcp: Add allow_lun_scan module parameter
    * [    ] SCSI: zfcp: Add __init declaration to zfcp_cache_hw_align
    * [   3] SCSI: zfcp: Redesign of the debug tracing for HBA records.

MMC, MFD, MTD und Co.

    * [    ] memstick: add support for JMicron JMB 385 and 390 controllers
    * [C   ] mfd/ab8500: remove spi support
    * [C N ] mfd: Add cs5535-mfd driver for AMD Geode's CS5535/CS5536 support
    * [    ] mfd: Add initial WM8958 support
    * [    ] mfd: Add WM8326 support
    * [    ] mfd: Implement runtime PM for WM8994 core driver
    * [    ] mfd: Support LP3974 RTC
    * [C   ] mfd/tc35892: rename tc35892 core driver to tc3589x
    * [    ] mfd/tc3589x: add suspend/resume support
    * [C N1] mmc: add sdhci-tegra driver for Tegra SoCs
    * [    ] mmc: Add support for JMicron 388 SD/MMC controller
    * [C N ] mmc: Add support for the Marvell Dove SDHCI controller
    * [C  1] mmc: Aggressive clock gating framework
    * [C N5] mmc: dw_mmc: Add Synopsys DesignWare mmc host driver.
    * [    ] mmc: sdhci-s3c: Support additional host capabilities
    * [    ] mmc: sdhci-s3c: Support controllers with no internal clock divider
    * [C  1] mmc: sh_mmcif: add DMA support
    * [C   ] mmc: sh_mmcif: make DMA support by the driver unconditional
    * [    ] mmc: tmio_mmc: implement a bounce buffer for unaligned DMA
    * [  N ] msm: gpio: Add v2 gpio support to MSM SoCs.
    * [  N ] msm: hotplug: support cpu hotplug on msm
    * [    ] msm: timer: SMP timer support for msm
    * [    ] mtd: cfi_cmdset_0002: add support for Samsung K8D3x16UxC NOR chips
    * [    ] mtd: cfi_cmdset_0002: add support for Samsung K8D6x16UxM NOR chips
    * [    ] mtd: m25p80: Add support for Macronix MX25L25635E
    * [    ] mtd: m25p80: Add support for Macronix MX25L25655E

Quelle : http://www.heise.de/open/artikel/Kernel-Log-Was-2-6-38-bringt-4-Storage-1199339.html
Titel: Kernel-Log – Was 2.6.38 bringt (5): Architektur, Infrastruktur ....
Beitrag von: SiLæncer am 05 März, 2011, 07:19
In bestimmten Situationen steigert ein kleiner Patch die Reaktionsgeschwindigkeit von Desktop-Umgebungen spürbar. Die Transparent Huge Pages erleichtern die Speicherverwaltung, was speziell für Virtualisierung oder Server-Software interessant ist.

In der Nacht von Dienstag auf Mittwoch hat Linus Torvalds die siebte Vorabversion von Linux 2.6.38 freigegeben. Er erwähnt dabei unter anderem die Korrektur für einen Fehler an Btrfs, der in gewissen Situationen zu Datenverlust führt – erneut gab Torvalds keine Hinweise auf einen Freigabetermin von 2.6.38.

Die Fertigstellung der nächsten Version des Hauptentwicklungszweigs rückt aber dennoch näher, daher will das Kernel-Log seine Mini-Serie "Was 2.6.38 bringt" langsam zu einem Ende bringen und widmet sich im vorletzten Teil den Neuerungen rund um Architektur-Code, Infrastruktur und Virtualisierung. Teil eins und drei hatten sich mit den Änderungen bei Grafik und Netzwerk gewidmet; Teil zwei und vier drehten sich um Dateisysteme und Storage. Das Ende der Serie wird der in einigen Tagen folgende Artikel zu Treibern für Audio-, USB- und Video-Hardware markieren.

Wunderpatch

Für verhältnismäßig viel Aufsehen sorgte um den Jahreswechsel eine als "Wunderpatch" oder "Autogroup scheduling feature" bekannt gewordene Änderung, welche die Interaktivität von Desktop-Umgebungen und -Anwendungen in bestimmten Situation verbessert. Das gelingt allerdings nicht durch magisch erzeugte CPU-Ressourcen, sondern durch die automatische Gruppierung aller Prozesse einer Session zu einer Cgroup (Control Group) – das sorgt bei Vollauslastung der CPU für eine andere Verteilung der Prozessorzeit, was zu einem reaktionsschnelleren Desktop führen kann, sofern die CPU-lastigen Prozesse in einer anderen Gruppe stecken als die Desktop-Umgebung.

Details zur Funktionsweise liefert ein älteres Kernel-Log und ein Artikel bei LWN.net. Scheduler-Maintainer Ingo Molnar und Linus Torvalds zeigten sich von dem Patch angetan und loben ihn im Haupt-Git-Pull-Request für den Scheduler-Code und der Ankündigung von 2.6.38-rc1.

Die größte Wirkung zeigt sich allerdings bei Bedingungen, wie sie bei Kernel-Hackern häufig auftreten: Das Benutzen der Desktop-Oberfläche, während im Terminal eine CPU-lastige Aufgabe läuft – etwa das Kompilieren eines Kernels. Keine nennenswerten Einfluss hat die Gruppierung in Situationen, wo zwei Desktop-Anwendungen um die Prozessorzeit wetteifern.

In den Standard-Vorgaben für die Kernel-Konfiguration ist die via "CONFIG_SCHED_AUTOGROUP" einschaltbare Funktion deaktiviert; möglicherweise werden sie auch nicht alle Distributionen einschalten, da die SysV-Init- und Upstart-Alternative Systemd eine ähnliche, allerdings flexiblere Funktion bietet.

Große Happen

Durch die neuen Transparent Huge Pages (THP) handhabt der Kernel große Speicherseiten deutlich flexibler und kann sie in bestimmten Situationen sogar automatisch verwenden (u. a. 1, 2, 3); das sollte langfristig die umständliche und nicht sonderlich flexible Einbindung via HugeTblFs unnötig machen. Speziell bei großen Datenbanken oder der Virtualisierung verbessern große Speicherseiten die Performance, weil sie Kernel und Prozessor die Speicherverwaltung erleichtern und einige Funktionseinheiten moderner CPUs zum Zug kommen, die sonst ungenutzt blieben.

THP wurde maßgeblich vom Red-Hat-Entwickler Andrea Arcangeli vorangetrieben; frühe Versionen des Codes setzt Red Hat bereits beim im vergangen November eingeführte Red Hat Enterprise Linux 6 ein, wo THP als eine der wichtigsten Neuerungen hervorgehoben wurde. Details zur Technik und ihren Vorteilen liefern die zugehörige Dokumentation oder der LWN.net-Artikel "Transparent huge pages in 2.6.38". Einige kurz vor der Aufnahme der THP-Patches von VM-Hacker Mel Gorman durchgeführte Benchmarks vergleichen THP mit dem HugeTblFs und einem Kernel, der keine großen Speicherseiten nutzt. Hintergründe und Vorteile der Technik liefert Arcangeli in den Präsentationsfolien und der Videoaufzeichnung eines Vortrags auf dem KVM Forum 2010.

THP fand über den von Andrew Morton gepflegten MM-Tree den Weg in 2.6.38 und umging den Linux-Next genannten Entwicklerzweig, in dem die Subsystem-Verwalter die Arbeit an der jeweils übernächsten Version koordinieren. Das führte zu Unmut, da einige (recht kurzfristig beseitigte) Fehler so erst nach der Aufnahme in den Hauptentwicklungszweig ans Licht kamen; Morton erklärte daraufhin, er bereite die Integration in den des MM-Kernels in Linux-Next bereits vor, der den früher sehr wichtigen MM-Kernel in vielen Bereichen abgelöst hat.

Virtualisierung

Nach dem bei 2.6.37 integrierten Xen-Dom0-Support zogen einige Grundlagen für Xen-Backend-Treiber in den Kernel ein – die zum sinnvollen Betrieb einer Linux-Dom0 benötigten Backend-Treiber wurden aber nicht rechtzeitig fertig und folgen vermutlich bei 2.6.39. Über den "Userspace Grant Access Device Driver" können Xen-Gäste nun Speicherseiten mit einem anderen teilen. Der HVM X2APIC Support soll ferner die Interrupt-Verarbeitung beschleunigen.

Die KVM-Entwickler wollten ihren Hypervisor um "Asynchronous Page Faults" bereichern, aber Torvalds gefielen einige Aspekte der Patches nicht, sodass die KVM-Entwickler sie nochmal überarbeitet wollen. Als wesentlichste Neuerung an KVM verbleibt so die Unterstützung für die Transparent Huge Pages und die Flush-By-Asid genannte Virtualisierungserweiterungen von AMDs Prozessoren der Bulldozer-Familie, die Mitte des Jahres erwartet werden.

mehr ... (http://www.heise.de/open/artikel/Kernel-Log-Was-2-6-38-bringt-5-Architektur-Infrastruktur-und-Virtualisierung-1200909.html?artikelseite=2)

Quelle : www.heise.de
Titel: Kernel-Log – Was 2.6.38 bringt (6): Treiber
Beitrag von: SiLæncer am 10 März, 2011, 09:08
Der HD-Audio-Treiber kann jetzt ohne Interrupts arbeiten und lässt den Prozessoren dann länger schlafen. Zum Kernel stießen für 2.6.38 unter anderem verschiedene Treiber für Touchscreens und Multitouch Panel; der Synaptic-Touchpad-Treiber erkennt ab 2.6.38 mehrere Finger.

In der Nacht von Montag auf Dienstag hat Linus Torvalds die achte Vorabversion von 2.6.38 veröffentlicht. In der Freigabe-Mail schreibt er, es wäre akzeptabel für ihn gewesen, diesen Entwicklungsstand als Linux 2.6.38 freizugeben; da er aber an einigen Tagen der nächsten Woche nicht da sei, hielt er es nicht für sinnvoll, das Merge Window von 2.6.39 zu öffnen.

Die Fertigstellung von 2.6.38 rückt also näher – das Kernel-Log will daher seine Berichterstattung über die Neuerungen von 2.6.38 vervollständigen und widmet sich zum Abschluss der Mini-Serie "Was 2.6.38 bringt" den Treibern aus bislang nicht besprochenen Funktionsbereichen. Teil eins und drei der Artikel-Serie hatten sich mit den Änderungen an dem für Grafikhardware und Netzwerk-Kommunikation zuständigen Code beschäftigt; Teil zwei und vier drehten sich um Dateisysteme und Storage; Architektur-Code, Virtualisierung und Infrastruktur kamen im fünften Teil zur Sprache.

Audio

Der Audio-Code des Kernels kann ab 2.6.38 ohne periodischen Interrupt arbeiten, sofern auch der eingesetzte Alsa-Sound-Treiber das beherrscht – für erste ist das nur der Treiber "hda_intel", der trotz seines Namens auch HDA-Hardware von AMD und Nvidia anspricht. Zusammen mit aktuellen, auf "timer-based scheduling" setzenden Versionen von Pulseaudio reduziert das die Zahl der vom System ausgelösten Interrupts, wodurch die CPU im Idealfall länger in stromsparenden Schlafzuständen verweilt. Pulseaudio-Entwickler Lennart Poettering wird im Commit-Kommentar mit den Worten zitiert, der Patch sei sehr interessant und wünschenswert; er habe lange auf so etwas gewartet.

Der Treiber oxygen spricht ab 2.6.38 auch die Xonar DG von Asus an, der bereits erwähnte HDA-Intel-Treiber nun auch einige von VMware-Produkten emulierte HDA-Chips. Wie immer integrierten die Kernel- und Alsa-Hacker Dutzende von Quirks, durch die einige system- oder herstellerspezifische Sonderbehandlungen idealerweise automatisch angewendet werden – diese auch über Modul-Optionen aktivierbare Spezialbehandlungen sind auf nicht wenigen Systemen für die korrekte Funktion der Audio-Hardware nötig. Ein Beispiel für solch einen Quirk ist etwa ein eine Änderung am Treiber für einen HDA-Chips von Conexant: Sie sorgt dafür, dass die SPDIF-Ausgänge und der Mikrofon-Eingang auf den Asus-Notebook-Familien A52J und U50F korrekt arbeiten. Die Links am Ende des Artikels verweisen zu zahlreichen anderen Quirks für Hardware von Acer, Dell, HP, Lenovo, Samsung oder Sony. Einige weitere Neuerungen rund um Audio-Treiber listet Takashi Iwai in seinem Haupt-Git-Pull-Request.

Media-Subsystem

Den Kompatibilitätscode für Video4Linux der ersten Generation haben die Kernel-Entwickler entfernt (1, 2); auf V4L1 angewiesene Userspace-Anwendungen können über die libv4l1 auf Video-Hardware zugreifen, deren Treiber die zweite, derzeit aktuelle Generation des V4L-APIs nutzen. Auch die noch auf V4L1 angewiesenen und vermutlich kaum noch eingesetzten Treiber cpia und stradis haben die Kernel-Hacker entfernt; niemand hatte sich ihrer angenommen, nachdem sie in vor einigen Monaten in den Staging-Zweig verschoben worden waren. Das gleiche Schicksal droht auch bei 2.6.39 den Treibern dabusb, se401 und usbvideo, die in diesem Entwicklungszyklus in den Staging-Bereich verlagert wurden.

Neu dabei ist der Treiber mb86a20s für den gleichnamigen Chip von Fujitsu – ein Demodulator für das in Japan eingesetzte und in Süd Amerika eingeführte ISDB-T/ISDB-Tsb. Beim noch jungen Code für Fernbedienungen nutzt das Media-Subsystem nun an vielen Stellen nicht mehr das Kürzel "IR" (Infra Red), sondern RC (Remote Controller) (u. a. 1, 2, 3). Den Treiber "lirc_i2c" haben die Entwickler entfernt, weil der Treiber ir-kbd-i2c die gleiche Funktion offeriert. Einen Überblick über weitere Änderungen rund um das für Radio- und Fernseh-Hardware sowie Fernbedienungen zuständige Media-Subsystem liefert dessen Betreuer Mauro Carvalho Chehab in dem wichtigsten seiner für 2.6.38 abgesetzten Git-Pull-Requests.

Staging

Erneut gab es viele und große Änderungen im vorwiegend für Treiber genutzten Staging-Bereich für Code, der den Qualitätsansprüchen seiner Entwickler oder der Kernel-Hacker nicht genügt. Dazu zählt etwa ein für 2.6.38 integrierter Treiber für die RMI4- und TM1217-Touchscreen-Controller von Synaptics.

Im Staging-Bereich landete auch der "Discretix SEP driver" für den Security Processor, den Intel in einige der für Mobile Internet Devices beziehungsweise den Embedded-Bereich gedachte Chips einbaut. Zum Staging-Zweig stießen ferner über 30 Treiber für verschiede im Bereich Industrial I/O (IIO) eingesetzte Chips. Zudem gab es einige Änderungen bei den Staging-WLAN-Treibern, die der dritte Teil der Mini-Serie "Was 2.6.38 bringt" bereits erläutert hat.

mehr ... (http://www.heise.de/open/artikel/Kernel-Log-Was-2-6-38-bringt-6-Treiber-1202105.html?artikelseite=2)

Quelle : www.heise.de
Titel: Linux-Kernel 2.6.38 freigegeben
Beitrag von: SiLæncer am 15 März, 2011, 06:40
Nach lediglich 69 Tagen Entwicklung hat Linus Torvalds den Linux Kernel 2.6.38 veröffentlicht. Er enthält unter anderem eine als "Wunderpatch" bekannt gewordenen Änderung am Prozess-Scheduler, mit der sich Desktop-Umgebung unter bestimmten Bedingungen erheblich schneller reagieren.

Linus zeigte sich von dem Ansatz mehrfach begeistert – etwa in der Freigabe-Mail zur ersten Vorabversion. Dort hob er auch eine andere Umbaumaßnahme hervor: Das Virtual File System (VFS), das zwischen Anwendungen und dem Dateisystem-Code vermittelt, nutzt nun verstärkt RCU (Read Copy Update), was bestimmte Dateisystem-Operationen beschleunigt; laut Torvalds sei eine im Home-Verzeichnis seines Arbeitsplatz-Rechners ausgeführte Dateisystemsuche mit "find" rund 30 Prozent schneller geworden.

Das sind nur zwei von vielen Änderungen, die für Linux-Anwender wichtig sind. So unterstützten die DRM/KMS-Grafiktreiber nun auch einige der neueren Grafikchips von AMD und Nvidia; die WLAN-Treiber für Chips von Atheros, Broadcom, Intel, Ralink und Realtek wurden verbessert und um die Unterstützung weiterer Hardware erweitert. Linux 2.6.38 wird schon mit den im Frühjahr erwarteten Linux-Distributionen Ubuntu 11.04 und Fedora 15 zu den Anwendern kommen.

Details zu diesen und vielen weiteren Neuerungen von Linux 2.6.38 liefert ein Artikel auf heise open. Er gibt auch einen Ausblick auf einige Änderungen, die in den vielleicht schon Ende Mai erscheinenden Linux-Kernel 2.6.39 einziehen dürften:

    * Die Neuerungen von Linux 2.6.38 (http://www.heise.de/open/artikel/Die-Neuerungen-von-Linux-2-6-38-1203073.html)

Quelle : www.heise.de
Titel: Linux: Update für RT-Kernel 2.6.33
Beitrag von: SiLæncer am 22 März, 2011, 12:51
Der Linux-Kernel 2.6.33.8 ist mit zahlreichen Patches auf den aktuellen Stand gebracht worden. Dabei wurden auch etliche Sicherheitslücken geschlossen. Kernel 2.6.33 wird in erster Linie mit Realtime-Patches verwendet.

Mit insgesamt 4.039 neuen Veränderungen an 462 Dateien ist der Linux-Kernel 2.6.33 in einer neunten Auflage erschienen. Die meisten Änderungen sind Korrekturen, einige schließen Sicherheitslücken. Neue Funktionen sind nicht hinzugekommen. Die betagte Kernel-Version erschien bereits im Februar 2010 und wird vielfach als Realtime-Kernel eingesetzt.

Es sehe nicht so aus, als würden die Echtzeitpatches in absehbarer Zeit in neuere Kernel-Versionen eingepflegt, schreibt Kernel-Hacker Greg Kroah-Hartman in der Ankündigungsmail. Deshalb wolle er diese Kernel-Version noch länger pflegen. Kernel 2.6.33.8 trägt deshalb das Prädikat "Longterm".

Die Echtzeitpatches sorgen für niedrigere Latenzzeiten und optimiertes Scheduling. Der RT-Kernel wird vornehmlich im Bereich Multimedia verwendet, etwa bei der Audiobearbeitung.

Quelle : www.golem.de
Titel: Kernel-Log: 2.6.39er-Entwicklung läuft, 33er-Serie wiederbelebt
Beitrag von: SiLæncer am 23 März, 2011, 14:00
Für der Kernel 2.6.39 wurden unter anderen das Xen-Netzwerk-Backend, Unterstützung für ipset sowie der rudimentäre Poulsbo-Grafiktreiber aufgenommen; ferner haben die Kernel-Hacker dem Big Kernel Lock endgültig den Garaus gemacht. Greg Kroah-Hartman hat unterdessen die Pflege für die Kernel-Serie 2.6.33 noch einmal aufgenommen, weil der Echtzeig-Zweig darauf aufsetzt..

Keine 24 Stunden nach der Freigabe von Linux 2.6.38 am Dienstag vergangener Woche begann Linus Torvalds mit der Aufnahme der Änderungen für Linux 2.6.39. Unter den bislang vorgenommenen Commits findet sich das Xen-Netzwerk-Backend für Dom0-Kernel – das zum sinnvollen Dom0-Betrieb ebenfalls nötige Storage-Backend hat die Aufnahme allerdings bislang nicht geschafft.

Wie erwartet ging es den wenigen verbliebenen Nutzern des Big Kernel Lock (BKL) an den Kragen, sodass die Kernel-Hacker die Sperre nun im Rahmen des "BKL: That's all, folks" betitelten Commits komplett entfernten. Neu dabei ist die Unterstützung für die sechste Generation des Programms ipset, mit dem sich bestimmte Netfiler-Regeln optimieren lassen. Zum Staging-Bereich stieß ferner der rudimentäre Grafiktreiber für den GMA500-Grafikchips in Intels US15W-Chipsatz (Poulsbo).

Das sind nur einige der wichtigsten Neuerungen, die wir in den nächsten Wochen im Kernel-Log in der Artikelserie "Was 2.6.39 bringt" näher erläutern werden. In den nächsten Tagen werden noch weitere Änderungen in 2.6.39 einfließen, da Torvalds das Merge Window wohl erst Anfang nächste Woche schließt, sofern er sich denn an seinen üblichen Arbeitsweisen hält.

Kernel-Versionsstatus

Greg Kroah-Hartman hat Anfang der Woche der Woche den Kernel 2.6.33.8 freigegeben, der sich durch über 470 Patches von seinem Vorgänger unterscheidet. Eigentlich hatte Kroah-Hartman die Pflege der 33er-Serie schon vor Monaten eingestellt; er hat sich ihr nun nochmal gewidmet, weil der RT-Tree, der Linux um Echtzeit-Fähigkeiten erweitert, noch auf 2.6.33 aufsetzt. Thomas Gleixner erklärte im Rahmen der Begutachtung von 2.6.33.8, dass er an einer Portierung des RT-Zweigs auf aktuelle Kernel-Versionen arbeite, nannte dabei aber keine Details zum Entwicklungsstand. Anfang des Monats hatte Paul Gortmaker, Betreuer der Longterm-Kernels 2.6.34, eine Portierung des RT-Tree auf 2.6.34 gezeigt – es muss sich zeigen, welche Zukunftsaussichten diese hat.

Der Longterm-Kernel 2.6.32.34 sowie die Stable-Kernel 2.6.37.5 und 2.6.38.1 sind derzeit in der Begutachtungsphase, die in der Nacht von Mittwoch auf Donnerstag endet; wenig später dürften diese Versionen erscheinen. Kroah-Hartman hat keine Hinweise gegeben, wie lange er die 37er-Serie noch pflegen will – durch das Erscheinen von 2.6.38 dürfte sie sich aber dem Ende ihres Lebenszyklus nähern.

Kernel-Log-Staccato

Kernel

    Christoph Hellwig hat das XFS status update für Februar 2011 geschrieben.
    Thomas Gleixner hat kürzlich in einer LKML-Mail einige Probleme umrissen, mit denen die Kernel-Entwickler beim Beseitigen von Fehlern manchmal konfrontiert werden. In diesem Fall ging es um verschiedene Fehlerberichte zu Systemen, die nur bei Angabe des Kernel-Parameters processor/intel_idle.max_cstate=1 starten. Die Kernel-Entwickler könnten Gleixner zufolge meist nicht viel tun, da die Ursache häufig tief im "schwarzen Loch" ACPI/BIOS verberge. Ferner würden die Hersteller einige Techniken anders als vorgesehen nutzen und nur mit dem "anderen Betriebssystem" (Window) testen; in dem Zusammenhand deutete er ironisch an, dass die Hersteller solcher Hardware bei der Ursachenforschung nicht sonderlich hilfreich sind. Das sei alles traurig, aber eben Realität.

Unterstützung für Grafikhardware

    AMD-Entwickler Alex Deucher hat die Version 6.14.1 des X.org-Treiberpakets xf86-video-ati freigegeben. Der darin enthaltene Radeon-Treiber bietet in Kombination mit einigen für Linux 2.6.39 aufgenommenen Änderungen Basis-Unterstützung für die Cayman-Grafikchips, die auf den Radeon-HD-Modellen der 6900er-Reihe sitzen.
    In einer Mailinglistem-Diskussion hat Alex Deucher kürzlich einige Andeutungen zu Abwägungen gemacht, vor denen AMD bei der Entwicklung der Open-Source-Treiber manchmal steht. So seien etwa die Funktionen zum Video-Dekodieren sehr eng mit den für Digital Rights Management zuständigen Einheiten des Grafikchips verzahnt, was die Freigabe von Dokumentation und Treibern für den UVD (Unified Video Decoder) erschwere.
    Die Webseite Linuxaria beschreibt im Artikel "Overview of Xrandr" den Einsatz von xrandr, einem Kommandozeilenprogramm zum Einstellen der Bildschirm-Konfiguration über RandR (X Resize, Rotate and Reflect Extension).

Kernel-Umland ("Plumbing layer"), Userland-Treiber, Entwicklertools, ...

    Git-Zweig, Archive, Dokumentation und Wiki des distributionsübergreifend ausgelegten Tools Dracut zum Erstellen einer Initrd liegen neuerdings auf Kernel.org.
    Die Entwickler des Projekts Hplip (Hewlett-Packard's Linux Imaging and Printing Software) haben die Version 3.11.3 der gleichnamigen Treiber für Drucker und Multifunktionsgeräte von HP veröffentlicht. Die Release Notes geben einen detaillierten Überblick über die wichtigsten Neuerungen – etwa die Unterstützung für zahlreiche DesignJet-Modelle oder den LaserJet CP1520.
    Greg Kroah-Hartman hat die Version 002 der usbutils freigegeben.
    Seit Anfang des Monats sind die Squashfs Tools 4.2 erhältlich, die Images mit dem aus LZMA hervorgegangenen XZ-Format komprimieren können; die Unterstützung zum Einbinden solcher Images bietet Linux 2.6.38.
    Stephen Hemminger hat die zum Kernel 2.6.38 passende und mit der selben Nummernfolge gekennzeichnete Version der Netzwerk-Werkzeugsammlung iproute2 veröffentlicht.
    Scott James Remnant hat Upstart 1.1 fertig gestellt.
    Michael J. Schultz möchte in einer Serie von Blog-Einträgen die Funktionsweise des Netzwerk-Stacks von Linux erläutern und beschreibt im ersten und bislang einzigen Teil der Serie einige Aspekte rund um die Aufgaben von Netzwerktreibern.
    Rafael J. Wysocki erklärt im Rahmen der Freigabe-Mail zu den suspend-utils 1.0, die Weiterentwicklung des insbesondere bei Suse Linux eingesetzten Programms s2ram und der zugehörigen genutzten Whitelist weitgehend einzustellen; mit den ebenfalls zur Werkzeugsammlung gehörenden Tools zur Ansteuern des Ruhezustands (Hibernate/Software-Suspend) soll es aber weitergehen.
    Die Organisatoren Linux-Kongresses, den schon Linus Torvalds und vielen anderen bekannte Kernel-Hacker besucht haben, setzen die alteingesessene Veranstaltung in diesem Jahr aus. Mit der LinuxCon Europe, der Embedded Linux Conference Europe und dem Linux Kernel Summit hätten bereits drei Konferenzen ihren Weg nach Europa gefunden. Die GUUG will daher mit der Linux Foundation zusammenarbeiten und durch Engagement in verschiedenen Bereichen dazu Beitragen, die LinuxCon zu einem Erfolg zu machen. Deren Call for Participation (CFP) endet am 8. Juli.
    Thomas Renninger hat die erste Version der cpupowerutils angekündigt. Sie beerben die cpufrequtils und enthalten das in der Freigabe-Mail mit Beispielen erläuterte Kommandozeilen-Werkzeug cpupower, das unter anderem Informationen zur Nutzung der Stromspar- und Übertaktungs-Funktionen moderner Prozessoren ausgibt. 

(http://www.heise.de/open/imgs/10/6/4/5/7/3/4/d471fa4bac875192.png)
Das neue Programm cpupower liefert Inforamtionen zur Nutzung der Stromspar- und Übertaktungs-Funktionen moderner Prozessoren.

Quelle : www.heise.de
Titel: Kernel-Log: Erster Release Candidate von Linux 2.6.39
Beitrag von: SiLæncer am 30 März, 2011, 13:54
Torvalds stuft 2.6.39 als eher solide Version mit langweiligen Fortschritten ein. Mit Ipset-Unterstützung, dem Xen-Netzwerk-Backend sowie vielen neuen und überarbeiteten Treibern bringt die Ende Mai oder Anfang Juni erwartete Version aber durchaus wichtige Verbesserungen.

Fünfzehn Tage nach der Freigabe von Linux 2.6.38 hat Linus Torvalds das Merge Window von Linux 2.6.39 mit der Veröffentlichung von 2.6.39-rc1 geschlossen und damit die Aufnahme der größten Änderungen für 2.6.39 beendet. Am Ende der Freigabe-Mail erwähnt Torvalds, er habe den Eindruck, dies sei eine der soliden Versionen mit langweiligen Fortschritten ('But on the whole I think this should be one of those "solid, boring progress" releases.'); bei 2.6.38 hatte er sich über die Autogruppierung von Prozessen und die Optimierungen am VFS aber auch ungewohnt begeistert gezeigt.

Änderungen gab es allerdings wie üblich reichlich – das zeigt auch der Diffstat, laut dem die Kernel-Hacker schon bei der ersten Vorabversion von Linux 2.6.39 mehr Zeilen Code aufgenommen, entfernt oder umhergeschoben haben als bei 2.6.38:

   2.6.38: 9158 files changed, 748179 insertions(+), 455943 deletions(-)
    2.6.39-rc1: 8995 files changed, 828740 insertions(+), 509303 deletions(-)


Mitverantwortlich dafür ist die neu hinzugekommene Unterstützung für die Unicore32-Architektur einiger primär in China erhältlicher Prozessoren. Ebenfalls neu dabei sind der Xen-Backend-Treiber zur Netzwerk-Kommunikation, Unterstützung für ipset (ein Tool zur dynamischen Optimierung von Netfilter-Regeln) und das Media Controller Subsystem, mit dem sich die in immer mehr Geräten verbauten Videokameras ansprechen lassen. Aufgenommen wurden fener ein Platform-Treiber für Samsung-Notebooks, ein rudimentärer KMS-Treiber für Radeon-HD-6900er-Grafikkarten sowie Batched-Discard-Unterstützung für das weiterhin experimentelle Btrfs. Aus dem Umfeld der Echtzeit-Entwickler kamen Patches, durch die der Kernel fast alle Interrupts mit Threads abarbeitet; in diesem Rahmen nahm Thomas Gleixner zudem größere Umbauten und Aufräumarbeiten im IRQ-Handling-Code der verschiedenen von Linux unterstützten Architekturen vor. Wie erwartet ging es den letzten verbliebenen Nutzern des Big Kernel Lock an den Kragen, sodass die Kernel-Hacker das BKL nun im Rahmen des "BKL: That's all, folks" betitelten Commits komplett entfernten.

Das Kernel-Log in c't und auf heise open wird in den kommenden Wochen detailliert über diese und zahlreiche weitere Neuerungen von Kernel 2.6.39 berichten. Torvalds dürfte den neuen Kernel Ende Mai oder Anfang Juni freigeben, wenn er und seine Mitstreiter im üblichen Tempo arbeiten.

Einblicke

Einige Diskussionen auf der Linux Kernel Mailing List während der Hauptentwicklungsphase von 2.6.39 erlauben tiefere Einblicke in einige Aspekte der Kernel-Entwicklung. So schreibt Torvalds in der Freigabe-Mail zum RC1, der Kernel habe zwischendurch "XFS-Dateisysteme zum Frühstück gegessen", was aber nun behoben sei. Das zeigt eine der Gefahren beim Testen von Vorabversionen des Kernels – solch gravierende Probleme treten allerdings nur selten auf. Typischerweise werden sie schnell korrigiert, um die ohnehin schon raren Tester nicht zu verschrecken; nach unseren Erfahrungen ist die Gefahr von Datenverlust ab dem RC2 kaum größer als beim Einspielen einer fertigen Kernel-Version.

Wie sich Torvalds gelegentlich dafür einsetzt, dass auch Details stimmen, zeigt seine Antwort auf einen von Rafael J. Wysocki abgesetzten Git-Pull-Request. Letzterer enthielt Patches, welche die Konfigurationsoptionen für die Power-Management-Funktionen des Kernels umstrukturierten. Torvalds gefielen allerdings einige Aspekte nicht: Es sei idiotisch zu fragen, Anwender zu fragen, ob sie "Schnittstellen für Funktionen wollen, die für den Ruhezustand zuständig sind". Das kümmere Anwender nicht und sei auch nichts, worum sie sich zu kümmern hätten – sie wollten einfach Hibernate-Support.

Problemfeld Grafiktreiber

In einer weiteren LKML-Diskussion hat Linus Torvalds darauf hingewiesen, dass der im Merge Window aufgenommenen Code vor Beginn des Merge Window entwickelt und getestet werden solle. Den einzigen neuen Code, den er in der Hauptentwicklungsphase sehen wolle, sei solcher, der Fehler beseitigt. Auslöser war der Git-Pull-Request für das DRM-Subsystem, der einen kurz zuvor erschienenen Patch enthielt, an dem ein andere Entwickler einen Aspekt kritisiert hatte.

Dave Airlie erklärte daraufhin, der diskutierte Patch sei die Aufregung nicht wert. Der Verwalter des DRM/KMS-Subsystems gestand aber ein, gelegentlich jungen Code zur Aufnahme einzusenden, weil er Fehler in Treiber-Code beseitige, der bei der letzten Version aufgenommen wurde, oder weil er die Hardware-Unterstützung verbessere; würde er solche Sachen zurückhalten, dann käme der Code erst sechs Monate später bei den Anwendern an. Er führt die Gründe noch weiter aus und erwähnt Überlegungen, die Treiber wieder unabhängig vom Kernel zu entwickeln – das würde aber ganz andere Probleme mit sich bringen. Auch Jerome Glisse, der an dem Radeon-Treiber mitarbeitet, meldete sich zu Wort und erwähnte etwa, dass ein stabiles Kernel-API für DRM-Treiber seiner Ansicht nach keine gute Lösung sei. Die Diskussion führte letztlich zu nichts, zeigt aber einige der Probleme, mit denen die Entwickler der Grafiktreiber für Kernel, Mesa 3D und X.org zu kämpfen haben.

Kernel-Versionsstatus

Greg Kroah-Hartman hat die Stable-Kernel 2.6.38.2 und 2.6.37.6 sowie den Longterm-Kernel 2.6.32.36 freigegeben; wenig später legte er dann noch den als Basis für die Echtzeit-Erweiterungen aus dem RT-Tree interessanten Kernel 2.6.33.9 nach. Die ersten drei enthalten wie üblich den nachdrücklichen Aufruf zum Update auf die neuste Version. Die Pflege der 37er-Serie stellt Kroah-Hartman mit 2.6.37.6 ein, daher ruft er in dessen Freigabe-Mail zusätzlich zum Wechsel auf den neuen 38er-Kernel auf.

Kernel-Log-Staccato

Kernel

    Greg Kroah-Hartman weist in seinem Blog darauf hin, dass der Kernel nun schon seit einigen Versionen eine Locking-Lösung bietet, die mit den vom Android-Kernel genutzten Wakelocks (auch Suspend Blocker genannt) vergleichbar ist – über die wurde vergangenes Jahr lange und kontrovers diskutiert. Es gäbe daher keine großen Hürden bei der Aufnahme von Kernel-Treibern, die für Android geschrieben wurden. Kroah-Hartman fordert dazu auf, solche Treiber zur Aufnahme einzusenden.
    Einige Kernel-Hacker wiesen kürzlich den Vorschlag des ACPI-Subsystem-Verwalters zurück, die Unterstützung für APM (Advanced Power Management) bei 2.6.40 aus dem Kernel zu werfen; die später aufgekommenen Idee, die Unterstützung für APM Idle zu entfernen, fand jedoch selbst die Zustimmung von Linus Torvalds.
    Jon Masters hat den in den letzten Monaten eingeschlafenen Linux Kernel Podcast wieder reaktiviert; in der Niederschrift des Podcasts für die vergangene Woche erwähnt er unter anderem eine LKML-Diskussion zu SMBIOS und DMI oder den Vorschlag zum Entfernen der APM-Unterstützung.

Unterstützung für Grafikhardware

    Jeremy Huddleston hat eine Vorabversion des X-Server 1.10.1 freigegeben, die durch Beseitigen einiger Fehler stabiler laufen soll.

Kernel-Umland ("Plumbing layer"), Userland-Treiber, Entwicklertools, ...

    Die Entwickler des Projekts Hplip (Hewlett-Packard's Linux Imaging and Printing Software) haben die Version 3.11.3a des gleichnamigen Treiber-Pakets für Drucker und Multifunktionsgeräte von HP veröffentlicht, die einen Fehler der Version 3.11.3 behebt.
    Junio C Hamano hat Git 1.7.4.2 freigegeben.
    Neil Brown hat das als Stabil eingestufte mdadm 3.1.5 veröffentlicht, das einige Fehler beseitigt, die er bei der Arbeit an den Versionen 3.2.0 und 3.2.1 entdeckt hat; letztere soll bald erscheinen.
    Die bridge-utils 1.5 bieten erstmals einen 'hairpin' genannten Modus zum Port-Forwarding. Stephen Hemminger erwähnt im Rahmen der Freigabe-Mail, dass dies wohl die letzte Version der Werkzeug-Sammlung zur Bridge-Konfiguration sei; er arbeite daran, auf Netlink aufsetzende Bridge-Tools in iproute2 zu integrieren.
    Jean Delvare listet in der Freigabe-Mail zu lm-sensors 3.3.0 dessen wichtigsten Neuerungen auf – etwa das Ansprechen von Sensoren zur Bestimmung der Luftfeuchtigkeit oder solchen zur Intrusion Detection. Die Version unterstützt zudem einige der Funktionen, die neuere Treiber zum Hardware-Monitoring bieten.

Quelle und Links : http://www.heise.de/open/artikel/Kernel-Log-Erster-Release-Candidate-von-Linux-2-6-39-1217118.html
Titel: Kernel-Log – Was 2.6.39 bringt (1): Netzwerk-Treiber und -Infrastruktur
Beitrag von: SiLæncer am 13 April, 2011, 13:52
Die neue Ipset-Unterstützung vereinfacht den Betrieb einer Firewall, denn mit ihr muss man lediglich eine Tabelle anpassen, um etwa eine ganze Reihe von IP-Adressen zu blockieren. Die Treiber-Situation für WLAN-Chips verbessert sich weiter, da nun auch Ralink und Realtek sich aktiv an der Weiterentwicklung der Treiber im Linux-Kernel beteiligen.

In den Freigabe-Mails zur zweiten und dritten Vorabversion des Linux-Kernels 2.6.39 merkte Torvalds jeweils an, es habe vergleichsweise wenig Änderungen gegeben. Beim RC2 zeigt er sich darüber sehr verwundert und fragte, ob die anderen Kernel-Hacker etwas im Schilde führen würden. Beim am Dienstag dieser Woche freigegebenen RC3 scherzte er abermals in diese Richtung; er lässt aber in beiden Mails auch durchblicken, dass er sich darüber freut und auf einen ruhigen Entwicklungszyklus hofft.

Wie üblich war das Gros der Änderungen für die nächste größere Kernel-Überarbeitung bereits im Merge Window in den Hauptentwicklungszweig eingezogen. Das Kernel-Log kann daher schon jetzt einen umfassenden Überblick über die wichtigsten Neuerungen des Mitte oder Ende Mai erwarteten Kernel 2.6.39 geben. Verschiedene Artikel werden sich dabei nach und nach den verschiedenen Funktionsbereichen des Kernels annehmen. Den Anfang der Mini-Serie "Was 2.6.39 bringt" macht die folgende Beschreibung der wichtigsten Änderungen am Netzwerk-Stack und den darauf aufsetzenden Treibern. In den kommenden Wochen folgen Artikel zur Grafik-Treibern, Storage-Unterstützung, Dateisystemen, Architektur-Code, Infrastruktur und Treibern für andere Hardware.

Sätze

Nach langer Entwicklung unabhängig vom Kernel stieß nun die Unterstützung für die aktuelle Generation von Ipset zum Linux-Kernel (u.a. 1). Dieses Kommandozeilenprogramm erstellt im Speicher vorgehaltene Tabellen, die typischerweise IP-Adressen oder TCP/UDP-Ports enthalten – etwa eine Liste mit IP-Adressen, die geblockt werden sollen. Der Firewall-Code kann diese Tabellen bei der Paket-Prüfung konsultieren; dazu ist lediglich eine einzelne Iptables-Regel nötig, welche die zu verwendende Tabelle spezifiziert. Das kann das Aufsetzen einer Firewall vereinfachen.

Die Tabellen sind zudem deutlich einfacher und schneller aktualisierbar, als sich Iptables-Regeln einfügen oder entfernen lassen – das erleichtert das vorübergehende Aussperren eines Angreifers. Darüber hinaus soll der Kernel die Tabellen erheblich flotter verarbeiten als einen vergleichbaren Satz einzelner Iptables-Regeln.

Einige speziell auf den Firewall-Betrieb ausgelegte Linux-Distributionen haben daher schon lange Ipset-Unterstützung eingebaut. Die Ipset-Homepage listet die wichtigsten Funktionen des Programms und liefert Tipps und Beispiele; Hintergründe zum Einsatz liefern auch die dort abrufbaren Man-Pages zu Ipset und Iptables.

TCP-Feintuning

Die Kernel-Hacker haben im Code für das TCP-Protokoll die Standard-Einstellung für das Initial Congestion Window vergrößert, was die Latenzen bei der Netzwerkkommunikation um 10 Prozent reduzieren kann. Die Änderung geht auf Google-Entwickler zurück, die bei Forschungen mit verschiedenen Betriebssystemen festgestellt hatten, dass einige Standardvorgaben im TCP-Stack von Linux nicht ideal für moderne Internet-Kommunikation waren. Die Kernel-Hacker passten daraufhin bei 2.6.38 bereits das Initial Receive Window an; Hintergründe zu diesen beiden Änderungen liefert LWN.net im Artikel "Increasing the TCP initial congestion window".

Realtek-WLAN

Aufgenommen haben die Kernel-Entwickler den WLAN-Treiber rtl8192cu für die Realtek-USB-WLAN-Bausteine RTL8192CU und RTL8188CU (u.a. 1, 2). Genau wie der bei 2.6.38 integrierte Realtek-WLAN-Treiber rtl8192ce setzt er auf den WLAN-Stack des Kernels auf und wurde maßgeblich von Realtek selbst entwickelt. Ältere unter der GPLv2 stehende WLAN-Treiber von Realtek brachten einen eigenen WLAN-Stack mit und schafften es daher zumeist nur in den Staging-Zweig. In der Praxis sind diese Treiber häufig hakelig, da manche Distributionen Staging-Treiber nicht mitliefern; zudem zeigen manche dieser Treiber Probleme beim Zusammenspiel mit Programmen wie dem NetworkManager.

Die Integration der beiden Treiber in den Kernel hat Realtek allerdings nicht selbst vorangetrieben; vielmehr ist sie maßgeblich dem Kernel-Hacker Larry Finger zu verdanken, der einige Aufräumarbeiten vornahm und zwischen Realtek und anderen WLAN-Treiber-Hackern vermittelt. Durch diese Bestrebungen scheint sich die Lage bei Treibern für Realtek-WLAN-Chips langsam zu bessern; ob es für die derzeit nur von Staging-Treibern untersüttzten Realtek-Chips auch noch bessere Treiber geben wird, steht aber noch in den Sternen.

Ralink-WLAN

Den Treiber rt2800pci haben die Entwickler um experimentelle Unterstützung für den Ralink-WLAN-Chip RT5390 erweitert; diese ist allerdings als noch nicht funktionstüchtig gekennzeichnet und richtet sich für erste nur an Tester und Entwickler. Genau wie bei den Realtek-Treibern dürfte sich auch die Lage bei WLAN-Treiber für Bausteine von Ralink in Zukunft verbessern, da das Unternehmen neuerdings an den im Rt2x00-Projekt entstandenen Treibern direkt mitarbeitet, die vor langer Zeit zum Kernel stießen. Das berichtete Greg Kroah-Hartman vor einigen Wochen in seinem Blog; ähnlich wie Realtek hatte auch Ralink lange eigene Treiber entwickelt, die es aufgrund von Qualitätsmängeln nur bis in den Staging-Zweig geschafft hatten.

Die Treiber vom Rt2x00-Projekts entstanden weitgehend unabhängig von jenen, die Ralink entwickelt hat; mittlerweile unterstützen Erstere viele Chips genauso gut oder besser. Die Staging-Treiber rt2860sta und rt2870sta für USB-WLAN-Chips von Ralink dürften daher bei 2.6.40 vermutlich aus dem Kernel fliegen, denn sie sprechen WLAN-Bausteine an, die der Rt2x00-Treiber rt2800usb mittlerweile unterstützt (1, 2). Wer mit Letzterem noch Probleme hat und daher einen der beiden Staging-Treiber einsetzt, sollte das den Kernel-Hackern zügig melden, damit sie die Probleme beseitigen können oder den Rauswurf vertagen.

WLAN-Treiber

Wie schon bei 2.6.37 und 2.6.38 haben die Kernel-Hacker den Code für 802.11n-Chips von Broadcom im Treiber b43 weiter ausgebaut, wodurch dieser nun auch 802.11n-PHYs ab der dritten Generation anspricht (u. a. 1, 2) Einen guten Überblick, welche Broadcom-Chips der Treiber dadurch nun erstmals oder besser unterstützt, liefern die aktuelle Wiki-Seite zum Treiber sowie die Änderungen, die seit Mitte März an ihr vorgenommen wurden; die Bausteine BCM4321 und BCM4322 zählen nun etwa zu den teilweise unterstützten Chips. Die Bausteine BCM4313, BCM43224 und BCM43225 kann der Treiber aber weiterhin nicht ansprechen; die Wiki-Seite listet aber auch, welche dieser Chips der proprietäre Treiber wl oder die von Broadcom selbst vorangetrieben Staging-Treiber ansprechen.

Der Treiber iwlwifi spricht nun auch die WLAN-Chips aus Intels 2000er-Serie an (u. a. 1, 2). Um die Pflege dieses WLAN-Treiber für neuere WLAN-Bausteine von Intel zu erleichtern, haben die Entwickler die Unterstützung für die Baureihen IPW3945 (802.11g) und IPW4965 (802.11n) in den neu angelegten Treiber iwlegacy auslagert.

Der einige USB-Chips von Atheros ansprechende Treiber ar9170usb soll bei 2.6.40 aus dem Kernel fliegen, da der bei 2.6.37 integrierte Treiber carl9170 ihn ersetzt.

Staccato

Nach der bei 2.6.37 integrierten Basis-Infrastruktur zum Betrieb als Xen-Host (Dom0) folgt mit Kernel 2.6.39 das Netzwerk-Backend, über das die Frontend-Treiber in Xen-Gästen (DomU) mit anderen Systemen kommunizieren. Das Storage-Backend fehlt allerdings weiterhin, daher wird kein sinnvoller Betrieb als Dom0 möglich sein, ohne weitere Patches einzubinden.
   
Zum Netzwerk-Stack stieß der Paket-Scheduler CHOKe ("CHOose and Kill" oder "CHOose and Keep"). Er basiert auf dem Algorithmus Random Exponential Drop (RED) und ist primär für Router und Bridges interessant, um Überlastungen beziehungsweise Staus zu vermeiden; Hintergründe dazu liefert LWN.net in "The CHOKe packet scheduler". Neu ist auch der Stochastic Fair Blue (SFC) scheduler, der Ideen der 1999 publizierten Forschungsarbeit "BLUE: A New Class of Active Queue Management Algorithms" aufgreift.
   
Der Bluetooth-Code beherrscht nun die in der Bluetooth-Spezifikation 4.0 definierten Low Energy (LE) Connections. Neu dabei ist auch der Bluetooth-Treiber btwilink für den WiLink7 von Texas Instruments. Zudem gab es eine ganze Reihe von Nokia-Entwicklern eingebrachte Detailverbesserungen im Bluetooth-Code, zu denen die Links im Artikelabschnitt "Die kleinen Perlen" führen.
   
Der Netzwerk-Stack bietet ab 2.6.39 Mechanismen, um einige Aufgaben für QoS (Quality of service) an Hardware auszulagern.
   
USB-Netzwerk-Chips mit einer global eindeutigen MAC-Adresse weist der Kernel fortan mit "eth" beginnende Namen zu; für andere, typischerweise zur Point-To-Point-Kommunikation eingesetzte Chips bleibt es beim Präfix "usb".
   
Der USB-NIC-Treiber smsc95xx unterstützt jetzt auch die SMSC-Chips LAN9530, LAN9730 und LAN89530.
   
Der Treiber wl12xx für die WLAN-Bausteine wl1271 and wl1273 von Texas Instruments beherrscht nun auch den Betrieb als Acess Point (AP) (u. a. 1, 2, 3, 4, 5).
   
Zum Kernel stieß auch der Treiber c_can für den C_CAN Controller von Bosch, dessen Logik in einigen Produkten von ST Microelectronics steckt.
   
Der für Encapsulating Security Payload (ESP) zuständige Funktionen erweiterten die Kernel-Hacker um Unterstützung für die in RFC 4303 spezifizierten IPsec Extended Sequence Numbers (ESN) (1, 2).

Eine Reihe weitere Verbesserungen listet Netzwerk-Subsystem-Maintainer David Miller in den während des Merge Window ausgesandten Git-Pull-Requests (1, 2, 3). Darin bezeichnet er die Ipset-Unterstützung als "totally awesome" und geht auf zahlreiche Änderungen an der Routing-Infrastuktur näher ein – darunter etwa einige Änderungen am Code für Routing-Statistiken, die das Locking verändern und so die Skalierbarkeit verbessern; bereits bei 2.6.37 und 2.6.38 gab es Verbesserungen in diesem Bereich.

Die kleinen Perlen

Viele kleinere, aber keineswegs unbedeutende Neuerungen finden sich in der folgenden Liste mit den englischen Commit-Überschriften der jeweiligen Änderung. Die Einträge verlinken genau wie viele der Verweise im vorangegangenen Text auf das Webfrontend des von Linus Torvalds gepflegten Git-Zweigs mit den "offiziellen" Kernel-Quellen auf Kernel.org. Der über diese Links angezeigten Commit-Kommentar und der darunter ausgegebene Patch liefern zahlreiche weitere Informationen zur jeweiligen Änderungen.

Vor jedem Link finden sich in eckigen Klammern einige Buchstaben und Zahlen. Ein "C" kennzeichnet Patches mit Änderungen an Kconfig-Dateien, welche die Konfigurationsoptionen samt der zugehörigen Hilfetexte enthalten, die bei der Kernel-Konfiguration über "make menuconfig" oder "make xconfig" angezeigt werden. Ein "D" steht bei Patches, die die Dokumentation verändern, die im Kernel-Zweig unterhalb von Documentation/ liegt. Ein "N" weist Änderungen aus, die eine neue Datei anlegen. Die Zahl vermittelt einen groben Eindruck zur Größe des Patches: eine "1" kennzeichnet Änderungen, die inklusive Kommentar zwischen 10 und 20 KByte groß sind, eine "2" für solche, die zwischen 20 und 30 KByte Umfang haben; Änderungen ohne Zahl sind kleiner als 10 KByte, Patches mit einer "9" hingegen 90 KByte oder größer.

LAN

    [    ] be2net: add code to display temperature of ASIC
    [    ] be2net: add new counters to display via ethtool stats
    [   9] bnx2: Update firmware and version
    [    ] bnx2x: Add support for new PHY BCM84833
    [C   ] CS89x0: Add networking support for QQ2440
    [    ] DM9000: Allow randomised ethernet address
    [    ] e1000e: disable jumbo frames on 82579 when MACsec enabled in EEPROM
    [    ] ethtool: enable GSO and GRO by default
    [    ] igb: Add DMA Coalescing feature to driver
    [    ] igb: Add Energy Efficient Ethernet (EEE) for i350 devices.
    [    ] igb: Add support for i340 Quad Port Fiber Adapter
    [    ] igb: add support for VF Transmit rate limit using iproute2
    [    ] igb: Enable PF side of SR-IOV support for i350 devices
    [    ] ixgbe: add support for VF Transmit rate limit using iproute2
    [    ] ixgbe: add support to FCoE DDP in target mode
    [   1] ixgbe: DCB, implement 802.1Qaz routines
    [    ] ixgbe: Enable Jumbo Frames on the X540 10Gigabit Controller
    [    ] ixgbe: IEEE 802.1Qaz, implement priority assignment table
    [   1] ixgbe: update PHY code to support 100Mbps as well as 1G/10G
    [    ] ixgbevf: Enable jumbo frame support for X540 VF
    [    ] loopback: convert to hw_features
    [    ] MAINTAINERS: add entry for Xen network backend
    [   2] mlx4: Add support for promiscuous mode in the new steering model.
    [   2] mlx4_en: Enabling new steering
    [   1] mlx4: generalization of multicast steering.
    [    ] mlx4: Wake on LAN support
    [C N4] net: add Faraday FTMAC100 10/100 Ethernet driver
    [    ] net: sh_eth: add support for SH7757's GETHER
    [    ] netxen: support for GbE port settings
    [  N ] phy/micrel: add ability to support 50MHz RMII clock on KZS8051RNL
    [    ] qeth: change some configurations defaults
    [    ] r8169: support control of advertising.
    [    ] r8169: support the new chips for RTL8105E.
    [   1] sfc: Add TX queues for high-priority traffic
    [    ] sfc: Bump version to 3.1
    [    ] sfc: Implement hardware acceleration of RFS
    [    ] sh: sh_eth: Add support ethtool
    [    ] smc91x: add devicetree support
    [    ] tg3: Use new VLAN code
    [    ] tlan: add suspend/resume support
    [    ] vxge: update driver version

WLAN

    [    ] ath5k: Enable AR2315 chipset recognition
    [    ] ath9k_hw: Add RX filters
    [   5] ath9k_hw: Updates for AR9485 1.1 chipsets.
    [    ] b43: fill PHY ctl word1 in TX header for N-PHY
    [    ] b43: N-PHY: rev3+: add tables with gain ctl workarounds
    [    ] b43: N-PHY: rev3+: correct switching analog core
    [ D  ] batman-adv: Merge README of v2011.0.0 release
    [    ] carl9170: enable wake-on-lan feature testing
    [   1] cfg80211: Extend channel to frequency mapping for 802.11j
    [    ] ieee80211: add IEEE80211_COUNTRY_STRING_LEN definition
    [    ] iwl3945: disable hw scan by default
    [    ] iwl3945: do not deprecate software scan
    [    ] iwlagn: add 2000 series EEPROM version
    [C   ] iwlagn: add 2000 series to Kconfig
    [    ] iwlagn: add bt config structure support for 2000 series
    [    ] iwlagn: add BT Session Activity 2 UART message (BT -> WiFi)
    [    ] iwlagn: add IQ inversion support for 2000 series devices
    [    ] iwlagn: add support for waiting for notifications
    [    ] iwlagn: enable BT session 2 type UART for 2000 series
    [    ] iwlagn: Enable idle powersave mode in 1000 series
    [C   ] iwlagn: remove Gen2 from Kconfig
    [    ] iwlagn: Support new 1000 microcode.
    [   1] iwlagn: support off-channel TX
    [    ] iwlwifi: add {ack,plpc}_check module parameters
    [    ] iwlwifi: add hw rev for 2000 series devices
    [    ] iwlwifi: always support idle mode for agn devices
    [    ] iwlwifi: implement remain-on-channel
    [C   ] iwlwifi: initial P2P support
    [    ] mac80211: add hw configuration for max ampdu buffer size
    [    ] mac80211: Add log message to ieee80211_restart_hw()
    [    ] mac80211: Add power to debugfs.
    [    ] mac80211: add support for showing the last rx bitrate
    [    ] mac80211: Make some mlme timers module paramaters.
    [    ] mac80211: support direct offchannel TX offload
    [    ] mwl8k: Enable HW encryption for AP mode
    [    ] net/wireless: add COUNTRY to to regulatory device uevent
    [    ] rt2x00: Add 2L Central Europe BV 8070
    [    ] rt2x00: Add antenna setting for RT3070/RT3090/RT3390 with RX antenna diversity support
    [    ] rt2x00: Add Planex Communications, Inc. RT8070
    [    ] rt2x00: Add rt2870 device id
    [    ] rt2x00: Add unknown Toshiba device
    [    ] rt2x00: Fix and fine-tune rf registers for RT3070/RT3071/RT3090
    [  N4] rtlwifi: Add headers for rtl8187cu
    [    ] rtlwifi: Make changes in rtlwifi/rtl8192ce/def.h to support rtl8192cu
    [    ] rtlwifi: Make changes in rtlwifi/rtl8192ce/reg.h to support rtl8192cu
    [C N6] rtlwifi: rtl8192ce: rtl8192cu: Fix multiple def errors for allyesconfig build
    [  N7] rtlwifi: rtl8192cu: Add routine hw
    [  N3] rtlwifi: rtl8192cu: Add routine mac
    [  N2] rtlwifi: rtl8192cu: Add routine phy
    [  N1] rtlwifi: rtl8192cu: Add routine rf
    [  N2] rtlwifi: rtl8192cu: Add routines dm, fw, led and sw
    [  N4] rtlwifi: rtl8192cu: Add routine table
    [  N2] rtlwifi: rtl8192cu: Add routine trx
    [    ] wireless: rt2x00: rt2800usb.c add and identify ids
    [    ] wl1251: enable adhoc mode
    [    ] wl1251: enable beacon early termination while in power-saving mode
    [    ] wl1251: implement connection quality monitoring
    [    ] wl12xx: Add AP related definitions to HOST-FW interface
    [    ] wl12xx: AP mode - add AP specific event
    [    ] wl12xx: AP mode - add STA add/remove ops
    [    ] wl12xx: AP-mode - support HW based link PS monitoring
    [   1] wl12xx: BA initiator support
    [    ] wl12xx: BA receiver support
    [   1] wl12xx: move to new firmware (6.1.3.50.49)
    [   1] zd1211rw: add beacon watchdog and setting HW beacon more failsafe
    [   1] zd1211rw: add TX watchdog and device resetting
    [    ] zd1211rw: TrendNet TEW-509UB id added

Various

    [    ] af_unix: implement socket filter
    [    ] Bluetooth: Add class of device control to the management interface
    [    ] Bluetooth: Add connected/disconnected management events
    [    ] Bluetooth: Add connection parameter update response
    [    ] Bluetooth: Add controller side link key clearing to hci_init_req
    [    ] Bluetooth: Add disconnect managment command
    [    ] Bluetooth: Add firmware support for Atheros 3012
    [    ] Bluetooth: Add flag to track managment controlled adapters
    [    ] Bluetooth: Add get_connections managment interface command
    [    ] Bluetooth: Add LE connection support to L2CAP
    [    ] Bluetooth: Add low energy commands and events
    [    ] Bluetooth: Add management support for user confirmation request
    [    ] Bluetooth: Add send_mode_rsp convenience function for mgmt.c
    [    ] Bluetooth: Add server socket support for LE connection
    [    ] Bluetooth: Add set_connectable management command
    [    ] Bluetooth: Add set_io_capability management command
    [  N ] Bluetooth: Add SMP command structures
    [    ] Bluetooth: Add special handling with __hci_request and HCI_INIT
    [    ] Bluetooth: add support for Apple MacBook Pro 8,2
    [    ] Bluetooth: Add support for connect failed management event
    [    ] Bluetooth: Add support for management powered event
    [    ] Bluetooth: Add support for PIN code handling in the management interface
    [    ] Bluetooth: Add support for set_discoverable management command
    [    ] Bluetooth: Add support for set_powered management command
    [    ] Bluetooth: Implement a more complete adapter initialization sequence
    [    ] Bluetooth: Implement automatic setup procedure for local adapters
    [    ] Bluetooth: Implement debugfs support for listing UUIDs
    [   1] Bluetooth: Implement link key handling for the management interface
    [    ] Bluetooth: Implement set_pairable managment command
    [    ] Bluetooth: Implement UUID handling through the management interface
    [  N1] Bluetooth: Initial work for L2CAP split.
    [C   ] Bluetooth: Merge L2CAP and SCO modules into bluetooth.ko
    [    ] dsa/mv88e6131: add support for mv88e6085 switch
    [    ] ipv4: Cache source address in nexthop entries.
    [    ] ipv4: optimize route adding on secondary promotion
    [    ] IPVS: Backup, adding version 0 sending capabilities
    [   2] IPVS: Backup, Adding Version 1 receive capability
    [C N1] lib: cpu_rmap: CPU affinity reverse-mapping
    [    ] net: add proper documentation for previously added net_device_ops for FCoE
    [    ] net_device: add support for network device groups
    [C N ] netfilter: audit target to record accepted/dropped packets
    [C N1] netfilter: ipset: bitmap:ip,mac type support
    [C N2] netfilter: ipset: bitmap:ip set type support
    [C N1] netfilter: ipset; bitmap:port set type support
    [C N1] netfilter: ipset: hash:ip,port,ip set type support
    [C N1] netfilter: ipset: hash:ip,port,net set type support
    [C N1] netfilter: ipset: hash:ip,port set type support
    [C N4] netfilter: ipset: hash:ip set type support
    [C N1] netfilter: ipset: hash:net,port set type support
    [C N1] netfilter: ipset: hash:net set type support
    [  N ] netfilter: ipset: install ipset related header files
    [C N1] netfilter: ipset: list:set set type support
    [CDN ] netfilter: ipt_addrtype: rename to xt_addrtype
    [C N1] netfilter: nf_conntrack: nf_conntrack snmp helper
    [C N1] netfilter: nf_conntrack_tstamp: add flow-based timestamp extension
    [C N ] netfilter: xtables: add device group match
    [    ] netfilter: xtables: add missing aliases for autoloading via iptables
    [ D  ] netfilter: xtables: connlimit revision 1
    [    ] netfilter: x_table: speedup compat operations
    [C N1] netfilter: xtables: "set" match and "SET" target support
    [C   ] netfilter: xt_addrtype: ipv6 support
    [    ] netfilter: xt_conntrack: support matching on port ranges
    [   1] net: Introduce new feature setting ops
    [    ] netlink: support setting devgroup parameters
    [C   ] net: RPS: Enable hardware acceleration of RFS
    [C N1] net_sched: implement a root container qdisc sch_mqprio
    [    ] net_sched: RCU conversion of stab
    [    ] net_sched: sfq: allow divisor to be a parameter
    [    ] Phonet: implement per-socket destination/peer address
    [CD  ] Phonet: kill the ST-Ericsson pipe controller Kconfig
    [ D  ] Phonet: provide pipe socket option to retrieve the pipe identifier
    [ D 1] Phonet: support active connection without pipe controller on modem
    [    ] pktgen: speedup fragmented skbs
    [    ] ROSE: rose AX25 packet routing improvement
    [    ] tcp_cubic: make ack train delta value a parameter
    [ D  ] tcp: document tcp_max_ssthresh (Limited Slow-Start)
    [C   ] tipc: Eliminate configuration for maximum number of cluster nodes
    [    ] udp: Add lockless transmit path
    [    ] xfrm: Add basic infrastructure to support IPsec extended sequence numbers
    [    ] xfrm: Add support for IPsec extended sequence numbers
    [    ] xfrm: Add user interface for esn and big anti-replay windows

Quelle und Links : http://www.heise.de/open/artikel/Kernel-Log-Was-2-6-39-bringt-1-Netzwerk-Treiber-und-Infrastruktur-1226097.html
Titel: Kernel-Log: Natives KVM-Tool, lauter neue Kernel
Beitrag von: SiLæncer am 19 April, 2011, 21:06
Unzufriedenheit mit dem Qemu-Code hat zur Entwicklung eines einfachen Emulations-Werkzeugs für KVM geführt. Die neusten Treiber für Intel-Grafikchips verbessern die Unterstützung für die Video-Einheiten aktueller Prozessoren; eine Fülle neuer Longterm- und Stable-Kernel beseitigt derweil Fehler und Sicherheitslücken.

Bereits Ende März hat Pekka Enberg auf der LKML die Entwicklung eines nativen KVM-Tools bekannt gegeben. Es emuliert einige der Hardware-Komponenten, auf die Gastsysteme im Betrieb zugreifen; heutzutage erledigt diese Aufgabe bei der Virtualisierung mit KVM meist ein im KVM-Projekt entstandener und gewarteter QEMU-Ableger (qemu-kvm). Der KVM-Code im Kernel arbeitet eng mit diesem Emulationscode zusammen und sorgt für die Zuteilung von Prozessorressourcen; einige wenige Hardware-Komponenten wie den Interrupt-Controller emuliert der KVM-Kernel-Code allerdings selbst, weil das die Performance erheblich steigert.

Enberg schreibt in seiner Mail, dass er eine leichtgewichtige und saubere Emulationslösung für KVM aufsetzen wolle, die Linux-Gäste booten kann. Es sei nur ein Hobby und würde nicht so groß und professionell werden wie QEMU ("[...] just a hobby, won't be big and professional like QEMU [...]") – damit spielt er auf die Worte an, die Linus Torvalds bei der ersten öffentlichen Mail zur Arbeit an Linux gewählt hat.

Die jetzige Version des schlicht "kvm" genannten Tools beschreibt Enberg als ein großartiges Werkzeug, um einige Dinge rund um Virtualisierung zu lernen. Es sei lediglich fünftausend Zeilen lang und könne ein Linux-Image starten. Dem "development prototype" würden aber noch einige essenzielle Dinge fehlen; darunter Netzwerk-, Grafik- und SMP-Unterstützung – zum Interagieren mit dem erwähnten Linux-Image dient daher eine emulierte serielle Schnittstelle. Durch die mit einem Linux-Kernel vergleichsweise leicht umschiffbaren Einschränkungen eignet sich das Tool bislang nicht zum Start von Windows oder anderen Betriebssystemen. Umstritten ist zudem, in wie weit das Mini-Tool vielleicht zum Debuggen interessanter als Qemu ist.

In der daraufhin auf der LKML entstandenen Diskussion zeigten sich einige Entwickler überaus interessiert an dem Werkzeug und spekulierten darüber, ob eine Weiterentwicklung langfristig Qemu ersetzen könnte. Mit dessen Code sind einige der Kernel- und KVM-Hacker eher unglücklich, da er schon viele Jahre alt ist und an einigen Stellen als recht unsauber gilt.

Es ist derzeit noch ungewiss, ob die Unzufriedenheit mit dem Qemu-Code genug Entwickler motiviert, um langfristig alle für den performanten Alltagseinsatz von KVM wichtigen Features im neuen Tool einzubauen. Trotz der schon lange zu hörenden Unzufriedenheit mit dem Qemu-Code arbeiten zahlreiche KVM-Entwickler schon seit langem daran, alle für den ordentlichen KVM-Betrieb wichtigen Funktionen aus der KVM-Variante von Qemu in das offizielle Qemu einzubauen, um die Entwicklung der KVM-Variante irgendwann einzustellen und die Wartung zu vereinfachen (1, 2). Offensichtlich versprechen sie sich von diesem Weg derzeit mehr, als den Qemu-Code unter Eigenregie weiterzuentwickeln und dabei aufzuräumen. Darüber war schon vor einem Jahr diskutiert worden; die damals weitgehend ergebnislose LKML-Diskussion ist Enberg zufolge eine Motivation für das neue Tool.

Zusammengeführt

Die Tuxera-Entwickler haben NTFS-3G und ntfsprogs unter dem Namen ntfs-3g-ntfsprogs zusammengeführt – das soll die Verwaltung des Codes erleichtern, damit sich die Programmierer bei der Weiterentwicklung auf die Arbeit an Verbesserungen konzentrieren können. Ntfsprogs ist das ältere der beiden Projekte und enthielt Programme wie mkfs.ntfs, ntfsfix oder ntfsresize, mit denen sich NTFS-Dateisysteme erstellen, korrigieren oder in der Größe verändern lassen.

Diese Programme wurden ursprünglich parallel zum NTFS-Code entwickelt, der dem Linux-Kernel beiliegt. Der NTFS-Kernel-Code findet dieser Tage aber nur noch wenig Beachtung, da der auf Fuse aufsetzende Treiber des Projekts NTFS-3G viel mehr Funktionen bietet – darunter vollwertige Unterstützung zum Schreiben auf NTFS-Dateisystemen. Die Projekte haben aber schon mehrfach Code ausgetauscht, sodass dieser doppelt vorlag; das ist derzeit auch beim zusammengefügten Code noch so, dürfte sich mit der Zeit aber ändern.

Frisches Treiberpaket für Intel-GPUs

Die Entwickler der Grafiktreiber für die in vielen Chipsätzen und Prozessoren von Intel integrierten Grafikchips haben das als Intel 2011Q1 bezeichnete Treiberpaket freigegeben. Es umfasst alle Komponenten, die für eine ordentliche Linux-Unterstützung der Intel-Grafikchips nötig sind. Dazu gehört ein Kernel 2.6.38 mit einigen Patches, Mesa 7.10.2, Libdrm 2.4.25 und der X.org-Treiber 2.15.0; die neuen Versionen der beiden letztgenannten Bausteine des Linux-Grafik-Stacks hatte ein Intel-Programmierer erst kurz zuvor freigegeben, der bei der Entwicklung dieser Komponenten involviert ist. Zum Paket gehört zudem die libva – eine Implementation des Video Acceleration API (VAAPI), über das Anwendungen einige Aufgaben zum De- oder Encodieren von Video-Daten an den Grafikchip übertragen können.

Zwei der wichtigsten Änderungen finden sich auch genau in diesem Bereich, denn mit dem Treiber-Paket lässt sich das Decodieren von VC1-Videos und das Encodieren mit H.264 an den Grafikkern auslagern, der in den auch als Sandy Bridge bekannten Prozessoren steckt – die hat Intel Anfang des Jahres unter den Familiennamen Core i3-2000, Core i5-2000 und Core i7-2000 eingeführt. Zudem unterstützen die Treiber die GPU-Stromspartechniken dieser Prozessoren besser und sollen mit aktuellen Entwicklerversionen von Mesa bessere Performance erzielen.

Die neue Version von Libdrm bringt zudem ein auch für andere Grafiktreiber interessantes Framebuffer-Interface. Das soll das Design von Plymouth vereinfachen, das sich bei aktuellen Version von Distributionen wie Fedora oder Red Hat Enterprise Linux um die Animation beim Systemstart kümmert.

Kernel-Versionsstatus

Paul Gortmaker hat zum Wochenstart den Longterm-Kernel 2.6.34.9 freigegeben. Anders als Greg Kroah-Hartman, der die Longterm-Kernel 2.6.32 und 2.6.33 sowie die Stable-Kernel betreut, weist er darauf hin, dass die neue 34er-Version Korrekturen für Sicherheitslücken enthält. Einige von ihnen haben die Kernel-Hacker in anderen Serien allerdings schon lange behoben – darunter etwa die im Dezember gestopfte Lücke im Econet-Protokoll.

Bereits letzte Woche hat Kroah-Hartman den Stable-Kernel 2.6.38.3 veröffentlicht, der wie alle Stable- und Longterm-Kernel Fehlerkorrekturen und kleine, ungefährliche Änderungen bringt. Manchmal schleicht sich aber doch ein Fehler ein. So etwa bei den ebenfalls erst kürzlich erschienenen Versionen 2.6.32.37 und 2.6.33.10; das Problem wurde aber schnell bemerkt und mit 2.6.32.38 und 2.6.33.11 behoben.

Kurz nach dem letzten regulären Kernel-Log hatte auch Andi Kleen eine neue Version der von ihm gepflegten Longterm-Serie 2.6.35 freigegeben. Wie Paul Gortmaker wies er darauf hin, dass diese Version Sicherheitslücken beseitigt.

Nach dem im ersten Teil der Mini-Serie "Was 2.6.39 bringt" erwähnten RC3 folgte in der Nacht von Montag auf Dienstag die vierte Vorabversion von Linux 2.6.39. Dabei merkte Torvalds an, es habe zwischen dem RC3 und RC4 mehr Änderungen gegeben als beim Zwischenschritt davor; allerdings hatten der RC2 und der RC3 auch ungewöhnlich wenig Änderungen enthalten.

Kernel-Log-Staccato

Kernel

Rafael J. Wysocki hat kürzlich wieder eine aktuelle Ausgabe der von ihm zumeist wöchentlich erstellen Regression Reports versandt. Demnach sind bei Linux 2.6.39-rc3-git7 10 Fehler bekannt, die 2.6.38 noch nicht zeigte; zudem enthielt dieser vor kurzem erstellte Snapshot des Hauptentwicklungszweigs noch 28 Fehler, die sich zwischen der Freigabe von 2.6.37 und 2.6.38 eingeschlichen haben.
   
Auf der LKML gab Andreas Schwab einen Tipp zum Einsatz von Git, der auch Lesern des Kernel-Logs gelegentlich helfen könnte: Über "git tag --contains <commitid>" lässt sich bei aktuellen Git-Versionen herausfinden, bei welcher Kernel-Versionen ein bestimmter Commit vorgenommen wurde.

Unterstützung für Grafikhardware

Matthew Garrett arbeitet an einem einfachen KMS-Treiber für den typischerweise von Qemu-Kvm emulierten Cirrus-Grafikchip.
   
Jeremy Huddleston hat die einige Fehler korrigierende Version 1.10.1 des X-Server von X.org freigegeben.
   
Nvidia hat ein weiteres Prerelease einer neuen Grafiktreiber-Version veröffentlicht, das unter anderem Unterstützung für einige Desktop- und Mobile-Grafikchips der 400er- und 500er-Serie bringt; zudem beseitigt es einen Fehler, der den X-Server auf 32-Bit-Systemen nach 49,7 Tagen zum Absturz brachte.
   
Bereits kurz nach dem letzten regulären Kernel-Log hat AMD die Version 11.3 seiner als Catalyst oder Fglrx bekannten proprietären Grafiktreiber zum Download bereit gestellt. Sie bringt als "early look" klassifizierten Unterstützung für OpenSuse 11.4. Laut den Release Notes erfordert diese Treiberversion nun mindestens X.org 6.9; die vermutlich nicht aktualisierte Webseite nennt noch X.org 6.7 als Mindestvoraussetzung. Mit den X-Servern der 1.10er-Reihe arbeitet der Treiber nicht zusammen; das soll Berichten zufolge erst die im Mai erwartete Version beherrschen.

Kernel-Umland ("Plumbing layer"), Userland-Treiber, Entwicklertools, ...

Die Entwickler des Gphoto-Projekts haben die Version 2.4.11 der Bibliothek libgphoto2 freigegeben, auf die viele Programme beim Auslesen von Digitalkameradaten zurückgreifen. Sie enthält eine Reihe kleinerer Verbesserungen für Kameras und PTP-Geräte verschiedener Hersteller; in der Liste der vom PTP-Treiber neu unterstützten Kameras finden sich unter anderem die Nikon Modelle D3s, D3100 und D7000, die Canon EOS 60D sowie die Canon Powershot-Modelle SD1300 IS, SX210 IS und SX130 IS.
   
Rob Landley hat kürzlich die Verfügbarkeit von Textfassungen vieler Vorträge bekannt gegeben, die im letzten Jahr im Juli auf dem Ottawa Linux Symposium (OLS) 2010 gehalten wurden. Unter ihnen finden sich zahlreiche Vorträge aus dem Kernel-Umfeld, die trotz der ungewöhnlich späten Freigabe der Proceedings noch für so manchen interessant sein dürften – etwa "Looking Inside Memory: Tooling for tracing memory reference patterns", "CPU bandwidth control for CFS" sowie "Developing Out-of-Tree Drivers alongside In-Kernel Drivers" von Intel-Entwickler Jesse Brandenburg.
   
Junio C Hamano hat Git 1.7.4.3 freigegeben.

Quelle und Links : http://www.heise.de/open/artikel/Kernel-Log-Natives-KVM-Tool-lauter-neue-Kernel-1229562.html
Titel: Kernel-Log – Was 2.6.39 bringt (2): Storage und Dateisysteme
Beitrag von: SiLæncer am 27 April, 2011, 13:34
Einige von Torvalds gelobte Änderungen an Interna des Block Layer sollen Performance und Skalierbarkeit verbessern. In diesen Bereichen legt auch das Ext4-Dateisystem zu. Das weiterhin experimentelle Btrfs beherrscht Batched Discard und LIO (Linux-Iscsi.org) hat nun eine Loopback-Funktion.

Kernel-Hacker Andi Kleen hat Ende vergangener Woche eine Patch-Serie auf der LKML veröffentlicht, die ein alle Dateisysteme betreffendes Performance-Problem beseitigt. Es hat seinen Urspung beim Zusammenspiel zwischen Virtual File System (VFS) und der Security-Infrastruktur des Kernels und ist ein unerwünschter Seiteneffekt der bei 2.6.38 eingeflossenen Optimierungen am VFS. Torvalds zeigte sich überaus interessiert und nahm einen der Patches gleich in den Hauptentwicklungszweig auf; eine auf dem zweiten Patch von Kleen aufbauende Korrektur folgte am Ostermontag und soll das Problem beim Zusammenspiel mit SELinux beseitigen. Die Kernel-Hacker diskutieren noch, ob diese Patches wie von Torvalds angeregt in einen 38er-Stable-Kernel einziehen sollen.

Den fünften Release Candidate von Linux 2.6.39 hat Torvalds noch nicht veröffentlicht – vermutlich dürfte er in Kürze erscheinen, denn der RC4 ist bereits über eine Woche alt. Das Kernel-Log nimmt die fortschreitende Entwicklung des 39er-Kernels zum Anlass, die Mini-Serie "Was 2.6.39 bringt" mit der Beschreibung der Neuerungen rund um Storage-Infrastruktur und Dateisysteme fortzusetzen. Den Anfang dieser Artikel-Reihe hatte eine Übersicht der Änderungen an Netzwerk-Treibern und -Infrastruktur gemacht; in den kommenden Wochen werden noch Artikel zur Grafik-Treibern, Architektur-Code, Infrastruktur und Treibern für andere Hardware folgen.

Datenträger anstöpseln

Jens Axboe hat einige Interna im von ihm betreuten Block-Subsystem erheblich umstrukturiert. Das delegiert einige Aufgaben beim Schreiben von einem Geräte-spezifischen Puffer näher zum Code, der die Daten schreiben möchte (u. a. 1, 2). Das soll die Skalierbarkeit steigern und dadurch die Performance beim Einsatz der heute schnellsten Datenträger verbessern.

Dieses "New Block Device Plugging Model" war die einzige Änderung, der Torvalds in der Mail zur ersten Vorabversion von 2.6.39 besondere Aufmerksamkeit zukommen ließ; der Ansatz vermeide Sperren in einem viel genutzten Code-Pfad, mache den Code sauberer und sei überhaupt eine "wirklich gute Idee". Einige Hintergründe zur Motivation und der Funktionsweise erläutert Axboe in seinem Haupt-Git-Pull-Request; eine allgemeine Erklärung der Interna des Block Layer liefert er im LWN.net-Artikel "Explicit block device plugging".

Torvalds erwähnte in der Freigabe-Mail zum RC1, der Kernel habe durch einen Fehler an den Plugging-Änderungen zwischenzeitlich XFS-Dateisysteme "zum Frühstück verspeist". Auch nach dem RC1 gab es noch einige Probleme, die jedoch nicht so schwerwiegend waren – die meisten wurden zum RC4 beseitigt. Das zeigt, dass Datenverlust nicht gerade unwahrscheinlich ist, wenn man während des Merge Window den aktuellen Entwicklungsstand von Linux testet. Typischerweise beseitigen die Kernel-Hacker solche gravierenden Probleme allerdings sehr schnell. In der Stabilisierungsphase und speziell nach dem zweiten Release Candidate sind solch schlimme Fehler allerdings sehr selten: Die Kernel-Hacker versuchen sie von vorn herein zu vermeiden, um die ohnehin schon raren Tester nicht zu verschrecken.

Staccato: Block Layer

   
Die bei 2.6.38 integrierte Target-Implementierung LIO (Linux-Iscsi.org) haben die Kernel-Hacker um das Modul tcm_loop erweitert, das eine lokale SPC-4-SCSI Emulation für beliebige Raw-Devices ermöglicht. Durch eine weitere Änderung sind in Zukunft einige allgemeine oder speziell zur statistischen Auswertung interessante Informationen via Sysfs abfragbar.
   
Die Storage-Treiber ahci und ata_piix des 39er-Kernels unterstützen bereits jetzt die SATA-Adapter der "Panther Point"-Chipsätze (1, 2), die Intel vermutlich Anfang 2012 zusammen mit neuen Prozessoren einführen wird.
   
Der AHCI-Treiber des 39er-Kernels spricht jetzt Marvells PCIe-SATA-6G-Controller 88se9125 an (1, 2).
   
Das mit RAID 0 vergleichbare Funktionen bietende Device-Mapper-Target Striped unterstützt nun "Merge Methods", was die Performance beim Einsatz von XFS und Ext4 in bestimmten Situation etwas steigert. Der Device Mapper (DM) bringt nun das Target Flakey mit, das wie das Linear-Target funktioniert, aber zu Testzwecken gelegentlich Fehler einstreut.
   
Zum Kernel stieß der Treiber bnx2fc, der einige Aufgaben für die Kommunikation über FCoe (Fibre Channel over Ethernet) an den NetXtreme II 57712 FCoE-Controller von Broadcom übergibt.
   
Der Treiber aacraid unterstützt nun eine neue, "SRC-basierte" Controller-Familie von PMC-Sierra, die ein "0x28b" genanntes Interface aufweisen; das beherrschen laut einer Patch-Beschreibung die "Series-6-Chips", die auf RAID-Controllern mit "Advanced ROC (RAID-on-chip)" sitzen und Daten mit 6 GB/s übertragen.
   
Das SCSI-Subsystem bietet nun bessere Unterstützung für die in der T10-Spezifikation SBC3r26 definierten Schnittstellen zum Logical Block Provisioning. Sei informieren SSDs oder Netzwerk-Speicherlösungen mit Thin Provisioning über das SCSI-Kommandos WRITE SAME und dessen UNMAP-Bit über freigewordene Speicherbereiche (1, 2); einige Hintergründe dazu liefern die "Solid-State Disk Deployment Guidelines" im Storage Administration Guide von RHEL 6.1 und der Artikel "Disk und Chips – Flash-SSDs in Servern und Storage-Systemen" in der iX 5/10.
   
Zum vornehmlich im Embedded-Bereich verwendeten Subsystem für Memory Technology Devices (MTD) stieß ein Treiber, um MTD-Geräte zum Swappen zu nutzen.
   
Es gab verschiedene Änderung an der Replikationslösung DRBD, wodurch die Kernel-Implementation bei 2.6.39 den Stand von DRBD 8.3.10 erreicht.

Btrfs, Ext-Familie

Ext4 nutzt in Zukunft standardmäßig die mblk_io_submit "Multiple Page-IO Submissions", was Performance und Skalierbarkeit erheblich verbessern soll. Der dahinter stehende Code war bei 2.6.37 zum Kernel gestoßen; die Ext-Entwickler legten die Funktion aber kurz vor der Fertigstellung dieser Linux-Version in der Voreinstellung lahm, da sie in einer bestimmten Situation zu Datenschäden führte; der Fehler wurde während der Stabilisierungsphase von 2.6.38 behoben. Ein größere Aktualisierung erfuhr die Ext4-Dokumentation des Kernels, die nun einige der neueren Mount-Parameter erläutert und die Dateien aufschlüsselt, die der Ext4-Code im Procfs und Sysfs anlegt.

Das weiterhin experimentelle Dateisystem Btrfs beherrscht ab 2.6.39 Batched Discard – eine bei 2.6.37 eingeführte Funktion, um SSDs und mit Hilfe von fstrim ab und zu über ungenutzte Speicherbereiche zu informieren. Via FS_IOC_SETFLAGS lässt sich nun datei- und verzeichnisweise festlegen, ob Btrfs "Copy on Write" (COW) oder Kompression nutzen soll. Laut Commit-Kommentar ist das eine Interims-Lösung, bis das VFS Funktionen bietet, um solche Eigenschaften festzulegen. Chris Mason erläutert diese beiden und einige weitere Btrfs-Änderungen in seinem Haupt-Git-Pull-Request zum von ihm betreuten Btrfs.

VFS

Über den neuen Syscall Sys_syncfs können unprivilegierte Userspace-Anwendungen den Kernel anweisen, alle zwischengespeicherten Daten eines einzelnen Dateisystems wegzuschreiben. Bislang ließ sich eine Synchronisierung nur systemweit anstoßen – Anwendungen haben das aber gemieden, weil es sonst zu kurzzeitigen Hängern kommt, wenn etwa ein NFS-Server nicht erreichbar ist.

Der Syscall Open kennt nun das Flag O_PATH, um einen "location only" File Descriptor zu erstellen, bei dem lediglich der Pfad aufgelöst wird; solche sind etwa zur Verwendung mit verschiedenen auf "at()" endenden Syscalls interessant. Ebenfalls neu ist das für Dateisysteme im Userspace interessante "Open by Handle", das LWN.net näher erläutert.

Staccato: Dateisysteme

    Das neue Dateisystem Pstore bietet Zugriff auf "Platform Persistent Storage" – nichtflüchtige und zumeist kleine Speicherbereiche, die manche Systeme mitbringen, damit Betriebssysteme dort im Falle eines Absturzes Daten zur Crash-Analyse ablegen können. Hintergründe dazu liefert LWN.net im Artikel "Persistent storage for a kernel's 'dying breath'".
    Die wichtigsten Neuerungen an XFS erläutert Christoph Hellwig im mittleren Drittel des "XFS status update for March 2011" (im erste Drittel spricht er von 2.6.39, meint aber 2.6.38). Dort erklärt er, der 39er-Kernel bringe vergleichsweise wenig erwähnenswerte XFS-Neuerung; die bedeutsamste sei das standardmäßige Einschalten des Delaylogs, was Metadata Performance and Skalierbarkeit verbessere.

Die kleinen Perlen: Dateisysteme

Viele kleinere, aber keineswegs unbedeutende Neuerungen finden sich in der folgenden Liste mit den englischen Commit-Überschriften der jeweiligen Änderung. Die Einträge verlinken genau wie viele der Verweise im vorangegangenen Text auf das Webfrontend des von Linus Torvalds gepflegten Git-Zweigs mit den "offiziellen" Kernel-Quellen auf Kernel.org. Der über diese Links angezeigten Commit-Kommentar und der darunter ausgegebene Patch liefern zahlreiche weitere Informationen zur jeweiligen Änderungen.

Vor jedem Link finden sich in eckigen Klammern einige Buchstaben und Zahlen. Ein "C" kennzeichnet Patches mit Änderungen an Kconfig-Dateien, welche die Konfigurationsoptionen samt der zugehörigen Hilfetexte enthalten, die bei der Kernel-Konfiguration über "make menuconfig" oder "make xconfig" angezeigt werden. Ein "D" steht bei Patches, die die Dokumentation verändern, die im Kernel-Zweig unterhalb von Documentation/ liegt. Ein "N" weist Änderungen aus, die eine neue Datei anlegen. Die Zahl vermittelt einen groben Eindruck zur Größe des Patches: eine "1" kennzeichnet Änderungen, die inklusive Kommentar zwischen 10 und 20 KByte groß sind, eine "2" für solche, die zwischen 20 und 30 KByte Umfang haben; Änderungen ohne Zahl sind kleiner als 10 KByte, Patches mit einer "9" hingegen 90 KByte oder größer.

Btrfs

    [  N3] Btrfs: add initial tracepoint support for btrfs
    [   1] Btrfs: cleanup how we setup free space clusters
    [    ] Btrfs: do not use async submit for small DIO io's
    [    ] Btrfs: don't force chunk allocation in find_free_extent
    [    ] Btrfs: fix /proc/mounts info.
    [    ] btrfs: make inode ref log recovery faster
    [    ] Btrfs: use a slab for the free space entries

Ext[234]

    [   5] ext4: add more tracepoints and use dev_t in the trace buffer
    [    ] ext4: allow inode_readahead_blks=0 (linux-2.6.37)
    [    ] ext4: enable acls and user_xattr by default
    [    ] ext4: make FIEMAP and delayed allocation play well together
    [    ] ext4: optimize ext4_bio_write_page() when no extent conversion is needed

Various

    [ D 1] adfs: add hexadecimal filetype suffix option
    [    ] Allow O_PATH for symlinks
    [    ] ceph: add ino32 mount option
    [    ] cifs: replace /proc/fs/cifs/Experimental with a module parm
    [ D  ] exofs: Add option to mount by osdname
    [    ] fs/9p: Add buffered write support for v9fs.
    [    ] fs/9p: Add direct IO support in cached mode
    [    ] fs/9p: Add inode hashing
    [    ] fs/9p Add posixacl mount option
    [   2] fs/9p: Add v9fs_inode
    [    ] fs/9p: Implement syncfs call back for 9Pfs
    [ D  ] fs: remove inode_lock from iput_final and prune_icache
    [   1] fs: simplify iget & friends
    [   3] fs/vfs/security: pass last path component to LSM on inode creation
    [    ] GFS2: deallocation performance patch
    [    ] GFS2: Improve cluster mmap scalability
    [    ] GFS2: introduce AIL lock
    [    ] GFS2: Optimize glock multiple-dequeue code
    [   2] GFS2: Use RCU for glock hash table
    [   2] libceph: add lingering request and watch/notify event framework
    [ D  ] lose 'mounting_here' argument in ->d_manage()
    [    ] net/9p Add gup/zero_copy support to VirtIO transport layer.
    [    ] net/9p Add preferences to transport layer.
    [    ] net/9p: Implement syncfs 9P operation
    [    ] net/9p: Introduce basic flow-control for VirtIO transport.
    [    ] net/9p readdir zerocopy changes for 9P2000.L protocol.
    [    ] NFS: Add secinfo procedure
    [    ] nfsd: add proc file listing kernel's gss_krb5 enctypes
    [   1] NFS: lookup supports alternate client
    [   1] NFSv4.1: add generic layer hooks for pnfs COMMIT
    [   1] NFSv4.1: filelayout driver specific code for COMMIT
    [   1] NFSv4.1: layoutcommit
    [ D  ] NFSv4.1: lseg documentation
    [ D  ] NFSv4: Send unmapped uid/gids to the server when using auth_sys
    [  N ] ocfs2: Add ocfs2_trace.h.
    [    ] proc: enable writing to /proc/pid/mem
    [    ] procfs: fix /proc/<pid>/maps heap check
    [    ] proc: protect mm start_code/end_code in /proc/pid/stat
    [ D  ] pstore: use mount option instead sysfs to tweak kmsg_bytes
    [   1] rbd: use watch/notify for changes in rbd header
    [    ] Revert "vfs: Export file system uuid via /proc/<pid>/mountinfo"
    [    ] Squashfs: add compression options support to xz decompressor
    [    ] Squashfs: extend decompressor framework to handle compression options
    [ D  ] Squashfs: Update documentation to include compression options
    [ D  ] UBIFS: do not check data crc by default
    [C   ] UBIFS: simplify UBIFS Kconfig menu
    [C   ] UBI: make debugging messages dynamic
    [C  1] UBI: make self-checks dynamic
    [C   ] UBI: make tests modes dynamic
    [C N ] vfs: Add name to file handle conversion support
    [ D 1] vfs: bury ->get_sb()
    [    ] vfs: Export file system uuid via /proc/<pid>/mountinfo
    [    ] vfs: new superblock methods to override /proc/*/mount{s,info}
    [    ] xfs: convert ENOSPC inode flushing to use new syncd workqueue
    [   1] xfs: convert the xfsaild threads to a workqueue
    [    ] xfs: introduce a xfssyncd workqueue
    [    ] xfs: introduce background inode reclaim work
    [  N ] xfs: introduce new logging API.
    [   2] xfs: stop using the page cache to back the buffer cache

Die kleinen Perlen: Storage-Infrastruktur

Block

    [    ] blk-cgroup: Add unaccounted time to timeslice_used.
    [ D  ] blk-cgroup: Lower minimum weight from 100 to 10.
    [    ] block: improve flush bio completion
    [   2] block: reimplement FLUSH/FUA to support merge
    [ D  ] cfq-iosched: Always provide group isolation.
    [    ] cfq-iosched: give busy sync queue no dispatch limit
    [ D  ] Documentation/iostats.txt: bit-size reference etc.

Libata

    [    ] ahci: AHCI mode SATA patch for Intel Patsburg SATA RAID controller
    [    ] ATA: Add FSL sata v2 controller support
    [C N3] pata_arasan_cf: Adding support for arasan compact flash host controller
    MFD, MMC, MTD und Co.
    [C N3] memstick: add driver for Ricoh R5C592 card reader
    [    ] mfd: ab8500 chip revision 3.0 support
    [  N1] mfd: AB8500 system control driver
    [C N1] mfd: Add a core driver for TI TPS61050/TPS61052 chips v2
    [    ] mfd: Add BTN_TOUCH event to ucb1x00-ts
    [C N1] mfd: add driver for sequencer serial port
    [    ] mfd: Add fast path for WM831x touchscreen interrupts
    [  N1] mfd: Add MAX8997/8966 IRQ control
    [    ] mfd: Add MODULE_DEVICE_TABLE to mc13xxx-core
    [    ] mfd: Add MODULE_DEVICE_TABLE to pcf50633-core
    [    ] mfd: Add MODULE_DEVICE_TABLE to rdc321x-southbridge
    [    ] mfd: Add MODULE_DEVICE_TABLE to vx855
    [C N1] mfd: Add new ab8500 GPADC driver
    [    ] mfd: Add platform data to support multiple WM831x devices per board
    [    ] mfd: add platform_device sharing support for mfd
    [    ] mfd: Add sharing for cs5535 acpi/pms cells
    [    ] mfd: Add Tunnel Creek support to lpc_sch
    [C N2] mfd: Add twl4030 madc driver
    [    ] mfd: Add WM8994 bulk register write operation
    [C N2] mfd: MAX8997/8966 support
    [    ] mfd: Support configuration of WM831x /IRQ output in CMOS mode
    [  N ] mmc: add per device quirk placeholder
    [    ] mmc: dw_mmc: support 8-bit buswidth
    [    ] mmc: dw_mmc: support DDR mode
    [ DN ] mmc: export eMMC4.4 enhanced area details to sysfs
    [    ] mmc: mmci: Add ARM variant with extended FIFO
    [    ] mmc: mmc_test: add tests to measure large sequential I/O performance
    [    ] mmc: mmc_test: add tests to measure random I/O operations per second
    [    ] mmc: mmc_test: make performance test area size about 4MiB
    [C N2] mmc: mxs-mmc: add mmc host driver for i.MX23/28
    [    ] mmc: sdhci: Add Ricoh e823 PCI ID
    [    ] mmc: sdhci: add the abort CMDTYPE bits definition
    [    ] mmc: sdhci-s3c: Auto CMD12 support
    [    ] mmc: sh_mmcif: support aggressive clock gating
    [C  1] mmc: tmio: convert the SDHI MMC driver from MFD to a platform driver
    [C   ] msm: Support for the MSM8960 RUMI3 target
    [    ] mtd_blkdevs: Add background processing support
    [    ] mtd: cfi: add support for AMIC flashes (e.g. A29L160AT)
    [    ] mtd: m25p80: add support for M25PX64
    [    ] mtd: m25p80: add support for the EON EN25F32 chip
    [C N1] mtd: nand: add software BCH ECC support
    [    ] mtd: nand: enable software BCH ECC in nand simulator
    [C N1] mtd: NOR flash driver for OMAP-L137/AM17x
    [    ] mtd: tests: add count parameter to mtd_speedtest
    [    ] mtd: tests: add multiblock erase test to the mtd_speedtest
    [ D  ] of_mmc_spi: add card detect irq support

SCSI

    [    ] SCSI: Add detailed SCSI I/O errors
    [    ] SCSI: block: improve detail in I/O error messages
    [    ] SCSI: bnx2i: Added handling for unsupported iSCSI offload hba
    [    ] SCSI: bnx2i: Added iSCSI text pdu support for iSCSI offload
    [    ] SCSI: bnx2i: Added jumbo MTU support for the no shost case
    [    ] SCSI: bnx2i: Added support for the 57712(E) devices
    [    ] SCSI: bnx2i: Updated to version 2.6.2.3
    [    ] SCSI: cxgbi: enable TEXT PDU support
    [   1] SCSI: fcoe: convert fcoe.ko to become an fcoe transport provider driver
    [ D  ] SCSI: hpsa: Add transport_mode host attribute in /sys
    [ D  ] SCSI: hpsa: allow driver to put controller in either simple or performant mode
    [ D  ] SCSI: hpsa: export resettable host attribute
    [    ] SCSI: hpsa: fix incorrect PCI IDs and add two new ones (2nd try)
    [    ] SCSI: hpsa: make hpsa.hpsa_simple_mode=1 module parameter actually work
    [    ] SCSI: libfc: add hook to notify providers of local port changes
    [    ] SCSI: libfc: add local port hook for provider session lookup
    [    ] SCSI: libfc: add method for setting handler for incoming exchange
    [  N1] SCSI: libfcoe: add implementation to support fcoe transport
    [    ] SCSI: libfcoe: include fcoe_transport.c into kernel libfcoe module
    [C   ] SCSI: libsas: convert to standard kernel debugging
    [   2] SCSI: lpfc 8.3.21: Critical Errors and Bug Fixes
    [   4] SCSI: lpfc 8.3.21: Debugfs additions
    [   1] SCSI: lpfc 8.3.21: FC Discovery changes
    [   1] SCSI: lpfc 8.3.21: Initialization and user interface changes
    [   2] SCSI: lpfc 8.3.22: Add new mailbox command and new BSG fix
    [   2] SCSI: lpfc 8.3.22: Add support for PCI Adapter Failure
    [ D  ] SCSI: megaraid_sas: Version and Changelog update
    [    ] SCSI: mpt2sas : Added customer specific display support
    [    ] SCSI: mpt2sas: Add support for Customer specific branding messages
    [    ] SCSI: mptfusion: Support SAS2.0 Devices with SAS1.0 Controllers
    [    ] SCSI: mvsas: Add support for HighPoint RR27xx series HBA
    [    ] SCSI: qla4xxx: Add support for ql4xmaxqdepth command line parameter
    [    ] SCSI: qla4xxx: add support for ql4xsess_recovery_tmo cmd line param
    [    ] SCSI: qla4xxx: Update driver version to 5.02.00-k6
    [    ] SCSI: scsi_dh_rdac: Add MD36xxf into device list
    [ D  ] SCSI: scsi_mid_low_api.txt recommend resid usage
    [    ] SCSI: ses: add subenclosure support
    [ D  ] SCSI: target: tcm_mod_builder.py generated Makefile cleanups
    [    ] SCSI: target: update version to v4.0.0-rc7-ml
    [ D  ] SCSI: tcm_mod_builder.py: Fix generated *_drop_nodeacl() handler

Various

    [ D  ] cciss: export resettable host attribute
    [    ] dm: improve block integrity support
    [    ] dm ioctl: add flag to wipe buffers for secure data
    [    ] drbd: advance progress step marks for online-verify
    [   1] drbd: allow petabyte storage on 64bit arch
    [    ] drbd: Implemented two new connection states Ahead/Behind
    [   1] drbd: log UUIDs whenever they change
    [    ] drbd: New configuration parameters for dealing with network congestion
    [   1] drbd: New packet for Ahead/Behind mode: P_OUT_OF_SYNC
    [    ] drbd: show progress bar and ETA for online-verify
    [C N4] lib: add shared BCH ECC library
    [ D  ] md: Update documentation for sync_min and sync_max entries

Quelle und Links : http://www.heise.de/open/artikel/Kernel-Log-Was-2-6-39-bringt-2-Storage-und-Dateisysteme-1230959.html
Titel: Linux-Kernel: Updates für Long-Term-Zweige
Beitrag von: SiLæncer am 04 Mai, 2011, 13:58
Mit Updates für drei Linux-Kernel haben die Entwickler teils kritische Fehler beseitigt. Der aktuelle Kernel 2.6.38 wurde zum inzwischen fünften Mal aktualisiert. Kernel 2.6.27 erhielt die meisten Korrekturen und einige neuen Funktionen.

Die als Long Term Support eingestuften Linux-Kernel 2.6.27 und 2.6.35 sowie der aktuelle Kernel 2.6.38 sind mit Patches versehen und als Updates veröffentlicht worden. Die Kernel-Hacker haben teils kritische Sicherheitslücken gestopft und raten wie immer dringend zu einem Update. Vor allem Kernel 2.6.27.59 enthält zahlreiche Fehlerkorrekturen, aber auch Unterstützung für neue Hardware.

Die meisten Änderungen wurden an Kernel 2.6.27 vorgenommen, darunter auch etliche, die die Sicherheit betreffen, etwa im Infrarottreiber Irda. Darüber hinaus erkennt der aktualisierte Kernel auch neue Hardware, beispielsweise die SAS-Ports (Serial Attached SCSI) in Intels Patsburg-Chipsatz und Apples Macbook Pro 8.2. Teils kritische Fehler wurden an den diversen Dateisystemmodulen korrigiert. Insgesamt wurden an 162 Dateien 1.119 Einfügungen und 536 Löschungen vorgenommen. Die Entwickler raten dringend zu einem Update. Der Kernel erschien bereits Anfang Oktober 2008 und wird von Willy Tarreau als Long Term Release gepflegt.

In Kernel 2.6.35.13 wurden an 122 Dateien insgesamt 1.029 Einfügungen und 429 Löschungen vorgenommen. Auch hier wurden einige Sicherheitslücken gestopft, darunter einige kritische im Netfilter- und Ipv6-Modul. Außerdem wurde das Irda-Modul gepatcht, das den gleichen Fehler enthielt wie in Kernel 2.6.27. Die aktuelle Version 2.6.35.13 unterstützt ebenfalls neue Hardware, darunter die GT-B3730- und GT-B3710-LTE-USB-Modems von Samsung. Kernel 2.6.35 ist Anfang August 2010 erschienen und wird ebenfalls als Long-Term-Version von Andi Kleen betreut.

Im kürzlich erschienenen Kernel 2.6.38 wurden ebenfalls einige Sicherheitslücken entdeckt und beseitigt. Hier fallen die Änderungen allerdings moderater aus: An 68 Dateien wurden 625 Einfügungen und 190 Löschungen vorgenommen. Im AGP-Modul wurde ein Fehler korrigiert, der zu einem Bufferoverflow führen konnte, während bei Kconfig ein Bufferunderrun beseitigt wurde. In etlichen WLAN-Modulen wurden ebenso Fehler beseitigt wie in den Grafikmodulen i915, Nouveau und Radeon. Der aktuelle Kernel wird von Greg Kroah-Hartman betreut und ist jetzt in Version 2.6.38.5 verfügbar.

Der Quellcode für sämtliche Linux-Kernels ist unter kernel.org verfügbar.

Quelle : www.golem.de
Titel: Kernel-Log – Was 2.6.39 bringt (3): Architektur und Infrastruktur
Beitrag von: SiLæncer am 06 Mai, 2011, 08:45
Mit 2.6.39 verschwindet das Big Kernel Lock (BKL) ganz. Interrupts kann der Kernel nun mit Threads abarbeiten, was Latenzen reduziert. Zum Xen-Code stieß das für den Dom0-Betrieb benötigte Netzwerk-Backend – es sieht aber nicht danach aus, als würde das Storage-Backend bald folgen.

In der Nacht von Dienstag auf Mittwoch hat Linus Torvalds die sechste Vorabversion des Linux-Kernels 2.6.39 freigegeben. Sie enthält verschiedene, vorwiegend kleine Änderungen. Laut Torvalds spüren die Kernel-Entwickler aber noch einigen Problemen nach, daher werde das nicht der letzte RC sein. Es dürfte daher wohl noch mehr als zehn Tage dauern, bis 2.6.39 erscheint.

Das Kernel-Log nimmt die fortschreitende Entwicklung von 2.6.39 zum Anlass, die Mini-Serie "Was 2.6.39 bringt" mit der Beschreibung der Neuerungen rund um Architektur- und Infrastruktur-Code des Kernels fortzusetzen. Der erste Teil der Artikel-Reihe hat sich den Änderungen an Netzwerk-Treibern und -Infrastruktur gewidmet, der zweite Storage- und Dateisystem-Code; in der kommenden Woche wird noch ein Artikel zu Treibern folgen.

RIP: BKL

Nachdem die Kernel-Hacker bereits in den letzten Monaten allen auf gängigen Systemen genutzten Bereichen des Kernels die Nutzung des Big Kernel Lock (BKL) ausgetrieben hatten, verschwindet dieser Sperrmechanismus nun ganz; in dem dafür zuständigen und mit "BKL: That's all, folks" betitelten Commit bedankt sich Arnd Bergmann bei den wichtigsten Kernel-Entwicklern, die dies Vorhaben zusammen mit ihm vorangetrieben haben. Teilweise wurde der das BKL nutzende Code modifiziert, sodass er nun ohne den Sperrmechanismus auskommt (u. a. 1, 2, 3, 4, 5, 6); es flogen aber auch einige noch auf das BKL angewiesen Treiber und Funktionen raus, die nicht mehr eingesetzt werde dazun oder durch anderen Code beerbt wurden (u. a. 1, 2, 3)

Virtualisierung

Eine Korrektur am Scheduler beseitigt ein Problem, durch das mit KVM aufgesetzte Windows-Gastsysteme extrem lange zum Booten brauchen, wenn dem Gastsystem viele Prozessoren zugeteilt werden (Änderung, Git-Pull-Request, LWN.net-Artikel mit Hintergründen). KVM beherrscht nun zudem die asynchrone Abarbeitung von Page Faults – das Gast-System kann so vorübergehend einen anderen Thread ausführen, während der Host gerade eine Speicherseite aus dem Auslagerungsspeicher zurückholt, die der aktuelle Thread angefordert hat. Das hatte ursprünglich schon Bestandteil von 2.6.38 werden sollen, musste dann aber zurück stehen, weil Torvalds und andere Entwickler mit einigen Details nicht zufrieden waren. Hintergründe und Benchmark-Ergebnisse zu der Technik liefert eine frühere Patch-Serie und eine Präsentation von Gleb Natapov, der die Änderungen vorangetrieben hat.

Zum Xen-Code stieß Unterstützung für Xenbus PM Events, die Gastsysteme über Powermanagement-Events informieren – etwa Suspend oder Hibernate. Nach der bei 2.6.37 integrierten Basis-Infrastruktur zum Betrieb als Xen-Host (Dom0) folgte mit Kernel 2.6.39 das Netzwerk-Backend, über das die Frontend-Treiber in Xen-Gästen (DomU) mit anderen Systemen kommunizieren. Das Storage-Backend fehlt allerdings weiterhin, daher wird auch mit dem 39er-Kernel kein sinnvoller Betrieb als Dom0 möglich sein, ohne weitere Patches einzubinden. Möglicherweise wird sich daran auch so bald nichts ändern: Als die Xen-Entwickler vor einigen Wochen das Storage-Backend zur Begutachtung an die LKML gesendet haben, hat ein einer der langjährigen Kernel-Hacker die Änderungen deutlich kritisiert und abermals angeregt, einen ganz anderen Ansatz zu nutzen.

Interrupts

Die "Forced Threaded Interrupt Handlers" verlagern die Verarbeitung fast aller Interrupts in Kernel-Threads, wenn man den Kernel mit dem Parameter "threadirqs" startet. Damit kommt eine der letzten wichtigen Funktionen im Hauptentwicklungszweig von Linux an, die der Realtime-Zweig nutzt, um Linux Echtzeit-Fähigkeiten zu verleihen; dort wird die Technik standardmäßig genutzt, um lange Latenzen bei der Abarbeitung von Interrupts zu vermeiden.

Vorangetrieben wurde die Änderung vom deutschen Kernel-Entwickler Thomas Gleixner. Der Chef von Linutronix hat in dem Zug zahlreiche Aufräumarbeiten am Code zur Interrupt-Behandlung vorgenommen und verschiedene Implementierungen im Architektur-spezifischen Code zusammengeführt, um Probleme oder Unsauberkeiten aus der Welt zu schaffen – dabei zeigte er Einfallsreichtum und nannte eine private Variable core_internal_state__do_not_mess_with_it, damit andere Entwickler nicht wieder auf die Idee kommen, Interna des generischen IRQ-Codes hinterrücks zu modifizieren.

In einem Vortrag hat Gleixner kürzlich einen Überblick über die Bestrebungen gegeben, weitere Verbesserungen des Echtzeit-Kernels in den Hauptentwicklungszweig zu überführen. LWN.net hat die wichtigsten Punkte in einem Artikel zusammengefasst; demnach kamen im Vortrag auch einige Änderungen am kleine Speicherhäppchen austeilenden SLUB-Memory-Allocator zur Sprache, durch die der Code ab dem 39er-Kernel nun "Lockless" arbeitet und teilweise bis zu 40 Prozent flotter sein soll. Das gilt aber nur für den in bestimmten Situationen nicht nutzbaren Fastpath und nicht den Slowpath, wo SLUB laut Commit-Kommentar die größten Performance-Probleme zeige.

Staccato

    
Ab 2.6.39 lassen sich via /sys/firmware/dmi/ die Daten auslesen, die moderne PCs über das Desktop Management Interface (DMI) bereitstellen – etwa System-Hersteller, Mainboard-Name oder Speicherausstattung (1, 2); zum Abfragen diese Informationen diente bislang meist das auf Root-Rechte angewiesene Programm dmidecode. Neu ist auch /sys/firmware/efi/vars/, über das sich einige (U)EFI-Variablen abfragen lassen.
    
LWN.net-Chef Jonathan Corbet hat die dem Kernel beiliegenden Dokumente erweitert, die den Entwicklungsprozess des Linux-Kernels näher erläutern.
    
Das neue Make-Target "tarxz-pkg" erstellt ein mit XZ komprimiertes Tar-Archiv eines zuvor kompilierten Kernels
    
Der Kernel lernt mit Version 2.6.39 den Umgang mit Unicore32-CPUs und -Systemen (u. a. 1) – einer an der Universität Peking entwickelten 32-Bit-RISC-Architektur, die vornehmlich in China eingesetzt wird.
    
Der 39er-Kernel unterstützt die Funktionen zum Partitionieren des L3-Caches, welche einige der auch als Bulldozer oder "Family 0x15" bezeichnete CPUs enthalten, die AMD diesen Sommer einführen will.
    
Der x86-Code bietet nun eine "minimale" Unterstützung für Device Trees. Im PPC-Port werden diese schon länger genutzt, um dem Kernel beim Booten Informationen zu den Hardware-Ressourcen mitzugeben; bei einigen vornehmlich für den Embedded-Bereich gedachten x86-System sollen Device Trees laut Commit-Kommentar Informationen zu I2C/SPI, IO APIC oder HPET übermitteln.
    
Die Verzeichnisse mit dem Code zur Unterstützung der Architekturen m68k und m68knommu haben die Kernel-Entwickler zusammengelegt, um die Wartung dieser verwandten Architekturen zu erleichtern.
    
Zu den zahlreichen vom ARM-Code unterstützten Prozessoren und Plattformen zählen nun auch die SOCs der 85xx-Serie von VIA/WonderMedia oder das Efika Smartbook. Dutzende Verbesserungen gab es auch am Code für Nvidias Tegra-Prozessoren (siehe "kleine Perlen" am Ende des Artikels); mit ihnen stieß auch Unterstützung für Toshibas ARM AC100 zum Kernel. Ein c't-Artikel hatte sich vor einiger Wochen mit dem Einsatz eines modifizierten Ubuntu 10.10 auf diesem mit Android ausgelieferten ARM-Netbook beschäftigt. Während der Entwicklung von 2.6.39 gab es auf der LKML indes mehrere Diskussionen rund um Probleme bei der Zusammenarbeit zwischen den ARM-Entwicklern und deren Interaktion mit Linus Torvalds; einen Überblick über die Hintergründe liefert LWN.net in den Artikeln "ARM wrestling" und "Rationalizing the ARM tree".
    
Der Kernel bietet nun einige neue, mit "kstrto" beginnende Funktionen, mit denen sich Strings zuverlässiger in Int-Werte umsetzen lassen.
    
Die Kbuild-Infrastruktur bietet nun den Makefile-Schalter "W=1", der GCC den Code strikter prüfen lässt.
    
Der Capabilities-Code bietet jetzt einige Funktionen, damit unprivilegierte Nutzer einen eigenen Namespace anlegen können – etwas um einen Container anzulegen (1, 2, 3). Die jetzt integrierten Patches ermöglichen das allerdings noch nicht, sondern schaffen laut Commit-Kommentar lediglich 90 Prozent der dazu benötigten Infrastuktur. Hintergründe dazu liefert LWN.net in Linux capabilities support for user namespaces.
    
Der Code für die Dynamic-Debugging-Infrastruktur kennt nun weitere Flags, die ihn zur Ausgabe von Eigenschaften wie Modulnamen, Funktion oder Zeilennummer von Debug-Codeaufrufen bewegen. LWN.net nahm das zum Anlass, die Nutzung dieser recht einfach einsetzbaren Debug-Infrastruktur in einem Artikel zu erläutern.
    
Die Kernel-seitige Code für das Perfomance Monitoring mit Perf spricht nun auch Intels Anfang des Jahres eingeführten Sandy-Bridge-Prozessoren an.
    
Neben der Unterstützung für Python in "perf script" bietet das dem Kernel-beiliegenden Performance- und Tracing-Tool Perf nun auch ein Python-Modul, das sich in andere Python-Programme importieren lässt.

Die kleinen Perlen: Infrastruktur

Viele kleinere, aber keineswegs unbedeutende Neuerungen finden sich in der folgenden Liste mit den englischen Commit-Überschriften der jeweiligen Änderung. Die Einträge verlinken genau wie viele der Verweise im vorangegangenen Text auf das Webfrontend des von Linus Torvalds gepflegten Git-Zweigs mit den "offiziellen" Kernel-Quellen auf Kernel.org. Der über diese Links angezeigten Commit-Kommentar und der darunter ausgegebene Patch liefern zahlreiche weitere Informationen zur jeweiligen Änderungen.

Vor jedem Link finden sich in eckigen Klammern einige Buchstaben und Zahlen. Ein "C" kennzeichnet Patches mit Änderungen an Kconfig-Dateien, welche die Konfigurationsoptionen samt der zugehörigen Hilfetexte enthalten, die bei der Kernel-Konfiguration über "make menuconfig" oder "make xconfig" angezeigt werden. Ein "D" steht bei Patches, die die Dokumentation verändern, die im Kernel-Zweig unterhalb von Documentation/ liegt. Ein "N" weist Änderungen aus, die eine neue Datei anlegen. Die Zahl vermittelt einen groben Eindruck zur Größe des Patches: eine "1" kennzeichnet Änderungen, die inklusive Kommentar zwischen 10 und 20 KByte groß sind, eine "2" für solche, die zwischen 20 und 30 KByte Umfang haben; Änderungen ohne Zahl sind kleiner als 10 KByte, Patches mit einer "9" hingegen 90 KByte oder größer.

ACPI

   [CD 1] ACPI, APEI, Add PCIe AER error information printing support
    [    ] ACPI: Bug compatibility for Windows on the ACPI reboot vector
    [ D  ] ACPI button: remove unused procfs I/F
    [    ] ACPICA: Add support for FunctionalFixedHW in acpi_ut_get_region_name
    [CD 1] PCI: Export ACPI _DSM provided firmware instance number and string name to sysfs
    [C   ] pstore: X86 platform interface using ACPI/APEI/ERST

Crypto and Security

   [  N2] crypto: authencesn - Add algorithm to handle IPsec extended sequence numbers
    [C N6] crypto: picoxcell - add support for the picoxcell crypto engines
    [    ] crypto: sha1 - Add test vector to test partial block processing
    [ D  ] KEYS: Add a key type op to permit the key description to be vetted
    [ D 1] KEYS: Add a new keyctl op to reject a key with a specified error code
    [CD 1] KEYS: Add an iovec version of KEYCTL_INSTANTIATE
    [    ] LSM: Pass -o remount options to the LSM
    [    ] printk: use %pK for /proc/kallsyms and /proc/modules
    [    ] proc: hide kernel addresses via %pK in /proc/<pid>/stack
    [    ] security/selinux: fix /proc/sys/ labeling
    [    ] SELinux: implement the new sb_remount LSM hook
    [   1] SELinux: Use dentry name in new object labeling

MM

   [ D  ] Documentation/vm/page-types.c: auto debugfs mount for hwpoison operation
    [ D  ] memcg: update documentation to describe usage_in_bytes
    [ D 1] memory hotplug: Allow memory blocks to span multiple memory sections
    [    ] mm: add VM counters for transparent hugepages
    [    ] mm: check if PTE is already allocated during page fault
    [   1] mm: vmap area cache
    [    ] mm: vmscan: kswapd should not free an excessive number of pages when balancing small zones
    [    ] oom: suppress nodes that are not allowed from meminfo on oom kill
    [    ] pagewalk: only split huge pages when necessary
    [    ] slub: min_partial needs to be in first cacheline
    [ D  ] smp: Document transitivity for memory barriers.
    [    ] sys_swapon: use vzalloc() instead of vmalloc/memset

PCI

   [    ] PCI: aer-inject: Override PCIe AER Mask Registers
    [    ] PCI: Changing ASPM policy, via /sys, to POWERSAVE could cause NMIs
    [    ] PCI: Disable ASPM when _OSC control is not granted for PCIe services
    [    ] PCI/lpc: irq and pci_ids patch for Intel DH89xxCC DeviceIDs
    [   1] PCI: pre-allocate additional resources to devices only after successful allocation of essential resources.

PM

   [ D  ] [CPUFREQ] Add documentation for sampling_down_factor
    [C   ] Introduce ARCH_NO_SYSDEV_OPS config option (v2)
    [ D 1] PM: Add support for device power domains
    [  N ] PM / Core: Introduce struct syscore_ops for core subsystems PM
    [ D  ] PM: Documentation/power/states.txt: fix repetition
    [ D 1] PM: Do not create wakeup sysfs files for devices that cannot wake up
    [    ] PM / Hibernate: Reduce autotuned default image size
    [ D 1] PM: Make system-wide PM and runtime PM treat subsystems consistently
    [    ] PM / Wakeup: Make pm_save_wakeup_count() work as documented

Scheduler

   [    ] sched: Check the right ->nr_running in yield_task_fair()
    [ D  ] sched, doc: Beef up load balancing description
    [ D  ] sched, doc: Update sched-design-CFS.txt
    [    ] sched: Resched proper CPU on yield_to()
    [    ] sched: Use a buddy to implement yield_task_fair()

Tracing

   [C  3] perf: Add cgroup support
    [   1] perf annotate: Support multiple histograms in annotation
    [    ] perf events, x86: Work around the Nehalem AAJ80 erratum
    [  N ] perf evlist: New command to list the names of events present in a perf.data file
    [   1] perf list: Allow filtering list of events
    [    ] perf lock: Document valid sort keys
    [    ] perf probe: Add filters support for available functions
    [    ] perf probe: Add --funcs to show available functions in symtab
    [    ] perf probe: Add variable filter support
    [    ] perf probe: Support function@filename syntax for --line
    [    ] perf report tui: Improve multi event session support
    [    ] perf script: Add support for dumping symbols
    [   1] perf script: Add support for H/W and S/W events
    [    ] perf script: Support custom field selection for output
    [    ] perf stat: Provide support for filters
    [    ] perf: Support Xeon E7's via the Westmere PMU driver
    [  N1] perf tool: Add cgroup support
    [  N ] perf tools: Add strfilter for general purpose string filter
    [   2] perf tools: Improve support for sessions with multiple events
    [  N1] perf top: Introduce slang based TUI
    [   1] perf top: Live TUI Annotation
    [    ] perf, x86: Add support for AMD family 15h core counters
    [    ] perf, x86: Complain louder about BIOSen corrupting CPU/PMU state and continue
    [    ] perf, x86: Update/fix Intel Nehalem cache events
    [ D  ] tracing: Add an 'overwrite' trace_option.
    [ D  ] tracing: Deprecate tracing_enabled for tracing_on
    [ D  ] tracing/kprobes: Add bitfield type
    [ D  ] tracing: Remove obsolete sched_switch tracer
    [ D  ] tracing/syscalls: Allow arch specific syscall symbol matching
    [ D  ] tracing/syscalls: Make arch_syscall_addr weak

Visualisation

   [    ] KVM: Add "exiting guest mode" state
    [ DN ] KVM: Start lock documentation
    [    ] KVM: SVM: Add support for perf-kvm
    [    ] xen-balloon: Add interface to retrieve ballooned pages
    [  N1] xen-balloon: Move core balloon functionality out of module
    [C   ] xen: change xen/[gntdev/gntalloc] to default m
    [C   ] xen/debug: WARN_ON when identity PFN has no _PAGE_IOMAP flag set.
    [C N1] xen-gntalloc: Userspace grant allocation driver
    [    ] xen-gntdev: Support mapping in HVM domains
    [   2] xen/mmu: Add the notion of identity (1-1) mapping.
    [    ] xen: use freeze/restore/thaw PM events for suspend/resume/chkpt

Various

   [    ] apm: orphan the driver
    [ D  ] console: allow to retain boot console via boot option keep_bootcon
    [    ] dmaengine/dmatest: Pass timeout via module params
    [ D  ] docs/sysfs: Update directory/kobject documentation.
    [ DN ] Documentation: add devicetree docs index file
    [ D  ] Documentation/Changes: minor corrections
    [ D  ] Documentation/CodingStyle: flesh out if-else examples
    [ D  ] Documentation: file handles are now freed
    [ D  ] Documentation: update cgroup pid and cpuset information
    [ D  ] Documentation: update panic parameter info
    [C   ] genirq: Add comments to Kconfig switches
    [    ] genirq: Add IRQ affinity notifiers
    [C N ] genirq: Add IRQ_INPROGRESS to core
    [C   ] genirq: Add preflow handler support
    [C   ] genirq: Implement generic irq_show_interrupts()
    [   1] genirq: Prepare the handling of shared oneshot interrupts
    [C   ] genirq: Remove CONFIG_IRQ_PER_CPU
    [C   ] genirq: Remove the now obsolete config options and select statements
    [C   ] genirq: Streamline kernel/irq/Kconfig
    [    ] hrtimer: Update base[CLOCK_BOOTTIME].offset correctly
    [    ] kbuild: add GNU GLOBAL tags generation
    [C   ] kbuild: Make DEBUG_SECTION_MISMATCH selectable, but not on by default
    [C   ] kbuild: reenable section mismatch analysis
    [    ] ktest: Add BISECT_FILES to run git bisect on paths
    [    ] ktest: Add BISECT_SKIP
    [    ] ktest: Add manual bisect
    [    ] ktest: Add STOP_TEST_AFTER to stop the test after a period of time
    [ D  ] locking: Remove deprecated lock initializers
    [  N1] posix clocks: Introduce dynamic clocks
    [C   ] printk: allow setting DEFAULT_MESSAGE_LEVEL via Kconfig
    [ DN1] rapidio: add RapidIO documentation
    [ D  ] rcu: add documentation saying which RCU flavor to choose
    [ DN ] rtc: cmos: Add OF bindings
    [ D  ] RTC: Fix up rtc.txt documentation to reflect changes to generic rtc layer
    [   2] rtmutex: Simplify PI algorithm and make highest prio task get lock
    [    ] scripts/extract-ikconfig: add xz compression support
    [    ] time: Introduce get_monotonic_boottime and ktime_get_boottime
    [    ] timers: Add CLOCK_BOOTTIME hrtimer base
    [    ] timers: Export CLOCK_BOOTTIME via the posix timers interface
    [   1] unifdef: update to upstream version 2.5
    [    ] vsprintf: Introduce %pB format specifier
    [    ] workqueue: add system_freezeable_wq
    [ D  ] workqueue: Document debugging tricks

Die kleinen Perlen: Architektur-Code

x86

   [  N2] x86-64, NUMA: Move NUMA emulation into numa_emulation.c
    [    ] x86: add context tag to mark mm when running a task in 32-bit compatibility mode
    [C   ] x86: allow CONFIG_ISA_DMA_API to be disabled
    [    ] x86, AMD: Set ARAT feature on AMD processors
    [ DN1] x86: dtb: Add a device tree for CE4100
    [  N ] x86: dtb: Add irq domain abstraction
    [C   ] x86: dtb: Add support for PCI devices backed by dtb nodes
    [C   ] x86: Enable forced interrupt threading support
    [    ] x86: Separate out entry text section
    [C  1] x86, trampoline: Common infrastructure for low memory trampolines
    [   1] x86: Unify cpu/apicid <-> NUMA node mapping between 32 and 64bit
    [C  1] x86: Unify CPU -> NUMA node mapping between 32 and 64bit
    [C   ] x86: Use PentiumPro-optimized partial_csum() on VIA C7
    [   2] x86: Use syscore_ops instead of sysdev classes and sysdevs

ARM

   [    ] AM35xx: hwmod data: Add USBOTG
    [    ] ARM: 6604/1: Gemini: add platform support for Gemini RTC
    [    ] ARM: 6643/1: ep93xx: add framebuffer support to edb93xx boards
    [  N ] ARM: 6647/1: add Versatile Express defconfig
    [    ] ARM: 6665/1: Add Snapper9260 rtc wakeup interrupt pin
    [C   ] ARM: 6747/1: P2V: Thumb2 support
    [    ] ARM: 6777/1: gic: Add hooks for architecture specific extensions
    [    ] ARM: 6780/1: EDB93xx: Add support for CS4271 SPI-connected CODEC
    [C   ] ARM: Add SSI and aic3204 code to Visstrim_M10 boards.
    [    ] ARM: add 'uinstall' target for installing uboot kernels
    [C N ] ARM: add versatile family consolidated CLCD support
    [    ] ARM: clcd: add method for describing display capabilities
    [C N ] ARM: EXYNOS4: Add ARMLEX4210 Board support file
    [  N7] ARM: EXYNOS4: Add EXYNOS4 CPU initialization support
    [C N ] ARM: EXYNOS4: Add keypad device helpers
    [C   ] ARM: EXYNOS4: Add keypad device to the SMDKV310
    [    ] ARM: EXYNOS4: Add missing GPYx banks
    [   1] ARM: EXYNOS4: Add PMU and CMU Registers for PM
    [C N ] ARM: EXYNOS4: Adds Samsung NURI board support
    [    ] ARM: EXYNOS4: Add support for gpio interrupts
    [C  1] ARM: EXYNOS4: Add support for i2c PMICs on Universal_C210 board
    [C N1] ARM: EXYNOS4: Add support for SATA on ARMLEX4210
    [    ] ARM: EXYNOS4: Add SYSTIMER IO Address mapping for MCT
    [  N ] ARM: exynos4_defconfig: Add defconfig for EXYNOS4
    [C   ] ARM: EXYNOS4: enabled lcd and backlight in NURI board
    [  N2] ARM: EXYNOS4: Enhancement of System MMU driver
    [C N1] ARM: EXYNOS4: Implement kernel timers using MCT
    [  N1] ARM: EXYNOS4: Suspend to RAM Support
    [   4] ARM: EXYNOS4: Update device support
    [C N1] ARM: EXYNOS4: Update Kconfig and Makefile for the new ARCH_EXYNOS4
    [C N ] ARM i.MX23/28: Add framebuffer device support
    [   9] ARM: i.MX53: Add full iomux support for mx53
    [C   ] ARM: imx53_loco: add esdhc device support
    [C   ] ARM: imx53_loco: add i2c device support
    [C N ] ARM: imx: Add initial support for IMX27IPCAM board
    [C   ] ARM: integrator: add Integrator/CP sched_clock support
    [    ] ARM: Kirkwood: t5325: add audio support
    [    ] ARM: kprobes: Add emulation of hint instructions like NOP and WFI
    [    ] ARM: kprobes: Add emulation of MOVW and MOVT instructions
    [    ] ARM: kprobes: Add emulation of RBIT instruction
    [    ] ARM: kprobes: Add emulation of SBFX, UBFX, BFI and BFC instructions
    [    ] arm: mach-mx3: pcm043: add write-protect and card-detect for SD1
    [C   ] ARM: mach-mx5: Add watchdog support for MX53 based boards
    [C   ] ARM: mx25_3ds: Add I2C support
    [C   ] ARM: mx27_3ds: Add I2C support
    [C   ] ARM: mx31_3ds: Add I2C support
    [C   ] ARM: mx35_3ds: Add I2C support
    [C   ] arm: mx50_rdp: add fec support
    [  N ] ARM: mx51: Implement code to allow mx51 to enter WFI
    [C   ] ARM: mx53_loco: Add GPIO Keypad support
    [C   ] ARM: mx53_smd: Add I2C support
    [C   ] ARM: mx5/mx51_3ds: Add watchdog support
    [C   ] ARM: mxc: Add sched_clock to mxc platform
    [C N ] ARM MXS: Add auart platform support for i.MX28
    [  N ] ARM: mxs: add dma device
    [C N ] arm: mxs: add i2c-devices for mx28
    [  N ] ARM: mxs: add initial pm support
    [    ] arm: mxs: add irq_chip-name for GPIO IRQs
    [C N ] ARM: mxs: add ocotp read function
    [C N ] ARM: mxs: Add pwm clocks and device registration
    [C N ] ARM: mxs: dynamically allocate mmc device
    [C N ] ARM: mxs: dynamically register flexcan devices for mx28
    [C N1] ARM: mxs: Initial support for Ka-Ro TX28
    [C   ] ARM: mxs/mx23evk: add auart device
    [C   ] ARM: mxs/mx23evk: add framebuffer device
    [C   ] ARM: mxs/mx23evk: add mmc device
    [C   ] ARM: mxs/mx28evk: add auart devices
    [C   ] ARM: mxs/mx28evk: add flexcan devices
    [C   ] ARM: mxs/mx28evk: add framebuffer device
    [C   ] ARM: mxs/mx28evk: add mmc device
    [C   ] arm: mxs: tx28: add i2c bus and connected RTC
    [    ] ARM: orion5x: accelerate NAND on the TS-78xx
    [C   ] ARM: P2V: introduce phys_to_virt/virt_to_phys runtime patching
    [   1] ARM: pgtable: add pud-level code
    [    ] ARM: pm: add function to set WFI low-power mode for SMP CPUs
    [  N3] ARM: pm: add generic CPU suspend/resume support
    [    ] ARM: pxa: PalmZ72: Add OV9640 camera support
    [    ] ARM: S3C2410: H1940: Add battery support
    [    ] ARM: S3C2410: H1940: Add keys device
    [    ] ARM: S3C2440: Add button support on GTA02
    [    ] ARM: S3C2440: Add touchscreen support on GTA02
    [    ] ARM: S3C2442: RX1950: Add support for LED blinking
    [C N ] ARM: S5P: Add platform definitions for FIMC3
    [C N ] ARM: S5P: Add platform helpers for camera GPIO configuration
    [C N ] ARM: S5P: Add support for common MIPI CSIS/DSIM D-PHY control
    [  N1] ARM: S5P: HRT support
    [    ] ARM: S5PV210: Add power consumers for hsotg for GONI board
    [    ] ARM: S5PV210: Add supplies for CIF camera on GONI board
    [C   ] ARM: SAMSUNG: Add PWM backlight support on Samsung S3C6410
    [C   ] ARM: SAMSUNG: Add PWM backlight support on Samsung S5P6440
    [C   ] ARM: SAMSUNG: Add PWM backlight support on Samsung S5P6450
    [C   ] ARM: SAMSUNG: Add PWM backlight support on Samsung S5PC100
    [C   ] ARM: SAMSUNG: Add PWM backlight support on Samsung S5PV210
    [C N ] ARM: SAMSUNG: Move PWM device definition from plat-s3c24xx to plat-samsung
    [  N ] ARM: tegra: Add api to control internal powergating
    [    ] ARM: tegra: add devices.c entries for audio
    [C N ] ARM: tegra: Add external memory controller driver
    [  N ] ARM: tegra: Add Harmony sound platform data type
    [    ] ARM: tegra: add PCI Express power gating
    [  N ] ARM: tegra: Add prototypes for subsystem suspend functions
    [C N2] ARM: tegra: add seaboard, wario and kaen boards
    [C N2] ARM: tegra: Add support for Tegra USB PHYs
    [  N ] ARM: tegra: add tegra_defconfig
    [    ] ARM: tegra: add tegra_gpio_table and tegra_gpio_config
    [C N1] ARM: tegra: add TrimSlice board
    [    ] ARM: tegra: clock: Add function to set SDMMC tap delay
    [    ] ARM: tegra: clock: Add shared bus clock type
    [   1] ARM: tegra: clock: Drop CPU dvfs
    [    ] ARM: tegra: clocks: Add emc scaling
    [  N1] ARM: tegra: common device resources
    [    ] ARM: tegra: enable new drivers in defconfig
    [    ] ARM: tegra: harmony: Beginnings of audio support
    [    ] ARM: tegra: harmony: I2C-related portions of audio support
    [  N ] ARM: tegra: harmony: initialize the TPS65862 PMIC
    [    ] ARM: tegra: iomap: Add missing devices
    [   1] ARM: tegra: irq: Add support for suspend wake sources
    [    ] ARM: tegra: timer: Add idle and suspend support to timers
    [    ] ARM: tegra: trimslice: enable MMC/SD slots
    [   9] ARM: Update (and cut down) mach-types
    [C  1] ARM: v6k: introduce CPU_V6K option
    [    ] ARM: v6/v7 cache: allow cache calls to be optimized
    [    ] cpuimx51sd: add cpufreq support
    [    ] davinci: Add additional JTAG code for AM-1808 and OMAP-L138 Rev 2.0 SoCs
    [    ] davinci: add spi devices on tnetv107x evm
    [    ] davinci: add spi devices support for da830/omap-l137/am17x evm
    [    ] davinci: add spi devices support for da850/omap-l138/am18x evm
    [    ] davinci: add spi devices support for MityDSP-L138/MityARM-1808 platform
    [    ] davinci: add ssp config for tnetv107x evm board
    [    ] davinci: add tnetv107x ssp platform device
    [    ] davinci: EDMA support for Omapl138-Hawkboard
    [    ] davinci: EMAC support for Omapl138-Hawkboard
    [    ] davinci: MMC/SD support for Omapl138-Hawkboard
    [    ] davinci: Support various speedgrades for MityDSP-L138 and MityARM-1808 SoMs
    [    ] davinci: USB1.1 support for Omapl138-Hawkboard
    [C N2] dmaengine: mxs-dma: add dma support for i.MX23/28
    [    ] efika: enable cpufreq
    [   1] efikamx: add mc13892 support / implement power off
    [C   ] efikamx: add usb h1 support
    [    ] eukrea_mbimxsd25-baseboard: add SD card detect
    [    ] eukrea_mbimxsd51: add SD Card detect
    [C   ] eukrea-tlv320: add MBIMXSD51 support
    [C N1] Introduce EFIKA_COMMON
    [C N1] Introduce VPR200 board.
    [    ] mach-mx31_3ds: Add support for framebuffer and LCD
    [    ] mach-mx31_3ds: Add support for the camera device on the personality board
    [    ] mach-mx31_3ds: Add support for the MMC slot of the personality board
    [    ] mach-ux500: add DB5500 PMU resources
    [   1] mach-ux500: add hrefv60 GPIO pins
    [    ] mach-ux500: add MUSB to db5500 devices
    [    ] mach-ux500: add MUSB to db8500 devices
    [  N ] mach-ux500: add platform data for musb
    [    ] mach-ux500: Add Rohm BH1780GLI Light Sensor to i2c_board_info
    [    ] mach-ux500: add ST-UIB platform data
    [    ] mach-ux500: add U8500 UIB platform data
    [    ] mach-ux500: basic HREFv60 support v2
    [    ] mach-ux500: board support for AB8500 GPIO driver
    [C   ] mach-ux500: configure board for the TPS61052 regulator v2
    [  N ] mach-ux500: dynamic UIB (user interface boards) detection
    [    ] MAINTAINERS: add EXYNOS ARM architectures
    [    ] mmc: msm_sdcc: Add gpio handling function to driver
    [   1] msm: 8x50: Add initial support for SDCC
    [  N ] msm: Add CPU queries
    [    ] msm: clock: Add support for more proc_comm clocks
    [C N1] msm: clock: Migrate to clkdev
    [C   ] msm: iommu: Create a Kconfig item for the IOMMU driver
    [C   ] msm: iommu: Enable HTW L2 redirection on MSM8960
    [C   ] msm: iommu: Enable IOMMU support for MSM8960
    [  N1] msm: irqs-8960: Interrupt map for MSM8960
    [    ] msm: mdp: Add support for RGBX 8888 image format.
    [  N ] msm: serial: Add MSM8960 serial support
    [C   ] msm: Support for the MSM8960 RUMI3 target
    [C N ] msm: Support for the MSM8960 Simulator target
    [C N ] mx31: add support for the bugbase 1.3 from buglabs
    [    ] mx3/eukrea_mbimxsd-baseboard: add SD card detect support
    [    ] omap2/3: dmtimer: Enable autoidle
    [  N1] OMAP2420: hwmod data: add DSS DISPC RFBI VENC
    [    ] OMAP2420: hwmod data: Add McBSP
    [    ] OMAP2420: hwmod data: Add McSPI
    [    ] OMAP2430/3xxx: clock: add modem clock autoidle support
    [   1] OMAP2430: hwmod data: Add McBSP
    [    ] OMAP2430: hwmod data: Add McSPI
    [    ] OMAP2430: hwmod data: Add USBOTG
    [    ] OMAP2: add regulator for MMC1
    [  N ] OMAP2: clock: add DPLL autoidle support
    [  N ] OMAP2+: clock: add interface clock type code with autoidle support
    [    ] OMAP2: hwmod data: add mailbox data
    [   1] OMAP2+: McBSP: hwmod adaptation for McBSP
    [C   ] OMAP2PLUS: DSS2: Add OMAP4 Kconfig support
    [    ] OMAP2xxx: clock: add clockfw autoidle support for APLLs
    [    ] OMAP3: beagle xm: enable up to 800MHz OPP
    [    ] omap3: cpuidle: Add description field to each C-state.
    [    ] omap3evm: add support for the WL12xx WLAN module to the AM/DM3xx Evaluation Module
    [    ] OMAP3EVM: Add vio regulator supply required for ads7846 TSC driver
    [  N1] OMAP3: hwmod data: add DSS DISPC RFBI DSI VENC
    [    ] OMAP3: hwmod data: add mailbox data
    [   1] OMAP3: hwmod data: Add McBSP
    [    ] OMAP3: hwmod data: Add McSPI
    [  N1] OMAP3: l3: Introduce l3-interconnect error handling driver
    [   1] omap3: nand: prefetch in irq mode support
    [    ] OMAP3: PM: Use ARMv7 supported instructions instead of legacy CP15 ones
    [    ] OMAP3xxx: hwmod data: Add USBOTG
    [    ] OMAP4: Add IVA OPP enteries.
    [   1] omap4: dpll: Enable auto gate control for all MX postdividers
    [    ] OMAP4: DSS2: Add display type HDMI to DSS2
    [    ] OMAP4: DSS2: Add hwmod device names for OMAP4.
    [    ] OMAP4: DSS2: clocks: Add ick as dummy clock
    [C   ] OMAP4: DSS2: HDMI: Add makefile and kconfig changes to enable HDMI in OMAP4
    [  N3] OMAP4: DSS2: HDMI: HDMI driver addition in the DSS
    [    ] OMAP4: Enable 800 MHz and 1 GHz MPU-OPP
    [    ] OMAP4: HDMI: Add HDMI structure in the board file for OMAP4 PANDA
    [    ] OMAP4: HDMI: Add HDMI structure in the board file for OMAP4 SDP
    [    ] OMAP4: hwmod_data: Add address space and irq in L3 hwmod.
    [   3] OMAP4: hwmod data: Add AESS, McPDM, bandgap, counter_32k, MMC, KBD, ISS & IPU
    [    ] OMAP4: hwmod data: Add DMIC
    [   1] OMAP4: hwmod data: Add DSS, DISPC, DSI1&2, RFBI, HDMI and VENC
    [    ] OMAP4: hwmod data: Add hwspinlock
    [    ] OMAP4: hwmod data: Add mailbox
    [    ] OMAP4: hwmod data: Add McBSP
    [    ] OMAP4: hwmod data: Add McSPI
    [    ] OMAP4: hwmod data: Add rev and dev_attr fields in McSPI
    [   1] OMAP4: hwmod data: Add timer
    [    ] OMAP4: hwmod data: Add USBOTG
    [    ] OMAP4: hwmod data: enable HSMMC
    [    ] OMAP4: keypad: Add the board support
    [  N1] OMAP4: l3: Introduce l3-interconnect error handling driver
    [    ] OMAP4: PandaBoard: Adding DVI support
    [   1] OMAP: adapt hsmmc to hwmod framework
    [    ] omap: Add chip id recognition for OMAP4 ES2.1 and ES2.2
    [    ] OMAP: Add gpio-keys support for Overo
    [    ] OMAP: Add gpio-leds support for Overo
    [  N ] omap: add hwspinlock device
    [   1] OMAP: DSS2: Add DSS2 support for Overo
    [C N ] OMAP: DSS2: Add support for LG Philips LB035Q02 panel
    [   1] OMAP: DSS2: DSI: Add ISR support
    [    ] OMAP: DSS2: Fix def_disp module param description
    [    ] OMAP: DSS2: Support for Samsung LTE430WQ-F0C
    [    ] OMAP: Enable Magic SysRq on serial console ttyOx
    [    ] OMAP: hsmmc: Enable MMC4 and MMC5 on OMAP4 platforms
    [   1] OMAP: hsmmc: Rename the device and driver
    [    ] OMAP: McBSP: Add pm runtime support
    [    ] omap: omap3evm: add support for the WL12xx WLAN module to the omap3evm
    [    ] omap: overo: Add regulator for ads7846
    [    ] omap: panda: add fixed regulator device for wlan
    [    ] omap: panda: add mmc5/wl1271 device support
    [    ] omap: panda: Add TI-ST driver support
    [    ] omap: rx51: Add SI4713 FM transmitter
    [    ] omap: rx51: Add support for vibra
    [C  2] omap: Start using CONFIG_SOC_OMAP
    [    ] perf: add OMAP support for the new power events
    [    ] plat-nomadik: implement suspend/resume for GPIO
    [    ] plat-nomadik: support secondary GPIO interrupts
    [    ] plat-nomadik: support varying number of GPIOs per block
    [C N2] serial: Add auart driver for i.MX23/28
    [C N ] TI816X: Create board support and enable build for TI816X EVM
    [C   ] TI816X: Update common omap platform files
    [C N2] video: Add i.MX23/28 framebuffer driver
    [C   ] VIDEO: cyberpro: add I2C support
    [C   ] VIDEO: cyberpro: add support for video capture I2C

PPC

   [    ] powerpc/44x: Add USB DWC DTS entry to Canyonlands board
    [C   ] powerpc/85xx: disable Suspend support if SMP enabled
    [    ] powerpc/85xx: Don't add disabled PCIe devices
    [ DN ] powerpc: Document the Open PIC device tree binding
    [ DN ] powerpc/fsl: 85xx: document cache sram bindings
    [ D 1] powerpc/fsl: define binding for fsl mpic interrupt controllers
    [ D  ] powerpc/fsl_msi: Handle msi-available-ranges better
    [    ] powerpc/fsl_pci: Add support for FSL PCIe controllers v2.x
    [ D 1] powerpc/pseries: Add support for dynamic dma windows

Various

   [C   ] arch/tile: add some more VMSPLIT options and use consistent naming
    [C  2] arch/tile: support 4KB page size as well as 64KB
    [CDN1] ARM: 6617/1: mmc, Add zboot from MMC support for SuperH Mobile ARM
    [C   ] bitops: introduce CONFIG_GENERIC_FIND_BIT_LE
    [C  1] bitops: remove minix bitops from asm/bitops.h
    [    ] Blackfin: bf548-ezkit: add CAN1 support
    [C   ] Blackfin: bf54x: add kconfig for UART2/3 DMA channel assignments
    [C   ] Blackfin: enable GENERIC_HARDIRQS_NO_DEPRECATED
    [    ] Blackfin: SMP: implement cpu_freq support
    [C   ] Blackfin: SMP: work around anomaly 05000491
    [C   ] Blackfin: split optimization settings more
    [CDN4] drivers: hwspinlock: add framework
    [C N ] drivers: hwspinlock: add OMAP implementation
    [C   ] hwspinlock: depend on OMAP4
    [    ] IA64: New syscalls for 2.6.39
    [C N ] m68k/atari: ARAnyM - Add support for block access
    [C N ] m68k/atari: ARAnyM - Add support for console access
    [C N ] m68k/atari: ARAnyM - Add support for network access
    [C N ] m68k/atari: Initial ARAnyM support
    [C N ] m68knommu: add basic support for the ColdFire based FireBee board
    [    ] m68knommu: external interrupt support to ColdFire intc-simr controller
    [C   ] m68knommu: introduce little-endian bitops
    [C   ] m68knommu: make ColdFire internal peripheral region configurable
    [C   ] microblaze: Do not copy reset vectors/manual reset vector setup
    [    ] microblaze: Wire up new syscalls
    [    ] MIPS: Microoptimize arch_{read,write}_lock
    [  N ] MIPS: MSP71xx: Add CPU feature override file.
    [  N1] MIPS: MSP71xx: Add vectored interrupt support.
    [  N ] MIPS: MSP71xx: Add VSMP/SMTC support.
    [C N1] MIPS: MSP71xx: Platform support for MSP on-chip USB controller.
    [C N1] MIPS: MSP71xx: Platform support for On-chip MSP ethernet devices.
    [C N2] MN10300: Create general kernel debugger cache flushing
    [C  2] MN10300: Create generic kernel debugger hooks
    [C   ] MN10300: Deprecate gdbstub
    [C   ] MN10300: gdbstub: Restrict single-stepping to non-preemptable non-SMP configs
    [C N ] MN10300: Introduce a general config option for kernel debugger hooks
    [C N ] MN10300: Use KGDB
    [ D  ] move x86 specific oops=panic to generic code
    [    ] [net/9p] Small non-IO PDUs for zero-copy supporting transports.
    [C N3] oprofile, s390: Add support for hardware based sampling on System z processors
    [  N1] oprofile, s390: Enhance OProfile to support System zs hardware sampling feature
    [    ] oprofile, s390: Rework hwsampler implementation
    [   1] percpu: align percpu readmostly subsection to cacheline
    [  N ] percpu, x86: Add arch-specific this_cpu_cmpxchg_double() support
    [    ] Readme: Add architecture
    [C   ] S390: support XZ compressed kernel
    [C N ] S390: Write protect module text and RO data
    [    ] sh: mach-ecovec24: support for main lcd backlight
    [C   ] sparc32: added U-Boot build target: uImage
    [    ] sparc64: Sharpen address space randomization calculations.
    [    ] sparc/leon: Add LEON dma_ops.
    [    ] um: Add myself as co-maintainer
    [  N ] um: mdd support for 64 bit atomic operations
    [  N1] unicore32 additional architecture files: boot process
    [  N ] unicore32 additional architecture files: float point handling
    [  N1] unicore32 additional architecture files: low-level lib: misc
    [  N ] unicore32 additional architecture files: low-level lib: ocd debug
    [  N1] unicore32 additional architecture files: low-level lib: uaccess
    [  N3] unicore32 additional architecture files: pm related files
    [  N ] unicore32 additional architecture files: ptrace handling
    [    ] unicore32: ADD MAINTAINER for unicore32 architecture
    [C N1] unicore32 core architecture: build infrastructure
    [  N1] unicore32 core architecture: generic elf and ksyms stuff
    [  N2] unicore32 core architecture: interrupts ang gpio handling
    [  N4] unicore32 core architecture: low level entry and setup codes
    [  N3] unicore32 core architecture: mm related: consistent device DMA handling
    [  N6] unicore32 core architecture: mm related: fault handling
    [C N4] unicore32 core architecture: mm related: generic codes
    [  N2] unicore32 core architecture: processor and system headers
    [  N2] unicore32 core architecture: process/thread related codes
    [  N1] unicore32 core architecture: signals handling
    [  N1] unicore32 core architecture: timer and time handling
    [    ] unicore32 i8042: adjust io funcs of i8042-unicore32io.h
    [    ] unicore32 i8042 upgrade and bugfix: adjust resource request region type
    [   2] unicore32 io: redefine __REG(x) and re-use readl/writel funcs
    [C N2] unicore32 machine related: add frame buffer driver for pkunity-v3 soc
    [C N1] unicore32 machine related files: add i2c bus drivers for pkunity-v3 soc
    [C N1] unicore32 machine related files: core files
    [  N5] unicore32 machine related files: hardware registers
    [  N1] unicore32 machine related files: pci bus handling
    [  N ] unicore32 machine related files: ps2 driver
    [C   ] unicore32: modify function names and parameters for irq_chips
    [   5] unicore32: modify io_p2v and io_v2p macros, and adjust PKUNITY_mmio_BASEs
    [    ] unicore32: remove unused lines in arch/unicore32/include/asm/irq.h
    [    ] unicore32: rename PKUNITY_IOSPACE_BASE to PKUNITY_MMIO_BASE
    [C   ] unicore32: replace unicore32-specific iomap functions with generic lib implementation
    [    ] unicore32: rewrite arch-specific tlb.h to use asm-generic version
    [    ] unicore32 time.c: change calculate method for clock_event_device
    [    ] unicore32 upgrade to v2.6.38-rc5: add one more paramter for pte_alloc_map call

Quelle und Links : http://www.heise.de/open/artikel/Kernel-Log-Was-2-6-39-bringt-3-Architektur-und-Infrastruktur-1238217.html
Titel: Kernel-Log – Was 2.6.39 bringt (4): Treiber
Beitrag von: SiLæncer am 10 Mai, 2011, 17:02
Der Kernel unterstützt nun USB-3.0-Hubs, die neusten Radeon-Grafikkarten und Intels bislang problematische GMA500-Grafik. Neu sind ferner Treiber für Asus- und Samsung-Notebooks sowie Audio- und Multimedia-Hardware verschiedener Hersteller.

In der Nacht von Montag auf Dienstag hat Linux Torvalds die siebte Vorabversion von Linux 2.6.39 veröffentlicht. Er schreibt in der Freigabe-Mail, dass es recht ruhig zugehe; er nimmt an, der RC7 werde die letzte Vorabversion, sofern nicht noch größere Probleme auftauchen.

Mit der langsam nähere rückenden Fertigstellung von Linux 2.6.39 will das Kernel-Log die Mini-Serie "Was 2.6.39 bringt" mit der Beschreibung der Neuerungen bei Treibern abschließen – darunter jene für Audio-, Grafik- und Multimedia-Hardware. Der erste Teil der Artikel-Reihe hatte sich den Änderungen an Netzwerk-Treibern und -Infrastruktur gewidmet; der darauf folgende drehte sich um Dateisystem-Code sowie Storage-Treiber und -Infrastruktur; im dritten Teil ging es um plattformspezifischen Code und allgemeine Infrastruktur.

Grafik

Der Radeon-Treiber des Kernels 2.6.39 unterstützt nun auch die Grafikchips der Cayman-Familie, die AMDs unter anderem auf den aktuellen Radeon-HD-Modellen 6790 bis 6970 verbaut (u. a. 1, 2). Mangels DRM-Unterstützung lassen sich deren 2D- und 3D-Beschleunigungsfunktionen aber nicht nutzen; spätere Kernel sollen diese Lücke beseitigen.

Der für Nvidia-GPUs zuständige Grafiktreiber Nouveau beherrscht nun Z-Kompression. Bei Grafikkernen der Familie NV50 (GeForce 8, 9, 100, 200 und 300) sowie NVC0 (GeForce 400 und 500) unterstützt der Kernel nun das bei Linux 2.6.38 eingeführte Pageflipping, das eine genauere Abstimmung der Bildaktualisierung mit dem Bildwechsel des Ausgabegerätes ermöglicht – das kann die Performance verbessern und soll Tearing vermeiden (1, 2). Zudem wurde ein Performance-Problem beseitigt, das eine Leistungseinbuße von 10 bis 30 Prozent nach sich gezogen haben soll.

Die Entwickler der Grafiktreiber für Intel-Chips haben viele kleinere Änderungen vorgenommen; einige von ihnen verbessern die Performance in bestimmten Situationen oder senken die Leistungsaufnahme neuerer Grafikkerne (1, 2, 3). Im DRM/KMS-Code gab es einige Änderungen, um über USB angebundene Grafikhardware anzusteuern; das legt die Grundlagen für einen KMS-Treiber für Displaylink-Hardware, an dem Dave Airlie arbeitet. In seinem Haupt-Git-Pull-Request für 2.6.39 erwähnt der Verwalter des DRM-Subsystems noch einige weitere Änderungen rund um den DRM/KMS-Code des Kernels; etwa Tiling-Unterstützung für R600-GPUs oder TTM-Unterstützung für Xen-Dom0-Systeme.

Audio

Zum Audio-Subsystem stieß ein Treiber für die Terratec DMX 6Fire USB; dort landete auch ein FireWire-Audio-Treiber, der das Griffin FireWave Surround Sound System und die LaCie FireWire Speaker anspricht. Der Treiber Hdspm unterstützt nun die von RME Audio gefertigten HDSPe-Modelle RayDAT und AIO; der Treiber Usbaudio lernte USB Autosuspend, was die Leistungsaufnahme reduzieren sollte, wenn die Audio-Hardware nicht genutzt wird.

Der Haupt-Git-Pull-Reqeust von Audio-Subsystem-Betreuer Takashi Iwai listet einige weitere Änderungen; er erwähnt dort etwa Korrekturen, die einige seit langem bekannte Probleme beim SPDIF-Code des X-Fi-Treibers beseitigen. Die Audio-Treiber des Kernels sind durch diese Änderungen auf dem Stand von Alsa 1.0.24.

Kernel-Log-Leser Dennis Jansen hat sich derweil näher mit den bei 2.6.38 vorgenommenen Änderungen beschäftigt, durch die der Treiber Snd-hda-intel die Audio-Ausgabe ohne Interrupt beherrscht. Die Messergebnisse und einige Hinweise zu den nötigen Einstellungen hat er in einem Blog-Eintrag zusammengefasst; demnach habe sich die Zahl der pro Sekunde erfolgten Aufwachvorgänge von 150 auf 19 reduziert, was nur wenig mehr ist als im Leerlauf. Der Prozessor konnte dadurch die tieferen Schlafzustände häufiger erreichen und erheblich länger in diesen verweilen, wodurch sich die Leistungsaufnahme des zum Test eingesetzten Notebooks bei Audio-Ausgabe um 0,4 Watt reduziert habe.

Multimedia

Zum Media-Subsystem mit seinen Fernbedienungs-, TV-, Video-, und Webcam-Treibern stieß das bei LWN.net beschriebene Media Controller Subsystem (u. a. 1, 2, 3), über das der Userspace die Funktionen von Video-Hardware in SOCs (System-on-a-Chip) besser nutzen kann.

Neu ist auch ein Treiber für einen via USB 2.0 angebundenen DVB-S/S2-Receiver von Technisat sowie Unterstützung für den DiBcom 9000 – einen DVB-T-Tuner, der auf den Einsatz in mobilen Geräten ausgelegt ist. In den Kernel floss ferner der Gspca-Subtreiber nw80x ein, der Webcam-Chips von Divio anspricht. Die haben viele verschiedene Hersteller eingesetzt; darunter auch Logitech bei der QuickCam Pro mit dunklem Fokusring. Für die Webcam "3com homeconnect" liegt dem Kernel nun ein komplett neu geschriebener V4L2-Gspca-Treiber bei, der mehr leisten soll als der ältere V4L1-Treiber Vicam. Einen guten Überblick über weitere Änderungen am Media-Subsystem liefert dessen Verwalter Mauro Carvalho Chehab in seinem Haupt-Git-Pull-request für 2.6.39.

Staging

Zum Kernel stieß der Grafiktreiber psb_gfx für den unter Linux bislang als sehr problematisch geltenden Grafikkern GMA500. Der steckt in Intels eher für den Einsatz im Embedded-Markt ausgelegten Chipsatz US15W ("Poulsbo"), den einige Hersteller in Netbooks einsetzen. Seit der Vorstellung des anfangs sehr rudimentären Treibers wurde er bereits an vielen Stellen verbessert (1, 2). Es gibt aber noch einiges mehr zu tun, daher landete er wie von vornherein vorgesehen im Staging-Bereich – dort liegen Treiber und anderer eigenständiger Code, der den Qualitätsansprüchen seiner Entwickler oder denen der Kernel-Hacker nicht genügt.

In diesem Bereich landete auch ein von Microsoft entwickelter Maustreiber für Hyper-V. An den anderen, schon länger im Kernel enthaltenen Treibern für Microsofts Virtualisierungsschnittstelle gab es in letzter Zeit zahlreiche Änderungen. Es scheint, als würden Microsofts Entwickler neuerdings deutlich mehr Energie in das Beseitigen der Qualitätsmängel investieren, damit der Treiber den Staging-Bereich verlassen kann; lange hatte es so ausgesehen, als hätte es Microsoft mit den quelloffenen Treibern nicht so richtig ernst genommen, da es mit ihnen gar nicht oder nur überaus schleppend voran ging.

Als Staging eingestuft sind auch die bei LWN.net beschriebene Transcendent-Memory-Infrastuktur und das darauf aufbauende Zcache – Letzteres ist im Umfeld von Zram entstanden und versucht, durch Komprimierung des Page Cache den Arbeitsspeicher effizienter zu nutzen. Das im selben Umfeld entstandene und für einige Funktionen von Zcache benötigte Cleancache hat Linus Torvalds außen vor gelassen, nachdem er anfangs erwogen hatte, es noch nach Ende des Merge Window aufzunehmen; es ist noch unklar, ob es in 2.6.40 folgt (1, 2)

Im Rahmen der BKL-Säuberungsaktion flogen Autofs3 und Smbfs sowie der DRM-Treiber i830 wie erwartet raus.

Platform-Treiber

Den Staging-Bereich verlassen konnte ein Treiber für SABI. Dabei handelt es sich um ein Samsung-eigenes Interface, über das viele der in den letzten Jahren gefertigten Net- und Notebooks dem Betriebssystem unter anderem mitteilen, wenn der Anwender Funktionstasten betätigt – etwa jene zur Helligkeits- oder Lautstärke-Regelung.

Zum Kernel stieß zudem ein Treiber für die Verarbeitung von WMI-Event, die einige All-In-One-Systeme von Dell beim Betätigen der Tasten zur Lautstärkeregelung absetzen. Auch für neuere Asus-Notebooks, die WMI für die Funktionstasten-Interaktion mit dem Betriebssystem nutzen, liegt dem 39er-Kernel ein Treiber bei; er ist aus dem WMI-Treiber für EeePCs hervorgegangen.

Staccato

    Der USB-Code unterstützt nun USB-3.0-Hubs (1, 1). Während der 39er-Entwicklung hat Kernel-Hacker Mauro Carvalho Chehab auf der LKML ein "usbmon capture and parser script" vorgestellt, mit dem sich ein USB-Sniffer aufsetzen lässt – anscheinend hat er einen solchen für die Entwicklung eines TV-Treibers benötigt. Im Rahmen der Diskussion wurde der Verwalter des Media-Subsystem darauf hingewiesen, dass es ähnliche Software bereits gibt.
    Neu ist der Treiber Rts_pstor für PCIe-Kartenleser-Chips von Realtek.
    Bei den Treibern für Eingabegeräte gab es allerlei Änderungen; der Roccat-Treiber etwa unterstützt nun die Arvo-Tastatur und die Kova
    Der EDAC-Treiber unterstützt nun AMDs im Sommer erwartete Bulldozer-Prozessoren (1,2).
    Unter den zahlreichen Änderungen an den Treibern für Hardware-Monitoring-Bausteine findet sich ein Treiber für den Super I/O-Chip SCH5627 von SMSC.

Die kleinen Perlen

Viele kleinere, aber keineswegs unbedeutende Neuerungen finden sich in der folgenden Liste mit den englischen Commit-Überschriften der jeweiligen Änderung. Die Einträge verlinken genau wie viele der Verweise im vorangegangenen Text auf das Webfrontend des von Linus Torvalds gepflegten Git-Zweigs mit den "offiziellen" Kernel-Quellen auf Kernel.org. Der über diese Links angezeigten Commit-Kommentar und der darunter ausgegebene Patch liefern zahlreiche weitere Informationen zur jeweiligen Änderungen.

Vor jedem Link finden sich in eckigen Klammern einige Buchstaben und Zahlen. Ein "C" kennzeichnet Patches mit Änderungen an Kconfig-Dateien, welche die Konfigurationsoptionen samt der zugehörigen Hilfetexte enthalten, die bei der Kernel-Konfiguration über "make menuconfig" oder "make xconfig" angezeigt werden. Ein "D" steht bei Patches, die die Dokumentation verändern, die im Kernel-Zweig unterhalb von Documentation/ liegt. Ein "N" weist Änderungen aus, die eine neue Datei anlegen. Die Zahl vermittelt einen groben Eindruck zur Größe des Patches: eine "1" kennzeichnet Änderungen, die inklusive Kommentar zwischen 10 und 20 KByte groß sind, eine "2" für solche, die zwischen 20 und 30 KByte Umfang haben; Änderungen ohne Zahl sind kleiner als 10 KByte, Patches mit einer "9" hingegen 90 KByte oder größer.

Audio

    [    ] ALSA: asihpi - Add volume mute control.
    [    ] ALSA - au88x0 - add Playback Volume to 10 bands Equalizer Controls
    [C  1] ALSA: azt3328: add custom AC97 semi-emulation use standard ALSA AC97 layer
    [    ] ALSA: ens1371: fix Creative Ectiva support
    [    ] ALSA: hda - 4930g add internal lfe slider
    [    ] ALSA: hda - Add a fix-up for Acer dmic with ALC271x codec
    [    ] ALSA: hda: add beep quirk for Realtek 0x1043:831a
    [    ] ALSA: HDA: Add dock mic quirk for Lenovo Thinkpad X220
    [    ] ALSA: HDA: Enable surround and subwoofer on Lenovo Ideapad Y530
    [    ] ALSA: HDA: Fix automute for Gateway NV79
    [    ] ALSA: HDA: Fix dock mic for Lenovo X220-tablet
    [    ] ALSA: HDA: Fix single internal mic on ALC275 (Sony Vaio VPCSB1C5E)
    [    ] ALSA: HDA: New AD1984A model for Dell Precision R5500
    [    ] ALSA: hda - VIA: Add missing support for VT1718S in A-A path
    [    ] ALSA: hdspm - Add firmware ID for older AES32 cards.
    [C   ] ALSA: hdspm - Add RayDAT and AIO strings to Kconfig
    [C   ] ALSA: snd-usb-caiaq: Add support for Traktor Audio 2
    [    ] ALSA: usb-audio: add Cakewalk UM-1G support
    [    ] ALSA: usb-audio - Add "cval->res = 384" quirk for Logitech Webcam C600
    [    ] ALSA: usb-audio: add support for Native Instruments MK2 devices
    [    ] ALSA: usb-audio: define another USB ID for a buggy USB MIDI cable
    [    ] ALSA: usb-audio - Support for Boss JS-8 Jam Station
    [    ] ALSA: usb-audio - Terratec Aureon 7.1 USB ID as C-Media cm6206 quirks
    [    ] ASoC: add a module alias to the FSI driver
    [    ] ASoC: Add card driver data
    [C   ] ASoC: Add dependency on INTEL_SCU_IPC for Intel MID drivers
    [C N ] ASoC: Add driver for the dfbmcs320 bluetooth module
    [C N5] ASoC: Add Freescale SGTL5000 codec support
    [C   ] ASoC: Add LM4857 to SND_SOC_ALL_CODECS
    [C N ] ASoC: Add machine driver for Visstrim_M10 board.
    [C N1] ASoC: Add MAX9850 codec driver
    [    ] ASoC: Add platform data for WM9081 IRQ pin configuration
    [    ] ASoC: Add support for AIF channel muxing on WM8903
    [    ] ASoC: add support for multiple jack types
    [    ] ASoC: Add support for sequencing within
    [C N3] ASoC: Add TI tlv320aic32x4 codec support.
    [C N2] ASoC: CS4271 codec support
    [ D  ] ASoC: documentation updates
    [C N ] ASoC: EDB93xx machine sound driver with CS4271
    [    ] ASoC: Enable 192kHz sample rate for EP93xx.
    [C   ] ASoC: eukrea-tlv320: add MBIMXSD51 support
    [    ] ASoC: mfld_machine: Add support for jack detection
    [    ] ASoC: mid-x86: Add support for capture in machine driver
    [    ] ASoC: omap: rx51: Add earphone support
    [    ] ASoC: omap: rx51: Add FM transmitter support
    [    ] ASoC: omap: rx51: Add headset support
    [C   ] ASoC: omap: rx51: Add stereo output support to audio jack
    [    ] ASoC: omap: rx51: Enable McBSP2 sidetone
    [C  2] ASoC: Samsung: Merge neo1937_wm8753 and neo1973_gta02_wm8753 sound board driver
    [   1] ASoC: sn95031: add capture support
    [    ] ASoC: sn95031: Add jack support in the codec
    [C N ] ASoC: sst v2: Add makefiles and kconfigs changes
    [  N ] ASoC sst v2: Add medfield machine driver
    [  N1] ASoC: sst v2: Add mid platform driver
    [C N2] ASoC: sst v2: Add sn95031 codec driver
    [    ] ASoC: Support WM8958 direct microphone detection IRQ
    [    ] ASoC: tegra: Add DAPM widgets/routes for Harmony
    [    ] ASoC: Tegra: Add MODULE_ALIAS
    [  N1] ASoC: tegra: Add tegra-das driver
    [  N2] ASoC: tegra: Add tegra-i2s driver
    [  N1] ASoC: tegra: Add tegra-pcm driver
    [    ] ASoC: Tegra: Harmony: Add headphone jack detection
    [    ] ASoC: Tegra: Harmony: Add switch control for speaker
    [    ] ASoC: Tegra: Harmony: Implement mic detection
    [  N ] ASoC: tegra: Harmony machine support
    [    ] ASoC: Tegra: Harmony: Support the internal speaker
    [C N ] ASoC: tegra: Kconfig and Makefile
    [  N ] ASoC: tegra: Machine utility code
    [    ] ASoC: Tegra: Suspend/resume support
    [C N8] ASoC: WM8991: Add initial WM8991 driver
    [    ] Revert "ALSA: hda - Fix pin-config of Gigabyte mobo"

Grafik

    [    ] drm: add cap bit to denote if dumb ioctl is available or not.
    [    ] drm/core: add ioctl to query device/driver capabilities
    [C   ] drm/i810: remove the BKL
    [    ] drm/i915: Add a module parameter to ignore lid status
    [    ] drm/i915: allow 945 to control self refresh (CxSR) automatically
    [   4] drm/i915: Refine tracepoints
    [    ] drm: psuedocolor support for ARGB modes
    [    ] drm/radeon: bump version to 2.9
    [    ] drm/radeon/kms: add some new ontario pci ids
    [    ] drm/radeon/kms: Add support for tv-out dongle on G5 9600
    [    ] efifb: Add override for 11" Macbook Air 3,1
    [    ] efifb: support AMD Radeon HD 6490
    [    ] efifb: Support overriding fields FW tells us with the DMI data.
    [C   ] fbdev: sh_mobile_lcdcfb: add backlight support
    [    ] fbdev: sh_mobile_lcdcfb: add blanking support
    [    ] nouveau/ttm/PCIe: Use dma_addr if TTM has set it.
    [C  1] radeon: expose backlight class device for legacy LVDS encoder
    [    ] radeon/ttm/PCIe: Use dma_addr if TTM has set it.
    [    ] s3fb: add support for 86C365 Trio3D
    [    ] s3fb: enable DTPC
    [    ] sisfb: add RAM type detection for XGI Z9
    [    ] sisfb: add subroutine for detecting XGI Z9
    [    ] sisfb: add support for XGI Z9 DDR2 POST
    [    ] uvesafb,vesafb: create WC or WB PAT-entries

I2C/HW-Monitoring/EDAC

    [    ] amd64_edac: Add support for interleaved region swapping
    [    ] amd64_edac: Erratum #637 workaround
    [    ] amd64_edac: Improve DRAM address mapping
    [C N1] drivers/edac: provide support for tile architecture
    [ DN ] hwmon: Add submitting-patches checklist to documentation
    [CDN2] hwmon: Add support for Lineage Compact Power Line PEM devices
    [CDN ] hwmon: Add support for LTC4151
    [CDN1] hwmon: Add support for Texas Instruments ADS1015
    [ D  ] hwmon: Add tachometer pulses per fan revolution to sysfs ABI
    [CD  ] hwmon: (adm1021) Clarify documentation regarding Xeon processors
    [ D 1] hwmon: (ads1015) Make gain and datarate configurable
    [CDN2] hwmon: Driver for Maxim MAX6639
    [    ] hwmon/f71882fg: Add support for f71808e
    [ D  ] hwmon/f71882fg: Add support for f71869f and f71869e
    [ D  ] hwmon/f71882fg: Add support for f71889ed
    [CD  ] hwmon: (f71882fg) Add support for the F71889A
    [CD  ] hwmon: (f71882fg) Add support for the F81865F
    [CD  ] hwmon: (f71882fg) Document all supported devices
    [    ] hwmon: (f71882fg) Per-chip fan/temperature input count tables
    [CD  ] hwmon: (lm75) Add detection of the National Semiconductor LM75A
    [    ] hwmon: (lm75) Speed up detection
    [ D  ] hwmon: (lm85) Add support for EMC6D103S
    [CD  ] hwmon: (lm90) Add support for ADT7461A and NCT1008
    [ D  ] hwmon: (lm90) Fix update interval information in driver documentation
    [ DN ] hwmon: (max16064) Add driver documentation
    [ DN ] hwmon: (max34440) Add driver documentation
    [ DN ] hwmon: (max8688) Add driver documentation
    [CDN2] hwmon: New driver for SMSC SCH5627
    [C N ] hwmon: (pmbus) Add support for Maxim MAX16064
    [C N ] hwmon: (pmbus) Add support for Maxim MAX34440/MAX34441
    [C N ] hwmon: (pmbus) Add support for Maxim MAX8688
    [C N6] hwmon: PMBus device driver
    [ D  ] hwmon: (pmbus) Documentation updates
    [ DN ] hwmon: PMBus driver documentation
    [    ] hwmon: (pmbus) Improve support for paged fans
    [    ] hwmon: (pmbus) Improve support for paged temperature sensors
    [ D  ] hwmon: (smm665) Fix spelling error in driver documentation
    [CDN ] hwmon: twl4030: Hwmon Driver for TWL4030 MADC
    [    ] hwmon: (w83627ehf) Add fan debounce support for NCT6775F and NCT6776F
    [ D 4] hwmon: (w83627ehf) Add support for Nuvoton NCT6775F and NCT6776F
    [ D 1] hwmon: (w83627ehf) Improve support for W83667HG-B
    [C   ] hwmon: (w83627ehf) Update Kconfig for W83677HG-B, NCT6775F and NCT6776F
    [ DN ] hwmon: (w83795) Document pin mapping
    [C N ] hwrng: pixocell - add support for picoxcell TRNG
    [C N1] i2c: add driver for Freescale i.MX28
    [CDN1] i2c/busses: Add support for Diolan U2C-12 USB-I2C adapter
    [ D  ] i2c: Deprecate i2c_driver.attach_adapter and .detach_adapter
    [ D  ] i2c: Drop i2c_adapter.id
    [C  1] i2c-eg20t: support new device OKI SEMICONDUCTOR ML7213 IOH
    [ D  ] i2c: Get rid of <linux/i2c-id.h>
    [CD  ] i2c-i801: SMBus patch for Intel DH89xxCC DeviceIDs
    [ D  ] i2c: Minor fixes to upgrading-clients document
    [C   ] i2c-mpc: Add support for 64bit system
    [C N ] i2c-pxa2xx: Add PCI support for PXA I2C controller
    [C N2] i2c: tegra: Add i2c support
    [CD  ] kernel/watchdog.c: allow hardlockup to panic by default
    [CD  ] Move hp_accel to drivers/platform/x86
    [C N ] Move lis3lv02d drivers to drivers/misc
    [C N1] watchdog: add JZ4740 watchdog driver
    [C N2] watchdog: Intel SCU Watchdog Timer Driver for Moorestown and Medfield platforms.
    [C   ] watchdog: it87_wdt: Add support for IT8721F watchdog
    [C N1] watchdog: Xen watchdog driver

Input

    [C   ] HID: ACRUX - activate the device immediately after binding
    [    ] HID: add FF support for Logitech G25/G27
    [ DN ] HID: Add HID Report Descriptor to sysfs
    [    ] HID: add IRTOUCH infrared USB to hid_have_special_driver
    [    ] HID: Add support for CH Pro Throttle
    [    ] HID: add support for DragonRise PID 0011 gamepad
    [C N ] HID: add support for Keytouch IEC 60945
    [    ] HID: add support for Logitech Driving Force Pro wheel
    [C   ] HID: add support for Ortek PKB-1700
    [    ] HID: Add Support for Setting and Getting Feature Reports from hidraw
    [C   ] HID: add support for Skycable 0x3f07 wireless presenter
    [C N ] HID: add support for wireless remote LC Power model RC1000MCE
    [    ] HID: Add teletext/color keys - gyration remote - EU version (GYAR3101CKDE)
    [    ] HID: bt: Add support for hidraw HIDIOCGFEATURE and HIDIOCSFEATURE
    [    ] HID: hid-magicmouse: Correct touch orientation direction
    [C   ] HID: hid-multitouch: introduce IrTouch Infrared USB device
    [C  1] HID: merge hid-egalax into hid-multitouch
    [ D 1] HID: roccat: Add ioctl command to retreive report size from chardev
    [    ] HID: roccat: Add support for wireless variant of Pyra
    [ D 1] HID: roccat: Add 'Users:' tag to sysfs documentation
    [C   ] HID: update dragonrise Kconfig description
    [C N ] Input: add Atmel AT42QT1070 keypad driver
    [    ] Input: atmel_mxt_ts - add mXT224 identifier to id_table
    [    ] Input: bcm5974 - add support for MacBookPro8
    [    ] Input: bcm5974 - Report button also for zero fingers
    [ DN1] Input: document event types and codes and their intended use
    [ D  ] Input: evdev - indicate buffer overrun with SYN_DROPPED
    [C N2] Input: introduce tsc2005 driver
    [C   ] Input: qt602240_ts - rename to atmel_mxt_ts
    [    ] Input: tsc2005 - add module description
    [    ] Input: wacom - add support for Lenovo tablet ID (0xE6)
    [   2] Input: wacom - report resolution for pen devices
    [    ] Input: wacom - support 2FGT in MT format
    [    ] Input: wacom - support one finger touch the touchscreen way
    [C N1] Input: wm831x - add driver for Wolfson WM831x PMIC touchscreen controllers
    [C   ] Input: xen-kbdfront - move to drivers/input/misc

Media

    [    ] Add chip identity for NOON010PC30 camera sensor
    [ DN4] Add multi-planar API documentation
    [   2] Add proper audio support for Nova-S Plus with wm8775 ADC
    [    ] add support for Encore FM3
    [  N ] add TerraTec remote
    [C N2] Add v4l2 subdev driver for NOON010PC30L image sensor
    [    ] adv7343: use control framework
    [    ] af9015: map remote for TerraTec Cinergy T Stick RC
    [C N2] Altera FPGA based CI driver module
    [C N9] Altera FPGA firmware download module
    [    ] bt819: use control framework
    [   1] cpia2: convert to video_ioctl2
    [    ] cs5345: use the control framework
    [   3] cx18: Use the control framework
    [    ] cx231xx: Add support for PV Xcapture USB
    [    ] cx88: add support for TeVii S464 PCI card
    [C  2] dabusb: remove obsolete driver
    [   7] DiB0090: misc improvements
    [   4] DiB0700: add support for several board-layouts
    [   9] DiB7090: add support for the dib7090 based
    [   6] DiB8000: add diversity support
    [   9] DiBxxxx: Codingstype updates
    [ D  ] DM04 LME2510(C) Sharp BS2F7HZ0194 Firmware Information
    [ D  ] DocBook: Document the removal of the old VIDIOC_*_OLD ioctls
    [ D  ] Documentation: README.ivtv: Remove note that ivtvfb is not yet in the kernel
    [C   ] drivers:media:radio: Update Kconfig and Makefile for wl128x FM driver
    [  N ] drivers:media:radio: wl128x: FM Driver common header file
    [  N6] drivers:media:radio: wl128x: FM Driver Common sources
    [  N2] drivers:media:radio: wl128x: FM driver RX sources
    [  N1] drivers:media:radio: wl128x: FM driver TX sources
    [  N1] drivers:media:radio: wl128x: FM Driver V4L2 sources
    [C N ] drivers:media:radio: wl128x: Kconfig & Makefile for wl128x driver
    [   1] dw2102: add support for Geniatech SU3000 USB DVB-S2 card
    [    ] dw2102: add support for the TeVii S480 PCIe
    [    ] dw2102: Add Terratec Cinergy S2 USB HD
    [    ] dw2102: Copyright, cards list updated
    [    ] dw2102: Extend keymap parameter for not used remote
    [    ] dw2102: Prof 7500: Lock LED implemented
    [ D  ] Fix mmap() example in the V4L2 API DocBook
    [ D  ] get_dvb_firmware: ngene_18.fw added
    [    ] gspca_cpia1: Add support for button
    [    ] gspca - nw80x: The webcam dsb-c110 is the same as the twinkle
    [    ] gspca - ov519: Add the 800x600 resolution for sensors ov2610/2610ae
    [    ] gspca - ov519: Add the sensor ov2610ae
    [    ] gspca - ov534: Add saturation control for ov767x
    [ D 1] gspca - ov534: Add the webcam 06f8:3002 and sensor ov767x
    [    ] gspca_sn9c20x: Add another MSI laptop to the sn9c20x upside down list
    [    ] gspca_sn9c20x: Add hflip and vflip controls for the ov7660 sensor
    [    ] gspca_sn9c20x: Add LED_REVERSE flag for 0c45:62bb
    [   1] gspca - sonixb: Use the new control mechanism
    [    ] gspca - zc3xx: Add exposure control for sensor hv7131r
    [    ] imon: add more panel scancode mappings
    [C  1] Initial commit to support NetUP Dual DVB-T/C CI RF card
    [C  4] lirc: remove staging lirc_it87 and lirc_ite8709 drivers
    [    ] lirc_zilog: Update TODO list based on work completed and revised plans
    [    ] mceusb: add Dell transceiver ID
    [ DN2] media: Entities, pads and links
    [ DN2] media: Entities, pads and links enumeration
    [ D  ] media: Entity graph traversal
    [ D  ] media: Entity use count
    [ DN1] media: Links setup
    [ D  ] media: Pick a free ioctls range
    [ D 1] media: Pipelines and media streams
    [C   ] MFD: WL1273 FM Radio: MFD driver for the FM radio
    [C N ] Move CI cxd2099 driver to staging
    [    ] ngene: Add net device
    [  N2] ngene: CXD2099AR Common Interface driver
    [    ] ngene: Enable CI for Mystique SaTiX-S2 Dual (v2)
    [    ] ngene: Firmware 18 support
    [    ] ngene: Shutdown workaround
    [    ] ngene: Support up to 4 tuners
    [ DN1] omap3isp: Add documentation
    [  N9] omap3isp: CCDC, preview engine and resizer
    [  N9] omap3isp: CCP2/CSI2 receivers
    [C N ] omap3isp: Kconfig and Makefile
    [  N9] omap3isp: OMAP3 ISP core
    [  N8] omap3isp: Statistics
    [  N8] omap3isp: Video devices and buffers queue
    [    ] pvrusb2: Implement support for Terratec Grabster AV400
    [C N6] rc: New rc-based ite-cir driver for several ITE CIRs
    [    ] rc-rc5-hauppauge-new: Add support for the old Black RC
    [    ] rc-rc5-hauppauge-new: Add the old control to the table
    [ D  ] Remove compatibility layer from multi-planar API documentation
    [    ] s5p-fimc: Add control of the external sensor clock
    [    ] s5p-fimc: Add support for the buffer timestamps and sequence
    [   3] s5p-fimc: Conversion to multiplanar formats
    [    ] s5p-fimc: fix MSCTRL.FIFO_CTRL for performance enhancement
    [    ] saa7110: use control framework
    [    ] saa7134-empress: add missing MPEG controls
    [CD 6] se401: remove last V4L1 driver
    [C  9] staging-usbvideo: remove
    [    ] stv0900: speed up DVB-S searching
    [C N9] Support for stv0367 multi-standard demodulator
    [    ] tlv320aic23b: use control framework
    [    ] tm6000: add audio conf for new cards
    [    ] tm6000: add new TV cards of Beholder
    [   2] tm6000: add radio support to the driver
    [    ] tm6000: Add support for Terratec Grabster AV 150/250 MX
    [    ] tuner-core: Improve function documentation
    [    ] tuner-simple: add support for Tena TNF5337 MFD
    [    ] tvp514x: use the control framework
    [    ] tvp5150: use the control framework
    [    ] tvp7002: use control framework
    [   1] v180 - DM04/QQBOX added support for BS2F7HZ0194 versions
    [ D  ] v4l2-framework.txt: improve v4l2_fh/priority documentation
    [ D  ] v4l2: use new flag to enable core priority handling
    [   2] V4L2: WL1273 FM Radio: TI WL1273 FM radio driver
    [ DN ] v4l: Add 12 bits bayer pixel formats
    [ D  ] v4l: Add a media_device pointer to the v4l2_device structure
    [   1] v4l: Add compat functions for the multi-planar API
    [ DN1] v4l: Add DocBook documentation for YU12M, NV12M image formats
    [ D  ] v4l: Add missing 12 bits bayer media bus formats
    [    ] v4l: Add multi-planar API definitions to the V4L2 API
    [   2] v4l: Add multi-planar ioctl handling code
    [ DN ] v4l: add V4L2_PIX_FMT_Y12 format
    [C N5] v4l: add videobuf2 Video for Linux 2 driver framework
    [ D 1] V4L doc fixes
    [ DN ] v4l: Documentation for the NV12MT format
    [C N2] V4L: Initial submit of OV9740 driver
    [ D  ] v4l: Make v4l2_subdev inherit from media_entity
    [ D  ] v4l: Make video_device inherit from media_entity
    [ D  ] v4l: removal of old, obsolete ioctls
    [ DN1] v4l: subdev: Add device node support
    [    ] v4l: subdev: Add new file operations
    [ D  ] v4l: subdev: Control ioctls support
    [ D  ] v4l: subdev: Events support
    [ D  ] v4l: subdev: Generic ioctl support
    [ DN1] v4l: v4l2_subdev userspace crop API
    [ DN9] v4l: v4l2_subdev userspace format API
    [    ] v4l: v4l2_subdev userspace format API - documentation binary files
    [ DN1] v4l: v4l2_subdev userspace frame interval API
    [C N ] v4l: videobuf2: add DMA coherent allocator
    [C N1] v4l: videobuf2: add DMA scatter/gather allocator
    [C N ] v4l: videobuf2: add generic memory handling routines
    [C N ] v4l: videobuf2: add vmalloc allocator
    [    ] via-camera: Add suspend/resume support
    [ D 1] videodev2.h.xml: Update to reflect videodev2.h changes
    [    ] vivi: convert to the control framework and add test controls
    [    ] vpx3220: use control framework
    [    ] xc5000: add support for DVB-C tuning

Platform

    [    ] acer-wmi: does not poll device status when WMI event is available
    [    ] asus-laptop: remove deprecated interfaces (lcd_switch and display_get)
    [C   ] asus-wmi: add hwmon interface and pwm1
    [    ] asus-wmi: add some common device ids and method ids
    [    ] asus-wmi: move generic code to asus-wmi
    [ D 3] backlight: add backlight type
    [ D  ] eeepc-wmi: add camera and card reader support
    [    ] eeepc-wmi: add camera keys
    [    ] eeepc-wmi: add hibernate/resume callbacks
    [   1] eeepc-wmi: add hotplug code for Eeepc 1000H
    [    ] eeepc-wmi: add keys found on EeePC 1215T
    [ D  ] eeepc-wmi: add touchpad sysfs file
    [    ] eeepc-wmi: add wimax support
    [    ] eeepc-wmi: add wlan key found on 1015P
    [    ] eeepc-wmi: support backlight power (bl_power) attribute
    [    ] hp-wmi: add rfkill support for wireless query 0x1b
    [C N ] intel_mid_powerbtn: add power button driver for Medfield platform (#3)
    [C   ] mbp_nvidia_bl: rename to apple_bl
    [C N1] medfield: Add Thermal Driver
    [    ] msi-laptop: send out touchpad on/off key
    [C N ] OLPC XO-1.5 ebook switch driver
    [    ] samsung-laptop: add support for N230 model
    [    ] samsung-laptop: Samsung R410P backlight driver
    [    ] samsung-laptop: set backlight type
    [ D  ] sony-laptop: documentation updates
    [    ] sony-laptop: implement keyboard backlight support
    [    ] sony-laptop: implement new backlight control method
    [   1] staging: samsung-laptop: Extend samsung-laptop platform driver to support another flavor of its platform BIOS.
    [    ]  thinkpad-acpi: Some BIOS versions don't end in WW, remove check
    [    ] watchdog: softdog.c: enhancement to optionally invoke panic instead of reboot on timer expiry

Staging

    [  N1] drivers:staging: ti-st: add the v7 btwilink driver
    [C N3] IIO: ADC: New driver for the AD7298 8-channel SPI ADC
    [    ] Revert "staging: iio: ak8975: add platform data."
    [   9] rtl8192u_usb: Remove built-in firmware images
    [    ] stagine/easycap: use module paramter for default encoding instead of ifdef
    [C   ] staging: Allow sharing xvmalloc for zram and zcache
    [    ] staging: ath6kl: Adding support for txop bursting enable/disable
    [    ] staging: ath6kl: update TODO file / maintainers
    [    ] staging: brcm80211: implementation of RFKILL functionality
    [C  1] staging: delete ti-st from staging
    [C  9] staging: easycap: add ALSA support
    [C   ] staging: easycap: group module parameters handling
    [    ] staging/easycap: replace NOREADBACK with moduel parameter
    [C   ] Staging: hv: enable mouse driver to build
    [C N3] staging: IIO: ADC: New driver for AD7606/AD7606-6/AD7606-4
    [C N1] Staging: iio: add driver for MAX517/518/519
    [    ] staging: IIO: DAC: AD5446: Add missing ID table entries
    [    ] staging: IIO: DAC: AD5446: Add power down support
    [C   ] staging: IIO: DAC: AD5446: Add support for AD5601/AD5611/AD5621
    [   1] Staging: IIO: DAC: AD5624R: Update to IIO ABI
    [C   ] staging: IIO: DAC: Add support for the AD5543/AD5553
    [C N2] Staging: IIO: DDS: AD9832 / AD9835 driver
    [    ] Staging: IIO: Documentation: iio_utils: fix channel array generation.
    [    ] Staging: iio: Documented output / DAC interface
    [C   ] staging:iio:gyro: add adis16251 support to adis16260 driver
    [C  2] staging:iio:gyro remove adis16251 driver as now supported by adis16260 driver
    [C N ] staging:iio:kfifo buffer implementation
    [C N ] staging: IIO: trigger: New Blackfin specific trigger driver iio-trig-bfin-timer
    [C N ] Staging: IIO: TRIGGER: New sysfs based trigger
    [    ] staging: keucr: Delete use kernel strcmp() & strcpy() from TODO file
    [    ] staging: keucr: use kernel byteorder functions
    [C  5] staging: memrar: remove driver from tree
    [C N7] Staging: Merge ENE UB6250 SD card codes from keucr to drivers/usb/storage
    [C  9] staging: r8712u: Firmware changes for driver
    [    ] staging: r8712u: Switch driver to use external firmware from linux-firmware
    [    ] staging: rtl8192e: Delete dead code
    [    ] staging: rtl8192e: Pass priv to TranslateRxSignalStuff819xpci
    [   7] staging: rtl8192e: Pass r8192e_priv to phy functions
    [    ] staging: rtl8192e: Pass r8192_priv to eprom_read
    [   1] staging: rtl8192e: Remove dead code
    [   7] staging: rtl8192e: Remove RTL8192P and RTL8192U ifdefs
    [    ] Staging: rtl8192e: Remove support for legacy wireless extentions
    [   7] staging: rtl8192e: Use private structure in IO functions
    [    ] staging: rtl8192e: Use single spinlock in MgntActSet_RF_State
    [    ] staging: sep: Add comment to TODO to clean up un-needed debug prints
    [   1] staging: sep: remove unused ioctls
    [    ] staging: tidspbridge: remove custom linked list
    [   1] Staging: usbvideo: vicam: fixed some coding style issues
    [C   ] Staging: zram: make ZRAM depends on SYSFS
    [    ] zram/vmalloc: Correct tunings to enable use with 64K pages

USB

    [    ] arm: omap4: 4430sdp: drop ehci support
    [C N1] net/usb: Ethernet quirks for the LG-VL600 4G modem
    [    ] omap:usb: add regulator support for EHCI
    [C   ] pch_phub: add new device ML7213
    [    ] pch_uart: add multi-scatter processing
    [    ] pch_uart : Reduce memcpy
    [    ] USB: Add support for SuperSpeed isoc endpoints
    [    ] USB: Disable auto-suspend for USB 3.0 hubs.
    [C N1] USB: EHCI bus glue for on-chip PMC MSP USB controller
    [C   ] usb: EHCI, OHCI: Add configuration for the SH USB controller
    [    ] usb: ehci: omap: add support for TLL mode on OMAP4
    [    ] USB: ftdi_sio: Added IDs for CTI USB Serial Devices
    [    ] USB: ftdi_sio: add ids for Hameg HO720 and HO730
    [    ] USB: ftdi_sio: add PID for OCT DK201 docking station
    [    ] USB: gadget: Add test mode support for ci13xxx_udc
    [   1] USB: gadget: Implement hardware queuing in ci13xxx_udc
    [C N2] usb: host: Add EHCI driver for NVIDIA Tegra SoCs
    [C N3] usb: host: omap: common usb host core driver
    [    ] USB: isp1760: Implement solution for erratum 2
    [    ] usb: Make core allocate resources per PCI-device.
    [    ] USB: move usbcore away from hcd->state
    [   1] usb: musb: Idle path retention and offmode support for OMAP3
    [C   ] usb: musb: temporarily make it bool
    [    ] usbnet: add support for some Huawei modems with cdc-ether ports
    [    ] USB: opticon: add rts and cts support
    [C N ] usb: otg: Add ulpi viewport access ops
    [    ] USB: serial: ch341: add new id
    [  N ] USB: tools: Add a Makefile
    [C N7] usb: udc: add Faraday fusb300 driver
    [ D  ] USB: usbmon: fix-up docs and text API for sparse ISO
    [C N2] USB: usb_storage: add ums-realtek driver
    [    ] USB: usbtest - add alignment tests to test script
    [  N ] USB: usbtest - add shell script to test HCDs
    [   1] USB: usbtest - Add tests to ensure HCDs can accept byte aligned buffers.
    [    ] USB: use "device number" instead of "address"
    [    ] xHCI: Implement AMD PLL quirk

Various

    [ DN ] altera_ps2: Add devicetree support
    [    ] bq20z75: Add i2c retry mechanism
    [    ] bq20z75: Add MODULE_DEVICE_TABLE
    [  N1] bq20z75: Add optional battery detect gpio
    [    ] bq20z75: Add support for charge properties
    [C N ] bq27x00: Add bq27000 support
    [    ] bq27x00: Add MODULE_DEVICE_TABLE
    [    ] bq27x00: Add new properties
    [    ] bq27x00: Add type property
    [    ] bq27x00: Poll battery state
    [    ] bq27x00: Prepare code for addition of bq27000 platform driver
    [   1] dma40: cyclic xfer support
    [C N1] drivers/char: add MSM smd_pkt driver
    [ DN1] drivers:misc: ti-st: move from rfkill to sysfs
    [    ] drivers/rtc/rtc-isl1208.c: add alarm support
    [C N2] drivers/vidfeo/backlight: ld9040 amoled driver support
    [    ] ds2782_battery: Add MODULE_DEVICE_TABLE
    [    ] dw_dmac: Adding support for 64 bit access width for memcpy xfers
    [    ] dw_dmac: Setting Default Burst length for transfers as 16.
    [C   ] firewire: nosy: should work on Power Mac G4 PCI too
    [C   ] gpio: Add Tunnel Creek support to sch_gpio
    [C N1] gpio: driver for 42 AB8500 GPIO pins
    [C   ] gpio; Make Intel chipset gpio drivers depend on x86
    [C  1] gpio/mcp23s08: support mcp23s17 variant
    [C N ] hvc: add Blackfin JTAG console support
    [   1] IB/srp: add support for indirect tables that don't fit in SRP_CMD
    [    ] IB/srp: allow sg_tablesize to be set for each target
    [    ] leds: Add ability to blink via simple trigger
    [C N1] leds: add driver for LM3530 ALS
    [    ] MAINTAINERS: Add file pattern for fb dt bindings.
    [    ] MAINTAINERS: de-orphan fbdev.
    [ DN ] n_gsm: add a documentation
    [C   ] pch_phub: add new device ML7213
    [    ] pci_ids: Add Intel Tunnel Creek LPC Bridge device ID.
    [    ] power_supply: Add new LED trigger charging-blink-solid-full
    [   1] rapidio: add architecture specific callbacks
    [    ] rapidio: add new sysfs attributes
    [C   ] rapidio: modify configuration to support PCI-SRIO controller
    [    ] RDMA/cxgb4: Enable on-chip SQ support by default
    [    ] RDMA/cxgb4: Turn on delayed ACK
    [    ] regulator: add ab8500 enable and raise time delays
    [C N ] regulator: Add a subdriver for TI TPS6105x regulator portions v2
    [    ] regulator: Add MODULE_DEVICE_TABLE to max8997 and max8998
    [    ] regulator: add set_voltage_time_sel infrastructure
    [    ] regulator: add support for USB voltage regulator
    [    ] Regulator: add suspend-finish API for regulator core.
    [C N3] regulator: MAX8997/8966 support
    [C N1] rtc: add real-time clock driver for NVIDIA Tegra
    [    ] serial: mfd: add a module parameter for setting each port's working mode
    [C N5] serial: msm_serial_hs: Add MSM high speed UART driver
    [C   ] serial: pch_uart: revert Kconfig for non-DMA mode
    [C   ] serial: pch_uart: support new device ML7213
    [C N ] sigma-firmware: loader for Analog Devices' SigmaStudio
    [CDN1] spi: add OpenCores tiny SPI driver
    [C N1] spi: add support for SuperH SPI
    [C N1] spi: add ti-ssp spi master driver
    [CDN1] spi: New driver for Altera SPI
    [    ] spi/pl022: Add loopback support for the SPI on 5500
    [CDN3] ST SPEAr: PCIE gadget suppport
    [C N ] tty: Add msm_smd_tty driver
    [C  2] tty: move a number of tty drivers from drivers/char/ to drivers/tty/
    [C N2] tty: move Kconfig entries into drivers/tty from drivers/char
    [C N2] tty: move obsolete and broken generic_serial drivers to drivers/staging/generic_serial/
    [C N1] tty: move obsolete and broken tty drivers to drivers/staging/tty/
    [ DN ] tty: serial: altera_jtaguart: Add device tree support
    [ DN ] tty: serial: altera_uart: Add devicetree support
    [C N1] UIO: add PRUSS UIO driver support
    [ DN ] video, sm501: add edid and commandline support
    [   3] video, sm501: add I/O functions for use on powerpc
    [ DN ] video, sm501: add OF binding to support SM501
    [    ] z2_battery: Add MODULE_DEVICE_TABLE

Quelle und Links : http://www.heise.de/open/artikel/Kernel-Log-Was-2-6-39-bringt-4-Treiber-1239637.html
Titel: Linux-Kernel 2.6.39 freigegeben
Beitrag von: spoke1 am 19 Mai, 2011, 08:11
Nach lediglich 65 Tagen Entwicklung hat Linus Torvalds den Linux-Kernel 2.6.39 veröffentlicht. Er bringt unter anderem Unterstützung für Ipset, mit dem sich die Informationen zur Paket-Behandlung in einfach aktualisierbare und schnell abfragbare Tabellen auslagern lassen; das soll das Aufsetzen, die Pflege und den Betrieb von Firewalls vereinfachen. Interrupts können jetzt in Threads abgearbeitet werden. Das Ext4-Dateisystem und der Block Layer sollen besser skalieren und eine bessere Performance zeigen.

Zum Kernel gehört nun auch ein Netzwerk-Backend für Xen. Wie immer bringt der neue Linux-Kernel hunderte neuer oder erweiterter Treiber. So stieß ein einfacher DRM/KMS-Treiber für AMDs aktuelle High-End-Grafikkarten mit Cayman-GPU zum Kernel. Ebenfalls neu dabei sind Treiber für die Funktionstasten von Samsung-Notebooks und die Realtek-WLAN-Chips RTL8192CU und RTL8188CU.

Details zu diesen und vielen weiteren Neuerungen von Linux 2.6.39 liefert ein Artikel auf heise open. Er gibt auch einen Ausblick auf einige Änderungen, die in den vielleicht Mitte oder August erscheinenden Linux-Kernel 2.6.40 einziehen dürften:



Quelle (http://www.heise.de/newsticker/meldung/Linux-Kernel-2-6-39-freigegeben-1242469.html) und die Neuerungen-von-Linux-2-6-39 (http://www.heise.de/open/artikel/Die-Neuerungen-von-Linux-2-6-39-1242011.html)
Titel: Abschied von Linux 2.6
Beitrag von: SiLæncer am 24 Mai, 2011, 09:33
Eine kurze Mitteilung von Linus Torvalds deutet an, dass die nächste Version des Linux-Kernels nicht 2.6.40, sondern 2.8.0 oder gar 3.0 sein könnte.

Nur ein Nachsatz in einer kurzen Mitteilung von Linux-Initiator Linus Torvalds gibt den bereits Jahre alten Überlegungen, die Kernel-Versionsnummerierung zu ändern, wieder Auftrieb. »Die Stimmen in meinem Kopf sagen, dass die Versionsnummern allmählich zu groß werden«, schrieb Torvalds. Die nächste Version könnte daher 2.8.0 statt des eigentlich fälligen 2.6.40 sein.

Der kurze Satz löste sofort eine lebhafte Diskussion aus. Ingo Molnar wünschte sich, das die 2.6er-Linie noch bis 2.6.42 (in Anspielung auf Per Anhalter durch die Galaxis) weitergeführt würde, worauf 3.0.0 folgen sollte. Später gab er allerdings zu bedenken, dass wohl erst Linux 42.0 als die Antwort auf die Frage nach dem Leben, dem Universum und allem sein könnte. Torvalds antwortete, dass er ernsthaft über 3.0 nachdenke, also die Versionsnummern auf zwei Stellen reduziert; die dritte Stelle wäre dann für Updates der stabilen Version gedacht.

Einen realen Grund außer dem Eindruck vieler Entwickler, dass die Versionsnummer »zu groß« wird, gibt es für die Änderung nicht. Da die Versionsnummern des Kernels schon lange nichts mehr mit Features zu tun haben, ist im Prinzip jeder Zeitpunkt für eine Umstellung denkbar. Die mit Linux 2.6.37 weitgehend abgeschlossene Abschaffung des Big Kernel Lock, die zweifellos ein Meilenstein war, taugt daher kaum als Ausrede. Mehrere Entwickler würden es bevorzugen, wenn zuerst die ARM-Architektur aufgeräumt würde, bevor man den Kernel in Linux 3.0 umbenennt. Andere Entwickler geben zu bedenken, dass durch die Änderung einige Skripte und Tools geändert werden müssten, dies ist jedoch sicherlich ein überschaubares Problem.

Passend zur Version 3.0 wäre für Torvalds, dass Linux dieses Jahr in seine dritte Dekade geht. Heute vor 20 Jahren war Linux zwar noch nicht veröffentlicht, aber Torvalds, von seinem Studium unterfordert, arbeitete zu dieser Zeit sehr intensiv an der ersten Version. Allerdings will er diesen Aspekt nicht zu sehr betonen. Linux 3.x würde dann nach einigen Jahren durch Version 4.0 ersetzt, gleichgültig ob dies in zehn Jahren wäre oder deutlich früher. Wichtiger sei die Betonung, dass auch ungerade Versionsnummen mittlerweile für stabile Versionen stehen.

Gespannt darf man nun auf den ersten Veröffentlichungskandidaten der nächsten Kernel-Version sein, die Torvalds noch vor seinem Abflug zur LinuxCon Japan, also kommenden Sonntag oder Montag, herausgeben wird. Dieser wird zeigen, wie sich Torvalds bezüglich der Versionsnummer entschieden hat.

Quelle : www.pro-linux.de
Titel: Erste Vorabversion von Linux 3.0 erschienen
Beitrag von: SiLæncer am 30 Mai, 2011, 13:07
Vor einer Woche deutete es sich bereits an, jetzt ist es offiziell: Der nächste aus dem Hauptentwicklungszweig von Linux hervorgehende Kernel soll die Versionsnummer 3.0 tragen. Das geht aus der Freigabe-Mail zur ersten Vorabversion des 3.0er-Kernels hervor, der in etwa sieben bis neun Wochen erscheinen dürfte. Mit der Vorabversion wechselt der Kernel zudem den Namen von "Flesh-Eating Bats with Fangs" zu "Sneaky Weasel".

Als Nachfolger des vor elf Tagen freigegebenen Linux 2.6.39 hätte die aus dem aktuellen Entwicklungszyklus hervorgehende Version eigentlich die Nummer 2.6.40 erhalten. Seit der Freigabe der Version 2.6.0 vor knapp siebeneinhalb Jahren und der wenig später verkündeten Abkehr von der Entwicklung mit einer "Unstable-Series" wie 2.3 oder 2.5 haben die Kernel-Hacker lediglich den letzten Abschnitt der aus drei Zahlen bestehenden Versionsbezeichnung erhöht. Vor einige Tagen erklärte Torvalds allerdings überraschend, dass die "Stimmen in seinem Kopf" ihm erzählen, die Nummern würden zu groß. In dem Zusammenhang erwähnte er Überlegungen, auf 2.8.0 zu springen; schnell war in der daraus entstandenen Diskussion dann aber von 3.0 die Rede.

Die "3" am Anfang solle für die dritte Dekade stehen – die erreicht Linux in Kürze, denn der Kernel wird dieses Jahr 20 Jahre alt. Der Nachfolger der Version 3.0 soll die Versionsnummer 3.1 tragen und dürfte vermutlich zwei bis drei Monate nach 3.0 erscheinen. Die parallel entwickelten Versionen der Stable- und Longterm-Serien sollen in Zukunft den dritten Abschnitt in der Versionsbezeichnung nutzen können, um ihre Kernel zu kennzeichnen; bisher verwendeten sie einen vierten Abschnitt. Einige Skripte im Kernel und dessen Umfeld müssen an diese Änderung noch angepasst werden; das ist ein Grund, warum sich die Vorabversion an einige Stellen derzeit nicht als 3.0-rc1, sondern als 3.0.0-rc1 identifiziert. Für die 3.0er-Kernel hat Torvalds auf Kernel.org ein neues Verzeichnis angelegt; die für die Einstiegsseite der Webseite zuständigen Skripte sind darauf bislang noch nicht richtig eingestellt und verlinken bislang noch nicht auf die Archive von Linux 3.0-rc1.

Torvalds hat die Entscheidung zum Sprung auf 3.0 alleine getroffen, wie er in der Freigabe-Mail zu 3.0-rc1 schreibt. Dort betont er auch sehr deutlich, dass diese Version keine großen Änderungen bringe. Es sei lediglich eine Neunummerierung, die keine größeren Neuerungen bringe, wie es etwa bei Gnome 3.0 oder KDE 4.0 der Fall war. Bereits vergangene Woche hatte er anderen Kernel-Hackern erklärt, dass er den Sprung auf eine höhere Versionsnummer nicht zum Anlass nehmen werde, besonders große Änderungen vorzunehmen oder vermeintliche Altlasten wie MCA-, EISA- oder ISA-Unterstützung zu entfernen (1, 2).

Die Vorabversion von 3.0 enthält aber durchaus den üblichen Schwung an Neuerungen, denn die hatten viele der anderen Kernel-Hacker entwickelt und zur Aufnahme eingesandt, noch bevor überhaupt die Rede von einem Sprung auf 3.0 die Rede war. Darunter findet sich wider Erwarten nun doch das Storage-Backend für Xen. Damit enthält der Kernel nun alle wichtigen Komponenten, um als federführender Kernel (Dom0) unter dem Xen-Hypervisor zu arbeiten; einige Hintergründe dazu finden sich in einem Blog-Eintrag von Oracle-Mitarbeiter Wim Coekaerts.

Der Netfilter-Code von Linux 3.0 enthält nun einen Just In Time Compiler für x86-64-Systeme, der einige Performance-Vorteile für die Paket-Verarbeitung auf Firewalls bringen soll. Es gab zudem zahlreiche Verbesserungen am weiterhin experimentellen Btrfs-Dateisystem. Wie immer stießen zudem einige Dutzend neue Treiber zum Kernel; darunter der Treiber rtl8192se für WLAN-Chips von Realtek oder einer für den DVB-T Tuner Micronas DRXD, den verschiedene Hersteller einsetzen. Das Kernel-Log in c't und auf heise open wird in den kommenden Wochen über diese und zahlreiche andere Neuerungen von Linux 3.0 berichten.

Quelle : http://www.heise.de/newsticker/meldung/Erste-Vorabversion-von-Linux-3-0-erschienen-1252084.html
Titel: Kernel-Log: Schwierigkeiten mit Hardware und "3.0"
Beitrag von: SiLæncer am 02 Juni, 2011, 10:34
Die zweistellige Versionsnummer von Linux 3.0 bereitet noch einige Umstände, an deren Beseitigung fleißig gearbeitet wird. Unsaubere Arbeit der Hardware-Hersteller führt zu Problemen beim Reboot und der Zusammenarbeit mit UEFI-Hardware. Die Pflege der Kernel-Serie 2.6.38 endet bald.

Nur einige Stunden nach der Freigabe der ersten Vorabversion von Linux 3.0 erschienen erste Patches, durch die der Kernel selbst besser mit der neuen zweistelligen Versionsnummer zurechtkommt. Unter den Änderungen ist ein Workaround für das Programm Depmod. In die kurz nach Linux 3.0-rc1 veröffentlichte Version 3.13 der module-init-tools zog parallel ein Patch ein, der die Ursache der Depmod-Probleme beseitigt. Einige Entwickler haben vorgeschlagen, Torvalds solle den Kernel aufgrund dieser und ähnlicher Probleme doch 3.0.0 und nicht 3.0 nennen; das selbst ernannte Alpha-Männchen der Kernel-Entwicklung hat sich dazu aber bislang nicht geäußert.

Joe Pranevich hat unterdessen einen Entwurf eines Artikels mit dem Titel "Wonderful World of Linux 3.0" veröffentlicht, der die wichtigsten in den letzten Jahren vorgenommenen Kernel-Änderungen auflistet. Einen ähnlichen Artikel hatte Pranevich schon zum Erscheinen von Linux 2.6.0 geschrieben. David Lang sorgt sich allerdings, solch ein Dokument könne den Eindruck erwecken, Linux 3.0 sei eine größere Überarbeitung; ähnliche Bedenken äußert auch Willy Tarreau, der die Kernel-Serien 2.4 und 2.6.37 betreut. Schon in der Freigabe-Mail zu 3.0-rc1 hat Torvalds sehr deutlich gesagt, dass 3.0 keine größeren Neuerungen bringt als die Vorgänger der 2.6er-Serie und lediglich eine neue Nummerierung angewendet wird.

Hardware-Probleme

Der Kernel-Hacker Matthew Garrett versucht seit einigen Wochen verstärkt, Probleme zu beseitigen, die beim Zusammenspiel von Linux und UEFI (Unified Extensible Firmware Interface) auftreten, das bei neueren Mainboards BIOS-Funktionen ersetzt. Einige seiner teilweilse amüsant beschriebenen Erkenntnisse und Erlebnisse finden sich in seinen Tweets sowie den Blog-Einträgen "EFI implementation bugs" und "Trials and tribulations with EFI". Dort erwähnt er auch einige in Linux 3.0 eingeflossene Korrekturen, welche die Situation verbessern sollten. Bei unseren Versuchen in den c't-Labors gelang es bisher bei so gut wie keinem Desktop-Mainboard, eine gängige Linux-Distribution per UEFI zu booten.

Die Situation ist ähnlich wie vor Jahren bei ACPI: Die UEFI-Spezifikation ist an einigen Stellen nicht eindeutig; in anderen Bereichen halten sich die Hersteller nicht exakt an die Vorgaben oder tricksen, um bestimmte Funktionen zu ermöglichen. Linux stolpert dann gelegentlich an solchen Stellen, denn ob in der Praxis alles funktioniert, testen viele Hardware-Hersteller nur mit aktuellen Windows-Versionen.

ACPI und UEFI sind nicht die einzigen Bereiche, wo Ungenauigkeiten oder Tricksereien der Hardware-Hersteller Problemen nach sich ziehen. Selbst bei so etwas vermeintlich Simplem wie der Anweisung zum Reboot gibt es einige Probleme beim Zusammenspiel zwischen Hardware und Linux. Hintergründe erläutert Garrett in einem Blog-Eintrag; demnach booten einige Systeme von Apple und Lenovo nur neu, wenn die Anweisungen zum Neustart in einer ähnlichen Art eintrudeln, wie Windows sie sendet. Patches, damit der Kernel genau das macht, sind in Linux 3.0 eingeflossen.

Kernel-Versionsstatus

Greg Kroah-Hartman hat den Stable-Kernel 2.6.38.7 sowie die Longterm-Kernel 2.6.32.41 und 2.6.33.14 freigegeben. Die beiden erstgenannten halten die übliche Aufforderung zum Wechsel auf die neuen Versionen, denn unter den kleineren in Stable- und Longterm-Kernel einfließen Änderungen sind manchmal auch Korrekturen für Sicherheitslücken.

Die Stable-Kernel 2.6.39.1 und 2.6.38.8 sind gerade in Vorbereitung; sie dürften vermutlich am Wochenende erscheinen, da die Zeit zum Einreichen von Kommentaren am Freitag Nachmittag endet. Die Pflege der 38er-Serie will Kroah-Hartman mit 2.6.38.8 einstellen; er rät zum Umstieg auf den Kernel 2.6.39.

LKML-Diskussionen

Mehrere Leser – darunter auch einige Kernel-Hacker – haben uns gebeten, doch häufiger wichtige Diskussionen auf den Mailinglisten der Kernel-Entwickler kurz zu erwähnen und zu verlinken, da es aufgrund der vielen Mails schwierig sei, der LKML zu folgen. Wenn sich dort interessante Dinge tun, würden sie es aber gerne erfahren, um die Diskussionsbeiträge selbst zu sichten; eine Zusammenfassung der Diskussion wäre gar nicht nötig. In den nächsten Ausgaben des Kernel-Logs werden wir einige solche Kurz-Verweise auf wichtige Mitteilungen oder Diskussion aufzunehmen, um zu testen, ob diese Form Anklang bei den Lesern findet.

    Eine längere LKML-Diskussion entstand um die Idee, Fsync-Aufforderungen im Laptop-Mode nicht zu honorieren, damit Festplatte länger im Stromsparmodus verweilen können (u. a. 1, 2). Bekannte Kernel-Hacker erläutern daraufhin, warum das eine schlechte Idee ist; darunter auch Linux-Urgestein Theodore 'tytso' Tso. Möglicherweise führt die Diskussion mittelfristig zu einer Lösung, die alle Beteiligten halbwegs zufrieden stellt.
    In "AAARGH bisection is hard" tauschen sich einige Entwickler mit Linus Torvalds über Vorteile, Ansätze und Probleme der Fehlersuche mit "Git Bisect" aus.
    In "[RFC] ARM Subarchitecture group maintainership" diskutieren die Entwickler einige teilweise bereits umgesetzte Ansätze, um die Zusammenarbeit zwischen den ARM-Entwicklern zu verbessern und den ARM-Code im Kernel aufzuräumen.

Kernel-Log-Staccato

Kernel

Luis R. Rodriguez hat die finale Version von compat-wireless 2.6.39 zum Download freigegeben. Mit ihr lassen sich die WLAN- und Bluetooth-Treiber von Linux 2.6.39 unter Linux-Kerneln seit 2.6.26 einsetzen.

Der bei Atheros angestellte Rodriguez hat einige Videos auf YouTube veröffentlicht, die Informationen zur Entwicklung von WLAN-Treibern für Linux liefern.

RCU-Kernel-Betreuer Paul E. McKenney weist in seinem Blog auf eine Aktualisierung des laufend fortgeschriebenen Buch zur parallelen Programmierung hin, die unter anderem im Anhang die Entwicklung von RCU (Read-Copy Update) im Kernel erläutert.

Unterstützung für Grafikhardware

Jeremy Huddleston hat den X-Server 1.10.2 veröffentlicht, der einige Fehlerkorrekturen bringt.

Das kürzlich freigegebene Treiberpaket xf86-video-ati 6.14.2 beseitigt einige Fehlerunter anderem im Tiling-Code für Fusion-GPUs. Mit der neuen Version des Open-Source-Grafiktreibers für Radeon-GPUs lassen sich zudem einige Beschleunigungsfunktionen der Cayman-GPUs verwenden, die auf den Radeon-HD-Grafikkarten der Serie 6900 sitzen. Um diese zu nutzen ist unter Umständen eine aktuelle Entwicklerversion des Linux-Kernels nötig. In den Entwicklerzweig von Mesa 3D sind erste Teile des Codes zur 3D-Unterstützung bei Cayman-GPUs eingezogen; der Shader-Compiler kann allerdings noch nicht mit der Shader-Hardware dieser GPUs umgehen. Alex Deucher hat derweil Patches zur Begutachtung gestellt, durch die das DRM-Subsystem AMDs Llano APUs unterstützt, die in den kommenden Wochen auf den Markt kommen sollen.

Kernel-Umland ("Plumbing layer"), Userland-Treiber, Entwicklertools, ...

Auf den Webseiten von Free Electrons finden sich Videoaufzeichnungen von der Embedded Linux Conference (ELC) 2011 und dem Embedded-Track der FOSDEM 2011 . Darunter finden sich auch einige allgemeine Vorträge bekannter Entwickler; etwa "Really fast x86 boot" von Coreboot-Entwickler Rudolf Marek, das "Kernel Shark Tutorial" von Steven Rostedt, "Becoming part of the Linux kernel community" von Arnd Bergmann sowie "RT-Preempt: what’s the state and why there is no roadmap" von Thomas Gleixner.

Parallel zur mittlerweile acht Teile umfassenden Blog-Reihe "Systemd for Administrators" hat Lennart Poettering nun noch die Serie "Systemd for Developers" gestartet, in der er Entwicklern einige Tipps zur Arbeit mit Systemd gibt. Zwei von Poettering und Kay Sievers geschriebene Artikel in c't 13/11 (ab Montag, 6. Juni, am Kiosk) liefern ebenfalls Hintergründe zur Arbeitsweise und dem Praxiseinsatz der Sysvinit- und Upstart-Alternative. Sie kümmert sich beim kürzlich veröffentlichten Fedora 15 standardmäßig um den Systemstart; OpenSuse scheint bald umsteigen zu wollen.

Junio C Hamano hat Git 1.7.5.3 freigegeben.

Die Entwickler des Projekts Hplip (Hewlett-Packard's Linux Imaging and Printing Software) haben die Version 3.11.5 der gleichnamigen Treiber für Drucker und Multifunktionsgeräte von HP veröffentlicht. Die Release Notes geben einen detaillierten Überblick über die wichtigsten Neuerungen – darunter Unterstützung für einige LEDM-Scanner sowie einige Drucker der Serien Designjet und LaserJet.

Quelle : http://www.heise.de/open/artikel/Kernel-Log-Schwierigkeiten-mit-Hardware-und-3-0-1253730.html
Titel: Kernel-Log – Was 3.0 bringt (1): Netzwerk
Beitrag von: SiLæncer am 10 Juni, 2011, 12:57
Ein Just in Time Compiler verspricht schnelleres Filtern von Netzwerkpaketen. Der WLAN-Stack beherrscht jetzt Wake on Wireless LAN und unprivilegierte Nutzer dürften "pingen". Neue und überarbeitete Treiber verbessern die Unterstützung für Netzwerkbausteine von Ralink und Realtek.

Zum Wochenstart hat Linus Torvalds die zweite Vorabversion von Linux 3.0 veröffentlicht. Nach dem recht überraschenden Versionssprung von 2.6.39 auf 3.0 identifiziert sich auch der RC2 aus Kompatibilitätsgründen intern als Vorabversion von Linux 3.0.0, obwohl der Kernel später die Bezeichnung 3.0 tragen soll. In der Freigabe-Mail zum RC2 schreibt Torvalds, es sei einigermaßen ruhig gewesen, obgleich ein Btrfs-Update etwas größer gewesen sei als gehofft; er hofft, die Dinge bleiben so ruhig.

Wie vorgesehen ist damit auch diesmal das Gros der Änderungen für die nächste größere Kernel-Überarbeitung im Rahmen des Merge Window in den Hauptentwicklungszweig von Linux eingezogen. Da von nun an nur mehr Korrekturen und kleine Verbesserungen einziehen dürften, kann das Kernel-Log bereits einen umfassenden Überblick über die wichtigsten Neuerungen des Mitte oder Ende Juli erwarteten Linux 3.0 geben.

Die Artikel der Serie "Was 3.0 bringt" werden sich dabei nach und nach den unterschiedlichen Funktionsbereichen des Kernels annehmen. Den Anfang der Serie macht die folgende Beschreibung der wichtigsten Änderungen am Netzwerk-Stack und den darauf aufsetzenden Treibern. In den kommenden Wochen folgen Artikel zur Grafik-Treibern, Storage-Unterstützung, Dateisystemen, Architektur-Code, Infrastruktur sowie Treibern für andere Hardware.

Just in Time

Zum Netfilter-Code gehört jetzt ein "Berkeley Packet Filter Just in Time Compiler" für x86-64-Systeme. Er erzeugt zur Laufzeit Assembler-Code, der einige der von den Iptables-Regeln vorgegeben Aufgaben zum Filtern von Netzwerkpaketen übernimmt; das soll Performance-Vorteile für Firewalls bringen. Der standardmässig deaktivierte JIT-Compiler lässt sich einschalten, indem man den Wert 1 in die Datei /proc/sys/net/core/bpf_jit_enable schreibt. Bei einer früheren Version des Compilers hat dessen Entwickler eine Beschleunigung um 50 Nanosekunden pro Paket messen können. Weitere Hintergründe zum Ansatz liefert ein LWN.net-Artikel.

Samba-Entwickler Anton Blanchard hat den neuen Syscall sendmmsg eingebracht. Er stellt das Sende-Äquivalent zu recvmmsg dar und ermöglicht das Versenden eines Schwungs von Nachrichten mit nur einem Funktionsaufruf. Das reduziert den Syscall-Overhead und kann den Netzwerk-Durchsatz steigern: laut Messungen des Entwicklers um bis zu 20 Prozent bei UDP-Übertragungen und 30 Prozent beim Einsatz von Raw Sockets.

Ping für jedermann

Ping-Programme können den neuen Socket IPPROTO_ICMP nutzen, um unprivilegierte Anwender das Senden und Empfangen von ICMP_ECHO-Paketen zu ermöglichen; bisher benötigt Ping unter Linux für seine Arbeit Root-Rechte oder erhält durch Capabilities die nötigen Rechte zum Erledigen seiner Arbeit. MacOS X bietet eine ähnliche Funktion schon seit längerem; der Commit-Kommentar und ein kurzer LWN.net-Artikel erläutern einige Hintergründe.

Zum Kernel stieß ein Netzwerk-Scheduler, der das Verfahren Quick Fair Queue (QFQ) implementiert, das einen geringen Overhead haben soll. Über den neuen Syscall setns lässt sich ein Namespace erzeugen, der sich an verschiedene Prozesse übergeben lässt; das soll laut Git-Pull-Request unter anderem ein Isolieren von VPN-Verbindungen ermöglichen. Hintergründe zu dem auch für Container-Virtualisierung interessanten Verfahren liefert ein LWN.net-Artikel. Der Bluetooth-Stack unterstützt jetzt Extended Inquiry Response (EIR), der Bluetooth-USB-Treiber das MacBookPro "8,2". Der LAN-Treiber r8169 spricht ab 3.0 die Realtek-Chips RTL8105, RTL8111E, RTL8168E und RTL8168DP an (1, 2, 3), der Treiber tg3 den Broadcom-Chip 5720.

Wireless

Der WLAN-Stack des Kernels enthält jetzt grundlegende Unterstützung für die Konfiguration von Wake on Wireless LAN (WoWLAN) (1, 2). Neu ist auch der Treiber rtl8192se für die PCIe-WLAN-Chips RTL8191SE und RTL8192SE von Realtek (u. a. 1). Es ist der dritte maßgeblich von Realtek selbst entwickelte Treiber, der in letzter Zeit in das Netzwerk-Subsystem des Kernel einzog. Beim Integrieren der drei hat Kernel-Hacker Larry Finger geholfen. Er arbeitet bereits an der Aufnahme von ordentlicher WLAN-Treibern für die Chips RTL8192DE und RTL8191SU; für Letztere bringt der Kernel allerdings bereits einen Staging-Treiber mit.

Ebenfalls neu ist der Treiber mwifiex für den vornehmlich im Embedded-Umfeld verbauten SDIO-WLAN-ChipSD8787. Nachdem sich der Treiber carl9170 etabliert hat, wurde der für die gleichen Chips geeignete, aber ältere Treiber ar9170usb jetzt entfernt. Der Treiber ath9k spricht nun auch den Atheros AR9340 an.

Einer der Entwickler des Broadcom-WLAN-Treibers b43 hat einen Treiber für eine Protokoll-Variante der Advanced Microcontroller Bus Architecture (AMBA) eingebracht – der ist bei einigen Bausteinen nötig, damit die WLAN-Treiber die WLAN-Funktionen der Broadcom-Chips erreichen.

Rt2x00-WLAN-Treiber

Die im Rt2x00-Projekt entstandenen Kernel-Treiber für WLAN-Chips von Ralink bieten ab Linux 3.0 experimentelle Unterstützung für die USB-WLAN-Chipsätze der Baureihe RT5370. Der Treiber für die RT53xx-Familie gilt fürs erste weiter als experimentell, soll diese PCI-WLAN-Chips jetzt aber komplett unterstützten und besser funktionieren. Ähnlich verhält es sich bei den Treibern für die PCI- und USB-Chips für der RT33xx-Reihe, die den Status "experimentell" ablegen konnten.

Auch die Ralink-Treiber kann man nun über Sysfs dazu auffordern, ein bestimmtes PCI-, PCIe- oder USB-Gerät anzusprechen. Das ist nötig, wenn der Treiber es nicht automatisch erkennt, weil die PCI-, PCIe- oder USB-IDs der WLAN-Hardware in der Liste der vom Treibern unterstützten Geräte fehlt. Diese Listen werden immer mal wieder aktualisiert; gelegentlich auch bei Stable- und Longterm-Kerneln, denn die Gefahr ist gering, durch solche Erweiterungen Probleme bei Anwendern auszulösen, welche die Treiber mit anderer Hardware schon länger einsetzen.

Bei jeder neuen Kernel-Version gibt es dutzende oder hunderte Erweiterungen der Listen der von Treibern unterstützten PCI-, PCIe- oder USB-IDs. Das Kernel-Log verlinkt auf solche Commits zumeist im Abschnitt "Die kleinen Perlen". Durch solche eher unscheinbare Änderungen verbessert sich die Hardware-Unterstützung von Linux immer weiter. Das lässt sich gut an drei für Linux 3.0 vorgenommene Commits am Ralink-USB-WLAN-Treiber rt2800usb illustrieren, durch die der Treiber in Zukunft über 30 weitere USB-WLAN-Geräte verschiedener Hersteller automatisch anspricht, ohne dass sich der Anwender um etwas kümmern muss (1, 2, und 3). Bei USB-Hardware sind solche Anpassungen besonders häufig nötig, da die Hersteller oft eigene IDs für ihre Geräte nutzen, während sich PCI- und PCIe-Geräte zumeist mit der ID des verbauten Chips melden.

Die Treiber für Ralink-Chips sind derweil so weit gereift, dass die Kernel-Entwickler die von Ralink entwickelten und später in den Staging-Zweig integrierten Treiber rt2860sta und rt2870sta rausgeworfen haben – ein weiteres Beispiel für Treiber, die im Staging-Zweig nicht gereift sind, sondern durch ganz andere, weitgehend unabhängig entstandene Treiber ersetzt wurden. Auch der für Atheros-AR600x-Chips zuständige Staging-Treiber ath6kl soll nun doch nicht im Staging-Bereich verbessert werden, sondern unabhängig davon.

Die kleinen Perlen

Netzwerk-Subsystem-Verwalter David Miller listet einige weitere Neuerungen in den wichtigsten Git-Pull-Requests, die er während des Merge Window ausgesandt hat (1, 2, 3, 4). Dort erwähnt er etwa Änderungen, durch die der Routing Cache langfristig entfernt werden kann.

Viele kleinere, aber keineswegs unbedeutende Neuerungen finden sich in der folgenden Liste mit den englischen Commit-Überschriften der jeweiligen Änderung. Die Einträge verlinken genau wie viele der Verweise im vorangegangenen Text auf das Webfrontend des von Linus Torvalds gepflegten Git-Zweigs mit den "offiziellen" Kernel-Quellen auf Kernel.org. Der über diese Links angezeigten Commit-Kommentar und der darunter ausgegebene Patch liefern zahlreiche weitere Informationen zur jeweiligen Änderungen.

Vor jedem Link finden sich in eckigen Klammern einige Buchstaben und Zahlen. Ein "C" kennzeichnet Patches mit Änderungen an Kconfig-Dateien, welche die Konfigurationsoptionen samt der zugehörigen Hilfetexte enthalten, die bei der Kernel-Konfiguration über "make menuconfig" oder "make xconfig" angezeigt werden. Ein "D" steht bei Patches, die die Dokumentation verändern, die im Kernel-Zweig unterhalb von Documentation/ liegt. Ein "N" weist Änderungen aus, die eine neue Datei anlegen. Die Zahl vermittelt einen groben Eindruck zur Größe des Patches: eine "1" kennzeichnet Änderungen, die inklusive Kommentar zwischen 10 und 20 KByte groß sind, eine "2" für solche, die zwischen 20 und 30 KByte Umfang haben; Änderungen ohne Zahl sind kleiner als 10 KByte, Patches mit einer "9" hingegen 90 KByte oder größer.

LAN

    [    ] Add Fujitsu 1000base-SX PCI ID to tg3
    [    ] be2net: add rxhash support
    [    ] be2net: Enable SR-IOV for Lancer
    [    ] benet: convert to set_phys_id
    [    ] bnx2: convert to set_phys_id
    [    ] bnx2x: Allow ethtool to enable/disable loopback.
    [    ] bnx2x: convert to set_phys_id
    [    ] cxgb3: implement set_phys_id
    [    ] cxgb4: drop phys_id interface and implement the newer set_phys_id
    [    ] cxgb4vf: drop phys_id interface and implement the newer set_phys_id
    [    ] e1000: convert to set_phys_id
    [    ] e1000e: implement ethtool set_phys_id
    [    ] e100: implemenet set_phys_id
    [    ] ethtool: Change ETHTOOL_PHYS_ID implementation to allow dropping RTNL
    [    ] ewrk3: convert to set_phys_id
    [    ] igb: convert to ethtool set_phys_id
    [    ] ixgb: convert to set_phys_id
    [    ] ixgbe: add LED blink code for x540
    [    ] ixgbe: Add macvlan support for VF
    [    ] ixgbe: add support for 64k EEPROM for 82599
    [    ] ixgbe: Add support for new 82599 adapter
    [    ] ixgbe: convert to ethtool set_phys_id
    [    ] ixgbe: enable SCTP checksum offload for X540
    [    ] ixgbevf: Add macvlan support in the set rx mode op
    [    ] net: allow shifted access in smsc911x V2
    [    ] niu: convert to new ethtool set_phys_id
    [    ] pcnet32: convert to set_phys_id
    [C N4] ptp: Added a clock driver for the National Semiconductor PHYTER.
    [   1] qlcnic: Code optimization patch
    [    ] qlcnic: convert to set_phys_id
    [   2] qlcnic: FW dump support
    [    ] qlcnic: Update version number to 5.0.16
    [    ] qlge: use ethtool set_phys_id
    [    ] s2io: convert to set_phys_id (v2)
    [    ] sfc: Implement ethtool_ops::set_phys_id instead of ethtool_ops::phys_id
    [    ] skge: implement set_phys_id
    [    ] sky2: support ethtool set_phys_id
    [    ] stmmac: review Wol and enable the Unicast support
    [    ] tg3: Add 5720 ASIC rev
    [    ] tg3: Add 5720 H2BMC support
    [    ] tg3: Add 5720 NVRAM decoding
    [    ] tg3: Add 5720 PHY ID
    [    ] tg3: Add EEH support
    [    ] tg3: Add jumbo frame loopback tests to selftest
    [    ] tg3: Add support for extended VPD blocks
    [    ] tg3: Add TSO loopback test
    [    ] tg3: Allow ethtool to enable/disable loopback.
    [    ] tg3: Enable 5720 support
    [    ] tg3: implement ethtool set_phys_id
    [    ] tg3: Update version to 3.118
    [    ] tg3: Update version to 3.119
    [    ] via-rhine: Assign random MAC address if necessary
    [    ] vxge: always enable hardware time stamp
    [    ] vxge: convert to set_phys_id
    [    ] vxge: update driver version

WLAN

    [    ] ath5k: disable 5 GHz support for the dualband PHY chip on dual-radio AR5312
    [    ] ath5k: fix the EEPROM check for hw AES crypto support
    [    ] ath9k: add an interface for overriding the value of specific GPIO pins
    [    ] ath9k: Add AR9340 platform id to id table
    [    ] ath9k: add support for overriding LED pin and GPIO settings from platform data
    [    ] ath9k: add support for overriding the MAC address through platform data
    [    ] ath9k_htc: Enable AP and P2P modes
    [    ] ath9k_hw: Add support for btcoexistence in AR9300.
    [    ] ath9k_hw: enable Antenna diversity for AR9485
    [    ] ath9k_hw: Enable byte Tx/Rx data swap for AR9340
    [    ] ath9k_hw: Fix throughput drops in HT40 mode for AR9287 chips
    [    ] ath9k_hw: Speedup register ops for HTC driver
    [    ] ath9k: Implement an API to swap main/ALT LNA's
    [C   ] ath9k: introduce ATH9K_{PCI,AHB} config options
    [    ] ath9k: Support RSN IBSS
    [    ] ath: Speedup key set/reset ops for HTC driver
    [    ] bcma: add PCI ID of the card found in Thinkpad X120e
    [   1] cfg80211/nl80211: add support for scheduled scans
    [    ] iwlagn: add eeprom command to testmode
    [    ] iwlagn: add feature flags
    [    ] iwlagn: add testmode set fixed rate command
    [    ] iwlagn: add testmode trace command
    [    ] iwlagn: fix incorrect PCI subsystem id for 6150 devices
    [    ] iwlagn: led stay solid on when no traffic
    [  N3] iwlagn: move IO functions out of line
    [    ] iwlagn: new 105 series device
    [    ] iwlagn: no 5.2GHz/HT40 support for bgn devices
    [    ] iwlagn: remove deprecated module parameters
    [   2] iwlagn: support multiple TBs per command
    [    ] iwlwifi: set default aggregation frame limit to 63
    [C N2] iwlwifi: support the svtool messages interactions through nl80211 test mode
    [    ] mac80211: Add new API for rate selection
    [   1] mac80211: add support for HW scheduled scan
    [    ] mwl8k: add support for block ack commands
    [    ] mwl8k: update to ap firmware API version 2
    [C N1] net: rfkill: add generic gpio rfkill driver
    [    ] p54: implement multicast filter
    [    ] rt2x00: Add autowake support for USB hardware
    [    ] rt2x00: Enable WLAN LED on Ralink SoC (rt305x) devices
    [   1] rt2x00: Implement tx power temperature compensation
    [    ] rt2x00: Linksys WUSB600N rev2 is a RT3572 device.
    [    ] ssb: update list of devices supporting multiple 80211 cores
    [    ] wifi: Add hwflags to debugfs.
    [    ] wl1251: Add support for idle mode
    [   1] wl12xx: 1281/1283 support - Add acx commands
    [    ] wl12xx: 1281/1283 support - add block size handling for sdio and spi
    [    ] wl12xx: 1281/1283 support - Add Definitions
    [    ] wl12xx: 1281/1283 support - Add dummy packet support
    [C   ] wl12xx: 1281/1283 support - enable chip support
    [    ] wl12xx: 1281/1283 support - Improve Tx & Rx path
    [   1] wl12xx: 1281/1283 support - Loading FW & NVS
    [    ] wl12xx: 1281/1283 support - move IRQ polarity
    [    ] wl12xx: 1281/1283 support - New boot sequence
    [   1] wl12xx: 1281/1283 support - New radio structs and functions
    [    ] wl12xx: 1281/1283 support - Use different FW file for AP mode wl127x/wl128x chips
    [    ] wl12xx: 1281/1283 support - use dynamic memory for the RX/TX pools
    [    ] wl12xx: add BT-coexistance for AP
    [    ] wl12xx: Add support for 11n Rx STBC one spatial stream
    [    ] wl12xx: Enable dynamic memory for 127x

Various

    [    ] Bluetooth: Add automated SSP user confirmation responses
    [    ] Bluetooth: Add basic discovery commands to the management interface
    [    ] Bluetooth: Add confirm_hint parameter to user confirmation requests
    [    ] Bluetooth: Add definitions for link key types
    [    ] Bluetooth: Add discovering event to the Management interface
    [    ] Bluetooth: Add secure flag for mgmt_pin_code_req
    [    ] Bluetooth: Add store_hint parameter to mgmt_new_key
    [    ] Bluetooth: Add support for disconnecting LE links via mgmt
    [    ] Bluetooth: Add support for sending connection events for LE links
    [    ] Bluetooth: Add variable SSP auto-accept delay support
    [C  1] Bluetooth: btmrvl: support Marvell Bluetooth device SD8787
    [    ] Bluetooth: mgmt: Add support for setting the local name
    [    ] bonding: cleanup module option descriptions
    [ D  ] bonding: documentation and code cleanup for resend_igmp
    [   1] bonding, ipv4, ipv6, vlan: Handle NETDEV_BONDING_FAILOVER like NETDEV_NOTIFY_PEERS
    [    ] bridge: add netlink notification on forward entry changes
    [   2] caif: prepare support for namespaces
    [CD 1] capi: Perform scheduled capifs removal
    [    ] cfg80211: module_param to disable HT40 in 2.4GHz band
    [   1] drivers/net: add prefetch header for prefetch users
    [  N1] enic: Add support for PORT_REQUEST_PREASSOCIATE_RR
    [    ] ethtool: Add 20G bit definitions
    [ D  ] igb: Add anti-spoofing feature documentation
    [ D 1] ipv4, ipv6, bonding: Restore control over number of peer notifications
    [    ] ipv4: more compliant RFC 3168 support
    [    ] net/9p: enable 9p to work in non-default network namespace
    [    ] net: Allow no-cache copy from user on transmit
    [    ] net-bonding: Adding support for throughputs larger than 65536 Mbps
    [    ] net: ethtool support to configure number of channels
    [    ] ns proc: Add support for the ipc namespace
    [    ] ns proc: Add support for the network namespace.
    [    ] ns proc: Add support for the uts namespace

Quelle und Links : http://www.heise.de/open/artikel/Kernel-Log-Was-3-0-bringt-1-Netzwerk-1257064.html
Titel: Kernel-Log: Llano-Unterstützung, Union-Dateisysteme
Beitrag von: SiLæncer am 15 Juni, 2011, 16:18
Treibercode für den Grafikchip der Llano-APUs von AMD hat es noch in Linux 3.0 geschafft – dessen Versionsnummer vielleicht doch 3.0.0 lauten muss. Derweil wird mal wieder über den besten Ansatz für Overlay- oder Union-Dateisysteme diskutiert.

In der Nacht von Montag auf Dienstag hat Linus Torvalds die dritte Vorabversion von Linux 3.0 freigegeben. Mit ihr stieß Unterstützung für den Grafikkern von AMDs am Dienstag vorgestellten Llano-Prozessoren zum Kernel – die Änderungen schienen Torvalds wohl klein und ungefährlich genug, um sie auch mehr als eine Woche nach Ende des Merge Window noch in den Hauptentwicklungszweig aufzunehmen.

Nach dem Versionssprung auf 3.0 flossen zudem einige Änderungen ein, die Probleme mit zweistelligen Versionsnummern beseitigen. In einer daraufhin entstandenen Diskussion deutet Torvalds an, den nächsten Kernel vielleicht doch "3.0.0" zu nennen, wenn keine Tricks gefunden werden, damit ältere Programme mit einem "3.0" klarkommen. Schwierigkeiten mit einer zweistelligen Versionsnummer zeigen unter anderem ältere Versionen der Module-Init-Tools (Depmod und Co.), Mdadm sowie die LVM2- und Device-Mapper-Werkzeuge. Torvalds scheint aber langfristig auf Versionsnummern mit zwei Stellen wechseln zu wollen. In einer anderen Diskussion hat Torvalds erklärt, Programme sollen möglichst keine Annahmen über den Aufbau der Versionsnummer enthalten.

Rafael J. Wysocki hat kurz vor der Freigabe des RC3 neue Regression Reports veröffentlicht. Demnach zeigte der Hauptentwicklungszweig am Wochenende 7 Fehler, die Linux 2.6.39 nicht aufwies; zudem sind 18 Fehler bekannt, die mit 2.6.38 nicht auftraten.

Überlagern

Viele Linux-Distributionen nutzen für ihre Live-Medien Overlay- oder Union-Dateisysteme, um ein beschreibbares Dateisystem über ein schreibgeschütztes zu legen, damit man beispielsweise nach dem Booten von einem nicht beschreibbaren Dateisystem einer CD oder DVD Software nachinstallieren kann. Fedora verwendet dazu den Device Mapper; bei anderen Distributionen wie Ubuntu kommt das Overlay-Dateisystem aufs zum Einsatz, das allerdings außerhalb der Kernelquellen gepflegt wird. Verschiedene Entwickler arbeiten daher seit Jahren an Overlay- oder Union-Funktion auf Dateisystemebene, die den Qualitätsansprüchen der Kernel-Hacker genügt, damit sie in den Hauptentwicklungszweig einziehen kann.

Der durch Fuse bekannte Entwickler Miklos Szeredi hat seine Overlay-Lösung jetzt zur Aufnahme bei Linux 3.1 vorgeschlagen. Die daraufhin entstandene Diskussion erweckt ein wenig den Eindruck, dass auch einige der Kernel-Hacker endlich eine Lösung im offiziellen Kernel sehen wollen. Die Dateisystemspezialistin Valerie Aurora merkt allerdings an, die Lösung von Szeredi habe möglicherweise einige Probleme. Aurora hat zusammen mit anderen Entwicklern ein alternatives Union-Framework vorangetrieben, sich aus der Kernel-Entwicklung aber vor einigen Monaten weitgehend zurückgezogen.

Die jetzige Diskussionen scheint im Sande zu verlaufen – das Thema dürfte aber vermutlich in nächster Zeit wieder aufkommen. Einige Hintergründe zum Ansatz von Szeredi liefert ein LWN.net-Artikel aus dem September 2010. Er verweist auf viele ältere LWN.net-Artikel, die einige Probleme beim Überlagern von Dateisystemen erläutern, die manche außerhalb des Kernels gepflegte Lösungen ignorieren.

Aktuelle LKML-Diskussionen

Die durch den USB-3.0-Code bekannte Sarah Sharp hat einen "USB mini-summit" angekündigt, der im Rahmen der LinuxCon Vancouver stattfinden soll. Daraus entstand eine Diskussion, die sich unter anderem mit Techniken zum Weiterreichen von USB-Geräten an virtuelle Maschinen beschäftigt. An der hat sich auch Hans de Goede beteiligt, der kürzlich einem Blog-Eintrag zu einer von ihm vorangetriebenen Lösung verfasst hat.

Die bereits erwähnte Diskussion zum Union- und Overlay-Dateisystemen enthielt auch einige Beiträge zu Userspace-Dateisystemen. Torvalds erwähnt dort, dass Fuse zwar für gewisse Dinge gut sei, für das Root-Dateisystem aber ungeeignet sei. Ein Tuxera-Entwickler der NTFS-Treiber für den Linux-Kernel und Fuse erklärte, der Kernel-Treiber sei viel schneller, als ein Userspace-Treiber je werden könne.

Amir Goldstein hat Patches veröffentlicht, die Ext4 um eine Snapshot-Funktion erweitern. In der daraus entstandenen Diskussion merken einige Entwickler an, dass der Device Mapper durch das noch in Entwicklung befindliche "Multisnap" ähnliche Funktionen ermögliche, ohne dass tief greifende Änderungen an Ext4-Code nötig seien (u.a. 1, 2).

Die im letzten regulären Kernel-Log erwähnten Probleme rund um die Linux-Unterstützung von (U)EFI haben weitere Diskussionen nach sich gezogen. In einem Beitrag spricht Torvalds alles andere als positiv über (U)EFI und verwendet dabei deutliche Worte; er bezeichnet aber auch die Unterstützung von (U)EFI in Linux als kaputt. Matthew Garrett berichtet in seinem Blog derweil über einen praktischen Nutzen, den EFI bringt: Ein Ort zum Speichern von Daten, die helfen können, die Ursache von Systemabstürzen zu finden.

Keith Packard übernimmt die Pflege des DRM/KMS-Treiber für Notebook- und Desktop-Grafikchips von Intel; er liefert und erhielt in dem Rahmen einige Tipps zum Einsatz von Git zur Kernel-Entwicklung.

In einer Diskussion um ein im Longterm-Kernel 2.6.32 bislang nicht korrigiertes XFS-Problem stellte Kernel-Urgestein Theodore Tso klar, dass Korrekturen nicht magisch in die Stable- oder Longterm-Kernel eingehen, sondern es eines Entwicklers bedarf, der sich um solche Dinge kümmere; später führte er noch aus, dass dies nicht der Job der Stable- und Longterm-Betreuer sei.

Kernel-Log-Staccato

Kernel

Wie erwartet sind kurz nach dem letzten regulären Kernel-Log die Linux-Versionen 2.6.39.1 und 2.6.38.8 erschienen; mit der letztgenannten endet die Pflege der 38er-Serie.

Auf video.linux.com ist ab Zeitstempel 8:45 eine Video-Aufzeichnung eines Gesprächs zwischen Linus Torvalds und Greg Kroah-Hartman abrufbar, das die beiden kürzlich im Rahmen der LinuxCon Japan 2011 geführt haben. Sie unterhalten sich unter anderem über den Versionssprung auf 3.0 und den 20. Geburtstag, der im Spätsommer ansteht; eine Zusammenfassung des Bühnengesprächs liefert LWN.net.

Der langjährige Libata-Kernel-Hacker Tejun Heo hat das Wiki zum ATA-Code von Linux um eine Warnung vor Marvell-ATA-Controllern mit AHCI erweitert. Die Linux-Unterstützung für diese Chipsätze sei unvollständig und/oder fehlerhaft; für erste solle man sie besser meiden. In der begleitenden Mail erklärt er, es gäbe viele Probleme mit diesen Controllern; die Schuld daran liege mit Sicherheit bei den Marvell- und den Libata-Entwicklern. Er habe nicht genug Zeit und Energie, um Chipsätzen und Dokumentation nachzujagen; auch Marvell scheine nicht sonderlich an einer Lösung interessiert zu sein.

Die Webseite Phoronix hatte vor einigen Wochen berichtet, dass manche Notebooks mit aktuellen Kerneln eine höhere Leistungsaufnahme aufweisen. Die Hauptursache scheint noch immer nicht gefunden zu sein; eine in Linux 3.0 und 2.6.39.1 eingeflossene Änderung beseitigt allerdings einen anderen Fehler, der auf manchen Systemen zu einer leicht höheren Leistungsaufnahme geführt hat.

Ein Blog-Eintrag im bei news.opensuse.org liefert am Linux-Kernel interessierten Suse-Anwendern einige Tipps. Er verweist unter anderem auf das kürzlich umgezogene Git-Repository mit den Quellen der OpenSuse-Kernel und einige Depots, über die man vorkompilierte und auf OpenSuse oder Suse Linux Enterprise (SLE) abgestimmte Kernel beziehen kann – darunter neue OpenSuse- und Vanilla-Kernel sowie solche auf Basis des Hauptentwicklungszweigs oder Linux-Next.

Das OSADL hat einen Artikel veröffentlicht, der einige Tipps zum Verbessern der Echtzeit-Eigenschaften von RT-Kerneln enthält.

Unterstützung für Grafikhardware

Gnome- und Mutter-Entwickler Owen Taylor liefert in einem Blog-Eintrag Informationen und Messergebnisse zum Einfluss verschiedener Compositor auf die Grafikperformance im Desktop-Alltag. Motiviert dazu wurde er durch einen Test von Phoronix, in dem die Gnome-Shell nicht sonderlich gut abgeschnitten hat. Daran, so Taylor, sei der Fenstermanager und Compositor Mutter schuld, der eine im Vollbild laufende 3D-Anwendung nicht in Ruhe lässt, weil er keinen "unredirect support" bietet. Es gibt aber Patches, die dieses Feature nachrüsten.

Alex Deucher hat die X.org-Wiki-Seite zu dem von ihm mitentwickelten Radeon-Treiber um einen Hinweis zu "Hybrid Graphics" erweitert. Demnach funktioniert die Umschaltung zwischen Chipsatz-Grafik und separatem Grafikchip mit vgaswitcheroo, sofern die Hardware einen Multiplexer (Mux) zum Umschalten zwischen den beiden Wegen zum Display-Ausgang verwendet.

Adam Jackson hat in Tweets und Diskussionsbeiträgen Verbesserungen an Mesa 3D angedeutet, durch die die auf 3D-Unterstützung angewiesene Gnome Shell von Gnome 3 ausreichend auch dann schnell arbeiten soll, wenn die 3D-Berechnungen nicht durch einen Grafikchip, sondern durch den Hauptprozessor erfolgen ("Software Rendering").

Mesa 3D 7.1 soll am 22. Juli erscheinen.

Intel-Entwickler Chris Wilson hat den X.org-Treiber für Notebook- und Desktop-Hardware von Intel um ein "sna" (SandyBridge's New Acceleration) genanntes Beschleunigungs-Framework erweitert. Der Commit-Kommentar des weiter verbesserten und korrigierten Codes enthält einige Messergebnisse mit Desktop-Anwendungen wie Firefox, xfce4-terminal und gnome-terminal; die meisten Benchmarks sind schneller geworden, mache sogar um ein Mehrfaches. Das Framework ist auf den Grafikkern der Sandy-Bridge-Prozessoren abgestimmt, die Intel Anfang des Jahres eingeführt hat; er deutet aber an, dass auch ältere Intel-Chips davon profitieren könnten.

Nvidia hat die Version 275.09.07 (x86-32, x86-64) seiner proprietären Grafiktreiber freigeben. Sie bringen unter anderem Unterstützung für die GeForce-Modelle 315M, 320M, 410M, GT 545, GTX 560 und GTX 560M sowie die Open-GL-Erweiterung GL_EXT_x11_sync_object extension. Die neue Version korrigiert zudem Probleme beim Zusammenspiel mit Gnome 3 und KDE 4.

Kernel-Umland ("Plumbing layer"), Userland-Treiber, Entwicklertools, ...

Die Smartmontools sind seit kurzem in Version 5.41 erhältlich. Das Werkzeug zur Analyse des Gesundheitszustands von ATA-Datenträgern mit SMART (Self-Monitoring, Analysis and Reporting Technology) erhielt mit der neuen Version unter anderem eine erweiterte Gerätedatenbank sowie Unterstützung für Festplatten, die mit 4 KByte großen Sektoren arbeiten.

WLAN-Entwickler Luis R. Rodriguez hat acs präsentiert – ein als "proof of concept" eingestuftes Programm, das den "idealen" WLAN-Kanal zu finden verspricht.

OpenSuse-Entwickler Frédéric Crozat beschreibt in seinem Blog einige der nächsten Schritte zudem Umstieg auf Systemd, der für OpenSuse 12.1 geplant ist. Einige Hintergründe zur Arbeitsweise und dem Praxiseinsatz von Systemd liefern zwei Artikel in der aktuellen, noch bis zum Wochende am Kiosk erhältlichen c't 13/11, die von den Systemd-Hauptentwicklern Lennart Poettering und Kay Sievers stammen.

Anlässlich des "World IPv6 Day" hat Kernel.org-Admin John 'Warthog9' Hawley IPv6-Unterstützung bei einigen Kernel.org-Diensten aktiviert.

Die Programmseite zur Linux Audio Conference (LAC) 2011 verweist auf Videoaufzeichnungen, Präsentationsfolien und Textfassungen vieler Konferenzvorträge; darunter etwa "Configuring your system for low-latency real-time audio processing" von Jeremy Jongepie.

Quelle und Links : http://www.heise.de/open/artikel/Kernel-Log-Llano-Unterstuetzung-Union-Dateisysteme-1260191.html
Titel: Kernel-Log – Was 3.0 bringt (2): Dateisysteme
Beitrag von: SiLæncer am 22 Juni, 2011, 19:30
Die Kernel-Hacker haben den Btrfs-Code optimiert und um neue Funktionen erweitert; ein deutlich verbessertes Werkzeug zum Prüfen des experimentellen Dateisystems soll bald erscheinen. Ext4 beherrscht jetzt die "punch hole" genannte Technik, um ungenutzten Speicherplatz mitten in einer Datei wieder freizugeben.

Auch in dieser Woche hat Linus Torvalds in der Nacht von Montag auf Dienstag eine neue Vorabversion von Linux 3.0 freigegeben. In der Freigabemail zum mittlerweile vierten RC erwähnt er einige etwas umfangreichere Änderungen am DRM-Subsystem; darunter Patches, welche die zwischen RC2 und RC3 eingeflossene Unterstützung für den Grafikkern in AMDs kürzlich vorgestelltem Llano verbessern.

Das Kernel-Log nimmt die fortschreitende Entwicklung von Linux 3.0 zum Anlass, die Mini-Serie "Was 3.0 bringt" mit der Beschreibung der Neuerungen rund um Dateisysteme fortzusetzen. Den Anfang dieser Artikel-Reihe hatte eine Übersicht der Änderungen an Netzwerk-Treibern und -Infrastruktur gemacht; in den kommenden Wochen werden Artikel zur Grafik-Treibern, Architektur-Code, Storage-Unterstützung, Infrastruktur und Treibern für andere Hardware folgen.

Btrfs

Einen ganzen Schwung von Änderungen gab es am weiterhin experimentellen Btrfs-Dateisystem; der bei Oracle beschäftigte Hauptentwickler Chris Mason bezeichnete sie in seinem Git-Pull-Request als die vermutlich umfangreichsten, die er je eingesandt hat. Zwischen RC1 und RC2 legt er sogar nochmal einige umfangreichere Änderungen nach – Torvalds kritisierte Letzteres jedoch scharf und forderte die Btrfs-Entwickler auf, solch große Änderungen nicht wieder nach Ende des Merge Window einzusenden.

In diesen und früheren Git-Pull-Request zeigt sich auch deutlich, wie viele verschiedene Firmen mittlerweile zu Btrfs beitragen. Fujitsu-Entwickler Miao Xie hat etwa die neue "Delayed Inode Items Operation" eingebracht; laut Messungen des Entwicklers beschleunigt die Technik das Erstellen von Dateien um zirka 15 Prozent, das Löschen um 20 Prozent.

Von Arne Jansen stammt die Scrub-Unterstützung; hier liegt das Copyright bei Strato. Über diesen Code kann der Anwender den Kernel anweisen, alle Daten vom Speichermedium zu lesen und dabei die Checksummen zu prüfen, um sicherzustellen, dass alle Daten intakt sind; findet es Fehler, dann versucht das Dateisystem eine intakte Kopie des Blocks einzubinden, wenn es eine finden kann.

Den Code zum Verwalten von Inodes haben die Entwickler überarbeitet, damit die Inode-Nummern auf 32-Bit-Systemen nach Löschen und Anlegen vieler Dateien nicht ausgehen; in dem Rahmen erhielt das Dateisystem einen Cache für freie Inode-Nummern, der aber fürs erste über eine Mount-Option eingeschaltet werden muss, weil er noch Probleme bereitet. Diese Verbesserungen hat Fujitsu-Entwickler Li Zefan vorangetrieben.

Da Btrfs mit Copy on Write (COW) arbeitet, fragmentiert es bei bestimmten Zugriffsmustern schnell. Über die neue Mount-Option "auto_defrag" kann man das Dateisystem nun anweisen, auf kleine und zufällige Schreiboperationen ("small random writes") in existierenden Dateien zu achten, um solche Dateien zur automatischen Defragmentierung vorzumerken. Das ist laut Commit-Kommentar und Git-Pull-Request gut für kleine Datenbanken wie jene von Sqlite oder die BerkeleyDB geeignet, nicht aber für größere Datenbanken oder die Festplattenabbilder von Virtualisierungslösungen.

Diese Änderung stammt von Mason selbst. In einem der Git-Pull-Requests hebt er außerdem noch einige Performance-Optimierungen hervor, die Red-Hat-Entwickler Josef Bacik eingebracht hat; zudem habe Suse-Entwickler Dave Sterba zahlreiche Aufräumarbeiten vorgenommen.

In einer Diskussion um den Einsatz von Btrfs als Standard-Dateisystem bei Fedora 16 erwähnte Bacik kürzlich, ein besseres Werkzeug zum Checken und Reparieren von Btrfs-Dateisystem sei "so gut wie fertig"; die Freigabe des seit Monaten vorbereiteten Werkzeugs verzögere sich aber, weil es sehr ausführlich getestet werde. Das derzeit verfügbare btrfsck/fsck.btrfs bietet nur einige Basis-Funktionen.

Staccato: Dateisysteme

    Ext4 unterstützt nun die "punch hole" genannte und via Fallocate nutzbare Funktion, über die Programme dem Dateisystem mitteilen können, wenn Bereiche innerhalb einer Datei keine Daten enthalten. Das kann etwa für Virtualisierungsprogramme interessant sein, damit das Dateisystem nicht mehr genutzte Speicherbereiche von Festplatten-Images wieder freigeben kann, die als Sparse-Dateien vorliegen. OCFS2 und XFS könne das seit Linux 2.6.38.
    Tmpfs bietet jetzt auch eine Basis-Unterstützung für Erweiterte Attribute (EAs/Extended attributes/xattr). Ein Red-Hat-Entwickler hat diese Änderung programmiert, um auf temporären Dateisystemen RPM-Pakete bauen zu können, die File Capabilities verwenden.
    Das XFS-Dateisystem unterstützt nun auch Online Discard, um den jeweiligen Datenträger direkt beim Löschen von Dateien über freigewordene Speicherbereiche zu Informieren – das ist für SSDs und Netzwerkspeicher mit Thin Provisioning interessant. Im "XFS status update for May 2011" hebt Christoph Hellwig zudem noch ein erheblich verbessertes Busy Extent Tracking hervor (1, 2).
    Der NFS-Client-Code enthält nun einen pNFS Objects Layout Treiber für das in RFC5664 beschriebene NFSv4.1 pNFS Target (u. a. 1).

Die kleinen Perlen

Viele kleinere, aber keineswegs unbedeutende Neuerungen finden sich in der folgenden Liste mit den englischen Commit-Überschriften der jeweiligen Änderung. Die Einträge verlinken genau wie viele der Verweise im vorangegangenen Text auf das Webfrontend des von Linus Torvalds gepflegten Git-Zweigs mit den "offiziellen" Kernel-Quellen auf Kernel.org. Der über diese Links angezeigten Commit-Kommentar und der darunter ausgegebene Patch liefern zahlreiche weitere Informationen zur jeweiligen Änderungen.

Vor jedem Link finden sich in eckigen Klammern einige Buchstaben und Zahlen. Ein "C" kennzeichnet Patches mit Änderungen an Kconfig-Dateien, welche die Konfigurationsoptionen samt der zugehörigen Hilfetexte enthalten, die bei der Kernel-Konfiguration über "make menuconfig" oder "make xconfig" angezeigt werden. Ein "D" steht bei Patches, die die Dokumentation verändern, die im Kernel-Zweig unterhalb von Documentation/ liegt. Ein "N" weist Änderungen aus, die eine neue Datei anlegen. Die Zahl vermittelt einen groben Eindruck zur Größe des Patches: eine "1" kennzeichnet Änderungen, die inklusive Kommentar zwischen 10 und 20 KByte groß sind, eine "2" für solche, die zwischen 20 und 30 KByte Umfang haben; Änderungen ohne Zahl sind kleiner als 10 KByte, Patches mit einer "9" hingegen 90 KByte oder größer.

Btrfs

    [    ] btrfs: add cleancache support
    [    ] btrfs: add readonly flag
    [   1] Btrfs: kill BTRFS_I(inode)->block_group
    [   3] Btrfs: kill trans_mutex
    [   4] Btrfs: Make free space cache code generic
    [   1] Btrfs: Make the code for reading/writing free space cache generic
    [   1] btrfs: quasi-round-robin for chunk allocation
    [    ] btrfs: remove 64bit alignment padding to allow extent_buffer to fit into one fewer cacheline
    [    ] btrfs: Remove unused sysfs code
    [   1] Btrfs: Support reading/writing on disk free ino cache

Ext Family

    [    ] ext4: add cleancache support
    [    ] ext4: add new function ext4_block_zero_page_range()
    [    ] ext4: add "punch hole" flag to ext4_map_blocks()
    [  N1] ext4: add support for multiple mount protection
    [    ] ext4: check for ext[23] file system features when mounting as ext[23]
    [    ] ext4: don't show mount options in /proc/mounts if there is no journal
    [ D  ] ext4: remove obsolete mount options from ext4's documentation

Various

    [C   ] 9p: remove experimental tag from tested configurations
    [ D  ] 9p: update Documentation pointers
    [    ] Cache xattr security drop check for write v2
    [    ] cifs: add cifs_async_writev
    [    ] cifs: Add idmap key and related data structures and functions (try #17 repost)
    [   1] CIFS: Add rwpidforward mount option
    [    ] cifs: Add support for mounting Windows 2008 DFS shares
    [    ] CIFS: Allow to set extended attribute cifs_acl (try #2)
    [C   ] cifs: cleanup: Rename and remove config flags
    [   1] cifs: Invoke id mapping functions (try #17 repost)
    [    ] [CIFS] update cifs version to 1.73
    [C  1] CIFS: Use ecb des kernel crypto APIs instead of
    [C   ] exportfs: reallow building as a module
    [ D 1] fs: pass exact type of data dirties to ->dirty_inode
    [    ] GFS2: Add an AIL writeback tracepoint
    [    ] GFS2: Improve tracing support (adds two flags)
    [    ] Introduce smb2 mounts as vers=2
    [    ] mm/fs: add hooks to support cleancache
    [    ] nilfs2: add routine to move secondary super block
    [    ] nilfs2: implement resize ioctl
    [   1] Ocfs2: Add a new code 'OCFS2_INFO_FREEFRAG' for o2info ioctl.
    [    ] ocfs2: Add FITRIM ioctl.
    [    ] ocfs2: Add ocfs2_trim_fs for SSD trim support.
    [    ] ocfs2: Add trace event for trim.
    [ D  ] ocfs2: clean up mount option about atime in ocfs2.txt
    [ D  ] ocfs2: remove the /sys/o2cb symlink
    [    ] pnfs: client stats
    [  N1] pnfs-obj: pnfs_osd XDR client implementation
    [   1] SUNRPC: Support for RPC over AF_LOCAL transports
    [    ] svcrpc: take advantage of tcp autotuning
    [    ] UBIFS: introduce a "grouped" journal head flag
    [ D 1] UBIFS: switch to dynamic printks

Quelle und Links: http://www.heise.de/open/artikel/Kernel-Log-Was-3-0-bringt-2-Dateisysteme-1263114.html
Titel: Kernel-Log: Höherer Stromverbrauch durch BIOS-Bugs
Beitrag von: SiLæncer am 28 Juni, 2011, 17:49
Kernel seit 2.6.38 verbrauchen mehr Strom, weil sie in bestimmten Situationen eine PCI-Express-Stromspartechnik deaktivieren. Neue Stable- und Longterm-Kernel bringen Korrekturen; einer hängt aber auffällig hinterher.

Im April hatte die Webseite Phoronix darüber berichtet, einige Systeme würden mit den Linux-Versionen 2.6.35 und 2.6.38 mehr Leistung aufnehmen als mit den jeweiligen Vorgängern. In Test will Phoronix jetzt die Ursache für den mit 2.6.38 steigenden Stromverbrauch gefunden haben.

Schuld sei die in 2.6.38 integrierte Änderung "PCI: Disable ASPM if BIOS asks us to". Sie soll laut Commit-Kommentar Probleme bei Systemen beseitigen, bei denen das BIOS die PCI-Express-Stromspartechnik ASPM (Active State Power Management) bei manchen PCIe-Chips aktiviert, in seiner von Linux konsultierten FADT (Fixed ACPI Description Table) jedoch erklärt, die ASPM nicht zu unterstützen. Durch die Änderung beachtet der Kernel die Angabe in den ACPI-Tabellen und versucht die Stromspartechnik bei allen PCIe-Geräten zu deaktivieren, sofern es das BIOS denn erlaubt.

Offensichtlich gibt es jedoch viele Systeme, bei denen das BIOS über die FADT falsche Informationen zur ASPM-Unterstützung liefert. Bei vielen von ihnen sind ab Kernel 2.6.38 daher alle PCIe-Lanes zur Kommunikation mit PCIe-Chips dauerhaft voll aktiv, was zu der höheren Leistungsaufnahme führt, die Phoronix und eine Reihe von Anwendern beobachteten. Über den Kernel-Parameter "pcie_aspm=force" kann man den Kernel anweisen, ASPM zwangsweise zu aktivieren. Das kann aber zu Systemabstürzen führen, wie etwa Red Hat in der RHEL-6-Dokumentation erläutert. Auf einem Thinkpad-Notebook von Phoronix sank die Leistungsaufnahme durch das Einschalten von ASPM von 24,8 auf 21,6 Watt und damit auf das Niveau beim Betrieb mit Kernel 2.6.37.

Windows scheint solche Situationen anders zu handhaben – es ist unklar, ob es anderswo nach Informationen zur ASPM-Unterstützung schaut oder ASPM einfach nutzt, sofern das BIOS die Kontrolle freigibt. Letztendlich deutet vieles auf eine Problematik hin, die den Reboot- und UEFI-Problemen von Linux ähnelt, denen jüngst etwas Aufmerksamkeit zugekommen ist (1, 2): Linux spricht die Hardware anders an als Windows, wodurch Linux ungetestete Pfade betritt und Probleme auftreten, weil die Hardware-Hersteller meist nur mit Windows getestet haben. Da hilft es auch nichts, das Linux die Dinge teilweise sogar korrekter angeht als Windows: Recht spezifikationskonformes Arbeiten gepaart mit unsauberen ACPI-Tabellen in den Notebook-BIOSen war schon eine der Ursachen für viele der ACPI-Probleme, die Linux-Anwender vor Jahren häufig plagten. Besser wurde es, seit sich der ACPI-Interpreter von Linux mehr wie der von Windows verhält und auch die selben Fehler macht ("Bug compatibility").

Wie die Kernel-Hacker das Problem angehen, dürften die nächsten Tage und Wochen zeigen; vermutlich wird frühestens Linux 3.1 eine Korrektur enthalten, damit ASPM wieder bei mehr Systemen aktiv ist. Phoronix ist zudem noch auf der Suche nach der Änderung, die ab Linux-Kernel 2.6.35 zu einer höheren Leistungsaufnahme führt.

Kernel-Versionsstatus

Greg Kroah-Hartman hat den Stable-Kernel 2.6.39.2 sowie die Longterm-Kernel 2.6.32.42 und 2.6.33.15 veröffentlicht. Die Freigabe-Mails zu den beiden erstgenannten Versionen enthalten den üblichen Hinweis, der nachdrücklich zum Update auffordert, ohne klar zustellen, ob auch Sicherheitslücken beseitigt wurden.

Paul Gortmaker hat wenig später den Longterm-Kernel 2.6.34.10 freigegeben, der über 240 Änderungen bringt. Anders als Greg Kroah-Hartman erwähnt er in der Freigabe-Mail die Korrektur von Sicherheitslücken. Zwischen 2.6.34.9 und 2.6.34.10 vergingen aber über zehn Wochen, in denen Kroah-Hartman vier neue Longterm-Kernel der 32er-Serie veröffentlicht hat. Es ist recht wahrscheinlich, dass diese 32er-Versionen bereits einige Sicherheitslücken korrigiert haben, die in der 34er-Serie erst jetzt beseitigt wurden.

Kernel-Log-Staccato

Kernel

Einige der wichtigsten Entwickler des Netzwerk-Subsystems haben sich kürzlich zur "Netconf 2011" getroffen. Über die Programm-Seite finden sich einige der dort gezeigten Präsentationsfolien; Ben Hutchings hat die aus seiner Sicht wichtigsten Punkte der Vorträge und Diskussionen in einer Mail zusammengefasst.

Anlässlich des bald anstehenden 20. Geburtstag von Linux hat Linux.com eine Galerie mit Bildern von Linus Torvalds veröffentlicht; einige von ihnen stammen aus den Anfangstagen von Linux.

Dateisystem-Experte Eric Sandeen hat in einem Blog-Eintrag die Größenänderungen am Dateisystemcode von Btrfs, Ext4 und XFS analysiert. XFS sei das einzige, dessen Codeumfang schrumpft, dabei habe es in letzter Zeit einige Verbesserungen an dem Dateisystem gegeben, dessen Code größer ist als der von Btrfs und Ext4.

Unterstützung für Grafikhardware

Der in Linux-Next enthaltene Entwicklerzweig DRM-Next enthält seit einigen Tagen eine Firmware (u. a. 1) für GeForce-Grafikchips der Fermi-Generation. Sie dürfte in Linux 3.1 einziehen und macht die Beschleunigungsfunktionen der GeForce-Modellreihen 400 und 500 nutzbar; anfangs gelang das nur mit der Firmware der proprietären Nvidia-Treiber.

Die bisher "Xorg hosted mode" (kurz: "hosted") genannte Unterstützung zum Betrieb von X als Wayland Client heißt nun xwayland. Der die Umbenennung vorantreibende Entwickler hat zudem einen einen "xf86-video-wlshm" ("wayland shared memory") genannten und als "fake" eingestuften Grafiktreiber geschrieben, um diese bislang auf Intel-Grafikchips angewiesene Betriebsart einfacher testen zu können.

Der neuste Eintrag des Blogs "The Irregular Radeon Development Companion" beschäftigt sich mit der Einrichtung eines Systemd-Unit, welche die Stromsparunterstützung des KMS-Radeon-Treibers aktiviert.

Bereits Mitte des Monats und kurz nach dem letzten regulären Kernel-Log hat AMD die Version 11.6 seiner proprietären und als Catalyst oder Fglrx bekannten Grafiktreiber für Linux freigegeben. Die Release Notes liefern einige Hinweise zur Installation – Informationen zu den Neuerungen dieser Version fehlen allerdings.

Kernel-Umland ("Plumbing layer"), Userland-Treiber, Entwicklertools, ...


Lucas Meneghel Rodrigues hat Version 0.13.0 des Autotest-Frameworks veröffentlicht, dass sich unter anderem zum automatischen Testen von Kerneln eignet.

Mit der Version 003 der Usbutils funktioniert nun auch die Kompression der Datendatei.

James Hunt hat Upstart 1.3 freigegeben, das einige der bereits bei Ubuntu 11.04 integrierten Funktionen bringt.

LKML-Diskussionen

Stefan Assmann hat überarbeitete "Badram"-Patches zur Diskussion gestellt. Damit ausgestatteten Kerneln kann man bekanntermaßen kaputte Bereiche des Arbeitsspeichers über Kernel-Parameter mitteilen, damit die Kernel sie nicht nutzen. Google-Mitarbeiter Andrew Morton verglich diese mit einer umfassendere Lösung, die Google einsetzt – die wurde aber noch nicht zur Integration an den Kernel aufbereitet, was aber auf der ToDo-List sei.

Jonas Bonn arbeitet darauf hin, Unterstützung für die OpenRISC-1000-Architektur in den Kernel zu integrieren – einer im Rahmen von Opencores.org entwickelten Open-Source-Prozessorarchitektur mit RISC-Kernen.

In der Freigabe-Mail zur zweiten Version des "Native Linux KVM Tool" hat dessen Hauptentwickler Pekka Enberg einige Benchmark-Ergebnisse erwähnt, laut denen die Qemu-KVM-Alternative beim Lesen und Schreiben von QCOW2-Images schneller arbeitete als Qemu-Kvm. In einem LWN.net-Kommentar sagte Enberg, man sollte den Ergebnissen nicht zu viel Bedeutung beimessen. Später stellte sich dann raus, dass ein Fehler im Messaufbau am schlechten Abschneiden von Qemu-Kvm schuld war.

Theodore 'tytso' Ts'o beginnt mit den konkreten Planungen für den Kernel Summit 2011, der im Oktober in Prag stattfinden soll.

Quelle und Links : http://www.heise.de/open/artikel/Kernel-Log-Hoeherer-Stromverbrauch-durch-BIOS-Bugs-1268394.html
Titel: Linus Torvalds"Das größte Problem waren die Hardware-Hersteller"
Beitrag von: spoke1 am 28 Juni, 2011, 21:22
Der Linux-Erfinder Linus Torvalds hat sich in einem Interview zu den größten Problemen der letzten zwanzig Jahre geäußert. Ihn habe immer verärgert, dass wenige Hardwarehersteller Hilfe bei der Treiberentwicklung angeboten haben.
Auf eine Frage aus dem Publikum, bei einer Podiumsdiskussion auf der Linuxcon 2011 in Japan, beschreibt Torvalds die mangelnde Unterstützung durch einige Hardwarehersteller als größtes Problem der Linux-Entwickler. Es habe die Programmierung von Treibern erheblich behindert. Das habe ihn oft sehr verärgert.

Mitgefühl für Anwender
Vor allem für die Anwender habe es ihm Leid getan, wenn die Linux-Entwickler ihnen sagen mussten, dass es keine Unterstützung für bestimmte Hardware-Geräte gebe, auch wenn die Geräte äußerst populär gewesen seien. Das habe sich in den letzten Jahren allerdings gebessert, sagte Torvalds. Inzwischen hätten die Hersteller erkannt, dass es ihnen selbst schade, wenn sie Linux nicht unterstützen.

Das zweite große Problem sei die Verwaltung eines großen Projekts mit tausenden Entwicklern aus hunderten von Firmen, die alle eine andere Vorstellung davon hätten, wohin das Projekt gehen sollte. Es sei vor allem dann schwierig gewesen, wenn die Kernel-Hacker sich über die Art und Weise beschwerten, wie der Kernel entwickelt wurde oder wenn jemand enttäuscht war, als sein Patch nicht angenommen wurde, der eines anderen Hackers jedoch schon.

Schlafraubende Diskussionen

Wenn es etwas gäbe, was ihm den Schlaf raube, dann die Politik und die Menschen hinter der Kernel-Entwicklung. Normalerweise werden Probleme gelöst, sagte Torvalds und das freue ihn. Aber einige Diskussionen hätten sich über mehrere Monate oder gar Jahre erstreckt und habe auch ihn zu unflätigen Bemerkungen in Beiträgen in Mailinglisten gebracht.

Große technische Probleme habe es in den letzten zwanzig Jahren nur wenige gegeben, so Torvalds. Alle Probleme haben die Entwickler sofort lösen oder rückgängig machen können.

Gepflegte Streitkultur

Der oft heftige Streit zwischen den Entwicklern auf der Kernel-Mailingliste sei berüchtigt, sagte der Interviewer Greg Kroah-Hartman. Sie werden in Firmen mit der gleiche Heftigkeit geführt. Dort fänden solche Diskussionen aber hinter verschlossenen Türen statt, während die Kernel-Entwickler sie in aller Öffentlichkeit führen.

Zu den Änderungen der Versionsnummer des Linux-Kernels auf 3.0 sagte Torvalds, dass es einfach an der Zeit war. Gerade sein Interviewpartner Kroah-Hartman habe erhebliche Probleme mit der bisherigen Nummerierung gehabt. Er habe seine Kernel-Updates mit vierstelligen Versionsnummern veröffentlichen müssen. Kroah-Hartman hielt dann auch sein vor Jahren gemachtes Versprechen ein und überreichte Torvalds eine Flasche Whiskey. Er hatte Torvalds die Flasche versprochen, sobald die Nummerierung vereinfacht werden würde.

Zukunftsweisende Kernelfunktionen

Zu den spannendsten Änderungen am Kernel in den letzten Monaten gehören für Torvalds die zugleich "langweiligsten" Funktionen, also jene, die die Anwender kaum wahrnehmen. Darunter ist die Namenssuche von Dateipfaden (RCU-based name lookup) in Kernel 2.6.38 gewesen, die ohne Sperren für einen Geschwindigkeitszuwachs von 30 bis 50 Prozent sorgen soll.

Manche Funktionen haben die Kernel-Entwickler bereits eingebaut, bevor sie überhaupt als relevant erachtet wurden, so Torvalds. Die Unterstützung für symmetrische Multiprozessorsysteme habe 1996 für Diskussionen unter Entwicklern und den Versionssprung von 1.x auf 2.x gesorgt, denn damals konnte sich kaum jemand vorstellen, dass normale Systeme mehr als einen Prozessor verwenden würden.

Linux-Weltherrschaft ist kein Witz mehr

Zu der Desktop-Problematik sagte Torvalds, dieser Markt sei schwer umkämpft und er sähe es gern, wenn Linux auf dem Desktop mehr Erfolg hätte. Die Anwendungen dafür gäbe es ja bereits. Er wüsste aber auch nicht, was die Kernel-Entwickler beitragen könnten, um den Linux-Desktop zu verbreiten.

Den Witz, Linux solle die Weltherrschaft übernehmen, mache er schon lange nicht mehr. Er sei dann komisch gewesen, als es unmöglich erschien, das Linux über eine kleine Fan-Gemeinde heraus populär werden würde. Heute sei der Witz eher zur ernsten Realität geworden.



Quelle: www.golem.de
Titel: Torvalds: Userspace-Dateisysteme sind Spielzeuge
Beitrag von: SiLæncer am 30 Juni, 2011, 12:24
In einer Diskussion um die Aufnahme eines neuen Dateisystemtreibers in den Kernel bezog der Linux-Erfinder Linus Torvalds Stellung und bezeichnete die im Userspace arbeitende Dateisysteme als Spielzeuge, die zwar funktionieren, aber nie eine zufriedenstellende Geschwindigkeit erreichen werden.

Fuse (Filesystem in Userspace) stellt eine Erweiterung für den Kernel dar, die es ermöglicht, Dateisystemtreiber vom Kernel in Anwenderprozesse (Userland) zu verlagern. Aufgrund der Vereinfachung durch den User-Modus sind in deshalb der Vergangenheit eine Vielzahl von Treibern entstanden. Bindungen für zahlreiche Programmiersprachen ermöglichen einen relativ einfachen Zugriff auf die Funktionalität von Fuse. Der Treiber ist ein fester Bestandteil des Linux-Kernels seit Version 2.6.16 und steht auch für diverse Systeme außerhalb der Linux-Welt zur Verfügung.

Laut Aussage von Linux Torvalds funktioniert die Erweiterung allerdings eher zufriedenstellend als gut. Mit der Aussage, dass Leute, die denken, dass Userspace Dateisysteme eine Lösung für irgend etwas anderes als Spielzeuge sind, hat Torvalds die grundsätzliche Marschrichtung mancher Kernel-Entwickler in Frage gestellt. Denn bereits seit geraumer Zeit propagieren verschiedene Entwickler die Lösung, dass neue Dateisysteme nicht mehr im Kernel, sondern als Userland-Applikation erstellt werden sollen.

Wie Torvalds nun schreibt, funktionieren Fuse und damit auch Dateisysteme im Userland nur dann gut, wenn sie langsame Medien ansprechen müssen. Sofern es aber auf Geschwindigkeit ankommt, wie es beispielsweise bei einem Root-Dateisystem der Fall ist, sind sie komplett ungeeignet.

Grund für die Diskussion stellt die Bitte von Miklos Szeredi, den Treiber für OverlayFS in die kommende Kernel-Version aufzunehmen. Von Andrew Morton darauf angesprochen, warum der Treiber nicht im Userspace realisiert wurde, antwortete Szeredi, dass eine solche Implementierung außerhalb des Kernels nie so effizient sein könne wie im Kernel. Morton wollte daraufhin das Argument gelten lassen, wenn sich die Behauptung auch belegen lasse.

Widerspruch erntete Torvalds umgehend von Greg Kroah-Hartman, der als Gegenbeweis Tuxeras NTFS-Fuse-Treiber anführt. Laut Kroah-Hartman ist der Fuse-Treiber (fast) genauso schnell wie der Kernel-Treiber. Dem widersprach allerdings Tuxera. Laut Aussage von Anton Altaparmakov sei der Kernel-Treiber erheblich schneller als der FUSE-Treiber. Dieselbe Behauptung stellt Tuxera auch auf der eigenen Seite auf. Der Entwickler ließ sich gar zu der Aussage hinreißen, dass der Treiber allen anderen getesteten Dateisystemen den Rang in Sachen Geschwindigkeit abläuft.

Wer in der Diskussion Recht hat, ist nicht wirklich zu klären. Der Vergleich von zwei verschiedenen Produkten könnte zwar einen groben Anhaltspunkt über die Geschwindigkeit geben, ist aber in der Praxis wenig praktikabel. Denn neue, unabhängige Benchmarks gibt es offenbar nicht. Zudem scheint es auch teils zu gravierenden Geschwindigkeitsunterschieden zwischen den zwei unter Linux verfügbaren NTFS-Treibern und dem Original unter Windows zu geben. Erschwerend kommt noch hinzu, dass auch laut Aussagen der Entwickler die meisten Userspace-Dateisysteme wirklich Spielzeuge sind und nicht wirklich Wert auf Geschwindigkeit legen.

Quelle : www.pro-linux.de
Titel: Kernel-Log – Was 3.0 bringt (3): Architektur, Infrastruktur und Virtualisierung
Beitrag von: SiLæncer am 07 Juli, 2011, 09:03
Sechs Jahre später als ursprünglich erwartet enthält der Kernel nun alles Wichtige zum Betrieb als Xen Dom0. Bei Linux 3.0 gehen die Entwickler einige Probleme im ARM-, Reboot- und UEFI-Code an. Das Optimieren auf kleinen Code per Compiler-Schalter gibt Torvalds etwas enttäuscht auf.

In der Nacht von Montag auf Dienstag hat Linus Torvalds eine weitere Vorabversion von Linux 3.0 veröffentlicht. In der Freigabe-Mail zum RC6 hebt er die Aufnahme des Isci-Treibers (u. a. 1) für den SAS-Controller in Intels Server- und Workstation-Chipsatz C600 hervor, der in den kommenden Monaten erscheinen soll. Da der Treiber vergleichsweise groß ist, war sich Torvalds unsicher, ob er so spät im Entwicklungszyklus noch aufgenommen werden soll. Da der Treiber-Code aber für sich alleine stehe, könne er keine Fehler auslösen, die frühere Kernel nicht gezeigt haben.

Von dem Treiber abgesehen hat es vorwiegend kleine Korrekturen an verschiedenen Stellen gegeben. Torvalds deutete an, dem Punkt näher zu kommen, wo er über eine Freigabe von Linux 3.0 nachdenkt, weil es ziemlich ruhig und die Änderungen nicht sonderlich aufregend seien. Das Kernel-Log will daher seine Berichterstattung über die Neuerungen von Linux 3.0 mit einer Beschreibung der Änderungen rund um Architektur, Infrastruktur und Virtualisierung fortsetzen. In den nächsten Tagen folgt der vierte und letzte Teil der "Was 3.0 bringt"-Mini-Serie, der sich Treibern widmen wird; der erste Teil hatte sich mit Netzwerk-Treibern und -Infrastruktur beschäftigt, der zweite mit Dateisystemen.

Virtualisierung

Unter den für Linux 3.0 aufgenommenen Änderungen findet sich das Storage-Backend für Xen (u. a. 1, 2, 3). Damit enthält der Kernel nun endlich alle essentielle Komponenten, um als Dom0 mit dem Xen-Hypervisor zusammen Gastsysteme zu hosten. Und nicht nur das: Auch der Entwicklerzweig von Qemu enthält seit Mitte Mai alles nötige, um die Hardware für Xen-Gäste zu emulieren, die mit Hilfe der Virtualisierungsfunktionen moderner Prozessoren laufen (HVM/Hardware-assisted Virtualization).

Hintergründe zu diesen beiden lange vorbereiteten Änderungen finden sich in einigen Blog-Einträgen (1, 2, 3, 4, 5, 6). Bei dem in Kernel und Qemu integrierten Code handelt es sich allerdings um eine erheblich zusammengestrichene und überarbeitete Variante des Codes, den kommerzielle Xen-Produkte wie Citrix XenServer derzeit einsetzen. Der Funktionsumfang ist daher kleiner; es lassen sich beispielsweise keine USB-Geräte an Gäste durchreichen und Suspend-to-RAM funktioniert nicht. Die Xen-Entwickler haben daher noch einige Arbeit vor sich, aber die Aufnahme der Hauptkomponenten jetzt endlich geschafft, nachdem die schon 2005 schon zum Greifen nahe schien.

Die Verzögerung bei Xen hat sicher auch zum Erfolg des von KVM (Kernel-based Virtual Machine) beigetragen (siehe auch: Die Woche: Xen hat KVM vorbeiziehen lassen). Der Kernel-eigene Hypervisor unterstützt mit Linux 3.0 nun VIA-Prozessoren und die virtuelle Time Stamp Counter (TSC) Rate neuerer AMD-Prozessoren. Ferner wollen die Kernel-Hacker die Genauigkeit des Emulators und die Performance verbessert haben, wie aus dem Haupt-Git-Pull-Request von KVM-Betreuer Avi Kivity hervor geht. Ferner soll die "Event Index"-Unterstützung in den häufig mit KVM genutzten Virtualisierungsschnittstellen Virtio und Vhost den Overhead beim Datenaustausch zwischen Gast und Host reduzieren.

Architektur-Code

Neu ist auch Unterstützung für die Supervisor Mode Execution Protection (SMEP) kommender Intel-Prozessoren. Sie versucht zu verhindern, dass Ring-0-Treiber direkt Usermode-Code anspringen können; einige Hintergründe dazu erläutert Dan Rosenberg in einem Blog-Eintrag.

Der Kernel 3.0 wird erstmals die 64-bittige Tilera-Architektur (TILE-Gx) unterstützen – ein Multi-Core-Design der Prozessorfirma Tilera. Der Code für Power-Prozessoren spricht nun die CPUs der Familie PowerEN (Power Edge of Network) an, die auch unter ihrem Codenamen "Wirespeed Pro" (wsp) bekannt sind; einige weitere Power-Neuerungen finden sich im Haupt-Git-Pull-Request für den PPC-Code. Die SMP- und Highmem-Unterstützung für ARM gilt nicht mehr als experimentell (1, 2).

Problemfelder

Am ARM-Code gab es erste Aufräumarbeiten, nachdem Torvalds in den vergangenen Monaten die Code-Qualität und die Arbeitsweise der zuständigen Entwickler ziemlich deutlich kritisiert hatte. Ein Kritikpunk waren Dopplungen – im Code für verschiedene SOCs (System-on-a-chip) mit ARM-Kern fand sich teilweise ganz ähnlicher oder eng verwandter Code (etwa Treiber für Funktionseinheiten, die sich in mehreren SOCs finden), zwischen denen kein oder kaum Austausch erfolgte – dadurch traten an einer Stelle korrigierte Fehler an anderen weiter auf. Einige Hintergründe zu diesen und anderen Schwierigkeiten mit dem ARM-Code sowie den teilweise bereits angegangenen Arbeiten zum Beseitigen dieser Probleme liefern einige LWN.net-Artikel, Blog-Einträge und LKML-Diskussionen (1, 2, 3, 4, 5, 6, 7, 8 ). Ein Baustein zur Verbesserungen ist die in Linux 3.0 eingezogene Unterstützung für Device Trees bei der ARM-Architektur (u. a. 1, 2), was die Portierung auf neue Plattformen und die Wartung des ARM-Codes vereinfachen soll; weitere Verbesserungen in dieser Richtung soll Linux 3.1 bringen.

Einige Änderungen gab es am Code zum Neustarten von PCs; durch sie löst Linux den Reboot nun ähnlich wie neuere Windows-Versionen aus (u. a. 1). Das soll Neustart-Probleme auf einigen Rechnern beseitigen, darunter einige Apple-Systeme und Thinkpad-Notebooks.

Viel mehr Systeme dürften einige Verbesserungen und Fehlerkorrekturen an der Unterstützung des (Universial) Extensible Firmware Interface (U)EFI betreffen, das bei neueren Mainboards BIOS-Funktionen übernimmt (u. a. 1). UEFI ist für die Windows-Welt wichtig, weil die aktuellen Microsoft-Systeme auf UEFI angewiesen sind, um von Datenträgern mit mehr als 2 Terabyte Speicherplatz zu booten. Zur sauberen Parallelinstallation von Linux muss dieses daher auch UEFI nutzen, was bei aktuellen Distributionen aber mehr schlecht als recht der Fall ist. Das könnte mit den jetzt integrierten Kernel-Änderungen etwas besser werden; es gibt im (U)EFI-Umfeld aber noch mehr Probleme, die gelöst werden wollen. Hintergründe dazu finden sich über zwei Kernel-Logs, von denen eines auch auf die Reboot-Probleme näher eingeht (1, 2).

Optimierungen

Die Option CC_OPTIMIZE_FOR_SIZE wird nun nicht mehr standardmäßig eingeschaltet. Sie weist den Compiler an, den Code auf Größe zu Optimieren (-Os) – das kann die Performance in bestimmten Situationen verbessern, weil der Prozessor-Cache für Instruktionen effizienter genutzt wird. Das ganze klappt aber nicht ganz so gut wie ursprünglich erhofft, wie Torvalds im Commit-Kommentar zu der von ihm vorgenommenen Änderung etwas enttäuscht anmerkt.

An einigen Stellen des Kernels haben die Kernel-Hacker das Prefetching entfernt (u. a. 1, 2, 3); also das explizite Anfordern von Daten, kurz bevor diese genutzt werden. Das soll eigentlich die Performance verbessern, weil die Daten so vor der Nutzung in den CPU-Cache wandern. Es stellte sich allerdings heraus, dass manche modernen Prozessoren das in bestimmten Situationen selber so gut beherrschen, dass Prefetching durch den Kernel die Performance verschlechtert. Details hierzu liefert LWN.net im Artikel "The problem with prefetch".

Memory Management

Neu ist Cleancache (u. a. Core, FS, Btrfs, Ext3, Ext4): Bei Speicherknappheit kann der Kernel diesem Cache Speicherseiten übergeben, die verzichtbar sind, weil sich der Inhalt durch Nachladen vom Datenträger wieder beschaffen lässt. Da das allerdings langsam ist, versucht Clearcache die Daten im Speicher zu halten – etwa mit Hilfe des bei 2.6.39 integrierten Zcache, das als Cleancache-Backend fungiert und die Daten komprimiert. Beim Zusammenspiel mit dem Xen-Hypervisor kann Cleancache auch den Xen Transcendent Memory als Backend zum Ablegen von Daten nutzen. Der steht auch anderen Gästen zur Verfügung und kann doppelt gespeicherte Daten zusammenführen – das kann die Performance verbessern, wie eine im Commit-Kommentar verlinkte Präsentation erläutert. Weitere Hintergründe liefern die gute Cleancache-Dokumentation und der schon etwas ältere LWN.net-Artikel "Cleancache and Frontswap"

Zum Memory-Management-Code stießen die lange vorbereiteten Patches, die Peter Zijlstra unter dem Schlagwort "MM preemptibility" entwickelt hat und die die Funktion mmu_gather unterbrechbar machen, was Skalierbarkeit, Performance und Echtzeit-Eigenschaften verbessern kann (u. a. 1, 2, 3, 4, 5).

Staccato

Der unter anderem beim Ein- und Ausschalten von Tracepoints oder Dynamic Debugging involvierte Code für Jump Label wurde umgebaut, um den Overhead durch solche Label zu verringern und diese einfacher nutzen zu können – Details liefert LWN.net im Artikel "Jump label reworked".

Verschiedene Anwender können beim Einsatz des Function Tracers (Ftrace) nun jeweils unterschiedliche Funktionen filtern.

Der Perf-Probe-Code zum Suchen nach Funktionsnamen bietet nun einen Fastpath; der kann diese Aufgabe erheblich beschleunigen, wie Messergebnisse im Commit-Kommentar zeigen.

Eine schon in einige Stable-Kernel eingezogene Änderung am Cpufreq-Code beseitigt einen Fehler, der auf manchen Systemen zu einer leicht höheren Leistungsaufnahme geführt hat.

Der Intel-IOMMU-Treiber unterstützt jetzt auch Super Pages mit Größen wie 2 MiB oder 1 GiB.

Sysfs legt für SELinux jetzt den Pfad /sys/fs/selinux/ an, der langfristig den bisher für SELinux genutzten Mount-Punkt /selinux/ ersetzen soll.

Durch einige Änderungen am Capabilites-Framework kann dieses nun Usermode-Helfern bestimmte Funktionen untersagen – etwa damit Anwender über die Capability CAP_NET_ADMIN keine Kernel-Module mehr laden können.

Der Kernel bietet nun eine Reihe von mit "kstrtol_" beginnende Funktionen, um von Userland angelieferte Strings in Zahlenwerte zu verwandeln; die neue Funktion "strtobool" verwandelt Zeichenketten aus dem Userland in Boolean-Werte.

Über den neuen Kbuild-Parameter "W=" lässt sich vorgeben, welche Art von Compiler-Warnungen beim Übersetzen ausgegeben werden. Es gibt drei Stufen; um alle zu aktivieren, muss man "W=123" angeben, was zu rund 90.000 Warnungen führen soll.

Der Kernel bietet nun "Alarm-Timers". Ähnlich wie Hrtimers stoßen sie zu einem bestimmten Zeitpunkt eine Aufgabe an; die Alarm-Timer sorgen aber zusätzlich dafür, dass das System nötigenfalls auch dem Bereitschaftsmodus aufwacht. Aus dem Userspace lassen sie sich über das POSIX-Time-Interface nutzen. Die Android-Entwickler hatten eine ähnliche, Android Alarm Driver genannte Lösung mit einem anderen Userspace-Interface schon vor längerer Zeit entwickelt, damit beispielsweise Smartphones aus dem Suspend aufwachen, um an Termine zu erinnern. Einige Hintergründe zum Konzept liefert der Hauptautor der Alarm-Timers in einem LWN.net-Artikel.

TREE_PREEMPT_RCU – eine von mehreren Kernel-Varianten für RCU (Read-copy-update), das den Datenzugriff auf Multi-Processor-Systemen synchronisiert – beherrscht jetzt das für den Echtzeiteinsatz wichtige Priority Boosting. Die Nutzung von RCU wurde weiter ausgebaut – auch die POSIX-Timer nutzen sie, wodurch laut Commit-Kommentar ein Micro-Benchmark erheblich flotter arbeitet. Der RCU-Code wurde zudem an vielen Stellen optimiert (siehe "Die kleinen Perlen"); eine der Änderungen führte zu einer größere Performance-Einbuße in einem Test, welche die Kernel-Hacker aber zum RC4 wieder aus der Welt geschafft haben.

Einige Änderungen am Module-Loader (u. a. 1, 2, 3, 4) sollen das Laden von Modulen ein wenig beschleunigen.

Die Dokumentation weist darauf hin, dass der Kernel alle Meldungen mit Zeitstempeln versieht, wenn man den Parameter "printk.time=1" übergibt.

Die kleinen Perlen: Infrastruktur

Viele kleinere, aber keineswegs unbedeutende Neuerungen finden sich in der folgenden Liste mit den englischen Commit-Überschriften der jeweiligen Änderung. Die Einträge verlinken genau wie viele der Verweise im vorangegangenen Text auf das Webfrontend des von Linus Torvalds gepflegten Git-Zweigs mit den "offiziellen" Kernel-Quellen auf Kernel.org. Der über diese Links angezeigte Commit-Kommentar und der darunter ausgegebene Patch liefern nähere Informationen zur jeweiligen Änderungen.

Vor jedem Link finden sich in eckigen Klammern einige Buchstaben und Zahlen. Ein "C" kennzeichnet Patches mit Änderungen an Kconfig-Dateien, welche die Konfigurationsoptionen samt der zugehörigen Hilfetexte enthalten, die bei der Kernel-Konfiguration über "make menuconfig" oder "make xconfig" angezeigt werden. Ein "D" steht bei Patches, die die Dokumentation verändern, die im Kernel-Zweig unterhalb von Documentation/ liegt. Ein "N" weist Änderungen aus, die eine neue Datei anlegen. Die Zahl vermittelt einen groben Eindruck zur Größe des Patches: eine "1" kennzeichnet Änderungen, die inklusive Kommentar zwischen 10 und 20 KByte groß sind, eine "2" für solche, die zwischen 20 und 30 KByte Umfang haben; Änderungen ohne Zahl sind kleiner als 10 KByte, Patches mit einer "9" hingegen 90 KByte oder größer.

ACPI

   [    ] ACPICA: Update to version 20110413
    [    ] ACPI: EC: add another DMI check for ASUS hardware
    [    ] ACPI EC: enable MSI workaround for Quanta laptops
    [CD  ] ACPI: Split out custom_method functionality into an own driver

Crypto & Security

   [    ] audit: acquire creds selectively to reduce atomic op overhead
    [C   ] crypto: aesni-intel - Merge with fpu.ko
    [    ] crypto: caam - add support for sha512 variants of existing AEAD algorithms
    [CDN9] crypto: caam - Add support for the Freescale SEC4/CAAM
    [ D 1] crypto: caam - de-CHIP-ify device tree compatibles
    [ D 1] crypto: caam - standardize device tree naming convention to utilize '-vX.Y'
    [    ] crypto: omap-sham - enable driver for EMU chips
    [    ] crypto: padlock - Add SHA-1/256 module for VIA Nano
    [C  1] crypto: s390 - add System z hardware support for CTR mode
    [C N ] crypto: s390 - add System z hardware support for GHASH
    [C  1] crypto: s390 - add System z hardware support for XTS mode
    [C   ] crypto: s390 - cleanup s390 Kconfig options
    [C N2] crypto: s5p-sss - add S5PV210 advanced crypto engine support
    [    ] crypto: testmgr - add support for aes ofb mode
    [C   ] hwrng: amd - enable AMD hw rnd driver for Maple PPC boards
    [   1] KEYS: Improve /proc/keys
    [    ] SELinux: introduce path_has_perm

MM

   [ D  ] memcg: add documentation for the memory.numastat API
    [ D  ] memsw: remove noswapaccount kernel parameter
    [    ] mm: avoid anon_vma_chain allocation under anon_vma lock
    [    ] mm: avoid repeated anon_vma lock/unlock sequences in anon_vma_clone()
    [    ] mm: batch activate_page() to reduce lock contention
    [ D  ] mm: convert mm->cpu_vm_cpumask into cpumask_var_t
    [    ] mm: delete non-atomic mm counter implementation
    [    ] mm: increase RECLAIM_DISTANCE to 30
    [    ] mm: per-node vmstat: show proper vmstats
    [    ] vmscan: implement swap token priority aging
    [    ] vmscan: implement swap token trace

PCI

   [    ] PCI: add ID-based ordering enable/disable support
    [    ] PCI: Add interfaces to store and load the device saved state
    [    ] PCI: add latency tolerance reporting enable/disable support
    [    ] PCI: add OBFF enable/disable support
    [    ] PCI: Add quirk for setting valid class for TI816X Endpoint
    [ D  ] PCI: add rescan to /sys/.../pci_bus/.../
    [    ] PCI/PM: Add kerneldoc description of pci_pm_reset()
    [    ] x86/PCI: irq and pci_ids patch for Intel Panther Point DeviceIDs

Power Management

   [C  1] [CPUFREQ] Move x86 drivers to drivers/cpufreq/
    [C  9] [CPUFREQ] use dynamic debug instead of custom infrastructure
    [ D  ] PM / ACPI: Remove acpi_sleep=s4_nonvs
    [ D 1] PM: Allow drivers to allocate memory from .prepare() callbacks safely
    [ D  ] PM: Documentation: fix typo: pm_runtime_idle_sync() doesn't exist.
    [ D  ] PM / Domains: Update documentation
    [ D  ] PM / Hibernate: Add sysfs knob to control size of memory for drivers
    [    ] PM: Introduce generic prepare and complete callbacks for subsystems
    [    ] PM: Print a warning if firmware is requested when tasks are frozen
    [C   ] PM: Remove CONFIG_PM_VERBOSE
    [C  1] PM: Remove sysdev suspend, resume and shutdown operations
    [C N1] PM / Runtime: Generic clock manipulation rountines for runtime PM (v6)
    [    ] PM / Runtime: Rework runtime PM handling during driver removal
    [ D  ] PM / Runtime: Update doc: usage count no longer incremented across system PM
    [ D  ] PM / Runtime: Update documentation regarding driver removal
    [ D  ] PM: Update documentation regarding sysdevs
    [    ] Revert "PM / Hibernate: Reduce autotuned default image size"
    [    ] x86 idle: EXPORT_SYMBOL(default_idle, pm_idle) only when APM demands it

Scheduler

   [   2] sched: Dynamically allocate sched_domain/sched_group data-structures
    [    ] sched: Fix and optimise calculation of the weight-inverse
    [ D  ] sched: Get rid of lock_depth
    [    ] sched: Increase SCHED_LOAD_SCALE resolution
    [    ] sched: Introduce SCHED_POWER_SCALE to scale cpu_power calculations
    [C   ] sched: Move the second half of ttwu() to the remote cpu
    [    ] sched: Next buddy hint on sleep and preempt path

Tracing

   [C N ] jump label: Add s390 support
    [    ] perf events: Add generic front-end and back-end stalled cycle event definitions
    [    ] perf events: Add stalled cycles generic event - PERF_COUNT_HW_STALLED_CYCLES
    [    ] perf events, x86: Add SandyBridge stalled-cycles-frontend/backend events
    [    ] perf events, x86: Add Westmere stalled-cycles-frontend/backend events
    [    ] perf script: Add more documentation about the -f/--fields parameters
    [   1] perf stat: Add -d -d and -d -d -d options to show more CPU events
    [    ] perf stat: Add -d/--detailed flag to run with a lot of events
    [    ] perf stat: Add more cache-miss percentage printouts
    [    ] perf stat: Add stalled cycles accounting, prettify the resulting output
    [    ] perf stat: Add stalled cycles to the default output
    [    ] perf stat: Add --sync/-S option
    [    ] perf stat: Analyze front-end and back-end stall counts
    [    ] perf stat: Make all displayed event names parseable as well
    [    ] perf stat: Print cache misses as percentage
    [    ] perf stat: Print out miss/hit ratio for L1 data-cache events
    [    ] perf stat: Print stalled cycles percentage
    [    ] perf stat: Print stalled cycles warning colors
    [    ] perf tools: Add front-end and back-end stalled cycles support
    [  N1] perf tools: Makefile: PYTHON{,_CONFIG} to bandage Python 3 incompatibility
    [    ] perf, x86: Add new stalled cycles events for Intel and AMD CPUs

Virtualization

   [    ] KVM: 16-byte mmio support
    [ D  ] KVM: Add documentation for KVM_CAP_NR_VCPUS
    [    ] KVM: MMU: Optimize guest page table walk
    [ D 2] KVM: PPC: booke: add sregs support
    [    ] KVM: SVM: Add checks for IO instructions
    [    ] KVM: SVM: Add intercept check for accessing dr registers
    [    ] KVM: SVM: Add intercept check for emulated cr accesses
    [    ] KVM: SVM: Add intercept checks for descriptor table accesses
    [    ] KVM: SVM: Add intercept checks for one-byte instructions
    [    ] KVM: SVM: Add intercept checks for remaining group7 instructions
    [    ] KVM: SVM: Add intercept checks for remaining twobyte instructions
    [    ] KVM: SVM: Add intercept checks for SVM instructions
    [    ] KVM: VMX: Optimize vmx_get_cpl()
    [    ] KVM: VMX: Optimize vmx_get_rflags()
    [    ] KVM: x86: Add x86 callback for intercept check
    [    ] KVM: x86 emulator: add framework for instruction intercepts
    [    ] KVM: x86 emulator: add SVM intercepts
    [    ] KVM: x86 emulator: implement movdqu instruction (f3 0f 6f, f3 0f 7f)
    [    ] KVM: x86 emulator: Re-add VendorSpecific tag to VMMCALL insn
    [    ] KVM: x86 emulator: SSE support
    [ D  ] KVM: X86: Implement userspace interface to set virtual_tsc_khz
    [ D  ] lguest: remove support for VIRTIO_F_NOTIFY_ON_EMPTY.
    [    ] Move kvm, uml, and lguest subdirectories under a common "virtual" directory, I.E:
    [   1] virtio: add full three-clause BSD text to headers.
    [    ] virtio_test: support event index
    [  N1] xen: cleancache shim to Xen Transcendent Memory
    [    ] xen/irq: Add support to check if IRQ line is shared with other domains.
    [    ] xen: support CONFIG_MAXSMP

Various

   [    ] Add a strtobool function matching semantics of existing in kernel equivalents
    [ D 1] bitmap, irq: add smp_affinity_list interface to /proc/irq
    [CD 1] cgroup: remove the ns_cgroup
    [ D 1] cgroups: add per-thread subsystem callbacks
    [ D 1] cgroups: make procs file writable
    [ D  ] coredump: add support for exe_file in core name
    [ DN1] Create Documentation/security/,
    [ D  ] Documentation: Add statistics about nested locks
    [ D  ] Documentation/atomic_ops.txt: avoid volatile in sample code
    [ D  ] Documentation/feature-removal-schedule.txt: remove ns_cgroup from feature-removal-schedule.txt
    [ D  ] Documentation: fix cgroup typos and formatting
    [ D 2] Documentation: update cgroupfs mount point
    [ D  ] Documentation: update dontdiff file
    [ D  ] Documentation: update kmemleak supported archs
    [ D  ] Documentation: update printk-formats.txt
    [    ] gconfig: Hide unused left treeview when start up the interface
    [    ] genirq: Support per-IRQ thread disabling.
    [ D  ] genirq: Update DocBook comments
    [ D  ] getdelays: show average CPU/IO/SWAP/RECLAIM delays
    [ D  ] initramfs: Use KBUILD_BUILD_TIMESTAMP for generated entries
    [    ] job control: Allow access to job control events through ptracees
    [    ] kbuild: Allow to combine multiple W= levels
    [ D  ] kbuild: Allow to override LINUX_COMPILE_BY and LINUX_COMPILE_HOST macros
    [ DN ] kbuild: asm-generic support
    [ D  ] kbuild: Fix build with binutils <= 2.19
    [    ] kbuild: Fix <linux/version.h> for empty SUBLEVEL or PATCHLEVEL
    [ D  ] kbuild: Fix passing -Wno-* options to gcc 4.4+
    [    ] kbuild: Hack for depmod not handling X.Y versions
    [C   ] kbuild: move KALLSYMS_EXTRA_PASS from Kconfig to Makefile
    [ D  ] kbuild: move scripts/basic/docproc.c to scripts/docproc.c
    [    ] kconfig: allow multiple inclusion of the same file
    [ D  ] kconfig: Document the new "visible if" syntax
    [C   ] Kconfig: improve KALLSYMS_ALL documentation
    [ D  ] kconfig-language: add to hints
    [    ] kconfig: quiet commands when V=0
    [    ] ktest: Create variables for the ktest config files
    [    ] ktest: Reboot after each patchcheck run
    [    ] ktest: Reboot to good kernel after every bisect run
    [C   ] lib: consolidate DEBUG_PER_CPU_MAPS
    [C  1] lib: consolidate DEBUG_STACK_USAGE option
    [    ] MAINTAINERS: Saying goodbye to David Brownell
    [    ] module: undo module RONX protection correctly.
    [CDN5] ptp: Added a brand new class driver for ptp clocks.
    [    ] rcu: Add boosting to TREE_PREEMPT_RCU tracing
    [ D  ] rcu: add callback-queue information to rcudata output
    [ D  ] rcu: Add forward-progress diagnostic for per-CPU kthreads
    [ D  ] rcu: add grace-period age and more kthread state to tracing
    [    ] rcu: Add memory barriers
    [    ] rcu: add tracing for RCU's kthread run states.
    [ D 1] rcu: Decrease memory-barrier usage based on semi-formal proof
    [    ] rcu: introduce kfree_rcu()
    [ D 1] rcu: merge TREE_PREEPT_RCU blocked_tasks[] lists
    [ D 1] rcu: move TREE_RCU from softirq to kthread
    [    ] rcu: optimize rcutiny
    [CD 1] rcu: Remove conditional compilation for RCU CPU stall warnings
    [ D  ] rcu: Update RCU's trace.txt documentation for new format
    [ D 1] rcu: update tracing documentation for new rcutorture and rcuboost
    [   1] rcu: use softirq instead of kthreads except when RCU_BOOST=y
    [   1] timerfd: Allow timers to be cancelled when clock was set
    [   1] timerfd: Manage cancelable timers in timerfd
    [    ] timers: Improve alarmtimer comments and minor fixes
    [C   ] uts: make default hostname configurable, rather than always using "(none)"

Die kleinen Perlen: Architektur-Code

x86

   [    ] x86-64: Add time to vDSO
    [    ] x86-64: Optimize vDSO time()
    [    ] x86, alternative, doc: Add comment for applying alternatives order
    [    ] x86, amd: Do not enable ARAT feature on AMD processors below family 0x12
    [    ] x86/amd-iommu: Add ATS enable/disable code
    [    ] x86/amd-iommu: Add extended feature detection
    [    ] x86/amd-iommu: Add flag to indicate IOTLB support
    [    ] x86/amd-iommu: Add support for invalidate_all command
    [C   ] x86/amd-iommu: Select PCI_IOV with AMD IOMMU driver
    [    ] x86, cpu: Change NOP selection for certain Intel CPUs
    [    ] x86, cpufeature: Add CPU feature bit for enhanced REP MOVSB/STOSB
    [    ] x86, cpu: Fix detection of Celeron Covington stepping A1 and B0
    [C   ] x86, cpu: Move AMD Elan Kconfig under "Processor family"
    [ D  ] x86 idle APM: deprecate CONFIG_APM_CPU_IDLE
    [ D  ] x86 idle: deprecate mwait_idle() and "idle=mwait" cmdline param
    [ D  ] x86 idle: deprecate "no-hlt" cmdline param
    [ D  ] x86 idle floppy: deprecate disable_hlt()
    [  N ] x86: Introduce pci_map_biosrom()
    [    ] x86, MAINTAINERS: Add x86 MCE people
    [    ] x86, mem: clear_page_64.S: Support clear_page() with enhanced REP MOVSB/STOSB
    [    ] x86, mem, intel: Initialize Enhanced REP MOVSB/STOSB
    [    ] x86, mem: memcpy_64.S: Optimize memcpy by enhanced REP MOVSB/STOSB
    [    ] x86, mem: memmove_64.S: Optimize memmove by enhanced REP MOVSB/STOSB
    [    ] x86, mem: memset_64.S: Optimize memset by enhanced REP MOVSB/STOSB
    [C   ] x86, mm: Allow ZONE_DMA to be configurable
    [    ] x86, NUMA: Enable build of generic NUMA init code on 32bit
    [C   ] x86, olpc: Use device tree for platform identification [   8] x86, UV: Add support for SGI UV2 hub chip

ARM

   [    ] ARM: 6859/1: Add writethrough dcache support for ARM926EJS processor
    [C   ] ARM: 6863/1: allow hotplug on msm
    [C  7] ARM: 6888/1: remove ns9xxx port
    [C   ] ARM: 6893/1: Allow for kernel command line concatenation
    [C   ] ARM: 6913/1: sparsemem: allow pfn_valid to be overridden when using SPARSEMEM
    [C   ] ARM: 6931/1: SPEAr3xx: Rework KConfig to allow all boards to be compiled in
    [    ] ARM: add sendmmsg syscall
    [  N ] ARM: configs: add defconfig for mach-mxs
    [   1] ARM: consolidate SMP cross call implementation
    [C   ] ARM: EXYNOS4: Add Atmel mXT touchscreen device to the NURI board
    [  N1] ARM: EXYNOS4: Add usb host phy control
    [  N ] ARM: EXYNOS4: CPUIDLE Support
    [C N5] ARM: imx: move mx3 support to mach-imx
    [C N ] ARM: mach-mxs: add stmp378x-devb
    [    ] ARM: mach-shmobile: Add SDHI support for AG5EVM and sh73a0
    [  N ] ARM: mach-shmobile: CPUIdle support
    [    ] ARM: mach-shmobile: Enable DMAEngine for MMCIF on AG5EVM
    [    ] ARM: mach-shmobile: Enable DMAEngine for SDHI on AG5EVM
    [  N1] ARM: mach-shmobile: sh7372 Core Standby Suspend-to-RAM
    [   1] ARM: mach-shmobile: sh73a0 DMA Engine support for SY-DMAC
    [  N ] ARM: mach-shmobile: Suspend-to-RAM support
    [C  9] ARM: mach-stmp378x: remove mach
    [C  9] ARM: mach-stmp37xx: remove mach
    [C   ] ARM: Moving Marvell Dove platform defaults to ARMv7
    [C N3] ARM: mx3: dynamically allocate "ipu-core" devices
    [C   ] ARM: mx5/mx53_smd: Add esdhc support
    [   3] ARM: orion: Consolidate ethernet platform data
    [  N2] ARM: orion: Consolidate the creation of the uart platform data.
    [   2] ARM: orion: Consolidate the XOR platform setup code.
    [   1] ARM: orion: Consolidate USB platform setup code.
    [C  9] ARM: plat-stmp: remove plat
    [C  8] ARM: remove support for mxc91231
    [    ] ARM: S3C2416: Add support for USB 2.0 High-Speed gadget controller
    [    ] ARM: S3C2416: Add USB Phy register definitions
    [    ] ARM: S3C24XX: Add plaform device definition for USB High-Speed gadget controller.
    [CD 7] ARM: S5P6442: Removing ARCH_S5P6442
    [    ] ARM: tegra: irq: Remove PM support
    [C  7] at91: drop at572d940hf support
    [C N ] MX1: Add ARMadeus Systems APF9328 board support
    [    ] OMAP2+ / PM: move runtime PM implementation to use device power domains
    [    ] OMAP4: DSS2: HDMI: Implement ASoC Codec driver for HDMI audio
    [  N2] omap: consolidate touch screen initialization among different boards
    [C  1] omap: drop board-igep0030.c
    [   1] OMAP: DSS2: Add support for NV12 format
    [    ] OMAP: DSS2: Support for Powertip PH480272T
    [    ] OMAP: DSS2: Support for Seiko 70WVW1TZ3
    [    ] omap: igep0020: add support for IGEP3
    [   1] omap: musb: introduce default board config
    [C  1] omap: Remove support for omap2evm

PPC

   [C N1] powerpc/4xx: Adding PCIe MSI support
    [  N ] powerpc/85xx: Create dts of each core in CAMP mode for P1020RDB
    [    ] powerpc/a2: Add some #defines for A2 specific instructions
    [C N1] powerpc: Add A2 cpu support
    [C   ] powerpc: Add early debug for WSP platforms
    [ DN ] powerpc: Add fsl mpic timer binding
    [ DN ] powerpc: Adding bindings for flexcan controller
    [C  1] powerpc: Add Initiate Coprocessor Store Word (icswx) support
    [    ] powerpc: Add ioremap_wc
    [C   ] powerpc: Add kconfig for muxed smp ipi support
    [    ] powerpc: Add more Power7 specific definitions
    [    ] powerpc: Add MSR_64BIT
    [C N ] powerpc: Add NAP mode support on Power7 in HV mode
    [C N1] powerpc: Add SCOM infrastructure
    [    ] powerpc: Add TLB size detection for TYPE_3E MMUs
    [   1] powerpc: Base support for exceptions using HSRR0/1
    [C N ] powerpc/boot: Add an ePAPR compliant boot wrapper
    [   2] powerpc: Consolidate ipi message mux and demux
    [  N ] powerpc: Define CPU feature for Architected 2.06 HV mode
    [    ] powerpc/eeh: Add support for ibm,configure-pe RTAS call
    [C   ] powerpc/ftrace: Implement raw syscall tracepoints on PowerPC
    [    ] powerpc: Improve scheduling of system call entry instructions
    [ DN ] powerpc: Integrated Flash controller device tree bindings
    [    ] powerpc: More work to support HV exceptions
    [    ] powerpc/mpic: parse 4-cell intspec types other than zero
    [    ] powerpc: Per process DSCR + some fixes (try#4)
    [   1] powerpc/pseries: Add page coalescing support
    [C N1] powerpc/pseries: Add support for IO event interrupts
    [    ] powerpc/pseries: Enable Emulex and Qlogic 10Gbit cards
    [    ] powerpc/pseries: Enable iSCSI support for a number of cards
    [    ] powerpc: Save Come-From Address Register (CFAR) in exception frame
    [C N6] powerpc/xics: Rewrite XICS driver

Various

   [C  1] arch/tile: improve support for PCI hotplug
    [C N1] arch/tile: more /proc and /sys file support
    [   1] arch/tile: support signal "exception-trace" hook
    [   1] arch/tile: support TIF_NOTIFY_RESUME
    [  N ] asm-generic/ptrace.h: start a common low level ptrace helper
    [    ] asm-generic/unistd.h: support sendmmsg syscall
    [   1] Blackfin: boards: update ASoC resources after machine driver overhaul
    [C N4] Blackfin: first pass at debug mmr support
    [C N1] Blackfin: initial perf_event support
    [  N2] Blackfin: unify core IRQ definitions
    [C   ] m68knommu: create config options for CPU classes
    [  N1] MIPS: Add default configuration for XLR/XLS processors
    [C   ] MIPS: Enable kmemleak for MIPS
    [C N ] MIPS: Kconfig and Makefile update for Netlogic XLR/XLS
    [  N1] MIPS: Lantiq: Add DMA support
    [C N2] MIPS: Lantiq: Add ethernet driver
    [    ] MIPS: Lantiq: Add etop board support
    [C N2] MIPS: Lantiq: Add initial support for Lantiq SoCs
    [C N ] MIPS: Lantiq: Add machtypes for lantiq eval kits
    [C N ] MIPS: Lantiq: Add mips_machine support
    [  N ] MIPS: Lantiq: Add more gpio drivers
    [C N ] MIPS: Lantiq: Add NOR flash support
    [  N1] MIPS: Lantiq: Add PCI controller support.
    [  N ] MIPS: Lantiq: Add platform device support
    [C N3] MIPS: Lantiq: add SoC specific code for XWAY family
    [C N ] MIPS: Lantiq: Add watchdog support
    [    ] MIPS: Netlogic: Cache, TLB support and feature overrides for XLR
    [  N ] MIPS: Netlogic: mach-netlogic include files
    [    ] MIPS: Netlogic XLR/XLS processor IDs.
    [  N5] MIPS: Platform files for XLR/XLS processor support
    [  N1] MIPS: XLR, XLS: Add PCI support.
    [C   ] S390: ap: skip device registration on type probe failure
    [C  2] S390: Remove data execution protection
    [C  1] S390: Remove tape block device driver.
    [    ] sh: ecovec: Add renesas_usbhs support
    [    ] sh: sh7724: Add USBHS DMAEngine support
    [C   ] sparc32: added CONFIG_PCIC_PCI Kconfig setting
    [C  6] sparc32: genirq support
    [C N1] sparc32,leon: added LEON-common low-level PCI routines
    [C N2] sparc32,leon: add GRPCI2 PCI Host driver
    [    ] sparc32,leon: SMP power down implementation
    [C N ] tile: add an RTC driver for the Tilera hypervisor
    [C N ] um: add earlyprintk support
    [ DN2] um: add ucast ethernet transport

Quelle und Links : http://www.heise.de/open/artikel/Kernel-Log-Was-3-0-bringt-3-Architektur-Infrastruktur-und-Virtualisierung-1274204.html
Titel: Kernel-Log – Was 3.0 bringt (4): Treiber
Beitrag von: SiLæncer am 14 Juli, 2011, 09:07
Bessere Unterstützung für neue Chipsätze und Grafikkerne von AMD und Intel sowie Treiber für Microsofts Kinect und den DVB-T-Nachfolger DVB-T2. Wie so häufig gab es auch bei Linux 3.0 wieder eine Reihe von Workarounds für verschiedenste Hardware-Probleme.

Abermals in der Nacht von Montag auf Dienstag hat Linus Torvalds eine Vorabversion von Linux 3.0 veröffentlicht. In der Freigabe-Mail zum RC7 schreibt er, es sei ziemlich ruhig gewesen, aber es habe doch noch einige Neuerungen gegeben, daher hielt er einen weiteren RC für angebracht. Bei der sechsten Vorabversion hatte er bereits angedeutet, das vielleicht schon der RC6 der letzte sein würde.

Wenn Torvalds nicht noch einen weiteren RC einschiebt, dürfte Linux 3.0 vermutlich Ende dieser oder Anfang nächster Woche erscheinen. Das Kernel-Log will daher seine Mini-Serie "Was 3.0 bringt" zum Abschluss bringen und widmet sich im vierten Teil den Neuerungen bei Treibern – darunter jene für Audio-, Grafik-, Multimedia- und Storage-Hardware. Der erste Teil der Artikel-Reihe beschäftigte sich mit den Änderungen an Netzwerk-Treibern und -Infrastruktur, der darauf folgende drehte sich um Dateisysteme; im dritten Teil ging es um plattformspezifischen Code, Virtualisierung und Infrastruktur des Kernels.

Grafik

Der in Linux 3.0 enthaltene i915-DRM/KMS-Treiber für Intel-Grafikchips in Prozessoren und Chipsätzen für Notebooks und Desktop-PCs soll bereits den Grafikern der Ivy-Bridge-Prozessoren ansteuern können, die Intel vermutlich erst Anfang nächsten Jahres einführen wird (u. a. 1, 2, 3, 4, 5, 6, 7). Der Treiber soll in Zukunft die Stromspartechnik RC6 wieder standardmäßig nutzen. Da störende Wechselwirkungen mit der weniger effizienten Frame Buffer Compression (FBC) bekannt waren, haben die Entwickler FBC zunächst standardmäßig deaktiviert. Kurz vor der Freigabe von Linux 3.0 haben die Entwickler die RC6-Technik dann aber auch deaktiviert , da Probleme aufgetaucht waren. Der Commit-Kommentar deutet aber darauf hin, dass sie demnächst einen weiteren Anlauf nehmen wollen.

Der Radeon-DRM/KMS-Treiber erhält einige Verbesserungen zur Ausgabe via DisplayPort (u. a. 1, 2, 3, 4, 5, 6). Der Treiber spricht jetzt auch den Grafikkern der Llano-Prozessoren an, die AMD kürzlich für Notebooks und Desktop-PCs eingeführt hat (u. a. 1, 2). Um Probleme wie dunkle Bildschirme zu vermeiden, ist die Audio-Ausgabe via HDMI für erste standardmäßig deaktiviert; sie lässt sich über den Kernel-Parameter radeon.audio=1 einschalten. Zudem gab es eine Änderung am Hilfetext zum Radeon-DRM/KMS-Treiber, die klarstellt, dass er jetzt jegliche Radeon-Grafikhardware unterstützt.

Der Nouveau-DRM/KMS-Treiber beherrscht bei den GeForce-Grafikchip-Generationen nv40 und nv84 nun die Pmpeg genannte Technik, mit der sich das Dekodieren von MPEG-Material an den Grafikchip delegieren lässt; es gibt aber bislang kein Userspace-Interface, um Pmpeg zu nutzen. Einige andere Änderungen legen Grundlagen zur Unterstützung verschiedener Techniken, die beim Umschalten zwischen Prozessor-/Chipsatz-Grafik und GeForce-Grafikchips involviert sind (u. a. 1, 2, 3); bei neueren Notebooks nennt Nvidia das "Optimus".

Der DRM-Code unterstützt ab Linux 3.0 zudem eine Farbtiefe von 30-Bit. Zur Aufnahme bei 3.1 ist bereits ein Patch vorgesehen, durch den der Nouveau-Treiber die Firmware selbst erzeugen kann, die zur Nutzung der Beschleunigungsfunktionen von Nvidias Grafikkarten der Serien 400 und 500 (Fermi-GPUs) erforderlich ist; bisher muss man die Firmware mit komplizierten Tricks den proprietären Nvidia-Treibern entlocken. Bald soll es auch eine Reihe von Verbesserungen am Treiber für die virtuelle Grafikhardware mancher VMware-Virtualisierungslösungen geben, der genau wie Nouveau ein Staging-Treiber ist.

Staging

Auch der Grafiktreiber gma500 ist ein Staging-Treiber, der den Qualitätsansprüchen seiner Entwickler oder der Kernel-Hacker nicht genügt. Er erhielt einige Erweiterungen, um neben dem GMA500-Grafikkern im Chipsatz US15W (Poulsbo) auch jene in den MID-Plattformen Oaktrail und Moorestown anzusprechen (1, 2). Ferner haben die Kernel-Hacker das TTM-Interface verworfen und ein GEM-Interface zur Speicherverwaltung eingebaut. Unterstützung für den noch in diesem Jahr erwarteten Cedarview ist für Linux 3.1 in Vorbereitung (1, 2). Hauptentwickler Alan Cox ist der Ansicht, die Treiberteile zur Unterstützung von Poulsbo und Cedarview können den Staging-Bereich jetzt verlassen. Die Unterstützung für Chipsätze für Mobile Internet Devices (MID) brauche aber noch einige Aufräumarbeiten, daher soll der Treiber modularisiert werden. Zudem bietet der HDMI-Support bislang nur Grundfunktionen und beherrscht kein HDMI-Audio.

Zum Staging-Bereich stieß ferner der Userspace-Teil des im USB/IP-Projekt entwickelten Frameworks usbip, das USB-Geräte über eine Netzwerkverbindung an andere Systeme weiterreicht. Client- und Host-Treiber von usbip sind bereits seit 2.6.28 Bestandteil von Linux; sie erhielten mit 3.0 einige Änderungen, nachdem es mit ihnen lange nicht vorangegangen war. Eine ganze Reihe von Verbesserungen gab es auch an den Treibern für Microsofts Virtualisierungsschnittstelle Hyper-V, für die Staging-Betreuer Greg Kroah-Hartman die Microsoft-Entwickler in seinem Haupt-Git-Pull-Request lobt.

Neu im Staging-Bereich ist ein Treiber für die Intel Management Engine (Intel ME), die eine Reihe verbreiteter Notebook- und Desktop-PC-Chipsätze von Intel bieten (u. a. 1, ToDo-List). Die Konfigurationsoption "STAGING_EXCLUDE_BUILD" haben die Kernel-Hacker entfernt, damit die Treiber beim Testen jetzt typischerweise kompiliert werden; dadurch verschwindet auch der zugehörige Hilfetext, der klarstellte, dass Staging-Treiber "vielleicht losgehen und den Hund treten, wenn man gerade nicht acht gibt".

Fehlgeleitet

Wie mit jeder Kernel-Version gab es auch für Linux 3.0 haufenweise Änderungen, um Probleme mit Hardware zu beseitigen, die fehlerhafte Daten liefert oder sich nicht spezifikationskonform verhält. Exemplarisch sei an dieser Stelle ein Quirk am i915-DRM/KMS-Treiber für Intel-Chips erwähnt. Durch den Patch soll die zu Gnome 3 gehörenden Gnome-Shell auf dem Asus EeeBox PC EB1007 arbeiten; laut dem Autor des Patches lief sie vorher nicht, weil der Asus-PC dem Betriebssystem gegenüber behauptet, wie ein Notebook ein "internes", via LVDS angebundenen Display zu haben.

Ein anderes Beispiel für eine Sonderbehandlung ist ein Commit, der Fehler beim Zusammenspiel mit dem USB-Stick Corsair Padlock v2 und dem Feiya SD/SDHC-Kartenleser umgeht. Besonders häufig sind diese "Quirk" genannten Sonderbehandlungen für die korrekte Funktion von AC97- und HD-Audio-Codecs nötig, die bei PCs für die Audio-Ausgabe zuständig sind. Eine Reihe solcher Patches findet sich im Abschnitt "Die kleinen Perlen" am Ende des Artikels. Die in der Kernel- und Alsa-Dokumentation erläuterten Modul-Parameter der Audio-Treiber können solche Sonderbehandlungen individuell aktivieren. Wenn Ihre Hardware nur durch Angabe solcher Parameter korrekt arbeitet, dann sollten Sie die Informationen zum eigenen System und den benötigten Parametern an die Kernel-/Alsa-Entwickler übermitteln – die können dann einen Quirk erstellen und in den Kernel integrieren, damit die Hardware bei Ihnen und allen anderen Anwendern in Zukunft ohne manuelle Konfiguration korrekt arbeitet.

Storage

Erst zur sechsten Vorabversion integrierten die Kernel-Hackern die größte Neuerung im Storage-Bereich: Den Isci genannten Treiber für den SAS-Controller in Intels Server- und Workstation-Chipsatz C600, der in den kommenden Monaten erscheinen soll (u. a. 1). Torvalds war sich erst unsicher, ob er den Treiber so spät im Entwicklungszyklus noch aufgenommen wollte. Er tat es dann aber doch – unter anderem, weil der Treiber-Code für sich alleine steht, daher kann er keine Fehler auslösen, die frühere Kernel nicht gezeigt haben. Neu ist auch der FC-FC4-Provider tcm_fc, der Zusammen mit andere Komponenten den Betrieb als FCoE (Fibre Channel over Ethernet) Target ermöglichen.

Der Treiber mvsas unterstützt nun die Marvell-Chips 88SE9445 und 88SE9485, der Treiber pata_marvell die Bausteine 88SE91A0 und 88SE91A4. Nicht genutzte SATA-Ports lassen sich jetzt komplett abschalten, um den Stromverbrauch zu reduzieren. Der Emulex LightPulse Fibre Channel SCSI driver (lpfc) bietet nun Funktionen zur Kontrolle des für Virtualisierung genutzten SR-IOV (Single-Root I/O Virtualization). Zur Kernel-Dokumentation stießen Erklärungen zu den Sysfs-Dateien, über die sich Informationen rund um das für SSDs oder Netzspeicher mit Thin Provisioning wichtige Discard auslesen lassen.

Staccato

Der XHCI-Treiber für USB 3.0 soll bereits jetzt die EHCI/XHCI-Port-Switching-Funktion der Panther-Point-Chipsätze unterstützen, die zu den Ivy-Bridge-Prozessoren gehören, die Intel vermutlich Anfang nächsten Jahres einführen wird (1, 2).

Der Treiber k10temp kann mit Linux 3.0 auch AMD-Prozessoren der Familie 15H (Codename "Bulldozer") ansprechen, die im Spätsommer oder Herbst auf den Markt kommen dürften. Der neue Treiber fam15h_power stellt Schnittstellen bereit, über die sich Informationen zum Stromverbrauch von Bulldozer-CPUs auslesen lassen.

Die Kernel-Hacker haben die bislang vom Treiber pkgtemp gebotenen Funktionen zum Auslesen der Temperatursensoren neuerer Intel-CPUs in den Treber coretemp verlagert (1, 2).

Das Media-Subsystemen bietet nun Grundfunktionen für DVB-T2-Hardware (1, 2) und bringt einen Treiber für den Sonys DVB-T2-Chip CXD2820R mit. In das Media-Subsystem fließt ein Treiber für den von verschiedenen Herstellern eingesetzten DVB-T-Tuner Micronas DRXD ein (u. a. 1, 2). Neu ist auch ein Treiber für Microsofts Kinect. Einige weitere Neuerungen im Media-Subsystem nennt dessen Betreuer Mauro Carvalho Chehab in seinen beiden Haupt-Git-Pull-Requests (1, 2).

Unter den im Rahmen des Alsa-Projekts entwickelten Audio-Treibern des Kernels findet sich jetzt einer für die PCIe-Soundkarte Digigram Lola und einer für das iSight-Mikrofon von Apple. Einige weitere Änderungen nennt Alsa-Entwickler Takashi Iwai in seinem Haupt-Git-Pull-Request.

Der Treiber Hid-Multitouch unterstützt jetzt über ein Dutzend weitere Touchscreens; Details finden sich im Abschnitt "Die kleinen Perlen".

Die kleinen Perlen: Audio, Grafik, I2C

Viele kleinere, aber keineswegs unbedeutende Neuerungen finden sich in der folgenden Liste mit den englischen Commit-Überschriften der jeweiligen Änderung. Die Einträge verlinken genau wie viele der Verweise im vorangegangenen Text auf das Webfrontend des von Linus Torvalds gepflegten Git-Zweigs mit den "offiziellen" Kernel-Quellen auf Kernel.org. Der über diese Links angezeigten Commit-Kommentar und der darunter ausgegebene Patch liefern zahlreiche weitere Informationen zur jeweiligen Änderung.

Vor jedem Link finden sich in eckigen Klammern einige Buchstaben und Zahlen. Ein "C" kennzeichnet Patches mit Änderungen an Kconfig-Dateien, welche die Konfigurationsoptionen samt der zugehörigen Hilfetexte enthalten, die bei der Kernel-Konfiguration über "make menuconfig" oder "make xconfig" angezeigt werden. Ein "D" steht bei Patches, die die Dokumentation verändern, die im Kernel-Zweig unterhalb von Documentation/ liegt. Ein "N" weist Änderungen aus, die eine neue Datei anlegen. Die Zahl vermittelt einen groben Eindruck zur Größe des Patches: eine "1" kennzeichnet Änderungen, die inklusive Kommentar zwischen 10 und 20 KByte groß sind, eine "2" für solche, die zwischen 20 und 30 KByte Umfang haben; Änderungen ohne Zahl sind kleiner als 10 KByte, Patches mit einer "9" hingegen 90 KByte oder größer.

Audio

    [    ] ALSA: 6fire - Add support for S32_LE format
    [   1] ALSA: 6fire - Add support of digital-thru mixer
    [C   ] ALSA: 6fire - Update kernel configuration
    [    ] ALSA: emu10k1 - Add dB range to Bass and Treble for SB Live!
    [    ] ALSA: emu10k1: Add details for E-mu 0404 PCIe version
    [C   ] ALSA: es1968: add radio (tea575x tuner) support
    [    ] ALSA: fix hda AZX_DCAPS_NO_TCSEL quirk check in driver_caps
    [C   ] ALSA: fm801: clean-up radio-related Kconfig
    [    ] ALSA: fm801: implement TEA575x tuner autodetection
    [    ] ALSA: HDA: Add a new Conexant codec ID (506c)
    [    ] ALSA: hda - Add Auto-Mute Mode enum for two-output cases
    [   1] ALSA: hda - Add automute-mode enum to Conexant auto-parser
    [    ] ALSA: hda - Add auto-parser support to cxt5045 / CX20549 Venice
    [   1] ALSA: hda - Add auto-parser support to cxt5051 / CX20561 Hermosa
    [   1] ALSA: hda - Add channel-mode support to Realtek auto-parser
    [   3] ALSA: hda - Add common automute support for mxier-amp on/off for Reatek
    [    ] ALSA: hda - Add dock-mic detection support to Realtek auto-parser
    [    ] ALSA: hda - add Intel Panther Point HDMI codec id
    [    ] ALSA: HDA: Add jack detection for HDMI
    [    ] ALSA: hda - Add missing Front/Surround/CLFE as slaves for Cxt auto-parser
    [    ] ALSA: HDA: Add model=auto quirk for Acer Aspire 3830TG
    [    ] ALSA: HDA: Add quirk for Lenovo U350
    [    ] ALSA: hda - Add support for Line-Out automute to Realtek auto-parser
    [    ] ALSA: hda - Add support of ALC221 / ALC276 codecs
    [    ] ALSA: hda - Add support of ALC898/899 codec
    [    ] ALSA: hda - Add support of auto-parser to cxt5047 / CX20551 Waikiki
    [    ] ALSA: hda - Add support of auto-parser to cxt5066 codecs
    [    ] ALSA: hda - Add support of dock-mic detection to Conexant auto-parser
    [   1] ALSA: hda - Add support of line-out automute for Realtek
    [   3] ALSA: hda - Consolidate default automute functions for Realtek
    [    ] ALSA: hda - Correct initial dac_nids for some ALC272-quirks
    [    ] ALSA: hda - Enable Realtek ALC269 codec input layer beep
    [    ] ALSA: hda - Enable snoop bit for AMD controllers
    [ D  ] ALSA: hda - Fix alc662_dac_nid and change "6stack-dig" to "5stack-dig"
    [    ] ALSA: hda: Fix inaudible internal speakers on CyberpowerPC Gamer Xplorer N57001 laptop
    [    ] ALSA: hda - Fix invalid unsol tag for some alc262 model quirks
    [    ] ALSA: hda: Fix quirk for Dell Inspiron 910
    [    ] ALSA: hda - More line-out auto-mute support for Realtek
    [    ] ALSA: HDA: Pinfix quirk for HP Z200 Workstation
    [    ] ALSA: HDA: Remove quirk for an HP device
    [   1] ALSA: hda - Reorganize controller quriks with bit flags
    [   1] ALSA: HDA: Unify HDMI hotplug handling.
    [    ] ALSA: hda - Use model=auto for Lenovo G555
    [   3] ALSA: hda - VIA: Add new power management function.
    [    ] ALSA: hda - VIA: Add support for VT1705
    [   1] ALSA: hda - VIA: Add support for VT1802
    [    ] ALSA: hdspm - Add firmware revision ID for RME MADI PCI version
    [    ] ALSA: intel8x0m: enable AMD8111 modem
    [C   ] ALSA: isight: remove experimental status
    [    ] ALSA: lola - Add Lola-specific module options
    [    ] ALSA: lola - Add sync in loop implementation
    [    ] ALSA: powermac - Correct lineout detection on PowerMac G4 DA
    [    ] ALSA: tea575x-tuner: various improvements
    [    ] ALSA: usb-audio: add new quirk type QUIRK_AUDIO_STANDARD_MIXER
    [    ] ALSA: usb-audio: Add quirk for KORG PANDORA PX5D MIDI interface
    [    ] ALSA: usb-audio: Add quirks for Audio Kontrol 6
    [    ] ALSA: usb-audio: add quirks for Roland GR-55
    [    ] ALSA: usb-audio - Add support for USB X-Fi S51 Pro
    [    ] ALSA: usb-audio: more control quirks for M-Audio FastTrack devices
    [    ] ASoC: Add basic widgets for WM8915 Speyside
    [   1] ASoC: Add EQ and filter to max98095 CODEC driver
    [C N ] ASoC: Add initial WM1250-EV1 Springbank audio I/O module driver
    [C N ] ASoC: add iPAQ hx4700 machine driver
    [C N7] ASoC: Add max98095 CODEC driver
    [    ] ASoC: Add Speyside headset jack detection support
    [C N9] ASoC: Add WM8915 CODEC driver
    [   1] ASoC: Add WM8958 enhanced EQ support
    [   1] ASoC: Add WM8958 VSS support
    [C N2] ASoC: Asahi Kasei AK4641 codec driver
    [    ] ASoC: Implement WM8962 DMIC support
    [C N ] ASoC: Initial audio support for Speyside on Cragganmore 6410
    [    ] ASoC: Name jack GPIOs based on jack not codec
    [    ] ASoC: Optimise clock management for WM8915 Speyside
    [C   ] ASoC: Remove to support sound for S5P6442
    [C N ] ASoC: SAMSUNG: Add WM8580 PCM Machine driver
    [    ] ASoC: soc-cache: Introduce raw bulk write support
    [C   ] ASoC: SSM2602: add SPI support
    [   1] ASoC: SSM2602: Add SSM2604 support
    [    ] ASoC: Support 24.576MHz MCLKs in WM8915
    [    ] ASoC: Support download of WM8958 MBC firmware
    [    ] ASoC: Support FLL lock interrupt on WM8962
    [C   ] ASoC: Support the sub speaker driver on Speyside
    [C  1] ASoC: Tegra: Support more boards
    [C N ] ASoC: tegra: TrimSlice machine support
    [    ] ASoC: WM8903: Implement DMIC support
    [    ] MAINTAINERS: Add entry for Native Instruments sound driver
    [    ] MAINTAINERS: add FireWire audio maintainer
    [C  9] SOUND: OSS: Remove Au1550 driver.

Grafik

    [CDN3] backlight: new driver for the ADP8870 backlight devices
    [    ] drm: add bit depth parsing
    [    ] drm/dp: add some new DP regs for DP 1.2
    [   1] drm: Export the command-line mode parser
    [  N3] drm/nva3: implement support for copy engine
    [  N1] drm/nvc0: implement support for copy engines
    [    ] drm/radeon/kms: add some dp encoder/connector helper funcs
    [    ] drm/radeon/kms: add support for thermal chips on combios asics
    [    ] drm/radeon/kms: be more pedantic about the g5 quirk (v2)
    [    ] drm/radeon/kms: bump kms version number
    [    ] drm/radeon/kms: fix mac g5 quirk
    [    ] efifb: Enable write-combining
    [    ] MAINTAINERS: Switch maintainer for drm/i915 to Keith Packard
    [    ] Revert "drm/nvc0: recognise 0xdX chipsets as NV_C0"
    [C   ] viafb: add X server compatibility mode
    [C N ] video: mb862xx: add support for controller's I2C bus adapter

I2C, Hwmon, Watchdog, ...

    [CDN1] hwmon: Add support for MAX6642
    [    ] hwmon: (coretemp) Add comments describing the handling of HT CPUs
    [CDN2] hwmon: Driver for MAX16065 System Manager and compatibles
    [CD  ] hwmon: (f71882fg) Add support for F71808A
    [CD  ] hwmon: (f71882fg) Add support for the F71869A
    [ D  ] hwmon: (k10temp) Update documentation for Fam12h
    [ D  ] hwmon: (max6650) Drop device detection
    [ D  ] hwmon: (max6650) Properly support the MAX6650
    [CDN2] hwmon: New driver for the SMSC EMC6W201
    [CDN ] hwmon: (pmbus) Add support for Analog Devices ADM1275
    [CDN1] hwmon: (pmbus) Add support for TI UCD9200 series of PWM System Controllers
    [   2] hwmon: (pmbus) Introduce infrastructure to detect sensors and limit registers
    [CDN1] hwmon: (pmbus) Support for TI UCD90xxx series Sequencer and System Health Controllers
    [ D 1] hwmon: (sht15) add support for CRC validation
    [ D 1] hwmon: (sht15) add support for the status register
    [ DN2] hwmon: (sht15) general code clean-up
    [C   ] i2c-eg20t: Support new device ML7223 IOH
    [  N ] i2c: i2c-sh_mobile bus speed platform data V2
    [CD  ] i2c-i801: SMBus patch for Intel Panther Point DeviceIDs
    [    ] i2c-nomadik: add regulator support
    [    ] i2c: tegra: Enable new slave mode.
    [ D  ] i2c/writing-clients: Fix foo_driver.id_table
    [C   ] i8k: Integrate with the hwmon subsystem
    [C   ] Move ACPI power meter driver to hwmon
    [C   ] watchdog, hung_task_timeout: Add Kconfig configurable default

Input/HID

    [    ] HID: add quirk for HyperPen 10000U
    [    ] HID: add support for barcode scanners from Symbol Technologies
    [    ] HID: add support for Logitech G27 wheel
    [    ] HID: add support for Sony Navigation Controller
    [CDN1] HID: Documentation for hidraw
    [C   ] HID: hid-multitouch: add support for ActionStar panels
    [    ] HID: hid-multitouch: add support for a new Lumio dual-touch panel
    [C   ] HID: hid-multitouch: add support for Chunghwa multi-touch panel
    [C   ] HID: hid-multitouch: add support for CVTouch panels
    [C   ] HID: hid-multitouch: add support for Elo TouchSystems 2515 IntelliTouch Plus
    [C   ] HID: hid-multitouch: add support for GoodTouch panels
    [C   ] HID: hid-multitouch: add support for Ilitek dual-touch panel
    [C   ] HID: hid-multitouch: Add support for Lumio panels
    [C   ] HID: hid-multitouch: add support for PenMount dual-touch panel
    [C   ] HID: hid-multitouch: add support for Touch International panels
    [C   ] HID: hid-multitouch: add support for Unitec panels
    [    ] HID: hid-multitouch: Auto detection of maxcontacts
    [C  1] HID: hid-multitouch: merge hid-mosart into hid-multitouch
    [C  1] HID: hid-multitouch: migrate 3M PCT touch screens to hid-multitouch
    [C  1] HID: hid-multitouch: migrate Cando dual touch panels to hid-multitouch
    [C  1] HID: hid-multitouch: migrate support for Stantum panels to the unified driver.
    [ DN1] HID: roccat: fix actual/startup profile sysfs attribute in koneplus
    [C N1] IIO: GYRO: IIO driver for Analog Devices Digital Output Gyroscope ADXRS450
    [C N1] Input: add driver for Maxim max11801 touchscreen controller
    [C N1] Input: add driver FSL MPR121 capacitive touch sensor
    [C N2] input: Add Qualcomm pm8xxx keypad controller driver
    [C N ] input: Add support for Qualcomm PMIC8XXX power key
    [C N2] Input: ADP5589 - new driver for I2C Keypad Decoder and I/O Expander
    [    ] Input: ads7846 - add possibility to use external vref on ads7846
    [    ] Input: atmel_mxt_ts - support 12bit resolution
    [ D  ] Input: elantech - describe further the protocol
    [    ] Input: elantech - export pressure and width when supported
    [    ] Input: elantech - remove support for proprietary X driver
    [    ] Input: gpio_keys - add support for EV_ABS
    [    ] Input: gpio-keys - add support for setting device name
    [    ] Input: qt1070 - add MODULE_DEVICE_TABLE
    [ D  ] Input: rotary-encoder - add support for half-period encoders
    [    ] Input: sh_keysc - implement runtime PM support
    [    ] Input: tegra-kbc - add ghost key filter


Media

    [ D 1] DocBook/dvb: Improve description of the DVB API v5
    [C N6] [media] Add support for M-5MOLS 8 Mega Pixel camera ISP
    [C   ] [media] Add support for PCTV nanoStick T2 290e [2013:024f]
    [ D  ] [media] add V4L2-PIX-FMT-SRGGB12 & friends to docbook
    [ DN ] [media] Add Y10B, a 10 bpp bit-packed greyscale format
    [    ] [media] anysee: add more info about known board configs
    [C   ] [media] anysee: add support for Anysee E30 S2 Plus
    [C   ] [media] anysee: add support for Anysee E7 S2
    [    ] [media] anysee: add support for Anysee E7 TC
    [C   ] [media] anysee: add support for TDA18212 based E30 Combo Plus
    [    ] [media] anysee: add support for two byte I2C address
    [C N ] [media] budget-ci: Add support for TT S-1500 with BSBE1-D01A tuner
    [    ] [media] cx18: Bump driver version, since a new class of HVR-1600 is properly supported
    [    ] [media] cx18: Bump driver version to 1.5.0
    [C   ] [media] cx18: Make RF analog TV work for newer HVR-1600 models with silicon tuners
    [    ] [media] cx231xx: Add support for Iconbit U100
    [    ] [media] cx231xx: add support for Kworld
    [    ] [media] cx24116.c - fix for wrong parameter description
    [    ] [media] cxd2820r: switch automatically between DVB-T and DVB-T2
    [    ] [media] DM04/QQBOX v1.84 added PID filter
    [   9] [media] drxd: move firmware to binary blob
    [    ] [media] em28xx: add digital support for PCTV 330e
    [    ] [media] em28xx: add remote control support for PCTV 330e
    [    ] [media] em28xx: add support for EM28174 chip
    [    ] [media] em28xx: enable support for the drx-d on the HVR-900 R2
    [ D  ] [media] em28xx: include model number for PCTV 330e
    [    ] [media] em28xx: Multi Frontend (MFE) support
    [C N2] [media] fintek-cir: new driver for Fintek LPC SuperIO CIR function
    [    ] [media] gspca - jeilinj: add 640*480 resolution support
    [ D  ] [media] gspca - jeilinj: Add SPORTSCAM_DV15 camera support
    [    ] [media] gspca - jeilinj: add SPORTSCAM specific controls
    [    ] [media] gspca - main: Version change to 2.13
    [    ] [media] mantis: trivial module parameter documentation fix
    [C N1] [media] NXP TDA18212HN silicon tuner driver
    [  N ] [media] rc: add tivo/nero liquidtv keymap
    [   1] [media] rc-core: add TX support to the winbond-cir driver
    [    ] [media] rc/nuvoton-cir: enable CIR on w83667hg chip variant
    [C N4] [media] redrat3: new rc-core IR transceiver device driver
    [C  1] [media] remove radio-maestro
    [C  3] [media] Remove the now obsolete drx397xD
    [    ] [media] s2255drv: adding MJPEG format
    [    ] [media] s2255drv: jpeg enable module parameter
    [    ] [media] saa7134 add new TV cards
    [    ] [media] saa7134: enable IR support for Hauppauge HVR-1150/1120
    [    ] [media] saa7134: support MagicPro ProHDTV Pro2 Hybrid DMB-TH PCI card
    [    ] [media] support for medion dvb stick 1660:1921
    [    ] [media] tda18271: add DVB-C support
    [  N ] [media] tm6000: add CARDLIST
    [    ] [media] tm6000: add detection based on eeprom name
    [    ] [media] tm6000: add radio capabilities
    [    ] [media] tm6000: add tm6010 audio mode setup
    [   1] [media] usbvision: add Nogatech USB MicroCam
    [ DN1] [media] uvcvideo: Add driver documentation
    [    ] [media] uvcvideo: Add M420 format support
    [    ] [media] uvcvideo: Add support for JMicron USB2.0 XGA WebCam
    [    ] [media] uvcvideo: Add support for NOMMU arch
    [    ] [media] uvcvideo: Add support for V4L2_PIX_FMT_RGB565
    [ D  ] [media] uvcvideo: Deprecate UVCIOC_CTRL_{ADD,MAP_OLD,GET,SET}
    [ DN ] [media] uvcvideo: Make the API public
    [  N ] [media] uvcvideo: Register subdevices for each entity
    [ DN ] [media] v4l: Add M420 format definition
    [C N2] [media] v4l: Add mt9v032 sensor driver
    [ D  ] [media] v4l: Add V4L2_MBUS_FMT_JPEG_1X8 media bus format
    [C N2] [media] v4l: Add v4l2 subdev driver for S5P/EXYNOS4 MIPI-CSI receivers
    [    ] [media] V4L: soc-camera: add a livecrop host operation
    [    ] [media] V4L: soc-camera: add a new packing for YUV 4:2:0 type formats
    [    ] [media] V4L: soc-camera: add JPEG support
    [    ] [media] V4L: soc-camera: add MIPI bus flags
    [    ] [media] V4L: soc-camera: add more format look-up entries
    [ D  ] [media] zoran: Drop unused module parameters encoder and decoder
    [ D  ] [media] feature-removal-schedule: change in how radio device nodes are handled
    [    ] [media] imon: support for 0x46 0xffdc imon vfd
    [    ] [media] mceusb: support I-O Data GV-MC7/RCKIT

Die kleinen Perlen: Storage, Staging, USB, ...

Platform

    [    ] acer-wmi: support to set communication device state by new wmid method
    [C N1] platform/oaktrail: ACPI EC Extra driver for Oaktrail
    [    ] support wlan hotkey on Acer Travelmate 5735Z
    [    ] wmi: Orphan ACPI-WMI driver
    [ D  ] thinkpad-acpi: handle HKEY 0x4010, 0x4011 events
    [ D  ] thinkpad-acpi: handle some new HKEY 0x60xx events

Storage

    [C   ] Allow setting of number of raw devices as a module parameter
    [    ] blkdev: Submit discard bio in batches in blkdev_issue_discard()
    [   1] blk-throttle: Make dispatch stats per cpu
    [    ] block: add a non-queueable flush flag
    [    ] block: hold queue if flush is running for non-queueable flush drive
    [    ] block: Remove extra discard_alignment from hd_struct.
    [    ] brd: export module parameters
    [ D  ] cciss: add cciss_tape_cmds module paramter
    [    ] dm table: allow targets to support discards internally
    [    ] libata-pmp: add support for Thermaltake BlackX Duet esata drive dock
    [    ] loop: export module parameters
    [    ] MAINTAINERS: Add patterns for pmic 8921 files to MSM subsystem
    [    ] MD: support initial bitmap creation in-kernel
    [    ] mfd: Add ASIC3 LED support
    [C N2] mfd: add DB5500 PRCMU driver
    [    ] mfd: Add omap-usbhs runtime PM support
    [   1] mfd: Add phoenix lite (twl6025) support to twl6030
    [C N1] mfd: Add pm8xxx irq support
    [C N ] mfd: Add Qualcomm PMIC 8921 core driver
    [C N1] mfd: Add rtc support to 88pm860x
    [C   ] mfd: Group NXP PCF50633* drivers together
    [C   ] mfd: Group TPSxxxxx power management chips together
    [C N3] MFD: TPS65910: Add new mfd device for TPS65910
    [    ] MFD: TPS65910: Add support for TPS65911 device
    [   9] mfd: update DB8500 PRCMU driver
    [    ] mmc: add MMC_QUIRK_DISABLE_CD
    [    ] mmc: add MMC_QUIRK_NONSTD_FUNC_IF
    [C N7] mmc: Add new VUB300 USB-to-SD/SDIO/MMC driver
    [    ] mmc: Add PCI fixup quirks for Ricoh 1180:e823 reader
    [    ] mmc: add runtime and system power-management support to the MMCIF driver
    [    ] mmc: Add runtime and system-wide PM to the TMIO MMC driver
    [ DN1] mmc: core: Add mmc CMD+ACMD passthrough ioctl
    [    ] mmc: core: Block CMD23 support for UHS104/SDXC cards.
    [ DN1] mmc: MMC boot partitions support.
    [    ] mmc: quirks: Add/remove quirks conditional support.
    [    ] mmc: quirks: Extends card quirks with MMC/SD quirks matching the CID.
    [    ] mmc: quirks: Support for block quirks.
    [    ] mmc: Reliable write support.
    [   1] mmc: sd: add support for driver type selection
    [   1] mmc: sd: add support for signal voltage switch procedure
    [   1] mmc: sd: add support for tuning during uhs initialization
    [    ] mmc: sd: add support for uhs bus speed mode selection
    [    ] mmc: sdhci: Add pre and post reset processing for chip specific reset
    [    ] mmc: sdhci: add support for programmable clock mode
    [    ] mmc: sdhci: add support for retuning mode 1
    [    ] mmc: sdhci: Auto-CMD23 support.
    [    ] mmc: sdhci: Fix read-only detection with JMicron 388 chip
    [    ] mmc: sdhci: Implement MMC_CAP_CMD23 for SDHCI.
    [C   ] mtd: always build partitioning support
    [    ] mtd: cmdset_0002: add CFI 1.5 support for S29GL-S
    [CD  ] mtd: kill CONFIG_MTD_PARTITIONS
    [    ] mtd: m25p80: Add Numonyx m25px32 family
    [    ] mtd: m25p80: Add Spansion S25FL256S
    [    ] mtd: m25p80: Add Spansion S25FL512S, S70FL01GS
    [    ] mtd: m25p80: add support for the MX25L1606E chip
    [    ] mtd: mxc_nand: add support for multiple chips on V21 devices
    [   1] pata_at91: SMC settings calculation bugfixes, support for t6z and IORDY
    [C N1] RDMA: Add netlink infrastructure
    [    ] SATA: enable non-queueable flush flag
    [    ] SCSI: be2iscsi: update version
    [    ] SCSI: bnx2i: Optimized the iSCSI offload performance
    [    ] SCSI: hpsa: add P2000 to list of shared SAS devices
    [    ] SCSI: ipr: Driver version 2.5.2
    [    ] SCSI: ipr: improve interrupt service routine performance
    [    ] SCSI: iterate over devices individually for /proc/scsi/scsi
    [    ] SCSI: libsas: Add option for SATA soft reset
    [   1] SCSI: lpfc 8.3.23: BSG additions and fixes
    [   4] SCSI: lpfc 8.3.23: Debugfs enhancements
    [    ] SCSI: lpfc 8.3.23: Update driver version to 8.3.23
    [   1] SCSI: lpfc 8.3.24: Add request-firmware support
    [   9] SCSI: lpfc 8.3.24: Add resource extent support
    [   9] SCSI: lpfc 8.3.24: Extend BSG infrastructure and add link diagnostics
    [    ] SCSI: lpfc 8.3.24: Extended hardware support and support dump images
    [   2] SCSI: lpfc 8.3.24: Miscellaneous Fixes and Corrections
    [    ] SCSI: MAINTAINERS: Add drivers/target/ entry
    [    ] SCSI: MAINTAINERS update for SCSI (new email address)
    [    ] SCSI: megaraid_sas: Add 1078 OCR support
    [ D  ] SCSI: megaraid_sas: Version and Changelog update
    [    ] SCSI: mpt2sas: Driver version upgrade 08.100.00.02
    [   4] SCSI: mpt2sas : WarpDrive New product SSS6200 support added
    [    ] SCSI: mptfusion: Bump version 3.4.19
    [C  2] SCSI: mvsas: add support for Task collector mode and fixed relative bugs
    [    ] SCSI: qla2xxx: Add the ql2xdontresethba module_param.
    [    ] SCSI: qla2xxx: Allow an override of the registered maximum LUN.
    [    ] SCSI: qla2xxx: Update version number to 8.03.07.03-k.
    [  N1] SCSI: qla4xxx: Added vendor specific sysfs attributes
    [    ] SCSI: qla4xxx: Update driver version to 5.02.00-k7
    [    ] SCSI: Retrieve the Caching mode page (version 2)
    [    ] SCSI: scsi_dh_alua: Attach to UNAVAILABLE/OFFLINE AAS devices
    [  N ] TPS65911: Comparator: Add comparator driver
    [    ] UBI: switch to dynamic printks

Staging

    [   2] ath6kl: add support for AR6003 v2.1.1
    [    ] comedi vmk80xx: support comedi auto-configuration
    [   1] gma500: Add a gtt allocator
    [   4] gma500: Add support for inserting and removing pages from the GART
    [C   ] IIO: DAC: AD5791: Add support for the AD5760/AD5780 High Resolution DACs
    [C   ] IIO: DDS: AD9834: Add support for AD9837 and AD9838 DDS devices
    [    ] IIO: Documentation: Add ABI documentatio for gyro quadrature correction
    [    ] intel_sst: add Master Volume
    [    ] intel_sst: Headphone Automute support
    [   2] intel_sst: Line out support
    [    ] intel_sst: move jack detection related configs to init time
    [   1] intel_sst: MSIC codec power optimisation
    [    ] intel_sst: parameter tuning ioctl
    [  N5] intel_sst: rework jack implementation
    [   1] intel_sst: Save audio state across D3 on Medfield
    [    ] staging: brcm80211: Added support to change roaming parameters from brcmfmac driver
    [    ] staging: brcm80211: Added support to change scan times from brcmfmac driver
    [    ] staging: brcm80211: cleaned up TODO file
    [    ] staging: brcm80211: moved several README items to website
    [    ] staging: brcm80211: revised README
    [    ] staging: brcm80211: unified README files
    [    ] staging: gma500: add framebuffer setup
    [    ] staging: gma500: Add Moorestown backlight support
    [    ] staging: gma500: Add moorestown config structures
    [  N3] staging: gma500: Add moorestown lvds driver code
    [    ] staging: gma500: Add moorestown specific data to the device structure
    [    ] staging: gma500: begin adding Moorestown support
    [    ] staging: gma500: enable Moorestown CRTC handling
    [    ] staging: gma500: enable the 2D op stuff
    [C N1] staging: IIO: ADC: New driver for the AD7780 / AD7781 24-bit Sigma-Delta ADC
    [   3] staging:iio: Add ability to allocate private data space to iio_allocate_device
    [C  1] staging:iio: Add infrastructure for irq_chip based triggers
    [C N1] staging: IIO: DAC: New driver for AD5791/AD5781 High Resolution Voltage Output DACs
    [C N1] staging: IIO: DAC: New driver for the AD5504 and AD55041 High Voltage DACs
    [   1] staging:iio:documenation partial update.
    [    ] staging:iio:documentation make read_size signed to allow for errors.
    [C  1] staging:iio:imu:adis16350 etc support into adis16400 driver.
    [C   ] staging:iio:imu:adis16400 add support for adis16300
    [C  3] staging:iio:imu remove adis16300 driver.
    [C  3] staging:iio:imu remove old adis16350. Support now in adis16400 driver.
    [C   ] staging:iio:max1363 add new 2 channels parts form maxim, 11644-7
    [    ] Staging: iio: oaktrail AK8975 support via IIO
    [C N3] staging: iio: TAOS tsl258x: Device driver
    [C N3] Staging: initial version of the nvec driver
    [  N ] staging/mei: AMT Watchdog
    [  N ] staging/mei: Hardware and MEI driver internal struct definition
    [  N4] staging/mei: Interrupt handling.
    [  N ] staging/mei: MEI Driver documentations
    [  N2] staging/mei: MEI driver init flow.
    [  N ] staging/mei: mei.h defining user space interface
    [  N1] staging/mei: MEI link layer
    [    ] staging: sm7xx: minor cleanup
    [    ] staging: sm7xx: Use kernel framebuffer mode setting
    [C   ] staging: usbip: edit Kconfig and rename CONFIG options
    [    ] staging: usbip: userspace: update module name references

USB

    [C   ] ARM: EXYNOS4: Add usb ehci device to the NURI board
    [C N ] ARM: S5P: Add usb ehci device
    [    ] ehci: workaround for pci quirk timeout on ExoPC
    [   1] Intel xhci: Limit number of active endpoints to 64.
    [    ] option: add Alcatel X200 to sendsetup blacklist
    [    ] option: add Prolink PH300 modem IDs
    [    ] option: add Zoom 4597 modem USB IDs
    [C N5] USB: add Freescale USB OTG Transceiver driver
    [C N ] USB: Add initial S5P EHCI driver
    [    ] USB: cdc-acm: Adding second ACM channel support for Nokia E7 and C7
    [    ] USB: CP210x Add 4 Device IDs for AC-Services Devices
    [ D  ] USB: documentation update for the pre_reset method
    [    ] USB: don't let the hub driver prevent system sleep
    [C N ] USB: EHCI: Add bus glue for GRLIB GRUSBHC controller
    [C N ] USB: ehci: add bus glue for the Atheros AR71XX/AR724X/AR91XX SoCs
    [   1] USB: EHCI: Support controllers with big endian capability regs
    [ D  ] USB: Fix up URB error codes to reflect implementation.
    [   1] USB: fsl_udc_core: support device mode of MPC5121E DR USB Controller
    [C N4] USB: Gadget: Add Samsung S3C24XX USB High-Speed controller driver
    [   1] USB: ldusb: add several new devices
    [    ] USB: moto_modem: Add USB identifier for the Motorola VE240.
    [C   ] usb: musb: allow musb and glue layers to be modules
    [C   ] usb: musb: ux500: add configuration and build options for ux500 dma
    [  N1] usb: musb: ux500: add dma glue layer for ux500
    [C N ] USB: ohci: add bus glue for the Atheros AR71XX/AR7240 SoCs
    [    ] USB: option Add blacklist for ZTE K3765-Z (19d2:2002)
    [    ] USB: option: add support for Huawei E353 device
    [    ] USB: OTG: msm: Add PHY suspend support for MSM8960
    [   1] USB: OTG: msm: Implement charger detection
    [C   ] usb: plusb: Add support for PL-25A1
    [    ] usb: renesas_usbhs: add autonomy mode
    [C N5] usb: renesas_usbhs: Add Renesas USBHS common code
    [C N3] usb: renesas_usbhs: Add Renesas USBHS Gadget
    [    ] USB: serial: add another 4N-GALAXY.DE PID to ftdi_sio driver
    [C   ] USB: sl811: add Kconfig option for ISOCHRONOUS mode
    [ D  ] usb-storage: Correct adjust_quirks to include latest flags
    [C  3] USB: UHCI: Add support for big endian descriptors
    [C   ] USB: UHCI: Add support for big endian mmio
    [C N ] USB: UHCI: Add support for GRLIB GRUSBHC controller
    [C   ] USB: UHCI: Support big endian GRUSBHC HC
    [C   ] USB: UHCI: Support non-PCI host controllers
    [    ] xHCI 1.0: Block Interrupts for Isoch transfer
    [   6] xhci: Make xHCI driver endian-safe
    [    ] xHCI: Set link state support
    [    ] xHCI: warm reset support

Various

    [    ] 8250_pci: Add support for the Digi/IBM PCIe 2-port Adapter
    [C   ] ARM: bcmring: convert to sp804 clocksource
    [C  1] basic_mmio_gpio: split into a gpio library and platform device
    [C N ] clocksource: add common i8253 PIT clocksource
    [C N ] clocksource: add common mmio clocksource
    [C   ] clocksource: convert ARM 32-bit down counting clocksources
    [C  1] clocksource: convert ARM 32-bit up counting clocksources
    [C N ] clocksource: convert footbridge to generic i8253 clocksource
    [C   ] clocksource: convert Integrator/AP 16-bit down counting clocksource
    [C   ] clocksource: convert mips to generic i8253 clocksource
    [C   ] clocksource: convert MXS timrotv2 to 32-bit down counting clocksource
    [C   ] clocksource: convert OMAP1 to 32-bit down counting clocksource
    [C   ] clocksource: convert SPEAr platforms 16-bit up counting clocksource
    [C   ] clocksource: convert W90x900 24-bit down counting clocksource
    [C   ] clocksource: convert x86 to generic i8253 clocksource
    [ D  ] dmaengine: Add API documentation for slave dma usage
    [  N ] dmaengine: add TODO items for future work on dma drivers
    [   1] dmaengine: at_hdmac: add cyclic DMA operation support
    [    ] dmaengine: at_hdmac: specialize AHB interfaces to optimize transfers
    [ D 1] driver core: Add the device driver-model structures to kerneldoc
    [ D  ] driver core: remove the driver-model structures from the documentation
    [CDN3] driver: Google EFI SMI
    [CDN ] driver: Google Memory Console
    [C   ] drivers/leds/leds-pca9532.c: add gpio capability
    [    ] drivers/rtc/rtc-ds1307.c: add support for RTC device pt7c4338
    [    ] firewire: sbp2: parallelize login, reconnect, logout
    [  N ] gpio: add trace events for setting direction and value
    [C   ] gpio: move Nomadik GPIO driver to drivers/gpio
    [C   ] gpio: Move the exynos4 GPIO to drivers/gpio
    [C   ] gpio: Move the s5pc100 GPIO to drivers/gpio
    [C   ] gpio: Move the s5pv210 GPIO to drivers/gpio
    [C   ] gpio: Move to Samsung common GPIO library to drivers/gpio
    [   1] gpio/pca953x: Add support for pca9574 and pca9575 devices
    [C   ] gpio/pch_gpio: Support new device ML7223
    [C   ] GPIO: TPS65910: Move driver to drivers/gpio/
    [C N3] Intel PTI implementaiton of MIPI 1149.7.
    [C   ] Introduce CONFIG_GOOGLE_FIRMWARE
    [  N ] isp1704_charger: Allow board specific powering routine
    [ DN ] Kernel documentation for the PTI feature.
    [    ] langwell_gpio: add runtime pm support
    [C N ] leds: Add ASIC3 LED support
    [C   ] leds: remove the leds-h1940 driver
    [C N2] mach-ux500: voltage domain regulators for DB8500
    [    ] memory hotplug: Speed up add/remove when blocks are larger than PAGES_PER_SECTION
    [C N4] misc: Add CARMA DATA-FPGA Access Driver
    [C N3] misc: Add CARMA DATA-FPGA Programmer support
    [C N2] n_tracerouter and n_tracesink ldisc additions.
    [C   ] pch_dma: Support new device ML7223 IOH
    [C  1] pch_phub: Support new device ML7223
    [C   ] pch_uart: Support new device ML7223 IOH
    [C N1] power_supply: Add driver for MAX8903 charger
    [C N2] ptp: Added a clock driver for the IXP46x.
    [CDN2] ptp: Added a clock that uses the eTSEC found on the MPC85xx.
    [   1] regulator: tps65911: Add new chip version
    [C N ] rtc: add basic support for ST M41T93 SPI RTC
    [C N ] rtc: add EM3027 rtc driver
    [C N1] rtc: add rv3029c2 RTC support
    [C N1] rtc: add support for spear rtc
    [C N1] rtc: add support for the RTC in VIA VT8500 and compatibles
    [C   ] RTC: Disable CONFIG_RTC_CLASS from being built as a module
    [    ] serial: 8250_pci: add support for Cronyx Omega PCI multiserial board.
    [C N2] SERIAL: Lantiq: Add driver for MIPS Lantiq SOCs.
    [C   ] spi/pl022: mark driver non-experimental
    [C N2] spi/spi_bfin_sport: new driver for a SPI bus via the Blackfin SPORT peripheral
    [C N1] TPS65910: Add tps65910 regulator driver
    [  N ] TPS65910: GPIO: Add GPIO driver
    [  N ] TPS65910: IRQ: Add interrupt controller
    [    ] TPS65911: Add support for added GPIO lines
    [C   ] tty: Remove to support serial for S5P6442
    [C N3] tty/serial: add support for Xilinx PS UART
    [    ] uio_netx: Add support for netPLC cards
    [C N1] w1: add 1-wire (w1) DS2408 8-Channel Addressable Switch support
    [C N3] w1: add Maxim/Dallas DS2780 Stand-Alone Fuel Gauge IC support
    [C  1] w1: complete the 1-wire (w1) ds1wm driver search algorithm

Nachzügler

Die Kernel-Entwickler pflegen das Gros der Änderungen für eine neue Kernel-Version in der Merge Window genannten Phase am Anfang des Entwicklungszyklus in das Quellcodeverwaltungssystem ein. Dadurch stehen die wesentlichen Neuerungen einer neuen Kernel-Version bereits Wochen vor deren Freigabe fest. Gelegentlich nehmen die Kernel-Entwickler in der zweiten Phase des Entwicklungszyklus aber noch einige kleinere, zumeist nicht ganz so wichtige Änderungen der Kategorie "Die kleineren Perlen" in den Linux-Kernel auf – teilweise, nachdem das Kernel-Log über die entsprechenden Subsysteme des Kernels bereits berichtet hat.

Einige solcher Nachzügler gab es diesmal bei den Netzwerktreibern und Dateisystemen:

    [    ] ath5k: Disable fast channel switching by default
    [C   ] cifs: mark CONFIG_CIFS_NFSD_EXPORT as BROKEN
    [ D  ] Documentation/Changes: remove some really obsolete text
    [ D  ] Documentation: fix cgroup blkio throttle filenames
    [ D  ] Documentation/spinlocks.txt: Remove reference to sti()/cli()
    [ D  ] Documentation: update CodingStyle memory allocators
    [    ] drbd: fix limit define, we support 1 PiByte now
    [ D  ] FS-Cache: Add a helper to bulk uncache pages on an inode
    [    ] iwlagn: use cts-to-self protection on 5000 adapters series
    [C N1] net/usb: Add Samsung Kalmia driver for Samsung GT-B3730
    [ D  ] PCI: conditional resource-reallocation through kernel parameter pci=realloc
    [    ] proc: restrict access to /proc/PID/io
    [    ] x86: Don't use the EFI reboot method by default
    [    ] x86, reboot: Acer Aspire One A110 reboot quirk

Quelle und Links : http://www.heise.de/open/artikel/Kernel-Log-Was-3-0-bringt-4-Treiber-1275477.html
Titel: Microsoft trägt viele Änderungen zum Linux-Kernel 3.0 bei
Beitrag von: SiLæncer am 16 Juli, 2011, 13:48
Mit 343 Änderungen führt der Microsoft-Entwickler K. Y. Srinivasan eine von LWN.net erstellte Liste der Entwickler an, die im aktuellen, Linux 3.0 vorbereitenden Entwicklungszyklus die meisten Änderungen beigesteuert haben. Zusammen mit einigen anderen "Changesets" kommt Microsoft so auf 361 Änderungen und erreicht damit den siebten Platz beim Vergleich der Firmen und Gruppen, die zum Linux-Kernel beitragen. Zum Vergleich: Unabhängig arbeitende Entwickler haben zu Linux 3.0 1085 Changesets beigesteuert, die von Red Hat 1000 und jene von Intel 839.

Diese Zahlen nennt eine am Donnerstag bei LWN.net veröffentlichter Artikel, auf den bis zum nächsten Donnerstag allerdings nur Abonnenten der angesehenen Webseite Zugriff haben; in Blog-Einträgen werden die Zahlen allerdings schon kommentiert. Ähnliche Analysen hat LWN.net zu allen jüngst veröffentlichten Kernel vorgenommen; etwa zu 2.6.39 und 2.6.38. Autor, Kernel-Entwickler und LWN.net-Gründer Jonathan Corbet hat solche Erhebungen auch schon zusammen mit der Linux Foundation durchgeführt und zu Studien aufbereitet. Schon in dem Rahmen wies heise open darauf hin, dass bei der Interpretation der Zahlen Umsicht angebracht ist. Ein Kritikpunkt: In die Analysen gehen auch Änderungen am Staging-Bereich ein, der Code enthält, der die Qualitätsstandards seiner Entwickler oder der Kernel-Entwickler nicht erfüllt – diese auszuräumen zieht besonders viele Änderungen nach sich.

Um Staging-Code geht es auch hier, denn Srinivasan hat den Treiber für Microsofts Virtualisierungsschnittstelle HyperV verbessert, den das Unternehmen vor zwei Jahren freigegeben hat. Mit dem ging es lange nicht sonderlich voran; zweimal hatte Staging-Betreuer Greg Kroah-Hartman sogar schon gedroht, die Treiber wieder aus dem Staging-Bereich des Kernels herauszunehmen. Vor einigen Monaten stieg allerdings plötzlich die Aktivität der Microsoft-Entwickler erheblich: Sie begannen, die bekannten Qualitätsmängel zu beseitigen, damit der Treiber den Staging-Bereich irgendwann verlassen kann; dafür lobte Staging-Betreuer Kroh-Hartman das Unternehmen sogar kürzlich im Rahmen der Entwicklung des Linux-Kernels 3.0, der in den nächsten Tagen erscheinen dürfte.

Srinivasan schneidet in den eingangs erwähnten Aufstellungen zudem besonders gut ab, weil er viele kleine Änderungen vorgenommen hat. Genau so wünschen es sich die Kernel-Entwickler auch; eine Änderung, die nur eine Zeile modifiziert, zählt dann jedoch genauso viel wie eine riesige Änderung, die einen Megabyte groß ist. Bei den von LWN.net ebenfalls vorgekommenen Auswertungen zur Zahl der geänderten Zeilen Code liegen Srinivasan und Microsoft daher weiter hinten. Microsoft-Entwickler etwa haben laut LWN.net 11.564 Zeilen Code verändert (1,3 Prozent) – vorne liegt Intel mit 163.232 (18,1 Prozent). Auch Intels Wert gibt Anlass zu Kritik, denn zu der hohen Zahl trägt der bei 3.0 neue Treiber isci bei, der in einer unsauberen Form aufgenommen wurde und in den folgenden Commits erheblich umgebaut wurde (etwa 1). Damit sollte die Änderungs-Historie erhalten bleiben – nebenbei scheint das aber auch zu einem besseren Abschneiden in der LWN.net-Auswertung zu führen.

Quelle : www.heise.de
Titel: Kernel-Log: Noch mehr UEFI-Probleme
Beitrag von: SiLæncer am 18 Juli, 2011, 18:14
Einige mit Windows ausgelieferte UEFI-Systeme nutzen eine als Fallback gedachte Zweitinstallation des Bootloaders, wodurch ein korrekt installiertes UEFI-Linux nicht startet. Außerdem: Google hat seine BadRAM-Patches nun doch veröffentlicht, bei Google+ ist ein Linus Torvalds aufgetaucht und Lennart Poettering hat weitere Blog-Einträge zu Systemd verfasst.

Matthew Garrett wühlt sich weiter durch das Dickicht um das (U)EFI/(Unified) Extensible Firmware Interface, das Funktionen des BIOS ersetzt und in den vergangenen Wochen schon mehrfach Thema im Kernel-Log war (u. a. 1, 2). So hat er Patches ausgearbeitet, welche die x86- und IA64-EFI-Implementationen des Kernels zusammenlegen, um Code-Dopplungen zu beseitigen und eine Architektur-unabhängige Lösung zu schaffen, die auch für ARM- und MIPS-Plattformen geeignet ist.

In seinem Blog beschreibt er ein weiteres großes Probleme mit (U)EFI. Dort lobt er, dass EFI Mechanismen vorsieht, damit sich der Start-Code unterschiedlicher Betriebssysteme nicht ins Gehege kommt: Jeder Betriebssystemhersteller muss seinen Bootloader in einem eigenen, den Hersteller zugeordneten Bereich der EFI-Systempartition ablegen (beispielsweise unter EFI/microsoft) und ihn anschließend in den "EFI Boot Variables" im NVRAM registrieren. Der UEFI-Bootcode der Hardware kann dem Anwender so ein Menü zeigen, wo er zwischen den installierten Systemen wählen kann.

Die UEFI-Spezifikation erlaubt ab Version 2.3 allerdings, dass der UEFI-Bootcode wie bei Wechseldatenträger an einer bestimmten Stelle der EFI-Systempartition (etwa EFI/boot/bootx64.efi bei x86-64-Systemen) nach einem Boot-Loader sehen darf, wenn im NVRAM keine Systeme spezifiziert sind. Aktuelle Windows-Version installieren ihren Boot-Loader als Fallback dorthin, sofern dort noch kein Boot-Loader liegt. Dadurch sollte Windows auch noch starten, wenn die EFI-Boot-Einträge im NVRAM verloren gegangen sind.

Nun testen Hardware-Hersteller aber häufig nur mit Windows, wie Garrett schon in diversen Blog-Einträgen zu anderen Problemen angemerkt hat. Es sei daher nicht überraschend, dass einige Systeme die Einträge in den EFI-Boot-Variablen ignorieren und das Betriebssystem immer über den Fallback-Bootloader aufrufen. Bei mit Windows ausgelieferten Systemen dürfte das dessen Boot-Loader sein; ein korrekt installiertes Linux ist daher über die in UEFI vorgesehenen Mechanismen schlicht nicht startbar.

Als Lösung ist Garrett bislang nur ein bei der Linux-Installation eingerichteter "stub bootloader" eingefallen, der die Hersteller-spezifischen Verzeichnisse auf der EFI-Systempartition nach deren Bootloadern absucht und diese beim Start zur Auswahl anbietet.

Kernel-Versionsstatus

Bereits vor einer Woche hat Greg Kroah-Hartman die Longterm-Kernel 2.6.32.43 und 2.6.33.16 sowie die Stable-Kernel 2.6.39.3 veröffentlicht. Bei zwei davon findet sich der üblichen Text "All users of the [...] kernel series must upgrade", der zum Wechsel auf die neue Version rät, ohne klarzustellen, ob die neuen Versionen Sicherheitslücken beseitigt.

Kernel-Log-Staccato

Kernel

Beim kürzlich gestarteten Google Plus ist ein Linus Torvalds aufgetaucht. Viels spricht für die Authentizität des Accounts, aber mit hundertprozentiger Sicherheit lässt sich natürlich nicht sagen, ob er es wirklich selbst ist…

Christoph Hellwig hat das "XFS Status Update" für Juni 2011 veröffentlicht.

Suse-Entwickler Michal Marek beschreibt in einem Blog-Eintrag einige Verbesserungen für libzypp, über die sich ab OpenSuse 12.1 festlegen lassen soll, ob oder welche alten Kernel nach einem Kernel-Update entfernt werden.

Unterstützung für Grafikhardware

Nvidia hat die Version 275.19 seiner proprietären Linux-Grafiktreiber freigegeben (x86-32, x86-64); sie beseitigt einige Fehler und bringt Unterstützung für die GeForce GT 540M. Nvidia hat zudem die Beta-Treiber 280.04 veröffentlicht, die eine als "preliminary" eingestufte Unterstützung für den X-Server 1.11 bieten, der sich noch in Entwicklung befindet.

Jeremy Huddleston hat den X-Server 1.10.3 veröffentlicht, der einige Fehlerkorrekturen bringt.

Kernel-Umland ("Plumbing layer"), Userland-Treiber, Entwicklertools, ...

Hand de Goede hat die erste "offizielle" Version von usbredir freigegeben, mit dem sich einzelne USB-Geräte an andere Systeme – etwa virtuelle Maschinen – weitergeben lassen. Die aktuelle API des USB Redirection Protocol gilt mit dieser als 0.3 bezeichneten Version als eingefroren, Erweiterungen sind aber weiterhin möglich.

Lennart Poettering hat Patches zur Diskussion gestellt, welche die Multiseat-Unterstützung im X-Server ausbauen; diese Verbesserungen greifen auf Funktionen zurück, die Systemd ab Version 30 für Systeme mit mehren parallel aktiven Anwendern bietet.

Im neunten Teil der Blog-Reihe "systemd for Administrators" beschreibt Poettering die Probleme, welche die Konfiguration über Dateien in den Verzeichnissen /etc/sysconfig (Red Hat, Suse, ...) und /etc/default (Debian-Welt) mit sich bringen; in dem Rahmen beschreibt er, wie bessere Lösungen aussehen. Der zweite Teil der Serie "systemd for Developers" erläutert die Socket Activation am Beispiel von Cups.

David Zeuthen hat in seinem Blog eine fünfteilige Artikelserie "Writing a C library" veröffentlicht (1, 2, 3, 4, 5).

Die Libvirt-Entwickler haben die Version 0.9.3 ihrer Bibliothek zum Zugriff auf verschiedenen Virtualisierungslösungen freigegeben.

Die unter anderem von GnuPG verwendete Libgcrypt kann seit der kürzlich freigegeben Version 1.5.0 die AES-NI-Instruktuinen neuerer Intel-Prozessoren nutzen.
Stephen Hemminger hat die Version 2.6.39 der Netzwerkwerkzeug-Sammlung iproute2 freigegeben.

Die GCC ist in Version 4.6.1 erscheinen.

Das KVM-Blog beschreibt einige Eigenschaften des noch in Entwicklung befindlichen Dateisystems QED (Qemu Enhanced Disk Format).

LKML-Diskussionen

Nao Nishijima hat einen überarbeitete Version seiner Patches zur Diskussion gestellt, mit denen man Datenträgern Alias-Namen zuweisen kann, die sich auch nach einem Neustart oder Umbau der Hardware nicht ändern. Der Ansatz ist weiter umstritten; LWN.net hatte die Probleme einer früheren Patch-Serie in einem Artikel erläutert.

Nancy Yuen hat einige von Google genutzte BadRAM-Implementation zur Begutachtung an die LKML geschickt. An diesen Patches hatten mehrere Entwickler Interesse bekundet, nachdem einige Google-Entwickler die im letzten Kernel-Log erwähnten BadRAM-Patches von Stefan Assmann als zu unflexibel für Googles Zwecke kritisiert hatten.

Quelle und Links : http://www.heise.de/open/artikel/Kernel-Log-Noch-mehr-UEFI-Probleme-1281100.html
Titel: Neuer Echtzeit-Linux-Kernel
Beitrag von: SiLæncer am 21 Juli, 2011, 09:38
Thomas Gleixner hat eine neue Version des Patches vorgestellt, die Linux mit harten Echtzeitfähigkeiten ausstattet. Nach einer längeren Pause seit Linux 2.6.33 beruht dieser Patch auf dem heute erscheinenden Linux 3.0.

Der Patch für den Echtzeit-Linux-Kernel wird vom Open Source Automation Development Lab (OSADL) gepflegt und hat das Ziel, die Unterschiede zwischen dem normalen Linux-Kernel und dem Echtzeit-Kernel zu minimieren. Beide Varianten zu vereinheitlichen, ist ein schon seit Jahren andauerndes Projekt, und ob es vollständig erreichbar ist, hängt hauptsächlich davon ab, ob die Änderungen in einer Weise eingebracht werden können, die den restlichen Kernel-Entwicklern zusagt.

Viele Neuerungen aus dem Echtzeit-Projekt wurden schon in den Standard-Linux-Kernel übernommen, so dass er bereits weiche Echtzeitfähigkeiten und eine normalerweise geringe Latenz besitzt. Für harte Echtzeitanforderungen sind jedoch weitergehende Änderungen nötig. Entscheidend ist dabei, dass der Kernel garantierte Antwortzeiten auf Ereignisse unter allen Umständen einhält. Diese brauchen nicht einmal besonders kurz zu sein; einige Millisekunden reichen für die meisten Anwendungen.

Linux 2.6.33 liegt schon 15 Monate zurück, und der dazugehörige Echtzeit-Patch wurde im Dezember 2010 veröffentlicht. Extra dafür wurde die Unterstützung für Linux 2.6.33 verlängert, so dass dieser Kernel heute noch mit Updates versorgt wird. Ursprünglich plante Thomas Gleixner, eine neue Version auf Basis von Linux 2.6.38 zu erstellen. Doch massive Probleme ließen das Team letztlich aufgeben und stattdessen Linux 3.0 als Ziel anvisieren.

Nun liegt ein neuer Patch für Linux 3.0-rc7 (http://lkml.org/lkml/2011/7/19/309) vor. Aufgrund der langen Entwicklungszeit stellt dieser Patch eine komplette Umstrukturierung dar, der den Code vereinfacht, den Patch deutlich verkleinert und die Geschwindigkeit erhöhen soll. Der Anlass für diese Änderungen war die wachsende Benutzung von CPU-spezifischen Variablen im Standard-Kernel, die so im Echtzeit-Kernel nicht funktioniert. Alle diese Stellen mussten durch ein anderes Konstrukt ersetzt werden, was immer unhandlicher wurde. Also dachten sich Thomas Gleixner und Peter Zijlstra einen neuen Ansatz aus, der die Migration von Tasks an kritischen Stellen unterbindet und keine Änderung an den einzelnen Variablen mehr nötig macht. Die Änderung machte eine weitere schon lange gewünschte Neuerung möglich, nämlich Softirq-Handler direkt von Interrupt-Threads aus auszuführen.

Der neue Patch ist nur noch halb so groß wie der alte und ändert 374 Dateien und rund 10.000 Zeilen Code im Kernel. Laut Gleixner ist die neue Version bereits getestet und wurde für stabil befunden. Neben den genannten Änderungen verzichtet die neue Version auch auf das Aufteilen von Soft-Interrupt-Threads, sorgt dafür, das SPARSE-Interrupts und IOMMU-Interrupt-Remapping funktionieren und führt eine neue Kernel-Konfigurationsoption ein.

Quelle : www.pro-linux.de
Titel: Linux-Kernel 3.0 freigegeben
Beitrag von: SiLæncer am 22 Juli, 2011, 07:26
Mitte Mai bei der Freigabe des Kernels 2.6.39 war es noch nicht abzusehen, aber jetzt ist es passiert : Linux 3.0 ist da. Mit dem großen Sprung bei der Versionsnummer gehen allerdings keine großen Umwälzungen einher, wie Torvalds bei der Freigabe nochmal betonte – vielmehr ist Linux 3.0 letztlich nur eine andere Versionsnummer für einen Kernel, der sonst 2.6.40 geheißen hätte. Doch auch wenn das leicht verspätet erschienene Linux 3.0 nicht den Versionssprung darstellt, den die Nummerierung suggeriert: Genau wie seine direkten Vorgänger der 2.6er-Serie bringt auch diese Version hunderte von kleineren und großen Änderungen, von denen einige durchaus für alle Linux-Anwender wichtig sind.

Zu den bedeutsamsten Änderungen zählt das Storage-Backend für Xen – dadurch enthält der Kernel nun alles Nötige zum Betrieb als Dom0-System, um zusammen mit dem Xen-Hypervisor zu virtualisieren. Zudem gab es eine Reihe von Optimierungen am weiterhin experimentellen Btrfs-Dateisystem sowie viele neue oder überarbeitete Treiber. Einen Überblick über diese und andere Neuerungen liefert ein Artikel auf heise open, der auch einen Ausblick auf die anstehenden Änderungen für den Linux-Kernel 3.1 gibt:

    Die Neuerungen von Linux 3.0 (http://www.heise.de/open/artikel/Die-Neuerungen-von-Linux-3-0-1279228.html)

Quelle : www.heise.de
Titel: Erster Release Candidate des Linux-Kernel 3.1 freigegeben
Beitrag von: SiLæncer am 08 August, 2011, 13:27
Linus Torvalds hat den ersten Release Candidate von Linux 3.1 veröffentlicht. Der Kernel, der Anfang Oktober erscheinen soll, bringt vor allem im Bereich Virtualisierung einge Verbesserungen mit.

Unter anderem bietet KVM nun auch auf Intel-Prozessoren grundlegende Funktionen für Nested Virtualization, wobei ein Gastsystem aus einem anderen Gastsystem heraus gestartet wird. Ebenfall neu in der Vorabversion ist die Unterstützung für Realteks PCIe-WLAN-Chips RTL8192DE und RTL8188DE.

Einen Überblick über die Neuerungen liefert das Kernel-Log auf heise open:

    Erste Vorabversion von Linux 3.1 (http://www.heise.de/open/artikel/Kernel-Log-Erste-Vorabversion-von-Linux-3-1-1319235.html)

Quelle : www.heise.de
Titel: Kernel-Log – Was 3.1 bringt (1): Netzwerk
Beitrag von: SiLæncer am 17 August, 2011, 12:15
Verbesserungen an allen wichtigen WLAN-Treibern und Optimierungen bei der Virtualisierung gehören zu den wichtigsten Neuerungen von Linux 3.1.

Eine Woche nach der Freigabe von Linux-3.1-rc1 legte Linus Torvalds in der Nacht von Sonntag auf Montag die zweite Vorabversion von Linux 3.1 nach. Mit ihr erhielt der Ende Mai auf "Sneaky Weasel" getaufte Kernel abermals einen neuen Namen und heißt jetzt "Wet Seal". Hintergründe zur Namenswahl liefert Torvalds nicht – vermutlich hat der Tauch-Lehrgang etwas damit zu tun, bei dem er als "Divemaster" dabei war.

In der Freigabe-Mail zur zweiten Vorabversion zeigt sich Torvalds erfreut, dass es nach Ende des Merge Window so ruhig gewesen sei. Bis zur Freigabe von Linux 3.1 nimmt er – von seltenen Ausnahmen abgesehen – nur mehr Korrekturen und kleine, ungefährliche Verbesserungen in den Hauptentwicklungszweig von Linux auf.

Das Kernel-Log kann daher bereits jetzt einen umfassenden Überblick über die wichtigsten Neuerungen der Ende September oder Anfang Oktober erwartete Linux-Version geben. Wie üblich werden sich die Artikel der Serie "Was 3.1 bringt" nach und nach den unterschiedlichen Funktionsbereichen des Kernels annehmen. Den Anfang der Mini-Serie macht die folgende Beschreibung der wichtigsten Änderungen am Netzwerk-Stack und an den zugehörigen Treibern für LAN- oder WLAN-Hardware. In den kommenden Wochen folgen Artikel zur Storage-Unterstützung, Dateisystemen, Architektur-Code, Infrastruktur sowie zu Treibern für sonstige Hardware.

WLAN-Treiber

Durch viele kleine und einige größere Änderungen wird Linux 3.1 eine verbesserte WLAN-Unterstützung bieten. So nahmen die Kernel-Entwickler den Treiber Rtl8192de auf (u. a. 1), der die PCIe-WLAN-Chips RTL8192DE und RTL8188DE von Realtek anspricht; schon bei Linux 3.0 und zwei seiner in den Monaten davor freigegebenen Vorgängern war jeweils ein von Realtek mitentwickelter WLAN-Treiber zum Kernel gestoßen. Diese und andere WLAN-Treiber erhielten zwischenzeitlich Verbesserungen – der Treiber Rtl8192cu etwa unterstützt ab Linux 3.1 nun weitere USB-WLAN-Module.

Der Ralink-Treiber Rt2800 spricht von nun an auch die "RT3572/RT3592/RT3592+Bluetooth combo card" an. Die Entwickler haben ferner die Unterstützung für die Ralink-Chipsätze der Serie Rt35xx ausgebaut, dadurch gilt der zuständige Code nun nicht mehr als "nicht funktionierend und nur für Tester und Entwickler gedacht".

Der Iwlagn-Treiber für Intels aktuelle, in vielen Core-Notebooks verbauten WLAN-Chipsätze beherrscht ab 3.1 WoWLAN (Wake on Wireless LAN). Der Treiber kennt nun zwei weitere Modul-Parameter: Über power_save lassen sich die standardmäßig deaktivierten Stromsparfunktionen ein- und ausschalten; über den Parameter power_level kann man die Nachhaltigkeit der Stromsparbemühungen über Werte von 1 bis 5 festlegen.

Der Atheros-Treiber ath9k unterstützt nun auch den Baustein AR9330 (1, 2). Der verbesserter Ath6kl-Treiber, der den gleichnamigen Staging-Treiber beerbt, hat die Aufnahme verpasst und soll bei Linux 3.2 folgen.

Broadcom-WLAN

Der Treiber B43 für WLAN-Chips von Broadcom unterstützt nun 802.11n-WLAN-Hardware, die Broadcom's Advanced Microcontroller Bus Architecture (AMBA) verwendet – etwa die Bausteine BCM43224 (PCI-ID 14e4:4353) und BCM43225 (14e4:4357). Maßgeblich vorangetrieben wurden die dafür nötigen Verbesserungen von Rafał Miłecki, der dafür von der Poznan University of Technology unterstützt wurde (1, 2).

Zusammen mit dem bei Linux 3.0 integrierten AMBA-Treiber Bcma spricht der schon lange zum Kernel gehörende B43-Treiber dadurch einige der Broadcom-Chips an, die zuvor schon der Treiber Brcmsmac unterstützte. Letzterer ist aus dem Brcm80211-Treiber hervorgegangen, den Broadcom im September 2010 veröffentlicht hat. Er liegt allerdings im Staging-Bereich, da er die Qualitätsansprüche der Kernel-Hacker nicht erfüllt – einige wenige Linux-Distributionen liefern ihn daher nicht mit.

Trotz der Verbesserungen für B43 arbeitet Broadcom weiter am Treiber Brcmsmac, damit er den Staging-Bereich verlassen kann. Normalerweise vermeiden die Kernel-Entwickler allerdings, zwei Treiber für ein und dieselbe Hardware im Kernel zu haben. Miłecki hat die Broadcom-Entwickler schon auf diesen Umstand hingewiesen – zu einer Klärung, welcher Treiber das Rennen machen soll, hat das jedoch nicht geführt, denn der Broadcom-Entwickler scheint auf den Hinweis nicht eingegangen zu sein. Da der B43-Treiber aber auch viele andere Broadcom-Chips unterstützt und schon zum WLAN-Subsystem gehört, ist er ein bisschen besser positioniert, auch wenn er einige Funktionen der von ihm angesprochenen WLAN-Chipsätze möglicherweise bislang nicht so gut unterstützt wie Brcmsmac.

LAN

Die bei 2.6.39 aufgenommene Unterstützung für Ipset erhielt eine Reihe von Verbesserungen, um die vom Firewall-Code konsultierten Tabellen mit Filter-Informationen flexibler und einfacher nutzen zu können. So lassen sich nun Adressen und Interface-Namen als Paar mit eigenem Namen übergeben, was für Egress- oder Ingress-Filterung interessant ist; der Kernel kann kann zudem als IP-Bereiche übergebene Adressen automatisch in die korrekten Subnetz-Definitionen konvertieren.

Der experimentelle und standardmäßig ausgeschaltete Zero-Copy-TX-Support für Macvtap und Vhost-net soll die Netzwerkperformance beim Virtualisieren verbessern, da es die Kopiervorgänge für Netzwerkpakete eliminiert, die KVM-Gastsysteme verlassen. Die Unterstützung in Vhost-Net ist allerdings als experimentell gekennzeichnet und muss über die Modul-Option experimental_zcopytx aktiviert werden.

Staccato

    An der Mesh-Impementation BATMAN-adv (Better Approach To Mobile Ad-Hoc Networking - Advanced) gab es eine Reihe von Änderungen, welche die Performance, das Bekanntmachen von Clients und die Roaming-Unterstützung verbessern sollen.
    Der WLAN-802.11-Funk-Simulator-Treiber Mac80211_hwsim bietet nun Schnittellen, über die sich Userspace-Programme wie Wmediumd um das Senden und Empfangen von Netzwerkpaketen kümmern können.
    Der Broadcom-NetXtreme-II-Treiber bnx2x beherrscht ab Linux 3.1 auch den "Warpcore" genannten Übertragungsmodus bei den Bausteine der Reihe 578xx.
    Zum Netzwerk-Code stößt ein Subsystem für Near Field Communication (NFC), das viele berührungslose Bezahlsysteme nutzen (Dokumentation, 1, 2, 3, 4).
    Der bei Linux 3.0 integrierte "Berkeley Packet Filter Just in Time Compiler" unterstützt jetzt auch PPC64-Systeme.
    Der Netzwerk-Stack bietet nun eine "fanout" genannte Funktion, die via AF_PACKET aufgefangene Pakete an verschiedene Sockets verteilt; das ist für Userland-Traffic-Analyse-Werkzeuge wie Suricata interessant (1, 2, 3).
    Einige weitere Änderungen am Netzwerk-Subsystem finden sich im nächsten Abschnitt und in den beiden Haupt-Git-Pull-Request von Subsystem-Verwalter David Miller (1, 2, 3).

Die kleinen Perlen

Viele kleinere, aber keineswegs unbedeutende Neuerungen finden sich in der folgenden Liste mit den englischen Commit-Überschriften der jeweiligen Änderung. Die Einträge verlinken genau wie viele der Verweise im vorangegangenen Text auf das Webfrontend des von Linus Torvalds gepflegten Git-Zweigs mit den "offiziellen" Kernel-Quellen auf Kernel.org. Der über diese Links angezeigten Commit-Kommentar und der darunter ausgegebene Patch liefern zahlreiche weitere Informationen zur jeweiligen Änderungen.

Vor jedem Link finden sich in eckigen Klammern einige Buchstaben und Zahlen. Ein "C" kennzeichnet Patches mit Änderungen an Kconfig-Dateien, welche die Konfigurationsoptionen samt der zugehörigen Hilfetexte enthalten, die bei der Kernel-Konfiguration über "make menuconfig" oder "make xconfig" angezeigt werden. Ein "D" steht bei Patches, die die Dokumentation verändern, die im Kernel-Zweig unterhalb von Documentation/ liegt. Ein "N" weist Änderungen aus, die eine neue Datei anlegen. Die Zahl vermittelt einen groben Eindruck zur Größe des Patches: eine "1" kennzeichnet Änderungen, die inklusive Kommentar zwischen 10 und 20 KByte groß sind, eine "2" für solche, die zwischen 20 und 30 KByte Umfang haben; Änderungen ohne Zahl sind kleiner als 10 KByte, Patches mit einer "9" hingegen 90 KByte oder größer.

LAN

    [    ] add pci-id for DGE-530T
    [   2] be2net: support multiple TX queues
    [   5] bnx2x: 57712 parity handling
    [    ] bnx2x: Add autogrEEEn support
    [   5] bnx2x: Add new MAC support for 578xx
    [   1] bnx2x: Add new PHY 54616s
    [    ] bnx2x: Add new phy BCM8722
    [   2] bnx2x: PFC support for 578xx
    [    ] bnx2x: Update date to 2011/06/13 and version to 1.70.00-0
    [    ] e1000e: Add Jumbo Frame support to 82583 devices
    [    ] igb: Add support of SerDes Forced mode for certain hardware
    [   1] ixgbe: add support for Dell CEM
    [    ] myri10ge: update version
    [C  4] myri_sbus: remove driver
    [C N4] net: add Faraday FTGMAC100 Gigabit Ethernet driver
    [ DN ] net/fec: add device tree probe support
    [   9] New 7.0 FW: bnx2x, cnic, bnx2i, bnx2fc
    [    ] qlcnic: add external loopback support
    [   1] qlcnic: multi protocol internal loopback support added.
    [    ] r8169: Add support for D-Link 530T rev C1 (Kernel Bug 38862)
    [    ] r8169: support RTL8111E-VL.
    [    ] skbuff: skb supports zero-copy buffers
    [C  1] skge: make support for old Genesis chips optional
    [C   ] skge: update version
    [    ] sky2: support for new Optima chipsets (EXPERIMENTAL)
    [    ] sky2: version 1.29

WLAN

    [    ] ath9k_htc: Add device ID for Sony UWA-BR100
    [C   ] b43: add an option to register BROKEN bcma driver
    [  N ] b43: add bus device abstraction layer
    [C   ] b43: add Kconfig option for compiling SSB driver
    [C N ] b43: HT-PHY: add place for writing HT PHY support
    [C N ] b43: LCN-PHY add place for new PHY support
    [    ] bcma: enable support for 14e4:4357 (BCM43225)
    [    ] iwlagn: add correct firmware name for 135 series
    [    ] iwlagn: add module parameter to disable stuck queue watchdog timer
    [   1] iwlagn: Enable/disable PS poll based on RSSI and BT coex traffic state
    [   2] iwlagn: rewrite HW crypto
    [    ] nl80211: advertise GTK rekey support, new triggers
    [    ] rt2800usb: Add new device ID for Belkin
    [    ] rt2x00: Add device ID for RT539F device.
    [    ] rt2x00: Add new rt73 buffalo USB id
    [    ] rt2x00: Add rt2870 device id for Dvico usb key
    [   2] wl12xx: Support routing FW logs to the host

Various

    [    ] ASIX: Add AX88772B USB ID
    [    ] Bluetooth: Add enable_le module parameter
    [    ] Bluetooth: Add LE SMP Cryptoolbox functions
    [    ] Bluetooth: Add simple SMP pairing negotiation
    [    ] Bluetooth: Add SMP confirmation checks methods
    [    ] Bluetooth: Add support for LE Start Encryption
    [    ] Bluetooth: Add support for Pairing features exchange
    [C   ] Bluetooth: Add support for using the crypto subsystem
    [  N ] Bluetooth: Implement the first SMP commands
    [    ] bonding: add min links parameter to 802.3ad
    [ D  ] bonding: document two undocumented options.
    [C N3] caif: Add CAIF HSI Link layer driver
    [    ] Disable router anycast address for /127 prefixes
    [   2] gianfar v5: implement nfc
    [    ] inetpeer: lower false sharing effect
    [ D 1] inetpeer: remove unused list
    [    ] net: add 802.1ad / 802.1ah / QinQ ethertypes
    [ DN ] net: Add documentation for netdev features handling
    [ DN2] net: add Documentation/networking/scaling.txt
    [    ] net: add external loopback test in ethtool self test
    [  N2] net: Compute protocol sequence numbers and fragment IDs using MD5.
    [ D  ] net: doc: fix compile warning of no format arguments in ifenslave.c
    [   1] netfilter: ipset: hash:net,iface fixed to handle overlapping nets behind different interfaces
    [   3] netfilter: ipset: options and flags support added to the kernel API
    [C N4] NFC: pn533: add NXP pn533 nfc device driver
    [    ] sctp: Add sysctl support for Auto-ASCONF.
    [    ] snmp: reduce percpu needs by 50%
    [ D  ] stmmac: improve and up-to-date the documentation
    [   1] tcp: RFC2988bis + taking RTT sample from 3WHS for the passive open side
    [ D  ] Update description of net.sctp.sctp_rmem and net.sctp.sctp_wmem tunables
    [ D  ] Update documented default values for various TCP/UDP tunables

Quelle und Links : http://www.heise.de/open/artikel/Kernel-Log-Was-3-1-bringt-1-Netzwerk-1323216.html
Titel: Linux: Neue Kernel mit Langzeit-Support
Beitrag von: SiLæncer am 29 August, 2011, 15:44
Nach längeren Diskussionen auf der Mailing-Liste der Linux-Kernel-Entwickler will Greg Kroah-Hartman in Zukunft jedes Jahr eine Kernel-Version zum Longterm-Kernel küren. Der soll dann über zwei Jahre mit Updates versorgt werden. Alle anderen Kernel sollen wie üblich lediglich bis kurz nach Erscheinen des Nachfolgers gepflegt werden. Als Longterm-Kernel will Kroah-Hartman Kernel-Versionen auswählen, die sich besonders gut bewährt haben oder die beispielsweise in wichtigen Linux-Distributionen eingesetzt werden.

Derzeit werden fünf Kernel-Versionen als Longterm-Kernel von verschiedenen Maintainern gepflegt: 2.6.27 und 2.6.32 bis 2.6.35. Greg Kroah-Hartmann ist für 2.6.32 verantwortlich, will dessen Pflege aber in einem halben Jahr einstellen.

Quelle : www.heise.de
Titel: Kernel-Log – Was 3.1 bringt (2): Storage und Dateisysteme
Beitrag von: SiLæncer am 06 September, 2011, 16:35
Der Software-RAID-Code erhält ein Bad-Block-Management für fehlerhafte Sektoren. Dm-Crypt kann SSDs nun über frei gewordene Speicherbereiche informieren. Das iSCSI-Target-Framework LIO wurde aufgebohrt. Das Ext3-Dateisystem arbeitet in den Default-Einstellungen jetzt langsamer, aber robuster.

Am Montagmorgen hat Linus Torvalds die fünfte Vorabversion von Linux 3.1 veröffentlicht. Diese Version erhält man derzeit nur via Github, da die Kernel.org-Infrastruktur nach dem Einbruch nur eingeschränkt arbeitet. Torvalds erwähnt in der Freigabe-Mail, es gäbe von der Entwicklungsfront nicht Spannendes zu berichten; dafür dürften aber auch die Wirrungen nach dem Einbruch bei Kernel.org mitverantwortlich sein, da sie den Patch-Fluss beeinträchtigen.

Das Kernel-Log nimmt die fortschreitende Entwicklung von Linux 3.1 zum Anlass, die Mini-Serie "Was 3.1 bringt" mit der Beschreibung der Neuerungen rund um Storage-Code und Dateisysteme fortzusetzen. Den Anfang dieser Artikel-Reihe hat eine Übersicht der Änderungen an Netzwerk-Treibern und -Infrastruktur gemacht; in den kommenden Wochen werden Artikel zur Architektur-Code, Infrastruktur und Treibern für andere Hardware folgen.

Dateisysteme

Genau wie das Ext4-Dateisystem nutzt in Zukunft auch Ext3 standardmäßig Schreibbarrieren – das wirkt sich negativ auf die Geschwindigkeit aus, steigert aber die Robustheit bei Abstürzen. Das Ext4-Dateisystem merkt sich bei Linux 3.1, welche ungenutzten Speicherbereiche es an den verwendenden Datenträger gemeldet hat, wenn es dazu durch Fstrim aufgefordert wurde. Bei einem späteren Aufruf von Fstrim braucht es dann nur noch die zwischenzeitlich freigegeben Bereiche zu melden, was das für SSDs und Speicherlösungen mit Thin Provisioning interessante Batched Discard beschleunigt.

Änderungen an den Locking-Mechanismen von Btrfs sollen die Geschwindigkeit des experimentellen Dateisystems erheblich steigern, wenn bei den Arbeitsanforderungen Leseoperationen überwiegen. Davon abgesehen gab es diesmal keine erwähnenswerten Änderungen an Btrfs, weil sich kurz vor dem Einsenden der Änderungen für Linux 3.1 Probleme gezeigt hatten, denen der leitende Btrfs-Entwickler erst nachspüren wollte.

Die Kernel-Entwickler haben das bei Linux 2.6.39 aufgenommene Pstore ("Platform Persistent Storage") ausgebaut, um Daten zur Analyse von Abstürzen in den von UEFI genutzten nichtflüchtigen Speicherbereichen sichern zu können (1, 2); einige Hintergründe dazu erläutert EFI-Spezialist Matthew Garrett in einem Blog-Eintrag.

iSCSI-Target

Torvalds nahm einen 660 KByte großen Patch auf, der das bei 2.6.38 integrierte iSCSI-Target-Framework LIO (linux-iscsi.org) auf den Stand der LIO-Version 4.1 hebt (1, 2). Der bringt unter anderem Unterstützung für die Authentifizierung per CHAP mit. Dem SCSI-Subsystem-Betreuer gefällt dieser Ansatz nicht; er wollte diese Aufgabe lieber an ein Userspace-Programm delegieren. Torvalds merkte daraufhin einige Nachteile von Userspace-Lösungen an und entlockte dem SCSI-Maintainer weitere Argumente gegen die Kernel-Integration. Die überzeugten den Linux-Vater aber offensichtlich nicht, da er die LIO-4.1-Patches wenig später in den Hauptentwicklungszweig integrierte.

Software-RAID und Device Mapper

Der für Software-RAID zuständige Kernel-Code bietet nun Bad-Block-Management bei RAIDs der Level 1, 4, 5 und 6, um defekte Plattensektoren der für den Verbund genutzten Datenträger zu erkennen und zu meiden (u. a. 1, 2, 3). Diese Funktion arbeitetet nicht mit MD-Arrays, die Version 0.90 der MD-Metadaten verwenden. Ferner ist die noch in Entwicklung befindlichen Version 3.3 des Userland-Werkzeugs Mdadm erforderlich; einige Hinweise dazu liefert MD-Maintainer Neil Brown in einer Mail und beim Patch-Review für Linux 3.1.

Das bei der Verschlüsselung von Laufwerken genutzte Dm-Crypt kann ab 3.1 Discard-Kommandos an das darunter liegende Medium weiterleiten. Das ist etwa für SSDs interessant, damit diese per ATA Trim von frei gewordenen Bereichen erfahren, was Geschwindigkeit und Lebensdauer steigert. Diese Funktion ist allerdings aus Sicherheitsgründen deaktiviert, damit Angreifer keine Rückschlüsse aus dem Grad der Datenträgerbelegung ziehen können. Der Device Mapper kann nun auch auf die RAID-1-Funktionen des MD-Codes zurückgreifen und unterstützt das Speichern der Metadaten auf einen eigenen Datenträger – solche "Metadata Devices" sollen Fehlerbehandlung und Integritätsprüfung verbessern.

Staccato

Dateisysteme

    Der HFS-Plus-Code unterstützt jetzt Datenträger mit mehr als 2 TByte Speicherkapazität.
    Wie Windows-Versionen mit NT-Unterbau kann Linux ab 3.1 bis zu vier Gigabyte große Dateien auf FAT16-Laufwerken abspeichern, sofern diese 64 KByte große Cluster nutzen.
    Über die neuen Funktionen SEEK_HOLE und SEEK_DATA des Virtual File System Layer (VFS) lassen sich größere Speicherbereiche in Dateien finden, die lediglich Nullen enthalten.
    Ecryptfs unterstützt jetzt "Encrypted Keys".
    Der Code für Parallel NFS (pnfs) beherrscht nun IPv6.

Storage

    Über das neue Device /dev/loop-control können die neuesten Versionen von Losetup dynamisch Loop-Devices erzeugen oder entfernen; das bislang übliche Vorgeben einer bestimmten Zahl von Loop-Devices über Kernel/Modul-Parameter kann daher entfallen.
    Der Treiber Bfa unterstützt nun den Brocade-1860 Fabric Adapter.
    Im Artikel "Avoiding the OS abstraction trap" erläutert Intel-Entwickler Dan J. Williams auf LWN.net einige der Schwierigkeiten, mit denen er und seine Kollegen bei der Arbeit am Isci-Treiber für den SAS-Controller in Intels Server- und Workstation-Chipsatz C600 zu kämpfen hatten. Dieser Treiber stieß bei Linux 3.0 zum Kernel, nachdem ihn die Intel-Entwickler erheblich umgebaut hatten. Das war nötig geworden, weil Teile des Treibers ursprünglich betriebssystemunabhängig konzipiert worden waren, er sich dadurch aber nicht sonderlich gut in Linux einfügte – erfahrene SCSI-Entwickler hatten die Aufnahme daher anfangs abgelehnt.

Die kleinen Perlen: Dateisysteme

Viele kleinere, aber keineswegs unbedeutende Neuerungen finden sich in der folgenden Liste mit den englischen Commit-Überschriften der jeweiligen Änderung. Die Einträge verlinken genau wie viele der Verweise im vorangegangenen Text auf das Webfrontend des von Linus Torvalds gepflegten Git-Zweigs mit den offiziellen Kernel-Quellen auf Kernel.org. Der über diese Links angezeigten Commit-Kommentar und der darunter ausgegebene Patch liefern zahlreiche weitere Informationen zur jeweiligen Änderungen.

Vor jedem Link finden sich in eckigen Klammern einige Buchstaben und Zahlen. Ein "C" kennzeichnet Patches mit Änderungen an Kconfig-Dateien, welche die Konfigurationsoptionen samt der zugehörigen Hilfetexte enthalten, die bei der Kernel-Konfiguration über "make menuconfig" oder "make xconfig" angezeigt werden. Ein "D" steht bei Patches, die die Dokumentation verändern, die im Kernel-Zweig unterhalb von Documentation/ liegt. Ein "N" weist Änderungen aus, die eine neue Datei anlegen. Die Zahl vermittelt einen groben Eindruck zur Größe des Patches: eine "1" kennzeichnet Änderungen, die inklusive Kommentar zwischen 10 und 20 KByte groß sind, eine "2" für solche, die zwischen 20 und 30 KByte Umfang haben; Änderungen ohne Zahl sind kleiner als 10 KByte, Patches mit einer "9" hingegen 90 KByte oder größer.

    [    ] Btrfs: load the key from the dir item in readdir into a fake dentry
    [    ] dlm: show addresses in configfs
    [   2] dlm: use workqueue for callbacks
    [   3] exofs: ios: Move to a per inode components & device-table
    [  N4] exofs: Rename raid engine from exofs/ios.c => ore
    [  N3] ext3: Add fixed tracepoints
    [ D  ] ext3/ext4 Documentation: remove bh/nobh since it has been deprecated
    [    ] ext4: Add new ext4 trim tracepoints
    [    ] ext4: add tracepoint for ext4_journal_start
    [    ] ext4: make the preallocation size be a multiple of stripe size
    [ D 6] fs: push i_mutex and filemap_write_and_wait down into ->fsync() handlers
    [ D 3] fs: take the ACL checks to common code
    [  N1] jbd: Add fixed tracepoints
    [ D 1] locks: rename lock-manager ops
    [ D  ] nfsd4: update nfsv4.1 implementation notes
    [CD 4] nfsd: Remove deprecated nfsctl system call and related code.
    [   1] NFS: Parse and store all multipath DS addresses
    [C   ] ore: Make ore its own module
    [ D  ] ->permission() sanitizing: document API changes
    [ D 1] ->permission() sanitizing: don't pass flags to ->check_acl()
    [ D 2] ->permission() sanitizing: don't pass flags to ->permission()
    [C N1] pnfsblock: add blocklayout Kconfig option, Makefile, and stubs
    [    ] pstore: Extend API for more flexibility in new backends
    [ D  ] Squashfs: Update documentation for XZ and add squashfs-tools devel tree
    [ D  ] superblock: add filesystem shrinker operations
    [  N1] superblock: introduce per-sb cache shrinker infrastructure
    [C   ] tmpfs: expand "help" to explain value of TMPFS_POSIX_ACL
    [ D  ] UBIFS: lessen amount of debugging check types
    [ D 1] UBIFS: switch self-check knobs to debugfs
    [ D  ] vfs: increase shrinker batch size
    [    ] vfs: optimize inode cache access patterns
    [    ] vfs: show O_CLOEXE bit properly in /proc/<pid>/fdinfo/<fd> files
    [    ] xfs: improve sync behaviour in the face of aggressive dirtying
    [    ] xfs: optimize the negative xattr caching

Die kleinen Perlen: Storage

Block Core

    [    ] blktrace: add FLUSH/FUA support
    [C N1] block: add bsg helper library
    [    ] block: fix flush machinery for stacking drivers with differring flush flags
    [ D  ] block: strict rq_affinity
    [    ] CFQ: add think time check for group
    [    ] CFQ: add think time check for service tree
    [ D  ] cfq-iosched: Add documentation about idling

Device Mapper

    [ D  ] dm flakey: add corrupt_bio_byte feature
    [ D  ] dm flakey: add drop_writes
    [ D  ] dm raid: add region_size parameter
    [ D  ] dm raid: add write_mostly parameter
    [ D  ] dm raid: improve table parameters documentation
    [    ] dm snapshot: skip reading origin when overwriting complete chunk
    [    ] dm table: set flush capability based on underlying devices

MD

    [    ] md/raid10: avoid writing to known bad blocks on known bad drives.
    [    ] md/raid1: avoid writing to known-bad blocks on known-bad drives.
    [    ] md/raid1: improve handling of read failure during recovery.
    [    ] md/raid5: use bad-block log to improve handling of uncorrectable read errors.
    [ D  ] md: update documentation for md/rdev/state sysfs interface

MFD/MMC

    [C N2] mfd: Add AAT2870 mfd driver
    [    ] mfd: Add devices for WM831x clocking module
    [    ] mfd: Add tps65921 support from twl-core
    [    ] mfd: Add tunnelcreek watchdog to lpc_sch devices
    [    ] mfd: Add WM831x clock control register definitions
    [   1] mfd: Support multiple active WM831x AUXADC conversions
    [C N2] mfd: tps65912: Add new mfd device
    [C N3] mfd: twl6040: Add initial support
    [   1] mmc: block: improve error recovery from command channel errors
    [ DN ] mmc: documentation of mmc non-blocking request usage and design.
    [C   ] mmc: kconfig: remove EXPERIMENTAL from the DMA selection of atmel-mci
    [C  1] mmc: sdhci: change sdhci-pltfm into a module
    [ DN ] mmc: sdhci-esdhc-imx: add device tree probe support


SCSI

    [    ] cnic, bnx2i: Add support for new devices - 57800, 57810, and 57840
    [  N3] SCSI: bfa: Add BSG interface to support ELS, CT and vendor commands.
    [   2] SCSI: bfa: Added Fabric Assigned Address(FAA) support
    [   5] SCSI: bfa: Added HBA diagnostics support.
    [   2] SCSI: bfa: Added support for CEE info and stats query.
    [   3] SCSI: bfa: Added support for flash configuration
    [   1] SCSI: bfa: Added support to collect and reset fcport stats
    [   1] SCSI: bfa: Added support to configure lunmasking
    [    ] SCSI: bfa: Added support to configure QOS and collect stats.
    [   2] SCSI: bfa: Added support to obtain SFP info.
    [   2] SCSI: bfa: Added support to query PHY.
    [   3] SCSI: bfa: Add FC-transport based Asynchronous Event Notification support.
    [    ] SCSI: bfa: Add support for IO profiling.
    [    ] SCSI: bfa: Add support to collect / reset fabric stats.
    [    ] SCSI: bfa: Add support to configure and query flash boot partition
    [    ] SCSI: bfa: Add support to configure trunking on Brocade adapter ports.
    [   1] SCSI: bfa: Add support to store driver configuration in flash.
    [   1] SCSI: bfa: Brocade-1860 Fabric Adapter 16Gbs support and flash controller fixes.
    [   4] SCSI: bfa: Brocade-1860 Fabric Adapter vHBA support.
    [   1] SCSI: bfa: Changes to support vport disable and enable operations.
    [    ] SCSI: bfa: Driver and BSG enhancements.
    [   2] SCSI: bfa: Extend BSG to support more user commands
    [   2] SCSI: bfa: FC credit recovery and misc bug fixes.
    [   3] SCSI: bfa: Introduced initiator based lun masking feature.
    [    ] SCSI: bfa: Update the driver version to 3.0.2.0
    [    ] SCSI: bfa: Update the driver version to 3.0.2.1
    [    ] SCSI: bfa: Update the driver version to 3.0.2.2
    [    ] SCSI: bnx2fc: Bumped version to 1.0.2
    [   6] SCSI: bnx2fc: Introduce interface structure for each vlan interface
    [   1] SCSI: bnx2fc: REC/SRR link service request and response handling
    [    ] SCSI: bnx2fc: Update copyright and bump version to 1.0.4
    [    ] SCSI: bnx2i: Updated copyright and bump version
    [    ] SCSI: dh_rdac: Associate HBA and storage in rdac_controller to support partitions in storage
    [   2] SCSI: lpfc 8.3.25: Add FCF priority failover functionality
    [    ] SCSI: lpfc 8.3.25: Change driver version to 8.3.25
    [   7] SCSI: lpfc 8.3.25: Enhancements to Debug infrastructure
    [ D  ] SCSI: megaraid_sas Version to 5.40-rc1 and Changelog update
    [    ] SCSI: mpt2sas: Bump version 09.100.00.00
    [    ] SCSI: mpt2sas: Set max_sector count from module parameter
    [   1] SCSI: mvsas: add support for 94xx phy tuning and multiple revisions
    [C   ] SCSI: mvsas: Add support for interrupt tasklet
    [   1] SCSI: qla2xxx: Basic infrastructure for dynamic logging.
    [   9] SCSI: qla2xxx: Code changes to support new dynamic logging infrastructure.

Various

    [    ] ahci: Enable SB600 64bit DMA on Asus M3A
    [    ] ahci: RAID-mode SATA patch for Intel Panther Point DeviceIDs
    [C N ] ata: Add iMX pata support
    [   1] IB/qib: Defer HCA error events to tasklet
    [    ] iscsi-target: Implement iSCSI target IPv6 address printing.
    [   9] target: Core cleanups from AGrover (round 1)
    [C  9] target: Follow up core updates from AGrover and HCH (round 4)
    [    ] target: Implement Block Device Characteristics VPD page
    [   4] target: Make all control CDBs scatter-gather
    [   9] target: More core cleanups from AGrover (round 2)
    [   9] target: Updates from AGrover and HCH (round 3)

Quelle : http://www.heise.de/open/artikel/Kernel-Log-Was-3-1-bringt-2-Storage-und-Dateisysteme-1337619.html
Titel: Kernel-Log: x32-ABI umgeht Nachteile des 64-Bit-Betriebs
Beitrag von: SiLæncer am 13 September, 2011, 12:51
Das x32-ABI will die Vorteile von 64-Bit-x86-Prozessoren nutzen, aber den mit dem 64-Bit-Betrieb einhergehenden Overhead vermeiden. Die Kernel-Entwicklung wird derzeit durch Wartungsarbeiten bei Kernel.org gestört. Einige Kernel-Hacker stellen mit einem an Windows 3.1 erinnernden Linux-Logo und einem Kernel-Modul zum Rickrolling ihren Humor unter Beweis.

Die Intel-Entwickler H. Peter Anvin und H.J. Lu haben auf der LKML eine Diskussion zu System-Call-Nummern für ein x32-ABI (Application Binary Interface) angestoßen. Ein für dieses ABI kompiliertes Programm läuft im 64-Bit-Modus von x86-64-Prozessoren, nutzt aber nur 32-Bit große Pointer und Datenfelder. Das soll den mit dem 64-Bit-Betrieb einhergehenden Overhead vermeiden, denn viele verbreitete Anwendungen brauchen keine 64-Bit-Pointer und -Datenfelder. Eine x32-ABI-Anwendung kann so zwar nur 4 GByte Speicher nutzen, allerdings den kompletten x86-64-Registersatz sowie Techniken wie das SYSCALL64-Interface ansprechen – die stehen im 32-Bit-Kompatibilitätsmodus nicht zur Verfügung, den x86-64-Distributionen heutzutage zum Ausführen von 32-Bit-Anwendungen nutzen.

Das x32-ABI verspricht so die Vorteile von x86-64-/x64-Prozessoren zu nutzen, umgeht aber einige Nachteile des 64-Bit-Betriebs. Dadurch sollen die Anwendungen flotter arbeiten, wie die Homepage zum x32-ABI verspricht. Es gibt aber nur eine Handvoll Messwerte; zudem nutzt die GCC-Unterstützung für das x32-ABI bisher einige Optimierungsmöglichkeiten nicht, was Vergleiche der Ergebnisse erschwert.

Linus Torvalds war mit einigen Aspekten der kernelseitigen Unterstützung von x32 allerdings unzufrieden; einige Hintergründe dazu erläutert LWN.net in dem Artikel "The x32 system call ABI". Für einige der dort angesprochene Probleme scheinen sich aber Lösungen abzuzeichnen.

Die Homepage von x32-ABI verweist auf einige Pakete, die ein aktuelles Fedora um Unterstützung für das neue ABI erweitern -- aufgrund von Wartungsarbeiten bei Kernel.org sind die aber derzeit nicht erreichbar. Inwieweit gängige Linux-Distributionen für x86-64/x64-Systeme das x32-ABI von Haus aus unterstützen, muss die Zeit zeigen. Das größte Interesse an diesem Modus dürften x86-Embedded-Entwickler haben, denn für sie werden 64-Bit-Kernel immer interessanter; gleichzeitig wollen sie den 64-Bit-Overhead möglichst vermeiden, weil die x86-Embedded-CPUs schwachbrüstiger sind als die CPUs heutiger Desktop-PCs und Notebooks.

Entwicklungsstatus

Bereits Ende August hat Greg Kroah-Hartman wie erwartet die Stable- und Longterm-Kernel 3.0.4, 2.6.33.19 und 2.6.32.46 freigegeben. In der Freigabe-Mail zum 33er-Kernel betonte er, diese Kernel-Serie hauptsächlich für die Entwickler des RT-Zweigs zu pflegen. Deren Echtzeit-Kernel basiere derzeit auf 2.6.33, solle aber bald auf Linux 3.0 aufsetzen; Kroah-Hartman deutet an, dann die Pflege der 33er-Serie einzustellen.

Anders als erwartet veröffentlichte Linus Torvalds an diesem Montag keine neue Vorabversion der nächsten Kernel-Version des Hauptentwicklungszweigs . Ohnehin ist die Kernel-Entwicklung nach dem Einbruch bei Kernel.org etwas verlangsamt. Anfangs hatten die Server die dort vorgehaltenen Daten noch ausgeliefert; seit Mitte letzter Woche zeigt Kernel.org allerdings nur noch den Hinweis, es seien Wartungsarbeiten im Gange. Über Kernel.org erreichbare Dinge wie die Fehlerdatenbank, die Wikis und andere Angebote sind daher derzeit nicht verfügbar, was die Entwicklung des Kernels verlangsamt. Zwischenzeitlich gab es auch Schwierigkeiten mit dem DNS, durch die auch Mailinglisten wie die LKML einige Stunden nicht funktionierten.

Mails auf der LKML zeigen, dass Torvalds jetzt zudem genauer darüber nachdenkt, von wo er Änderungen bezieht, die er in den Hauptentwicklungszweig einpflegt. Er betonte in dem Zusammenhang, bestehende Arbeitsweisen nach dem Einbruch bei Kernel.org überdenken zu wollen. Er setze aber viel Vertrauen in persönliche Beziehungen – oft mehr als in technische Lösungen. Schon mit einigen amüsant geschriebenen Hinweisen in der Freigabe-Mail zum Linux 3.1-rc5 hatte Torvalds deutlich zu machen versucht, Anwender sollten nicht jeder Quelle trauen, die Linux-Quellcode oder Patches anbietet.

Kernel-Log-Staccato

Kernel

    Christoph Hellwig hat das "XFS status update for August 2011" veröffentlicht.

    Linus Torvalds hat schon Witze gemacht, er wolle den Kernel 3.11 "Linux for Workgroups" nennen. In ähnlichen Bahnen denkt offenbar auch Darrick J. Wong, denn er schlug am Wochenende ein neues Logo für Linux 3.1 vor, das an jenes von Windows 3.1 erinnert.

    In die Kategorie "amüsant" fällt auch das nicht sonderlich sauber programmierte Kernel-Modul zum Rickrolling, das zudem vermutlich Sicherheitsprobleme hat,

    RCU-Maintainer Paul E. Mc Kenney hat das von ihm vorangetriebene Buch über paralleles Programmieren aktualisiert.

Unterstützung für Grafikhardware

    In einer vierteiligen Blog-Serie (1, 2, 3, 4) beschreibt X-Entwickler Peter Hutterer die Neuerungen der in Vorbereitung befindlichen X Input Extension version (XI) 2.1. Die Multitouch Protocol Specification ist dort nicht enthalten; sie soll bei XI 2.2 folgen.

    Hutterer hat zudem die Version 1.5 des Touchpad-Treibers Synaptics veröffentlicht. In einem Blog-Eintrag erläutert er ferner, wie man Synaptics die Scroll-Richtung ändert, damit das Scrollen ähnlich funktioniert wie beim von MacOS X bekannten "Natural scrolling".

    Martin Peres sucht Tester für Patches, durch die der Nouveau-Treiber die Lüfterregelung von GeForce-Grafikkarten aktivieren kann, die den Lüfter per PWM regeln. Fehlende Lüfterregelung ist eines der größten Mankos des Open-Source-Treibers für Grafikhardware von Nvidia. Peres hat auch angedeutet, an Verbesserungen für die Stromsparfunktionen von Nouveau zu arbeiten.

    Parallel zur Arbeit an einer neuen, mit der Nummer "285" beginnenden Treibergeneration hat Nvidia kürzlich noch den Treiber 275.28 für x86-32/x86-32/ix86 - und x86-64/x64-Systeme veröffentlicht. Seine wichtigste Neuerung ist die Unterstützung für den kürzlich freigegeben X-Server 1.11.

Kernel-Umland ("Plumbing layer"), Userland-Treiber, Entwicklertools, ...

    Johannes Berg hat die Version 3.1 des Nl80211-Konfigurationswerkzeugs Iw freigegeben.

    Die Git-Entwickler führen eine Umfrage durch, um mehr über Git-Nutzer und Einsatzgebiete des Quellcodeveraltungssystems zu erfahren; eine Webseite, die die Hintergründe erläutert, liegt allerdings in einem derzeit nicht erreichbaren Kernel.org-Wiki.

    Karel Zak hat die Version 2.20 der Werkzeugsammlung util-linux veröffentlicht. Sie enthält unter anderem ein komplett neue geschriebenes dmesg, das Inhalte filtert oder Warn-Level-Nummern in verständliche Bezeichnungen übersetzt. Das Programm mountpoint ist neu dabei und lsblk liefert zusätzliche Informationen.

LKML-Diskussionen

    Kent Overstreet hat eine neue Version von Bcache zur Diskussion gestellt. Ähnlich wie das von Facebook-Entwicklern stammende Flashcache kann es eine SSD als Cache-Speicher für einen langsameren Datenträger einbinden.

    Luis R. Rodriguez teilt einige der Erfahrungen, die er bei der Arbeit an Compat-Wireless gemacht hat, mit dem sich die Treiber neuerer Kernel bei älteren Linux-Versionen nutzen lassen.

    Microsoft-Entwickler K. Y. Srinivasan und Greg Kroah-Hartman diskutierten kürzlich, welche Änderungen noch an den Hyper-V-Treibern nötig sind, damit sie den Staging-Bereich verlassen können.

Quelle : http://www.heise.de/open/artikel/Kernel-Log-x32-ABI-umgeht-Nachteile-des-64-Bit-Betriebs-1341264.html
Titel: Kernel-Log – Was 3.1 bringt (3): Architektur, Infrastruktur, Virtualisierung
Beitrag von: SiLæncer am 18 September, 2011, 09:17
Linux 3.1 enthält alles Nötige zum Weiterreichen von PCI-Geräten an Xen-Gäste; KVM bietet rudimentäre Unterstützung für Nested Virtualization auf Intel-CPUs. Unter den unterstützten CPU-Plattformen ist nun auch die Open-Source-Prozessor-Architektur OpenRISC.

In der Nacht von Montag auf Dienstag hat Linus Torvalds die sechste Vorabversion von Linux 3.1 bei Github gekennzeichnet; aufgrund von Mail-Problemen erreichte die Ankündigung des RC6 die LKML erst am Mittwoch. Torvalds erwähnt dort, es habe nur etwas mehr als hundert Änderungen gegeben und die Entwicklung sei ziemlich ruhig gewesen. Diese Ruhe dürfte ein Nebeneffekt der Wartungsarbeiten sein, der der Einbruch bei Kernel.org erzwungen hat: Wegen ihnen sie müssen die Kernel-Entwickler ihre Arbeitsweisen anpassen.

Das Kernel-Log nimmt das Fortschreiten der Linux-3.1-Entwicklung zum Anlass, die Mini-Serie "Was 3.1 bringt" mit der Beschreibung der Neuerungen rund um Architektur, Infrastruktur und Virtualisierung fortzusetzen. Den Anfang dieser Artikel-Reihe hat eine Übersicht der Änderungen im Netzwerkbereich gemacht, bevor es mit Neuerungen bei Storage und Dateisystemen weiter ging. Den Abschluss der Reihe wird in Kürze ein Artikel zu Treibern bilden.

Virtualisieren

Nachdem Linux 3.0 die letzten essenziellen Komponenten zur Zusammenarbeit mit dem Xen-Hypervisor als Dom0-System erhielt, folgt mit Version 3.1 eine Reihe optionaler Funktionen. So kann der Kernel nun die Kontrolle des VGA-Textmodus vom Xen-Hypervisor erhalten, damit der Dom0-Kernel auch Bildschirmausgaben tätigen kann. Dank Aufnahme des Xen-PCI-Backend kann der Kernel PCI/PCIe-Geräte an Xen-Gäste durchreichen (u. a. 1, 2); neu ist auch SR-IOV-Unterstützung für paravirtualisierte Gäste. Durch den neuen Hotplug-Support im Xen-Balloon-Treiber lässt sich die einem Xen-Gast zugeteilte Speichermenge nun einfacher zur Laufzeit anpassen; durch ausgebaute Xen-Unterstützung für Transcendent Memory beherrscht der Kernel jetzt "self-ballooning" und "frontswap-selfshrinking" (u. a. 1, 2).

KVM bietet jetzt grundlegende Funktionen, um auf Intel-Prozessoren Gastsysteme aus einem anderen Gastsystem heraus zu starten (Nested Virtualization) (u. a. 1, 2). Zudem können KVM-Gäste die CPU-Funktion SMEP (Supervisory Mode Execute Protection) nutzen, eine der Neuerungen in Intels nächster Prozessorgeneration Ivy Bridge. Der experimentelle und standardmäßig ausgeschaltete Zero-Copy-RX-Support für Macvtap und Vhost-net sollte die Netzwerkperformance beim Virtualisieren verbessern, da sie den Verwaltungs-Overhead beim Austausch oder Weiterleiten von Daten via Netzwerk reduziert. Ferner gab es einige als "Steal Time Support" entwickelte Umbauten am Zeitgeber-Code von KVM (u. a. 1, 2); neu ist auch die Unterstützung, um KVM auf 64-bit-Book-3S-CPUs wie dem POWER7 im Hypervisor Mode einzusetzen.

Zur Aufnahme in das Tools-Verzeichnis war das im Frühjahr vorgestellte "Native KVM Tool" vorgeschlagen, das ähnlich wie Qemu-KVM die Emulation einiger Hardware-Komponenten für Gastsysteme übernimmt. Nachdem einige Kernel-Entwickler die Aufnahme in Frage gestellt haben, ließ Torvalds es in diesem Merge Window außen vor. Einer der Kritiker hat in Folge der Diskussion ein Skript veröffentlicht, um ähnlich wie mit dem Native KVM Tool schnell einen selbst gebauten Kernel testen zu können.

Infrastruktur

Durch eine Reihe von Änderungen am Writeback-Code versucht der Kernel nun, die Menge der weggeschriebenen Daten dynamisch an sie Schreibrate des Datenträgers anzupassen, um das System gut auszulasten, aber nicht zu überlasten (u. a. 1, 2). Etwas anderes arbeitende Vorläufer dieser Patches hatte LWN.net vor einem Jahr im Artikel "Dynamic writeback throttling" beschrieben.

Einige Umbauarbeiten am Slowpath von SLUB sollen die Performance dieser kleine Speicherhäppchen verteilenden Funktion verbessern (u. a. 1, 2, 3). In manchen Bereichen liefert die ältere SLUB-Alternative SLAB aber weiterhin bessere Performance; um das Manko zu reduzieren oder gar zu beseitigen sind weitere Optimierungen angedacht.

Zusammen mit einem in Linux 3.1 integrierten Patch kann das Programm Uname26 den Kernel anweisen, einer Software Versionsnummern vorzuspielen, die mit "2.6." beginnen. Das überredet manche Programme zur Mitarbeite, denen die zweistelligen 3.x-Versionsnummern aktueller Kernel Probleme bereiten.

Architektur

Durch einige Umbauarbeiten lässt sich die vsyscall-Emulation nun über einen Kernel-Parameter beeinflussen, um Kompatibilitätsprobleme mit Analyse-Software wie DynamoRIO oder Pin zu umgehen. Linux 3.1 wird erstmals die OpenRISC-Architektur unterstützen (u. a. 1; weitere Änderungen bei den "kleinen Perlen" unten). Bei ihr handelt es sich um eine ursprünglich im Rahmen von Opencores.org und nun vorübergehend im Umfeld des Projekts OpenRISC.net entwickelte Open-Source-Prozessor-Architektur mit RISC-Befehlssatz.

Der Sparc-Code unterstützt nun auch Prozessoren der Baureihe UltraSPARC-T3 (u. a. 1, 2). Durch zahlreiche Umbauten am ARM-Code und neue Arbeitsweisen versuchen die für den ARM-Code im Kernel Zuständigen, verschiedene Probleme auszuräumen, die Torvalds vor einigen Monaten sehr deutlich angesprochen hatte. Entwickler, die Unterstützung für neue Plattformen oder andere größere Änderungen einbringen wollen, müssen sich dadurch erhöhten Qualitätsanforderungen stellen. Dennoch gab es allerlei Neuerungen im ARM-Bereich; etwa Unterstützung für die SOCs Prima2 und Zynq sowie neue Omap- und S3C-Plattformen von TI und Samsung.
Power-Management

Der Power-Management-Code bietet nun die derzeit primär für Embedded-Plattformen interessanten Power Domains (u. a. 1, 2).Das Tools-Verzeichnis mit Kernel-naher Userland-Software enthält ab Linux 3.1 das Diagnose-Werkzeug Cpupower. Es beerbt die Cpufrequtils und liefert Informationen zur Nutzung von Stromspar- und Übertaktungsfunktionen moderner Prozessoren – etwa ob Intel-Prozessoren per TurboBoost auf die höchste Taktfrequenz hochschalten, wenn nur einer oder wenige Prozessorkerne Arbeit haben.

Die kleinen Perlen: Infrastruktur

Viele kleinere, aber keineswegs unbedeutende Neuerungen finden sich in der folgenden Liste mit den englischen Commit-Überschriften der jeweiligen Änderung. Die Einträge verlinken genau wie viele der Verweise im vorangegangenen Text auf das Webfrontend des von Linus Torvalds gepflegten Git-Zweigs mit den "offiziellen" Kernel-Quellen, der aufgrund des Einbruchs in kernel.org derzeit Github gehostet ist. Der über diese Links angezeigten Commit-Kommentar und der darunter ausgegebene Patch liefern zahlreiche weitere Informationen zur jeweiligen Änderungen.

Vor jedem Link finden sich in eckigen Klammern einige Buchstaben und Zahlen. Ein "C" kennzeichnet Patches mit Änderungen an Kconfig-Dateien, welche die Konfigurationsoptionen samt der zugehörigen Hilfetexte enthalten, die bei der Kernel-Konfiguration über "make menuconfig" oder "make xconfig" angezeigt werden. Ein "D" steht bei Patches, die die Dokumentation verändern, die im Kernel-Zweig unterhalb von Documentation/ liegt. Ein "N" weist Änderungen aus, die eine neue Datei anlegen. Die Zahl vermittelt einen groben Eindruck zur Größe des Patches: eine "1" kennzeichnet Änderungen, die inklusive Kommentar zwischen 10 und 20 KByte groß sind, eine "2" für solche, die zwischen 20 und 30 KByte Umfang haben; Änderungen ohne Zahl sind kleiner als 10 KByte, Patches mit einer "9" hingegen 90 KByte oder größer.

mehr ... (http://www.heise.de/open/artikel/Kernel-Log-Was-3-1-bringt-3-Architektur-Infrastruktur-Virtualisierung-1344563.html?artikelseite=3)

Quelle : http://www.heise.de/open/
Titel: Kernel-Log – Was 3.1 bringt (4): Treiber
Beitrag von: SiLæncer am 22 September, 2011, 20:00
Linux 3.1 bringt alles Nötige zur Nutzung der 3D-Beschleunigung einiger aktueller GeForce-Grafikchips mit. Der Intel-Grafiktreiber nutzt eine wichtige Stromspartechnik immer noch nicht. Die Creative Sound Blaster Titanium HD wird nun unterstützt.

In der Nacht von Mittwoch auf Donnerstag hat Linus Torvalds die siebte Vorabversion von Linux 3.1 fertig gestellt. In der Freigabe-Mail zum RC7 und einem Beitrag bei Google+ deutet er an, 3.1 sei bald reif zur Veröffentlichung. Torvalds hält es aber nicht für sinnvoll, das auf die Freigabe von Linux 3.1 folgende Merge Window von Linux 3.2 ohne Kernel.org stemmen zu wollen – die Server sind seit mittlerweile zwei Wochen nicht erreichbar, weil sie nach einem Einbruch gerade geprüft oder neu aufgesetzt werden. Torvalds erwähnt zudem, Anfang Oktober Urlaub zu machen. Offenbar will er Linux 3.1 erst danach freigeben, wodurch sich das Merge Window mit dem diesjährigen Kernel Summit überlappen würde. Der findet von 23. bis 25. Oktober statt; eine Veröffentlichung von Linux 3.1 vor dem 9. Oktober scheint damit derzeit unwahrscheinlich.

Aufgrund der näher rückenden Fertigstellung will das Kernel-Log die Serie "Was 3.1 bringt" mit der Beschreibung der Neuerungen rund um die Hardware-Unterstützung von Linux abschließen. Den Anfang dieser Artikel-Reihe hat eine Übersicht der Änderungen an Netzwerk-Treibern und -Infrastruktur gemacht; es folgte ein Artikel zu Neuerungen bei Storage-Code und Dateisystemen und einer zu Architektur, Infrastruktur und Virtualisierung.

Grafiktreiber

Der Nouveau-DRM/KMS-Treiber in Linux 3.1 wird eine "fuc" genannten Firmware für Fermi-Grafikchips selbst erzeugen können. Mit ihr lassen sich 3D-Funktionen einiger Fermi-GPUs nutzen, die bei den beiden neuesten GeForce-Serien 400 und 500 zum Einsatz kommen. Laut Nouveau-Wiki arbeitete das Ganze vermutlich bei den Chips NVC0, NVC4, NVCE, die auf den GeForce-GTX-Modellen 460, 465, 470, 470M, 480, 480M und 560 stecken. Bei einigen anderen Fermi-Bausteinen sind Probleme bekannt; andere sind ungetestet oder arbeiten bekanntermaßen nur mit der Original-Firmware, die sich den proprietären Nvidia-Treibern mit einigen eher umständlichen Tricks entlocken lassen.

Um die 3D-Funktionen des DRM/KMS-Nouveau-Treibers in Linux 3.1 nutzen zu können, sind aktuelle Mesa-3D- und X.org-Treiber erforderlich. Einige der im Herbst erwarteten Linux-Distributionen dürften all diese Bausteine enthalten – dort sollten daher 3D-Desktop-Oberflächen wie die Gnome Shell oder Unity auch auf einigen Fermi-Grafikarten arbeiten, ohne dass man die proprietären Nvidia-Treiber einspielen muss. Viele Anwender dürften diese dennoch installieren, denn für anspruchsvolle Spiele reicht die rudimentäre 3D-Unterstützung des Nouveau-Treibers nicht aus; zudem beherrscht er viele Stromsparfunktionen nicht und kann auch die Lüfter vieler Grafikkarten nicht regeln. Die Nouveau-Entwickler arbeiten aber an der Beseitigung dieser beiden Mankos.

Die Entwickler des Intel-DRM/KMS-Treibers hatten die Stromspartechnik "RC6" standardmäßig einschalten wollen -- die Grafikkerne vieler in den letzten zwei bis drei Jahren vorgestellten Intel-Prozessoren und -Chipsätze beherrschen RC6 (etwa die Core-CPUs mit integrierter Grafik). Diese Änderung nahmen die Kernel-Hacker aber schon nach kurzer Zeit wieder zurück, weil die Technik bei einem Anwender zu Problemen führte. Bei vielen Notebooks arbeitet sie allerdings einwandfrei und kann die Leerlauf-Leistungsaufnahme um bis zu 6 Watt senken, was die Akku-Laufzeit spürbar verlängert. Wegen der geringeren Wärmeentwicklung laufen Lüfter zudem seltener oder ruhiger. Bei Notebooks mit RC6-tauglicher Grafikhardware empfiehlt sich daher ein testweises Einschalten – dazu übergibt man dem Modul i915 beim Laden den Parameter "i915_enable_rc6=1" oder ruft den Kernel mit dem Parameter "i915.i915_enable_rc6=1" auf.

Den Radeon-DRM/KMS-Treiber für Evergreen-GPUs (HD-5000-Serie) haben die Entwickler um einige Teile zur Unterstützung von Compute-Befehlen erweitert, über die sich Berechnungen auf Grafikchips auslagern lassen.

mehr ... (http://www.heise.de/open/artikel/Kernel-Log-Was-3-1-bringt-4-Treiber-1345418.html?artikelseite=2)

Quelle : www.heise.de
Titel: Kernel-Log: Linux 3.1 rückt näher
Beitrag von: SiLæncer am 12 Oktober, 2011, 06:35
Die Kernel-Version 3.1 dürfte vermutlich in Kürze erscheinen. Nach über vier Wochen Pause hat Greg Kroah-Hartman neue Stable-Kernel veröffentlicht. Die X.org-Entwickler denken darüber nach, die wichtigsten Grafiktreiber mit dem X-Server zu verschmelzen.

In der Nacht von Dienstag auf Mittwoch vergangener Woche hat Linus Torvalds die neunte Vorabversion von Linux 3.1 veröffentlicht. Seitdem flossen noch einige Korrekturen in den Hauptentwicklungszweig ein; Indizien auf einen Freigabezeitpunkt von Linux 3.1 gab in den letzten Tagen allerdings keine. Vermutlich dürfte die Version noch in dieser oder spätestens in der nächsten Woche erscheinen, wie Torvalds es bereits beim RC7 angedeutet hatte.

Beim RC9 nutzte Torvalds erstmals einen neuen GPG-Schlüssel zum Signieren der Git-Tags, wie er in der Freigabe-Mail erläutert. Er ist stärker als der alte und schon jetzt von mehr ihm bekannten Entwicklern signiert; er hat das Tag aber auch mit dem alten Schlüssel signiert.

Seit der Wiederinbetriebnahme einiger Kernel.org-Dienste vor einigen Tagen ist der dortige Git-Zweig wieder die erste Anlaufstelle zum Bezug der Linux-Quellen. Torvalds aktualisiert derzeit aber weiterhin sein Git-Depot bei Github, das er während der Kernel.org-Auszeit zur Weiterentwicklung von Linux eingerichtet hatte. Willy Tarreau hat unterdessen Checksummen der Tar-Archive von Linux seit Version 2.6.12 veröffentlicht, mit denen Anwender prüfen können, ob die ihnen vorliegenden Archive unmodifizierten Quellcode enthalten.

Greg Kroah-Hartman hat derweil den Stable-Kernel 3.0.5 freigegeben, der – über vier Wochen nach Erscheinen von 3.0.4 – mehr als zweihundert Änderungen bringt; kurz darauf hat er die Version 3.0.6 nachgeschoben, um einen Fehler bei 3.0.5 zu korrigieren. Beide Versionen sind derzeit nur via Git erhältlich, da Kernel.org bislang weder alte noch neue Archive mit Linux-Quellen anbietet.

Kernel-Log-Staccato

Kernel

 -  Thomas Gleixner hat den Realtime-Kernel 3.0.6-rt17 freigegeben, der ein seit längerem bekanntes Problem dieser RT-Reihe beseitigt, dessen Ursache schwer zu finden war.
 -  Btrfs-Hauptentwickler Chris Mason hat für Linux 3.2 einige größere Änderungen an dem experimentellen Dateisystem in Aussicht gestellt und angekündigt, die Veröffentlichung des lang erwarteten Dateisystemcheck-Tool für Btrfs voranzutreiben; er plant, es auf der Linuxcon Europe zu zeigen, die Ende des Monats in Prag stattfindet. Dabei erwähnte er zudem, dass Btrfs jetzt zum Standard-Dateisystem auf Linux-Servern bei Oracle wird.
    In der Problematik um die zwei konkurrierenden Treiber für neuere WLAN-Chips von Broadcom hat der Betreuer des WLAN-Subsystems angedeutet, die von Broadcom bislang im Staging-Bereich entwickelten Treiber in den kommenden Monaten annehmen zu wollen. Einer der langjährigen Linux-WLAN-Entwickler hat allerdings eine Liste mit verbesserungswürdigen Eigenschaften erstellt.

LKML-Diskussionen

 -   Der langjährige Kernel-Entwickler Dave Jones hat einen Patch zur Diskussion gestellt, durch den sich der Kernel als "Crap" markiert, wenn er das Kernel-Modul von VirtualBox erkennt. Diese Kennzeichnung als "Schrott" wird bislang beim Laden von Staging-Treibern gesetzt. Jones, der die Fedora-Kernel betreut, begründet den Vorschlag mit Berichten über Fehler, an denen der unter der GPL stehende Treiber vermutlich Schuld sei.
 -   Kay Sievers, Lennart Poettering und Harald Hoyer haben eine "Plumber’s Wish List for Linux" an die LKML gesandt. In der haben die drei Funktionen aufgeführt, die sie sich für Software wünschen, die den Kernel mit der Desktop-Umgebung und Anwendungen verbindet; dazu zählen etwa die von den drei entwickelten Werkzeuge Udev, Systemd und Dracut. Einige dieser Tools waren auf der Linux Plumbers Conference 2011 Schwerpunkt einer Sitzung rund um den Systemstart, über die LWN.net berichtet hat.

Unterstützung für Grafikhardware

 -   Ben Skeggs, einer der Hauptentwickler des Nouveau-Treibers, bittet Besitzer von Notebooks mit Nvidia-Grafikchip um das Auslesen und Einsenden einiger Hardware-Informationen. Damit möchte er die Unterstützung für MXM (Mobile PCI Express Module) verbessern, was langfristig auch zu einer besseren Unterstützung von Nvidias-Grafikchip-Umschalttechnik Optimus beitragen sollte.
 -   Der X.org-Entwickler Adam Jackson erläutert auf der Fedora-Entwicklerliste einige der Probleme bei der Festlegung des DPI-Wertes mit Hilfe der EDID-Informationen, die moderne Bildschirme den Betriebssystemen liefern. Aufgrund solcher Probleme ignorieren aktuelle Gnome-Versionen die DPI-Informationen und verwenden stattdessen einen festen Vorgabewert.
 -  Für bessere Linux-Unterstützung reicht es manchmal, dass Hardware in die Hände der richtigen Leute gelangt: X-Urgestein Keith Packard hat eine Patch-Sammlung veröffentlicht, durch sie das von ihm erworbene MacBook Air besser mit Linux arbeitet; die Änderungen ziehen möglicherweise noch in einen Stable-Kernel ein. In zwei Blog-Eintragen liefert er Hintergründe zu den Linux-Versuchen auf dem mit einem Sandybridge-Prozessor von Intel ausgestatteten Gerät sowie Tipps zur Linux-Installation (1, 2).
 -   Dave Airlie entwickelt einen überarbeiteten Modesetting-Treiber für X.org, der zwar nur einen geringen Funktionsumfang bietet, aber auf das KMS-Interface des Kernels aufsetzt und so den Betrieb des X-Servers auf jeder Grafikhardware unterstützt, für die der Kernel einen Treiber mitbringt.

 -  Auf einer Entwicklerkonferenz haben einige X.org-Entwickler abermals überlegt, die wichtigsten X.org-Grafiktreiber wieder mit dem Code des X-Servers zusammenzuführen. Eine Entscheidung scheint bislang nicht gefallen; Hintergründe liefert LWN.net im Artikel "Non-modular X?". In "Toward a unified display driver framework" berichtet die Website zudem von dem Vorschlag eines TI-Entwicklers, auf ein einheitliches Kernel-Framework zum Zugriff auf Grafik-Hardware hinzuarbeiten. Mehrere Entwickler sprachen sich dort dafür aus, das DRM-Subsystem zu einem solchen auszubauen.

 - AMD hat die Version 11.9 seiner Catalyst-Grafiktreiber für Linux freigegeben; wieder einmal gibt es keine Release Notes. Laut Berichten soll die neue Version Probleme beim Zusammenspiel mit Gnome 3 beseitigen – das scheint anderen Berichten zufolge aber wohl nicht immer der Fall zu sein.

 - Nvidia hat die Version 285.05.09 seiner Treiber für x86-32/x86- und x86-64/x64-Systeme freigegeben. Sie beseitigen einige Fehler und bringen Unterstützung für die GeForce GT 520MX. Bereits im September hat das Unternehmen die Version 275.28 freigegeben, mit der Nvidia die "Long-Lived Branch" einführt – ähnlich wie bei einer LTS-Version von Ubuntu soll diese Versionsreihe eine Zeitlang eine stabile Basis für Anwender bilden, bei der es keine größeren Änderungen gibt.

Kernel-Umland ("Plumbing layer"), Userland-Treiber, Entwicklertools, ...

 -  Libguestfs-Entwickler Richard W.M. Jones weist in seinem Blog auf das neue Kommandozeilenprogramm virt-sparsify bei libguestfs 1.13.17 hin. Es kann unter anderem von Gastsystemen genutzte Image-Dateien oder LVM-Volumes auf dem Host nach Bereichen absuchen, die etwa nach dem Löschen von Dateien im Gast Daten enthalten, die nicht mehr relevant sind; diese Bereiche kann es freigeben, wodurch als Sparse-Datei angelegte Images wieder schrumpfen.
  -  Michael Kerrisk hat die Man-Pages 3.33, 3.34 und 3.35 freigegeben. Die jüngste Version enthält erstmals Dokumentation für die Syscalls Recvmmsg und Setns.
 -   Die Entwickler des Projekts Hplip (Hewlett-Packard's Linux Imaging and Printing Software) haben die Version 3.11.10 ihres Treiberframeworks für Drucker und Multifunktionsgeräte von HP veröffentlicht. Unter den Neuerungen ist laut den Release Notes Unterstützung für die folgenden Geräte: HP DeskJet 3070 B611 series, HP Envy 110 e-All-in-One, HP LaserJet Enterprise 500 Color M551, HP OfficeJet Pro 8100, HP Officejet Pro 8600, HP PhotoSmart 5510 e-All-in-One, HP PhotoSmart 6510 e-All-in-one und HP PhotoSmart 7510 e-All-in-On.
 -   Junio C Hamano hat Git 1.7.7 veröffentlicht.
 -   Lennart Poettering hat seine Blog-Serie "Systemd for Administrators" mit den Teilen 10 und 11 fortgeführt.
 -   In dem Blog-Eintrag "Getting started with LXC using libvirt" liefert Daniel Berrange einige Tips zum Ausprobieren und Aufsetzen von Linux Containern (LXC) über die Libvirt.
 -   Security-Subsystem-Maintainer James Morris liefert in einem Blog-Eintrag einige Informationen zum Linux Security Summit 2011, der im Umfeld der Linux Plumbers Conference stattfand. Er verlinkt dort auf Vortragsfolien sowie einen LWN.net-Bericht vom "Kernel Hardening Roundtable".

Quelle und Links : http://www.heise.de/open/artikel/Kernel-Log-Linux-3-1-rueckt-naeher-1357838.html
Titel: Linux-Kernel 3.1 freigegeben
Beitrag von: SiLæncer am 24 Oktober, 2011, 15:44
Linus Torvalds hat den Kernel 3.1 im Quellcodeverwaltungssystem gekennzeichnet und auf Kernel.org hochgeladen – eine offizielle Ankündigung hat er allerdings noch nicht verschickt. Zur Fertigstellung haben er und seine Mitstreiter diesmal über drei Monate gebraucht. Das sind zirka drei bis vier Wochen mehr als bei den Vorgängern – eine Folge des Einbruch bei Kernel.org, denn der hat die Entwicklung des Linux-Kernels erheblich aus dem Tritt gebracht.

Die neue Kernel-Version bringt aber dennoch Neuerungen im gewohnten Umfang. Zusammen mit aktuellen Version der Nouveau-Treiberbausteine in Mesa und X.org wird der zweite Kernel der 3.x-Serie 3D-Beschleunigung auf mehreren aktuellen GeForce-Grafikchips bieten. Die neue Linux-Version enthält zudem Optimierungen, die die Geschwindigkeit der Virtualisierer KVM und Xen verbessern oder deren Funktionsumfang erweitern. Neu sind ferner Optimierungen an Btrfs, Discard-Unterstützung in Dm-Crypt oder Bad-Block-Management für Software-RAIDs. Wie immer gibt es zudem viele neue oder überarbeitete Treiber, was die Hardware-Unterstützung signifikant verbessert.

Einen Überblick über diese und weitere Neuerungen liefert ein Artikel auf heise open, der auch einen Ausblick auf die anstehenden Änderungen für den Linux-Kernel 3.2 gibt:

    Die Neuerungen von Linux 3.1 (http://www.heise.de/open/artikel/Die-Neuerungen-von-Linux-3-1-1346661.html)

Quelle : www.heise.de
Titel: Re: Linux-Kernel 3.1 freigegeben
Beitrag von: mtron am 25 Oktober, 2011, 09:21
eine sehr interessante kernel release. Bin schon auf die neuen Stromsparfunktionen des i915 treibers von intel gespannt welche die sehr oft in Netbooks verwendeten on chip GPU's steuert (die Entwickler gehen hier von 6 watt weniger Aufnahme im Leerlauf betrieb aus). Aktivieren lässt sich die RC6 getaufte Funktion ab kernel 3.1 mit neuestem xorg & intel triebern (die aktuelle ubuntu oneiric version hat zu alte xorg builds) wenn man beim laden von i915 die Module parameter i915_enable_rc6=1 angibt.

Weiterer Neuzugang aus dem Bereich stromspar - optimierung ist das Programm cpupower. Das soll ein einfaches interface zur verwaltung der Prozessoren bringen (sowohl Stromspar- alsauch Übertaktungsfunktionen  sollen damit steuerbar sein.)
Titel: Hauptentwicklungsphase von Linux 3.2 abgeschlossen
Beitrag von: SiLæncer am 08 November, 2011, 12:48
Zwei Wochen nach der Freigabe des Linux-Kernels 3.1 hat Linus Torvalds vergangene Nacht die erste Vorabversion von Linux 3.2 veröffentlicht und dem Kernel dabei den Namen "Saber-toothed Squirrel" gegeben. Damit hat er die Aufnahme der größten Änderungen für den Kernel 3.2 abgeschlossen; bis Fertigstellung dieser Version, die Ende Dezember oder Anfang Januar erwartet wird, konzentrieren sich die Kernel-Entwickler auf das Beseitigen von Fehlern.

Integriert haben die Kernel-Entwickler unter anderem Unterstützung für die Architektur der Hexagon-Prozessoren von Qualcom. Der TCP-Stack von Linux 3.2 wird den von einem Google-Entwickler eingebrachten Algorithmus "Proportional Rate Reduction" enthalten, durch den sich Netzwerkverbindungen nach vorübergehenden Übertragungsproblemen schneller regenerieren sollen, um die Daten möglichst flott zu übertragen. Der CFS-Prozess-Scheduler kann nun die CPU-Zeit von Prozess-Gruppen limitieren, damit ein Anwender nicht mehr als die ihm zugeteilte CPU-Ressourcen nutzen kann, selbst wenn dann eigentlich freie CPU-Ressourcen ungenutzt bleiben.

Neu ist auch ein experimenteller Treiber für EDAC (Error Detection And Correction) bei Intels Sandy-Bridge-Prozessoren sowie eine SHA1-Implementierung für x86-64-Prozessoren, die durch Verwendung von SSE3- oder AVX-Befehle einen höheren Durchsatz erzielt. Der Nouveau-DRM/KMS-Treiber unterstützt nun neuere Grafikchips der Fermi-Generation, die auf einigen der kürzlich eingeführten GeForce-Grafikkarten sitzen. Linux 3.2 bringt zudem dutzende neue und um Unterstützung für weitere Hardware ausgebaute Treiber. Auch am Code von Btrfs oder Ext4 gab es einige Verbesserungen; Torvalds hebt in seiner Freigabe-Mail zudem einige Änderungen am Writeback-Code hervor, die alle Anwender zu spüren bekommen dürften. Das Kernel-Log in c't und auf heise open wird in den kommenden Wochen detailliert über diese und weitere Neuerungen berichten.

Torvalds nahm für 3.2-rc1 etwas mehr als zehntausend Commits vor. Laut Analyse mit Diffstat haben die Kernel-Entwickler mit 3.2-rc1 insgesamt 1.628.369 Zeilen Code aufgenommen und 1.406.545 Zeilen entfernt (umhergeschobener Code geht allerdings in beide Werte ein). Dies sind jeweils ungefähr doppelt so viel Zeilen als zuletzt bei neuen Kernel-Versionen des Hauptentwicklungszweigs üblich; so hohe Zahlen gab es bei noch keinem Kernel seit der Freigabe von Linux 2.6.0. Daran ist zum Teil der Einbruch bei Kernel.org schuld, denn der hat die Fertigstellung von Linux 3.1 um zirka einen Monat verzögert – dadurch hatten die Kernel-Hacker mehr Zeit, um Änderungen für die Aufnahme vorzubereiten, die sonst nicht rechtzeitig für das Merge Window von Linux 3.2 fertig geworden wären. Grund für die hohen Werte ist aber auch eine mit großem Umhergeschiebe vieler Quellcode-Dateien verbundene Umstrukturierung bei den Netzwerk-Treibern; auch bei Architektur-Code gab es einige Umstrukturierungen. Mitverantwortlich sind zudem die Treiber Ath6kl und Bcrm80211, die nach einer Zeit im Staging-Zweig so weit reiften, dass sie nun in das Netzwerk-Subsystem umziehen konnten.

Im Umfeld der Freigabe des Rc1 und der Öffnung von Google Plus für Unternehmen und Marken hat Torvalds zudem eine Google+-Seite für Linux angelegt. Er erwägt, dort in Zukunft neue Kernel-Versionen anzukündigen. Auch Greg Kroah-Hartman war vergangene Nacht aktiv und hat die Longterm-Kernel 2.6.32.47 und 2.6.33.20 veröffentlicht. Mit letztgenanntem Kernel stellt er die Pflege der 33er-Serie ein. Anwender der Echtzeit-Unterstützung des RT-Trees, für die er diese Serie hauptsächlich gepflegt hat, sollen auf den Kernel 3.0 umsteigen.

Quelle : http://www.heise.de/newsticker/meldung/Hauptentwicklungsphase-von-Linux-3-2-abgeschlossen-1374691.html
Titel: Kernel-Log – Was 3.2 bringt (1): Netzwerk
Beitrag von: SiLæncer am 16 November, 2011, 08:52
Der TCP-Stack passt die Datenrate jetzt schneller an die Leitungskapazität an. Die Treiber für einige WLAN-Bausteine von Atheros und Broadcom sind erheblich gereift; andere Treiber unterstützten ab 3.2 mehr LAN- und WLAN-Bausteine als zuvor.

Nach der Freigabe der ersten Vorabversion von Linux 3.2 und dem damit beendeten Merge Window flossen keine größeren Änderungen mehr in den Hauptentwicklungszweig von Linux ein. In Kürze dürfte Linus Torvalds vermutlich den zweiten RC der Anfang bis Mitte Januar erwarteten Kernel-Version freigegeben; wie schon in den vergangenen Tagen nimmt er bis dahin vornehmlich Korrekturen und kleine, ungefährliche Verbesserungen auf.

Das Kernel-Log kann daher bereits jetzt einen umfassenden Überblick über die wichtigsten Neuerungen von Linux 3.2 bieten. Der erfolgt wie gewohnt mit einer Artikelserie "Was 3.2 bringt", die sich den unterschiedlichen Funktionsbereichen des Kernels annimmt. Den Anfang der Serie macht die folgende Beschreibung der wichtigsten Änderungen am Netzwerk-Stack und an den Treibern für LAN- oder WLAN-Hardware. In den kommenden Wochen folgen Artikel zu Storage, Dateisystemen, Architektur-Code, Infrastruktur sowie zu Treibern für sonstige Hardware.

Kapazitätsanpassung

Die Kernel-Entwickler haben den TCP-Stack von Linux 3.2 um Unterstützung für "Proportional Rate Reduction" (PRR) erweitert. 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, den RFC 3517 ("A Conservative Selective Acknowledgment (SACK)-based Loss Recovery Algorithm for TCP") beschreibt.

Laut Messungen des Entwicklers soll der Algorithmus die HTTP-Antwortzeiten um drei bis zehn Prozent reduzieren. Details zur Arbeitsweise liefern der Commit-Kommentar, ein LWN.net-Artikel, ein Paper zum Thema sowie PDF-Dokumente von zwei IETF-Präsentationen (1, 2).

Reifeprozess

In der zeitweise etwas verfahrenen Situation um zwei Treiber für neuere WLAN-Chips von Broadcom haben die von Broadcom selbst vorangetriebenen Brcm80211-Treiber Brcmsmac und Brcmfmac jetzt das Rennen gemacht und zogen in das Netzwerk-Subsystem ein. Der vor über einem Jahr veröffentlichte Treibercode wurde bislang im Staging-Bereich gepflegt, wo Code liegt, der den Qualitätsansprüchen seiner Entwickler oder der Kernel-Hacker nicht genügt; einzelne Distributionen lassen Staging-Treiber daher außen vor.

Die meisten Mängel haben die Broadcom-Entwickler im vergangenen Jahr unter Anleitung erfahrener Kernel-Entwickler beseitigt. Der schon länger im Kernel enthaltene B43-Treiber, der auch ältere WLAN-Chips von Broadcom anspricht, unterstützt fürs Erste weiter einige der WLAN-Bausteine, welche auch die Brcm80211-Treiber ansprechen; vermutlich wird der Kernel langfristig aber letztgenannte Treiber bevorzugen. Wer die Brcm80211-Treiber nutzen will, darf derzeit allerdings den Treiber Bcma nicht einkonfigurieren, auf den B43 zum Zugriff auf einige der neueren WLAN-Bausteine von Broadcom angewiesen ist.

In das Netzwerk-Subsystem zog auch der WLAN-Treiber Ath6kl für den AR6003 von Atheros ein. Er basiert auf dem gleichnamigen Staging-Treiber, der parallel entfernt wurde. Die verbesserte und dabei erheblich geschrumpfte Version des Treibers wurde unabhängig vom Staging-Bereich entwickelt; sie ist erheblich kleiner und beherrscht laut Commit-Kommentar nicht alle Funktionen, die der Staging-Treiber bot.

Die teils umfangreichen Aufräumarbeiten an den beiden Treibern und ihre Umzüge sind mitverantwortlich für die große Zahl neuer und entfernter Zeilen Quellcode, die ein Diffstat für Linux 3.2 ausweist. Dazu beigetragen hat auch der Austausch des Staging-WLAN-Treibers Rtl8192e gegen eine erheblich überarbeitete Code-Variante, die zwar noch Mängel aufweist, aber deutlich bessere Chancen hat, irgendwann vom Staging-Bereich in das Netzwerk-Subsystem umzuziehen (u. a. 1, 2, 3).

Verschiedenes

    Durch Verbesserungen an verschiedenen Treibern unterstützt Linux jetzt die WLAN-Chips Atheros AR946/8x, Atheros AR9580, Marvell 88W8766P sowie Intels WLAN-Bausteine 2000D Series 2x2 BGN und Centrino(R) Advanced-N 6205S AGN.
    Jeff Kirsher hat einige Umstrukturierungen im Linux-Quellcode unterhalb von drivers/net/ vorgenommen (u. a. 1, 2); dadurch liegen nun beispielsweise alle Treiber für Ethernet-Hardware in Hersteller-spezifischen Verzeichnissen unterhalb von drivers/net/ethernet/. Er hat dabei sehr viel Code bewegt – ein weiterer Grund für die große Zahl neuer und entfernter Zeilen Quellcode.
    Der Treiber für Gigabit-Ethernet-Chips von Realtek spricht jetzt den Baustein RTL8111F an, der Treiber Ixgbe auch Intels 82599-Chip. Einen ganzen Schwung Änderungen gab es am Treiber Bna für 10G-PCIe-Ethernet-Adapter von Brocade, dessen Versionsnummer in dem Zug einen großen Sprung auf 3.0.2.1 macht; durch einige der Patches unterstützt der Treiber nun auch das Modell 1860.
    Der Code für die Kommunikation über ein CAN (Controller Area Network) bietet nun Funktionen, um via Netlink ein Gateway oder einen Router zu konfigurieren.
    Neu ist auch Basis-Unterstützung für IPv6 over Low power Wireless Personal Area Networks (6LoWPAN/IEEE 802.15.4).
    Das bei Linux 3.1 eingeführte Subsystem für NFC (Near Field Communication) beherrscht nun das zur Kommunikation zwischen Controller und Device Host (DH) eingesetzte NFC Controller Interface (NCI).
    Netzwerk-Subsystem-Verwalter David Miller hebt in seinem Haup-Git-Pull-Request noch einige interne Optimierungen hervor (u. a. 1, 2).

Die kleinen Perlen

Viele kleinere, aber keineswegs unbedeutende Neuerungen finden sich in der folgenden Liste mit den englischen Commit-Überschriften der jeweiligen Änderung. Die Einträge verlinken genau wie viele der Verweise im vorangegangenen Text auf das Webfrontend des von Linus Torvalds gepflegten Git-Zweigs auf Kernel.org, der die gemeinhin als "offiziell" bezeichneten Kernel-Quellen enthält. Der über diese Links angezeigte Commit-Kommentar und der darunter ausgegebene Patch liefern zahlreiche weitere Informationen zur jeweiligen Änderung.

Vor jedem Link finden sich in eckigen Klammern einige Buchstaben und Zahlen. Ein "C" kennzeichnet Patches mit Änderungen an Kconfig-Dateien; diese enthalten die Konfigurationsoptionen samt der zugehörigen Hilfetexte, die bei der Kernel-Konfiguration über "make menuconfig" oder "make xconfig" angezeigt werden. Ein "D" steht bei Patches, die die Dokumentation verändern, die im Kernel-Zweig unterhalb von Documentation/ liegt. Ein "N" weist Änderungen aus, die eine neue Datei anlegen. Die Zahl vermittelt einen groben Eindruck zur Größe des Patches: eine "1" kennzeichnet Änderungen, die inklusive Kommentar zwischen 10 und 20 KByte groß sind, eine "2" für solche, die zwischen 20 und 30 KByte Umfang haben; Änderungen ohne Zahl sind kleiner als 10 KByte, Patches mit einer "9" hingegen 90 KByte oder größer.

LAN

    [    ] Add ethtool -g support to virtio_net
    [   2] af_iucv: add HiperSockets transport
    [   1] be2net: add support for flashing Teranetics PHY firmware
    [  N1] bna: Add New HW Defs
    [   1] bna: Brocade 1860 IOC PLL, Reg Defs and ASIC Mode Changes
    [   9] bna: ENET and Tx Rx Redesign Enablement
    [  N7] bna: Introduce ENET as New Driver and FW Interface
    [  N2] bna: MSGQ Implementation
    [  N9] bna: Tx and Rx Redesign
    [    ] bnx2x: Add new PHY BCM54616
    [    ] bnx2x: update driver version to 1.70.30-0
    [    ] bnx2x: use FW 7.0.29.0
    [C   ] dm9000: define debug level as a module parameter
    [    ] dp83640: enable six external events and one periodic output
    [C  1] drivers/net: Kconfig & Makefile cleanup
    [   1] e1000: convert hardware management from timers to threads
    [    ] ehea: Add GRO support
    [    ] ehea: Add vlan_features
    [    ] ehea: Remove num_tx_qps module option
    [    ] enic: Add SRIOV support
    [   2] enic: Add support for port profile association on a enic SRIOV VF
    [   1] IB/mlx4: Add support for XRC domains
    [    ] igb: Loopback functionality supports for i350 devices
    [    ] igb: Version bump.
    [    ] ixgbe add thermal sensor support for x540 hardware
    [    ] ll_temac: Add support for ethtool
    [C N ] net/ethernet: sc92031 is not Realtek
    [C   ] net/fec: add imx6q enet support
    [    ] net/phy: add IC+ IP101A and support APS.
    [ DN ] net/smsc911x: add device tree probe support
    [    ] netxen: add vlan LRO support
    [    ] PCI: Add Solarflare vendor ID and SFC4000 device IDs
    [    ] qlcnic: add beacon test support.
    [C N2] stmmac: add CHAINED descriptor mode support (V4)
    [ D  ] stmmac: update the doc with new info about the driver's debug (v3)
    [ D  ] stmmac: update the driver version and doc (V4)
    [    ] tg3: Add external loopback support to selftest
    [    ] tg3: Update version to 3.121

WLAN

    [   1] ath6kl: Add beginning of AR6004 initialisation support
    [   1] ath6kl: Add functionality for starting AP mode
    [   1] ath6kl: Add new WMI commands and events for P2P
    [  N1] ath6kl: add testmode support
    [    ] ath6kl: Allow enabling of P2P support
    [    ] ath9k: add AR9580 support
    [   1] ath9k: Add debugfs support for mac/baseband samples
    [    ] ath9k_htc: add AVM FRITZ!WLAN 11N v2 support
    [   1] ath9k_hw: add a new API for setting tx descriptors
    [  N9] ath9k_hw: Add initvals and register definitions for AR946/8x chipsets.
    [    ] ath9k_hw: Add support to reuse Carrier leak calibration
    [    ] ath9k_hw: Add support to reuse TxIQ cal measurements
    [   1] ath9k_hw: Improve fast channel change for AR9003 chips
    [    ] ath9k_hw: Support fast channel change on 5GHz for AR9003 chips
    [   1] ath9k_hw: Updated AR9003 tx gain table for 5GHz
    [   5] ath9k: Rename AR9480 into AR9462
    [C   ] b43: drop Kconfig option of forcing PIO mode
    [   1] b43: LCN-PHY: add init tables
    [    ] b43: LCN-PHY: add very basic PHY ops
    [    ] b43: LCN-PHY: init 0x2064 radio
    [C   ] b43: make HT-PHY support experimental
    [    ] b43: N-PHY: report signal to mac80211
    [C   ] b43: Remove EXPERIMENTAL designation from LP PHY selection
    [ D  ] batman-adv: implement AP-isolation on the receiver side
    [ D  ] batman-adv: update README (date & ap isolation sysfs file)
    [C   ] carl9170: export HW random number generator
    [    ] iwlagn: bump firmware API for some devices
    [    ] iwlagn: default smps mode for 1000 series device
    [    ] iwlagn: enable 11n aggregation without checking traffic load
    [    ] iwlagn: enable 11n support for "_d" sku
    [    ] iwlagn: move sysfs files to debugfs
    [    ] iwlagn: New SKU for 6005 SFF
    [CD  ] iwlagn: rename iwlagn module iwlwifi and alias to iwlagn.
    [C  2] iwlagn: support new P2P implementation
    [C   ] iwlwifi: update comments on how to enable debug flag
    [   1] libertas: disable functionality when interface is down
    [    ] mac80211: disable powersave for broken APs
    [ D  ] mac80211: document client powersave
    [C  1] mac80211: handle TDLS high-level commands and frames
    [   2] mac80211: implement uAPSD
    [   3] mac80211: optimise station flags
    [    ] mac80211: Start implementing QoS support for mesh interfaces
    [ D  ] mac80211: Update injection documentation
    [    ] nl80211/cfg80211: Add extra IE configuration to AP mode setup
    [    ] nl80211/cfg80211: Add support to disable CCK rate for management frame
    [    ] rt2x00: Add new chipset support
    [    ] rtlwifi: add module parameter to set global debug level
    [    ] rtlwifi: Change debug parameter to apply to individual drivers
    [    ] rtlwifi: rtl8192ce: Add new chip revisions
    [    ] rtlwifi: rtl8192de: Updates from latest Reaktek driver - Part III
    [    ] rtlwifi: rtl8192se: Updates from latest Realtek driver version - Part II
    [    ] rtlwifi: Update to new Realtek version - Part I
    [    ] wl12xx: add module_param to trigger BUG() on recovery
    [    ] wl12xx: allow 11a AP-mode for wl127x devices
    [    ] wl12xx: AP-mode - set STA HT capabilities when adding a STA
    [    ] wl12xx: enable AP advanced functionality
    [    ] wl12xx: support p2p interfaces
    [    ] wl12xx: support up to 8 stations in AP-mode

Various

    [    ] Bluetooth: Add mgmt command for fast connectable mode
    [    ] Bluetooth: Add mgmt events for blacklisting
    [    ] Bluetooth: Add support for pairing via mgmt over LE
    [    ] Bluetooth: make use of connection number to optimize the scheduler
    [    ] bridge: allow forwarding some link local frames
    [    ]  btusb: add device entry for Broadcom SoftSailing
    [C N1] can/sja1000: add driver for EMS PCMCIA card
    [C N1] can/sja1000: driver for PEAK PCAN PCI/PCIe cards
    [C   ] flexcan: Add flexcan device support for p1010rdb.
    [ D  ] flexcan: Fix up fsl-flexcan device tree binding.
    [ D  ] flexcan: Prefer device tree clock frequency if available.
    [ D  ] ipv6: Send ICMPv6 RSes only when RAs are accepted
    [ D  ] ipvs: Add documentation for new sysctl entries
    [ D  ] ipvs: secure_tcp does provide alternate state timeouts
    [    ] macvlan: receive multicast with local address
    [    ] neigh: reduce arp latency
    [   9] net: add skb frag size accessors
    [    ] net: more accurate skb truesize
    [    ] net-netlink: Add a new attribute to expose TOS values via netlink
    [ D  ] net: remove ndo_set_multicast_list callback
    [    ] net: rps: support 802.1Q
    [    ] net: rps: support PPPOE session messages
    [C N1] NFC: driver for TI shared transport
    [C N1] ppp: Move the PPP drivers
    [    ] rps: support IPIP encapsulation

Quelle und Links : http://www.heise.de/open/artikel/Kernel-Log-Was-3-2-bringt-1-Netzwerk-1378635.html
Titel: Kernel-Log: Echtzeit-Kernel mit Linux 3.0
Beitrag von: SiLæncer am 21 November, 2011, 17:00
Die Patches zur Echtzeit-Unterstützung setzen jetzt auf eine aktuelle Kernelversion auf. Torvalds hat eine von vielen Entwickler kritisierte und für 3.2 vorgenommene Änderung zur benutzerfreundlichen Benennung von Platten revidiert. AMD und Intel haben neue Grafiktreiber veröffentlicht.

Mit der Freigabe des Echtzeit-Kernels 3.0.9-rt25 hat Thomas Gleixner den RT-Zweig auf Basis von Linux 3.0 als reif für den Produktionseinsatz erklärt. Er erwähnt dabei, diese Versionsreihe sei ein großer Schritt vorwärts und die Entwicklung ziemlich glatt gelaufen sei, obwohl viele Kerntechniken erheblich überarbeitet wurden.

Gleixner hat in dem Zug die Betreuung der RT-Patches für Linux 3.0 an Steven Rostedt übergeben, der kürzlich eine Vorabversion von Linux 3.0.9-rt26 zur Begutachtung veröffentlicht hat. Gleixner hat die Änderungen zur Verbesserungen der Echtzeit-Eigenschaften derweil auf Vorabversionen von Linux 3.2 portiert (1, 2, 3); der RT-Patch ist dabei wieder um ein gutes Stück geschrumpft, da einige der Änderungen zwischenzeitlich in den Hauptentwicklungszweig eingegangen sind.

Kernel-Versionsstatus

Aufgrund der Reife des RT-Patches für Linux 3.0 hat Greg Kroah-Hartman mit der Freigabe des Kernels 2.6.33.20 die Arbeit an Linux 2.6.33 eingestellt, das er zuletzt nur noch für die Echtzeit-Entwickler gepflegt hatte – deren stabile Echtzeit-Patches bohrten bislang den Kernel 2.6.33 auf.

Kroah-Hartman hat zudem die Kernel-Versionen 2.6.32.48, 3.0.9 und 3.1.1 freigegeben; die beiden Stable-Versionen für Kernel der 3er-Reihe bringen jeweils über 200 kleine Verbesserungen und Fehlerkorrekturen. Die Kernel 3.0.10 und 3.1.2 sind gerade in der Begutachtungsphase, die am heutigen Montag endet; die beiden Kernel sollten kurz darauf erscheinen. Die meisten Stable- und Longterm-Kernel sind neuerdings in einem Git-Depot auf Kernel.org abrufbar.

Wie schon im ersten Kernel-Log der Serie "Was 3.2 bringt" prognostiziert, hat Linus Torvalds vergangene Woche die zweite Vorabversion von Linux 3.2 veröffentlicht; in Kürze dürfte die dritte folgen. Darin wird ein im Merge Window von 3.2 aufgenommener Mechanismus zum verständlichen Benennen von Datenträgern wieder rausfliegen, nachdem sich mehrere wichtige Kernel-Hacker dagegen ausgesprochen hatten. Der Entwickler der Änderung will das ursprüngliche Ziel jetzt durch eine Userspace-Lösung erreichen.

In den RC3 sind auch schon einige der mit Hilfe von Informationen aus Windows-Treibern entstandene Patches eingezogen, welche die Stromspartechnik ASPM (Active State Power Management) bei bestimmter Hardware deaktivieren. Der Patch, durch den die PCIe-Stromspartechnik wieder auf mehr Systemen standardmäßig genutzt wird, dürfte aber erst Bestandteil von Linux 3.3 werden. Fedora und Ubuntu haben diese Änderung aber schon in einige ihrer Kernel integriert, um sie zu testen.

Kernel-Log-Staccato

Kernel

Luis R. Rodriguez hat eine neue Versionslinie von Compat-Wireless angekündigt, mit der sich die für Linux 3.2 vorgesehenen WLAN-Treiber auch bei älteren Kernel-Versionen nutzen lassen.
   
Ganz nebenbei hat Andrew Morton kürzlich in einer Mail erwähnt, dass er die von ihm gesammelten Änderungen jetzt unregelmäßig an Stephen Rothwell sendet, damit der sie in Linux-Next einbaut. Der von ihm bisher gepflegte Kernel-Zweig Mmotm (mm-of-the-moment) sei dadurch weitgehend unnötig; Anwender sollten stattdessen Linux-Next testen.

OCFS2-Betreuer Joel Becker hat klargestellt, dass die OCFS2-Entwickler die im Kernel hinterlegte Versionsnummer des Dateisystems nicht pflegen. Laut derer ist das Cluster-Dateisystem im Hauptentwicklungszweig von Linux derzeit auf dem Stand der Version 1.5; Code, der in OCFS2-Versionen der 1.6er Serie enthalten ist, basiere allerdings auf dem Code des Hauptentwicklungszweigs.

Nutzer von Fedora 15 erhalten den Kernel 3.1 unter der Versionsbezeichnung 2.6.41 als Update; sie hatten schon Version 3.0 als 2.6.40 erhalten, um Probleme mit Programmen zu vermeiden, die mit der neuen Versionsnummer nicht klarkommen.

Über die auf Embedded-Linux-Entwickler ausgerichtete Website Free Electrons sind Videos von einigen Vorträgen abrufbar, die im Rahmen der Linuxcon Europe 2011 und der gleichzeitig abgehaltenen Embedded Linux Conference Europe 2011 stattfanden, die das letzte Kernel-Log bereits erwähnte. Unter den Videos ist etwa eines von der "Kernel-Panel" genannten Podiumsdiskussion, an der Linus Torvalds, Alan Cox, Thomas Gleixner und Paul McKenney teilgenommen haben. Es ist auch ein Video des Vortrags von Gleixner abrufbar, in dem er Hintergründe zum Stand der Entwicklung des Echtzeit-Patches für Linux liefert.

Christoph Hellwig hat das "XFS status update for October 2011" verfasst.

Unterstützung für Grafikhardware

Chris Wilson hat die Version 2.17 der X.org-Treiber für die Grafikkerne in Intels Notebook- und Desktop-PC-Chipsätzen veröffentlicht. Sie enthalten im wesentlichen eine Reihe von Fehlerkorrekturen. Intel-Entwickler Eugeni Dodonov hat derweil in seinem Blog wieder einige andere Fortschritte bei den Intel-Treiber vermeldet (1, 2); etwa Unterstützung für die OpenGL Shading Language (GLSL) 1.30 im Entwicklerzweig von Mesa.
   
AMD hat die Version 11.10 seiner proprietären Grafiktreiber veröffentlicht; wie bei AMD seit einer Weile üblich, liefert die zugehörige Dokumentation keine Hinweise auf Neuerungen oder Änderungen. Die Version ist kompatibel zum X-Server 1.11; laut einem Phoronix-Bericht soll sie zudem Early-Look-Support für OpenSuse 12.1 bieten und Laufzeitunterstützung für OpenCL enthalten.

Jeremy Huddleston hat den Xorg-Server 1.11.2 veröffentlicht, der einige Fehlerkorrekturen bringt. Zwei Wochen später folgte Keith Packard und hat mit dem Xorg-Server 1.11.99.1 eine erste Vorabversion des von X-Servers 1.12 von X.org freigegeben. Er erwähnt dabei, dass er solche Zwischenstände des Entwicklungszweigs mittlerweile parallel zur Freigabe neuer Varianten der jeweils aktuellen X-Server-Version veröffentlichen will. Er denkt zudem darüber nach, den Freigabetermin des Xorg-Servers 1.12 auf Anfang Februar vorzuziehen oder auf Anfang März zu verschieben. Ungewiss ist noch, ob die für diese Version geplante Multitouch-Unterstützung rechtzeitig fertig wird.

Kernel-Umland ("Plumbing layer"), Userland-Treiber, Entwicklertools, ...

Matthew Garrett umreißt in einem Blog-Eintrag Boot-Probleme, die beim manchen BIOSen auftreten, wenn der Systemdatenträger mit einer GPT (GUID Partition Table) statt mit einem MBR (Master Boot Record) partitioniert ist, wie sie bei Platten mit mehr als 2 TByte Speicherplatz sinnvoll ist und beispielsweise vom kürzlich erschienenen Fedora 16 standardmäßig angelegt wird.

Gnome-Entwickler Owen Taylor erläutert im Blog-Eintrag "Application/Compositor Synchronization" einige Aspekte rund um die Abstimmung von Anwendungen und Compositor mit den Bildwechseln des Monitors.

Johannes Berg hat die Version 3.2 des WLAN-Konfigurationswerkzeugs Iw freigegeben.

Die Cryptosetup-Version 1.4.0 und deren Nachfolger 1.4.1 enthalten alles Nötige, um die bei Linux 3.1 neue Discard-Unterstützung in Dm-Crypt zu aktivieren. Die Entwickler verweisen allerdings in den Release Notes auf den Blog-Eintrag eines DM-Entwicklers, der Probleme rund um das für SSDs wichtige Discard beim Einsatz von Verschlüsselung erläutert.

LKML-Diskussionen

Catalin Marinas arbeitet an Patches, welche den ARM-Code um Unterstützung für Large Physical Address Extensions (LPAE) erweitern, durch die ein 32-Bit-ARM-Kernel mehr als 4 GByte Speicher adressieren kann.

In einer Diskussion rund um die Aufnahme des "Native KVM Tool" hat Ingo Molnar eine FAQ geschrieben, in der er aus Perspektive des von ihm vorangetriebenen Programms Perf erläutert, welche Vorteile eine Integration von Kernel-naher Software in das Tools-Verzeichnis von Linux haben kann.

Max Kellermann hat einen Cgroup-Controller vorgestellt, der die Auswirkungen von Fork-Bomben begrenzen soll; das selbe Ziel hat auch eine Anfang Oktober veröffentlichte Patch-Serie von Frederic Weisbecker.

Quelle und Links : http://www.heise.de/open/artikel/Kernel-Log-Echtzeit-Kernel-3-0-1382224.html
Titel: Kernel-Log – Was 3.2 bringt (2): Dateisysteme
Beitrag von: SiLæncer am 01 Dezember, 2011, 14:03
Einige Änderungen machen Btrfs robuster gegenüber unerwarteten Abstürzen. Ext4 bündelt Bereiche der Platte zu Clustern, was in einigen Szenarien deutlich mehr Tempo verspricht. Auch CIFS soll erheblich schneller werden..

Kurz vor Thanksgiving hat Linus Torvalds vergangene Woche die dritte Vorabversion von Linux 3.2 veröffentlicht. Die Commits seit dem RC2 seien größtenteils klein und angemessen gewesen; es habe aber etwas mehr Änderungen gegeben als ihm lieb sei, sagte er zum RC3.

Ende dieser oder Anfang nächste Woche dürfte Torvalds die vierte Vorabversion der Anfang bis Mitte Januar anstehenden Linux-Version nachlegen. Das Kernel-Log nimmt die fortschreitende Entwicklung von Linux 3.2 zum Anlass, die Mini-Serie "Was 3.2 bringt" mit der Beschreibung der Neuerungen rund um Dateisysteme fortzusetzen. Den Anfang dieser Artikel-Reihe hat eine Übersicht der Änderungen an Netzwerk-Treibern und -Infrastruktur gemacht; in den kommenden Wochen werden Artikel zum architekturabhängigen Code, zur Kernel-Infrastruktur und zu Treibern für sonstige Hardware folgen.

Große Brocken

Das Ext4-Dateisystem bietet nun Unterstützung für "Big Allocation Blocks" (u. .a 1, 2, 3). Durch diese kurz Bigalloc genannten 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 soll die Performance mancher Arbeitsszenarien deutlich steigern . Es wird aber auch verschwenderischer mit dem Speicherplatz umgegangen: jede Datei belegt mindestens einen ganzen Cluster. Bigalloc-Dateisysteme lassen sich mit der noch in Entwicklung befindlichen Version 1.42 der Ext-Werkzeugsammlung E2fsprogs verwenden; zum Anlegen dient wie gewohnt mkfs.ext4, dem man über den neuen Parameter "-C" die gewünschte Cluster-Größe mitteilt. [Update 20111130-0815] Kurz nach der Veröffentlichung dieses Kernels-Logs wurde die Version 1.42 der E2fsprogs freigegeben. [/Update]

Ext-Dateisystementwickler Theodore 'tytso' Ts'o hat zudem einen alten Algorithmus zum Allozieren von Speicherplatz entfernt (ext3, ext4). Durch einige weitere Änderungen soll Ext4 besser reagieren, wenn der Anwender nicht miteinander kombinierbare Mount-Optionen spezifiziert. Auf einem Vortrag im Rahmen der Linuxcon Europe 2011 hatte Theodore 'tytso' Ts'o kürzlich betont, Ext4 sei in "typischen Konfigurationen" (etwa Standard-Mount-Optionen mit und ohne Journal) stabil; bei Angabe und Kombination mancher Mount-Parameter – etwa jenen zum Speichern des Journals auf einem anderen Datenträger – seien aber Probleme möglich oder gar wahrscheinlich, da diese kaum getestet würden. Ausführliche Integritätstests seien bei den vielen Kombinationsmöglichkeiten praktisch nicht möglich, daher will er darauf hinarbeiten, die Zahl der Optionen zu reduzieren.

Die Folien seines Vortrags liegen bislang nicht auf der Webseite der Konferenz. Dort finden sich allerdings bereits PDF-Dokumente mit einigen Hintergründen zu jüngsten Entwicklungen bei Ext4 und Btrfs, die in den Vorträgen "The Ongoing Evolution of Ext4: New Features and Performance Enhancements" von Lukas Czerner und "Quo vadis Linux File Systems: An Operations Point of View on Ext4 and Btrfs" von Udo Seidel zur Sprache kamen.

Robuster

Das weiterhin experimentelle Btrfs haben die Entwickler um Funktionen zum vorausschauenden Lesen (Readahead) erweitert. Die bei Linux 3.0 eingeführte Scrub-Unterstützung wurde darauf angepasst und soll dadurch um einiges schneller arbeiten. Beim Finden beschädigter Bereiche liefert die Scrub-Funktion den Namen der betroffenen Datei. Btrfs passt die Zuordnungstabellen jetzt auch ohne expliziten Scrub-Lauf an, wenn es einen Lesefehler durch Verwenden einer zweiten Kopie der Daten des selbstständig umschiffen kann.

Falls der bei Btrfs sehr wichtige Root-Knoten beschädigt ist, kann man das Dateisystem über die neue Mount-Option "-o recovery" jetzt zur Verwendung eines alternativen Root-Knotens auffordern; der Kernel versucht dann einen älterer Root-Knoten und damit einen älteren Dateisystem-Stand einzubinden, damit man zumindest die darüber erreichbaren Daten noch retten kann.

Einige Änderungen an internen Log-Funktionen zum Verbessern der Btrfs-Performance sind wider Erwarten nicht in 3.2 eingegangen, weil sich in letzter Minute Probleme fanden, wie Chris Mason in seinem Git-Pull-Request erläutert; in dem beschreibt er auch noch einige andere für 3.2 aufgenommene Verbesserungen. In einem zweiten Anfrage hat er zum RC3 noch einige Änderungen nachgeliefert; dabei erwähnt er explizit Korrekturen (u. a. 1) für ein Problem, das bislang bei Abstürzen oder Stromausfällen zu Dateisystemschäden führte, wenn gewissen Umgebungsbedingungen gegeben waren.

Verschiedenes

    Einige Änderungen am CIFS-Dateisystemcode zum Zugriff auf Samba- oder Windows-Freigaben sollen den Datendurchsatz in bestimmten Situationen erheblich steigern (1, 2, 3).
    Die Objects Raid Engine (ORE) des Dateisystemss Exofs (EXtended Object File System) für Object Storage Devices (OSDs) beherrscht ab 3.2 auch RAID 5 (1, 2, 3). Es ist die dritte RAID-5-Implemetation des Kernels und auch Btrfs soll noch eine erhalten; langfristig ist eine Konsolidierung dieser Code-Pfade vage angedacht.
    Christoph Hellwig nennt in seinem XFS status update for October 2011 einige der Verbesserungen an XFS; darunter Optimierungen beim Ausführen von fsync(2) bei Verzeichnissen und ein Reduzieren der Latenz bei sync(2).

Die kleinen Perlen

Viele kleinere, aber keineswegs unbedeutende Neuerungen finden sich in der folgenden Liste mit den englischen Commit-Überschriften der jeweiligen Änderung. Die Einträge verlinken genau wie viele der Verweise im vorangegangenen Text auf das Webfrontend des von Linus Torvalds gepflegten Git-Zweigs auf Kernel.org, der die gemeinhin als "offiziell" bezeichneten Kernel-Quellen enthält. Der über diese Links angezeigte Commit-Kommentar und der darunter ausgegebene Patch liefern zahlreiche weitere Informationen zur jeweiligen Änderung.

Vor jedem Link finden sich in eckigen Klammern einige Buchstaben und Zahlen. Ein "C" kennzeichnet Patches mit Änderungen an Kconfig-Dateien; diese enthalten die Konfigurationsoptionen samt der zugehörigen Hilfetexte, die bei der Kernel-Konfiguration über "make menuconfig" oder "make xconfig" angezeigt werden. Ein "D" steht bei Patches, die die Dokumentation verändern, die im Kernel-Zweig unterhalb von Documentation/ liegt. Ein "N" weist Änderungen aus, die eine neue Datei anlegen. Die Zahl vermittelt einen groben Eindruck zur Größe des Patches: eine "1" kennzeichnet Änderungen, die inklusive Kommentar zwischen 10 und 20 KByte groß sind, eine "2" für solche, die zwischen 20 und 30 KByte Umfang haben; Änderungen ohne Zahl sind kleiner als 10 KByte, Patches mit einer "9" hingegen 90 KByte oder größer.

Btrfs

    [   1] Btrfs: add a log of past tree roots
    [   1] Btrfs: allow us to overcommit our enospc reservations
    [    ] Btrfs: don't wait as long for more batches during SSD log commit
    [   1] Btrfs: inline checksums into the disk free space cache
    [    ] Btrfs: introduce mount option no_space_cache
    [    ] Btrfs: stop using write_one_page

Ext-Familiy

    [    ] ext4: add ext4-specific kludge to avoid an oops after the disk disappears
    [   1] ext4: Add new ext4_discard_partial_page_buffers routines
    [   2] ext4: add some tracepoints in ext4/extents.c
    [ D  ] ext4: documentation: remove acl and user_xattr mount options
    [    ] ext4: fake direct I/O mode for data=journal
    [    ] ext4: fix 2nd xfstests 127 punch hole failure
    [    ] ext4: fix xfstests 75, 112, 127 punch hole failure

Various

    [ D  ] 9p: fix 9p.txt to advertise msize instead of maxdata
    [    ] Add definition for share encryption
    [    ] add new module parameter 'enable_oplocks'
    [    ] aio: allocate kiocbs in batches
    [    ] ceph: document ioctls
    [C   ] ceph: use kernel DNS resolver
    [   1] cifs: Add data structures and functions for uid/gid to SID mapping (try #4)
    [   1] cifs: Add mount options for backup intent (try #6)
    [    ] cifs: Display strictcache mount option in /proc/mounts
    [    ] CIFS: Implement caching mechanism for mandatory brlocks
    [    ] CIFS: Implement caching mechanism for posix brlocks
    [    ] [CIFS] Show nostrictsync and noperm mount options in /proc/mounts
    [    ] [CIFS] Update cifs version to 1.76
    [    ] cifs: update README about the kernel module parameters
    [    ] cifs: warn about deprecation of /proc/fs/cifs/OplockEnabled interface
    [   3] fs/9p: Update zero-copy implementation in 9p
    [    ] GFS2: speed up delete/unlink performance for large files
    [    ] isofs: add readpages support
    [    ] MAINTAINERS: update XFS maintainer entry
    [  N2] net/9p: Convert net/9p protocol dumps to tracepoints
    [    ] nfsd4: implement new 4.1 open reclaim types
    [C   ] pnfs-obj: move to ore 02: move to ORE
    [C   ] Squashfs: Add an option to set dev block size to 4K
    [    ] udf: Add readpages support for udf.
    [    ] vfs: add "device" tag to /proc/self/mountstats
    [ D  ] vfs: add d_prune dentry operation
    [    ] xfs: optimize fsync on directories

Quelle und Links : http://www.heise.de/open/artikel/Kernel-Log-Was-3-2-bringt-2-Dateisysteme-1386865.html
Titel: Kernel-Log – Was 3.2 bringt (3): Architektur-Code
Beitrag von: SiLæncer am 06 Dezember, 2011, 21:17
Optimierte Assembler-Codepfade beschleunigen SHA1 und die Verschlüsselungs-Algorithmen Blowfish und Twofish. Der Linux-Kernel 3.2 umschifft ferner einen Cache-Problem der neuesten AMD-Prozessoren und bringt neue und erweiterte Treiber für Intel-CPUs mit.

Dem üblichen Wochenrhythmus folgend gab Linus Torvalds am Freitag vergangener Woche die vierte Vorabversion von Linux 3.2 frei. Sie sei kleiner als die beiden vorangegangenen Vorabversionen und es würde langsam ruhiger; Torvalds deutete sogar an, es sei verdächtig ruhig.

Mit der fortschreitenden Entwicklung von Linux 3.2 will auch das Kernel-Log die Mini-Serie "Was 3.2 bringt" fortsetzen. Nach der Beschreibung der Neuerungen rund um Netzwerk-Treiber und -Infrastruktur sowie denen bei Dateisystemen folgen nun die mit Bezug zu Architektur- und Prozessor-Unterstützung; für die kommenden Wochen sind Artikel zur Kernel-Infrastruktur und Treibern geplant.

Optimiert Ver- und Entschlüsseln

Eine zusätzliche SHA1-Implementierung für x86-64-CPUs soll der Hash-Algorithmus durch den Einsatz von SSE3- oder AVX-Befehlen einen höheren Durchsatz erzielen; laut Messungen des Entwicklers habe sie den Durchsatz bei Messungen mit einer IPSec-Verbindung auf einem Core 2 Quad von 344 auf 464 Mbit/s gesteigert.

Der Blowfish-Code erhielt eine x86-64-Assembler-Implementation, der Twofish-Code eine ebenfalls in Assembler für x86-64-Systeme realisierte 3-Wege-Parallel-Implementation. Beide sollen das Ver- und Entschlüsseln mit den genannten Mechanismen erheblich beschleunigen, wie Messwerte in den Commit-Kommentaren zeigen; das Entschlüsseln mit Blowfish etwa soll in bestimmten Fällen zwei bis zweieinhalb Mal schneller erfolgen.

Architektur-Unterstützung

Durch einige Patches (u. a. 1) umschifft Linux 3.2 eine Eigenart des L1-Instruktioncaches in AMDs Bulldozer-Prozessoren, die bei bestimmten Arbeitsszenarien zu Performance-Einbußen führt. Diese Patches sind auch als Korrekturen für Stable-Kernel der Serien 3.0 und 3.1 eingereicht (1, 2), wurden dort aber bislang nicht integriert.

Neu ist auch Unterstützung für den über die x86-Instruktion RDRAND ansprechbaren Zufallszahlengenerator der Ivy-Bridge-CPUs, die Intel im nächsten Jahr als Sandy-Bridge-Nachfolger einführen will (1, 2, 3). Zum Subsystem für EDAC (Error Detection And Correction) stieß ein experimenteller neuer Treiber für Intels Sandy-Bridge-EP-Prozessoren (1, 2, 3). Der Treiber i7core_edac bietet nun auch Unterstützung zum Beeinflussen der Scrub-Rate des Arbeitsspeichers.

Linux arbeitet nun auch auf Qualcomms Hexagon-CPU-Architektur (u. a. 1, 2). Einige Hintergründe zu dieser liefert LWN.net im Artikel "Upcoming DSP architectures"; die dort ebenfalls erwähnte Unterstützung für die C6X-Architektur wurde nicht aufgenommen, dürfte jedoch bei Version 3.3 folgen.

Verschiedenes

   
Der Zeitgeber-Treiber für Micosofts Virtualisierungstechnik Hyper-V zog vom Staging-Bereich 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. 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.
   
Die seit einigen Monaten vorangetriebenen Umstrukturierung und Aufräumarbeiten im ARM-Code gingen weiter voran. Über die neuen Sub-Architekturen Highbank und Picoxcell spricht der Kernel die gleichnamigen Chipfamilien an. Neu ist auch Unterstützung für die SOC-Familie imx6q (u. a. 1, 2), den Denx MX28 und Boards mit dem Omicron ixp425.
   
Unter den Änderungen am Code für Power/PowerPC-Prozessoren ist Unterstützung (u. a. 1) für die "Power 'Non Virtualized' Platform". Einige neuere Systeme bieten diese PowerNV genannte Betriebsart, bei der Linux nicht unter einem Hypervisor läuft, sondern selbst mit KVM virtualisiert.
   
Am Code für User-Mode-Linux (UML) gab es eine Reihe Aufräum- und Umbauarbeiten.

Die kleinen Perlen

Viele kleinere, aber keineswegs unbedeutende Neuerungen finden sich in der folgenden Liste mit den englischen Commit-Überschriften der jeweiligen Änderung. Die Einträge verlinken genau wie viele der Verweise im vorangegangenen Text auf das Webfrontend des von Linus Torvalds gepflegten Git-Zweigs auf Kernel.org, der die gemeinhin als "offiziell" bezeichneten Kernel-Quellen enthält. Der über diese Links angezeigte Commit-Kommentar und der darunter ausgegebene Patch liefern zahlreiche weitere Informationen zur jeweiligen Änderung.

Vor jedem Link finden sich in eckigen Klammern einige Buchstaben und Zahlen. Ein "C" kennzeichnet Patches mit Änderungen an Kconfig-Dateien; diese enthalten die Konfigurationsoptionen samt der zugehörigen Hilfetexte, die bei der Kernel-Konfiguration über "make menuconfig" oder "make xconfig" angezeigt werden. Ein "D" steht bei Patches, die die Dokumentation verändern, die im Kernel-Zweig unterhalb von Documentation/ liegt. Ein "N" weist Änderungen aus, die eine neue Datei anlegen. Die Zahl vermittelt einen groben Eindruck zur Größe des Patches: eine "1" kennzeichnet Änderungen, die inklusive Kommentar zwischen 10 und 20 KByte groß sind, eine "2" für solche, die zwischen 20 und 30 KByte Umfang haben; Änderungen ohne Zahl sind kleiner als 10 KByte, Patches mit einer "9" hingegen 90 KByte oder größer.

x86

    [    ] amd64_edac: Add a fix for Erratum 505
    [  N1] perf, x86: Implement IBS initialization
    [    ] x86, cpu: Add cpufeature flag for PCIDs
    [C N1] x86: geode: New PCEngines Alix system driver
    [    ] x86, intel: Output microcode revision in /proc/cpuinfo
    [    ] x86, microcode, AMD: Add microcode revision to /proc/cpuinfo
    [    ] x86, microcode: Don't request microcode from userspace unnecessarily
    [    ] x86/mrst: Add platform data for Max3110 devices
    [    ] x86, mrst: add platform support for MSIC MFD driver
    [    ] x86/mrst: Add support for Penwell clock calibration
    [    ] x86, nmi: Add in logic to handle multiple events and unknown NMIs
    [ D  ] x86, x2apic: Enable the bios request for x2apic optout

ARM

    [C N ] AHCI Add the AHCI SATA feature on the MX53 platforms
    [ DN ] ARM: 7009/1: l2x0: Add OF based initialization
    [C N1] ARM: 7011/1: Add ARM cpu topology definition
    [ D  ] ARM: 7023/1: L2x0: Add interrupts property to OF binding
    [C  5] ARM: 7083/1: rewrite U300 GPIO to use gpiolib
    [  N ] ARM: at91: add at91sam9g20 and Calao USB A9G20 DT support
    [  N ] ARM: at91: add defconfig for at91sam9g45 family
    [C N1] ARM: at91: dt: at91sam9g45 family and board device tree files
    [C   ] ARM: davinci: AM18x: Add wl1271/wlan support
    [  N ] arm/dts: Add initial device tree support for OMAP3 SoC
    [  N ] arm/dts: Add initial device tree support for OMAP4 SoC
    [  N ] arm/dts: Add support for OMAP3 Beagle board
    [  N ] arm/dts: Add support for OMAP4 PandaBoard
    [  N ] arm/dts: Add support for OMAP4 SDP board
    [ DN ] arm/dts: OMAP3+: Add mpu, dsp and iva nodes
    [ DN ] arm/dt: Tegra: Add pinmux node to tegra20.dtsi
    [C   ] ARM: enable ARM_PATCH_PHYS_VIRT by default
    [C   ] ARM: EXYNOS4: Add FIMC device on ORIGEN board
    [C   ] ARM: EXYNOS4: Add FIMC device on SMDKV310 board
    [C   ] ARM: EXYNOS4: Add HDMI support for ORIGEN
    [C   ] ARM: EXYNOS4: Add machine support for 7" LCD on ORIGEN
    [    ] ARM: EXYNOS4: Add MCT support for EXYNOS4412
    [C   ] ARM: EXYNOS4: Add PWM backlight support on ORIGEN
    [  N2] ARM: EXYNOS4: Add support clock for EXYNOS4212
    [    ] ARM: EXYNOS4: Add support clock for EXYNOS4412
    [C   ] ARM: EXYNOS4: Add support for M-5MOLS camera on Nuri board
    [C N ] ARM: EXYNOS4: Add support for ORIGEN board
    [C   ] ARM: EXYNOS4: Add support for secondary MMC port on ORIGEN
    [    ] ARM: EXYNOS4: Add support MCT PPI for EXYNOS4212
    [C   ] ARM: EXYNOS4: Add support new EXYNOS4212 SoC
    [C   ] ARM: EXYNOS4: Add support new EXYNOS4412 SoC
    [   1] ARM: EXYNOS4: Add support PM for EXYNOS4212
    [C N1] ARM: EXYNOS4: Add support SMDK4212 Board
    [C  1] ARM: EXYNOS4: Add support SMDK4412 Board
    [C   ] ARM: EXYNOS4: Add TVOUT support for SMDKV310
    [C   ] ARM: EXYNOS4: Add USB EHCI device to ORIGEN board
    [C   ] ARM: EXYNOS4: Add usb ehci device to the SMDKV310
    [C   ] ARM: EXYNOS4: enable frame buffer on Nuri board
    [C   ] ARM: EXYNOS4: enable frame buffer on Universal C210 board
    [C   ] ARM: EXYNOS4: Enable MFC on ORIGEN
    [C   ] ARM: EXYNOS4: Enable MFC on Samsung SMDKV310
    [C   ] ARM: EXYNOS4: enable TV support on Universal_C210 board
    [C  1] ARM: EXYNOS4: Use generic DMA PL330 driver
    [C   ] ARM: gic: add irq_domain support
    [ DN ] ARM: gic: add OF based initialization
    [   1] ARM: gpio: make trivial GPIOLIB implementation the default
    [  N ] ARM: highbank: Add cpu hotplug support
    [ DN ] ARM: highbank: add devicetree source
    [C N ] ARM: highbank: add SMP support
    [  N ] ARM: highbank: add suspend support
    [C N ] arm/imx6q: add device tree machine support
    [ DN1] arm/imx6q: add device tree source
    [C N ] arm/imx6q: add smp and cpu hotplug support
    [  N ] arm/imx6q: add suspend/resume support
    [    ] ARM: imx: Add PATA clock support
    [    ] ARM: imx: Add PATA resources for other i.MX processors
    [C   ] ARM i.MX: allow to compile together all i.MX5 based SoCs
    [C   ] ARM i.MX: allow to compile together ARMv4 and ARMv5 based SoCs
    [C   ] arm/imx: merge i.MX3 and i.MX6
    [    ] ARM: imx/mx31moboard: Add mc13783 power button support
    [    ] ARM: imx: pwm: Add support for MX53
    [  N6] ARM: kprobes: Add ARM instruction simulation test cases
    [  N ] ARM: kprobes: Add basic API tests
    [C   ] ARM: kprobes: Add config option for selecting the ARM kprobes tests
    [  N4] ARM: kprobes: Add Thumb instruction simulation test cases
    [  N3] ARM: kprobes: Framework for instruction set test cases
    [C   ] ARM: mach-imx/mx25_3ds: Add FlexCAN support
    [C N ] arm: mach-mxs: add device for rtc
    [C   ] arm: mach-mxs: add rtc to all boards
    [C  4] ARM: mach-nuc93x: delete
    [C   ] ARM: mach-qong: Add watchdog support
    [    ] ARM: mach-shmobile: Kota2 GPIO Keys support
    [    ] ARM: mach-shmobile: Kota2 GPIO LEDs support
    [    ] ARM: mach-shmobile: Kota2 KEYSC support
    [    ] ARM: mach-shmobile: Kota2 MMCIF support
    [    ] ARM: mach-shmobile: Kota2 SCIFA4 and SCIFB support
    [    ] ARM: mach-shmobile: Kota2 SDHI0 and SDHI1 support
    [C N ] ARM: mmp: add sram allocator
    [CDN1] arm/mx5: add device tree support for imx51 babbage
    [CDN3] arm/mx5: add device tree support for imx53 boards
    [C   ] ARM: mx5: dynamically allocate fsl-usb2-udc devices
    [C  1] ARM: mx5: dynamically allocate mxc-ehci devices
    [C N ] ARM: mxs: add saif device
    [C   ] ARM: mxs: add sgtl5000 i2c device
    [C   ] ARM: OMAP2+: board-generic: Add DT support to generic board
    [ DN ] ARM: OMAP2+: l3-noc: Add support for device-tree
    [   1] ARM: OMAP: Add support for dmtimer v2 ip
    [ DN ] ARM: OMAP: omap_device: Add a method to build an omap_device from a DT node
    [    ] ARM: perf: add support for multiple PMUs
    [C   ] ARM: S5P6440: Add LCD-LTE480 and enable Framebuffer support
    [C   ] ARM: S5P6450: Add LCD-LTE480 and enable Framebuffer support
    [C N ] ARM: S5P64X0: Add GPIO setup for LCD
    [C N1] ARM: S5P64X0: Add Power Management support
    [C  1] ARM: S5P64X0: Use generic DMA PL330 driver
    [C N2] ARM: S5P: add support for tv device
    [C  1] ARM: S5PC100: Use generic DMA PL330 driver
    [C  1] ARM: S5PV210: Add support for M-5MOLS image sensor on UNIVERSAL_C210
    [C   ] ARM: S5PV210: Add support for NOON010PC30 sensor on GONI board
    [C   ] ARM: S5PV210: enable TV support on GONI board
    [C  1] ARM: S5PV210: Use generic DMA PL330 driver
    [  N1] ARM: SAMSUNG: Add common DMA operations
    [    ] ARM: SAMSUNG: Add support for detecting CPU at runtime
    [  N ] ARM: SAMSUNG: Add support for handling of cpu revision
    [    ] ARM: SAMSUNG: Add support s3c2416-adc for S3C2416/S3C2450
    [    ] ARM: SAMSUNG: Add support s3c2443-adc for S3C2443
    [C  3] ARM: SAMSUNG: Remove S3C-PL330-DMA driver
    [C   ] ARM: SAMSUNG: Update to use PL330-DMA driver
    [C N ] arm/tegra: device tree support for ventana board
    [    ] ARM: Tegra: Harmony: Add USB device
    [    ] ARM: tegra: paz00: enable rfkill for internal wifi card
    [    ] ARM: Tegra: Seaboard: Add USB devices
    [C N ] ARM: zImage: allow supplementing appended DTB with traditional ATAG data
    [C   ] ARM: zImage: Allow the appending of a device tree binary
    [C N ] at91: add support for RSIs EWS board
    [C   ] at91: USB-A9G20 C01 & C11 board support
    [C N ] clocksource: add DBX500 PRCMU Timer support
    [ D  ] Devicetree: Expand on ARM Primecell binding documentation
    [C N1] ep93xx: add support Vision EP9307 SoM
    [C N ] imx51: add pata device
    [C   ] imx: efika: Enable pata.
    [    ] MX53 Enable the AHCI SATA on MX53 SMD board
    [   2] OMAP2+: voltage: start towards a new voltagedomain layer
    [C N1] OMAP: DSS2: add panel-dvi driver
    [   1] OMAP: DSS2: DSI Video mode support
    [C   ] OMAP: DSS2: Remove "EXPERIMENTAL" from Kconfig
    [C N1] OMAPDSS: Add N800 panel driver
    [C  3] omap: iommu: migrate to the generic IOMMU API
    [  N1] picoxcell: add the DTS for pc3x2 and pc3x3 devices
    [  N ] picoxcell: add the DTS for the PC7302 board

PPC

    [C  1] powerpc/40x: Remove obsolete HCU4 board
    [C   ] powerpc/44x: Kexec support for PPC440X chipsets
    [  N ] powerpc/5200: add support for charon board
    [ DN2] powerpc/85xx: Adding DCSR node to dtsi device trees
    [ D  ] powerpc/85xx: clean up FPGA device tree nodes for Freecsale QorIQ boards
    [    ] powerpc: Add KVM as module to defconfigs
    [    ] powerpc: Add System RAM to /proc/iomem
    [ D  ] powerpc/fsl_msi: add support for "msi-address-64" property
    [C N4] powerpc: Hugetlb for BookE
    [    ] powerpc/mpic: Add support for discontiguous cores
    [    ] powerpc/numa: NUMA topology support for PowerNV
    [C   ] powerpc/nvram: Add compression to fit more oops output into NVRAM
    [C N2] powerpc/p3060qds: Add support for P3060QDS board
    [C   ] powerpc/powernv: Add CPU hotplug support
    [  N ] powerpc/powernv: Add OPAL ICS backend
    [  N1] powerpc/powernv: Add OPAL takeover from PowerVM
    [  N1] powerpc/powernv: Add RTC and NVRAM support plus RTAS fallbacks
    [  N1] powerpc/powernv: Add support for p5ioc2 PCI-X and PCIe
    [C N2] powerpc/powernv: Basic support for OPAL
    [C N2] powerpc/powernv: Support for OPAL console
    [C N1] powerpc/ps3: Add gelic udbg driver
    [  N ] powerpc/wsp: Add MSI support for PCI on PowerEN
    [C N4] powerpc/wsp: Add PCIe Root support to PowerEN/WSP

Various

    [   1] bcm47xx: prepare to support different buses
    [C   ] m68k/irq: Add genirq support
    [C  3] m68k/irq: Remove obsolete m68k irq framework
    [C N5] m68k: reorganize Kconfig options to improve mmu/non-mmu selections
    [    ] microblaze: Add PVR for Microblaze v8.20.a
    [    ] MIPS: Add more CPU identifiers for Octeon II CPUs.
    [    ] MIPS: Add probes for more Octeon II CPUs.
    [  N5] MIPS: Alchemy: Redo PCI as platform driver
    [C  1] MIPS: JZ4740: Use generic irq chip
    [C   ] MIPS: perf: Add Octeon support for hardware perf.
    [   3] MIPS: perf: Add support for 64-bit perf counters.
    [C  2] MIPS: perf: Reorganize contents of perf support files.
    [   3] qdio: support asynchronous delivery of storage blocks
    [   2] qeth: add support for af_iucv HiperSockets transport
    [   2] qeth: exploit asynchronous delivery of storage blocks
    [ D  ] S390: kdump: Add size to elfcorehdr kernel parameter
    [C N4] S390: kdump backend code

Quelle und Links : http://www.heise.de/open/artikel/Kernel-Log-Was-3-2-bringt-3-Architektur-Code-1390373.html
Titel: Linux Kernel und die Änderungen an Kmod
Beitrag von: spoke1 am 16 Dezember, 2011, 13:00
Kmod soll Systemstart beschleunigen

Die Bibliothek Libkmod und das dazugehörige Werkzeug Kmod sollen das Laden von Modulen des Linux-Kernels und damit den Start des Betriebssystems beschleunigen.
Entwickler des brasilianischen Unternehmens Profusion haben eine Bibliothek mit dem Namen Libkmod für das Laden von Modulen des Linux-Kernels entwickelt. Sie stellt ein API bereit, das von Anwendungen wie Modprobe, Lsmod, Insmod und Rmmod genutzt werden kann. Libkmod soll unnötige Aufrufe verhindern, etwa wenn Module bereits geladen sind.

Die Entwickler werden zunächst das Libkmod-API für Udev bereitstellen. Denn Udev rufe während des Bootvorgangs unter Umständen mehrere hundert Mal die Anwendung Modprobe auf, erklären die Entwickler. Da Aufrufe oftmals redundant seien, etwa weil Module bereits geladen sind oder sich direkt im Kernel befinden, verlangsame das den Systemstart. Mit nur wenigen Zeilen Code könne Libkmod das Laden von Modulen effizienter gestalten. Dazu greift die Bibliothek auf einmalig erstellte Indices und Konfigurationsdateien zu. Die Entwickler bei Profusion haben bereits Kontakt zu dem Udev-Entwickler Kay Sievers und dem Systemd-Entwickler Lennert Poettering aufgenommen, um dort Libkmod zu implementieren.
Zugleich passen die Entwickler die herkömmlichen Werkzeuge wie Modprobe an das API an. Die erste Version listet die geladenen Module, liest Informationen wie Größe oder Adressen geladener Module aus, fahndet nach vorhandenen Modulen per Alias, Modulname oder Pfad und lädt sie samt Optionen. Auch eine Filterliste für das Sperren von Modulen per Blacklist liest die Bibliothek bereits aus. Die von Libkmod erstellten Indices können beim Systemstart geladen werden und so für eine weitere Beschleunigung sorgen.
Die dazugehörigen Werkzeuge Kmod-modprobe, Kmod-lsmod, Kmod-insmod und Kmod-rmmod können bereits die Befehle ihrer bisherigen Entsprechungen größtenteils nachbilden. Später sollen diese Werkzeuge zu einer Anwendung vereint werden.

Die Bibliothek Libkmod steht unter der LGPLv2 or Later, die Werkzeuge unter GPLv2 or Later. Der Quellcode des Projekts steht in einem entsprechenden Git-Repository (http://git.profusion.mobi/cgit.cgi/kmod.git/) oder als Tarball (http://packages.profusion.mobi/kmod/) zum Download bereit.



Quelle: http://www.golem.de/1112/88475.html
Titel: Kernel-Log – Was 3.2 bringt (4): Infrastruktur
Beitrag von: SiLæncer am 17 Dezember, 2011, 14:00
Einige Änderungen am Speichersubsystem sollen Reaktionsgeschwindigkeit und Performance verbessern. Der Device-Mapper beherrscht ab Linux 3.2 Thin Provisioning – und nutzt das für eine verbessere Snapshot-Funktion.

Zu Beginn des vergangenen Wochenendes hat Linus Torvalds die fünfte Vorabversion von Linux 3.2 veröffentlicht. In der Freigabe-Mail zeigt er sich etwas enttäuscht, weil es seit dem RC4 mehr Commits gegeben habe als zuvor für den zweiten oder der vierten RC; letztlich bringe der fünfte RC aber keine großen oder gefährlich wirkenden Änderungen.

Zum Freigabetermin des Kernel 3.2 macht er keine Angaben; da allerdings viele Kernel-Entwickler zwischen Weihnachten und Neujahr nur gelegentlich an der Tastatur sitzen, dürfte er die kommende Version erst nach Neujahr freigeben, damit das Merge Window von Linux 3.3 nicht in die Zeit zwischen den Jahren fällt. Das Kernel-Log will dennoch die Mini-Serie "Was 3.2 bringt" noch vor Weihnachten zu Ende bringen; nach der Beschreibung der Neuerungen rund um Netzwerk-Treiber und -Infrastruktur, Dateisysteme sowie Architektur- und Prozessor-Unterstützung widmet sich dieser Artikel daher den Entwicklungen bei der sonstigen Infrastruktur des Kernels. Den Abschluss der Mini-Serie wird ein Artikel zu Treibern bilden.

Memory Management

Der Writeback-Code drosselt jetzt Programme effizienter, die viele Daten zum Schreiben auf Datenträger anliefern (u. a. 1, 2, 3, 4, 5). 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 an, diese Änderungen sei zwar nur 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, 2), um ein häufiger auftretendes Problem rund um Transparent Huge Pages (THP) zu beseitigen; Hintergründe liefert ein LWN.net-Artikel.

Das neue Cross Memory Attach kann den Overhead bei der Kommunikation zwischen Prozessen reduzieren. Hintergründe zu der Technik, die entwickelt wurde, um das das Message Passing Interface (MPI) schneller zu machen, liefern LWN.net im Artikel "Fast interprocess messaging" sowie die Beschreibung der Funktionsaufrufe. Änderungen am SLUB-Allocator und am Vmscan-Code sollen die Kernel-Performance in bestimmten Situationen verbessern, wie Messwerte in den Commit-Kommentaren zeigen; das gilt auch für die Mremap-Unterstützung und TLB-Optimierungen im Code für Transparent Huge Pages (THP).

Zur Aufnahme eingereicht war auch das bei LWN.net beschriebene Frontswap, auf das etwa Xen und Zcache zurückgreifen können, um zwischengespeicherte Daten beim Xen Transcendent Memory oder komprimiert im Speicher abzulegen. Eine Reihe von Kernel-Hackern sprach sich allerdings gegen die Aufnahme von Frontswap aus; eine Zusammenfassung der Lage durch den Hauptautor des Frameworks änderte daran nichts. Nach einer etwas nach Aufgabe klingenden Mail will Konrad Rzeszutek Wilk helfen, das Framework fit für eine Aufnahme zu machen.

Virtualisierung

Die Front- und Backend-Treiber zum Datenträgerzugriff beim Virtualisieren mit Xen unterstützen nun Discard, sodass der Host erfahren kann, wenn im Gast Speicherbereiche freigegeben werden (1, 2).

Am Kernel-eigenen Hypervisor KVM gab es einige kleinere Optimierungen und Verbesserungen. Das "Native KVM Tool" war abermals zur Aufnahme eingereicht. Den ersten richtigen Anlauf nahm ein als Alternative zum Native KVM Tool vorgeschlagenes Skript, über das man mit wenigen Handgriffen eine virtuelle Machine mit Qemu starten kann, um beispielsweise auf die Schnelle einen neu gebauten Kernel auszuprobieren. Beide Ansätze wurden in diesem Entwicklungszyklus nicht aufgenommen; vermutlich dürften die Entwickler beider Lösungen es bei Linux 3.3 erneut versuchen.

Device Mapper

Der Device Mapper bietet ab 3.2 eine experimentelle "persistent data library"; verschiedene DM-Targets sollen in Zukunft auf dieses Framework zum Speichern von Device-Mapper-Metadaten zurückgreifen können, wie die zugehörige Dokumentation erläutert. Ein erster Nutzer dieser Infrastruktur ist das Device-Mapper-Target "dm-thin", das Funktionen zum Thin Provisioning von Speicherplatz ermöglicht – mit ihm lässt sich also mehr Speicherplatz exportieren, als tatsächlich vorhanden ist.

Das letztgenannte Target bringt zudem eine verbesserte Snapshot-Funktionen mit, die effizienter mit dem Speicherplatz umgeht; sie soll auch dann ordentliche Performance liefern, wenn etwa zu Backup-Zwecken mehrere Snapshot auf einem Datenträger erzeugt werden. Auch dieser Code gilt als experimentell; Hintergründe erläutern die zugehörige Dokumentation und eine Feature-Seite zu Fedora 17, das die Technik nutzen will. Dazu sind neue Userspace-Werkzeuge nötig.

Ebenfalls neu und als experimentell gekennzeichnet ist das Device-Mapper-Target "dm-bufio", das man als Cache beim Zugriff auf Datenträger zwischenschalten kann. Ferner gibt der Device-Mapper jetzt weiter, ob er Datenträger ohne rotierendes Medium, etwa SSDs, verwaltet; diese Information kann den Boot-Vorgang beschleunigen.

Storage

Bei dem mit Mdadm administrierten MD-Code für Software-RAIDs gab es diesmal keine erwähnenswerten Neuerungen. MD-Maintainer Neil Brown konzentriert sich offenbar auf der Arbeit am Code zum Austauschen von Geräten im Betrieb ("Hot Replace") bei den RAID-Level 4, 5 und 6 sowie den Leveln 1 und 10 – dies sei wohl die Verbesserung, die von den Anwendern am meisten gewünscht wird. Brown hofft, den neuen Code zur Aufnahme für Linux 3.3 einzusenden.

Über das SCSI-Subsystem stieß im Merge Window ein Patch zum Kernel, der Datenträgern zu Alias-Namen verhalf, die sich auch durch einen Neustart nicht veränderten; Hintergründe erläutert ein LWN.net-Artikel. Die Änderungen wurde aber wenige Wochen später wieder entfernt, nachdem sich eine Reihe wichtiger Kernel-Entwickler gegen diesen Ansatz ausgesprochen hatten. Sie waren genau wie mittlerweile auch der der Entwickler der Änderung der Auffassung, dass eine Userspace-Lösung der bessere Ansatz sei; eine solche will der Entwickler der Änderung jetzt vorantreiben.

Userspace-Werkzeuge können mit Hilfe des für Loop-Devices zuständigen Kernel-Code nun eigenständig dafür sorgen, dass Gerätedateien für Partitionen erzeugt werden, wenn das per Loop eingebundene Image eine Partitionstabelle enthält. Der Loop-Code erhielt außerdem Discard-Unterstützung, wodurch sich ungenutzter Speicherplatz in Images freigeben lassen.

Verschiedenes

    Mit Hilfe des neuen "CFS bandwidth controller" und der Infrastuktur für Control Croups (cgroups) 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, Dokumentation).
    Der Kernel markiert sich jetzt 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. Solche Module haben in Kernel-Kreisen einen schlechten Ruf und lösen gelegentlich Fehler in Bereichen aus, die auf den ersten Blick nichts mit dem Modul zu tun haben. Entstanden ist der Patch nach einer Diskussion, den Kernel beim Laden der Treiber für VirtualBox als "tainted" zu markieren (1, 2)
    Die Perf-Kommandos Top und Report erhielten eine überarbeitete Oberfläche (u. a. 1).
    Zusammen mit einem TPM soll das für Linux 3.2 aufgenommene Extended Verification Module (EVM) Manipulationen an Systemdateien aufdecken und so sicherstellen, dass nicht schon beim Systemstart Schadcode geladen wird.
    Ob es sich bei einem System um einen Desktop-PC, ein Notebook, einen Server oder eine andere von fünf weiteren Geräteklassen handelt, lässt sich jetzt via Sysfs auslesen, sofern diese Angabe korrekt in den ACPI-Tabellen hinterlegt wurde.
    Über den Verwalter des Codes für Power-Management stieß das im Embedded-Umfeld entstandene DVFS (Dynamic Voltage and Frequency Scaling) zum Kernel. Ähnlich wie Cpufreq reguliert das Devfreq genannte Framework die Frequenz und Spannungsversorgung von Bausteinen des Systems, um idealerweise die Leistungsaufnahme der Chips niedrig zu halten, ohne die Performance allzu negativ zu beeinflussen; Cpufreq erledigt das allerdings für Prozessoren und Devfreq für andere Bausteine. Neu ist auch ein API zum Konfigurieren von Quality of Service bei Geräte-spezifischem Power-Management (Device PM QoS). Hintergründe zu diesen Neuerungen erläutert LWN.net im Artikel "Better device power management for 3.2"
    Der Code, der den Arbeitsspeicherinhalt beim Ruhezustand (Hibernate/Software Suspend) auf einem nicht nicht-flüchtigen Datenträger sichert, arbeitet jetzt mit Threads. Laut Commit-Kommentar hat das die Lese- und Schreibgeschwindigkeit beim Entwickler und den Faktor zwei verbessert.
    Durch eine Änderung kann der Kernel nun auch bei PCIe-Geräten regelmäßig abfragen, ob ein Power Management Event (PME) aufgetreten ist. Das ist gelegentlich nötig, um Fehler in der Hardware zu umschiffen. Die Ursachen dafür sind vielfältig und werden im Commit-Kommentar angerissen, der mit den Worten "The land of PCI power management is a land of sorrow and ugliness, especially in the area of signaling events by devices" beginnt und anschließend einige Hardware-Probleme in diesem Bereich erläutert.
    Der PCI-Code bietet nun Unterstützung für Process Address Space Identifiers (PASIDs). Durch diese auf eine IOMMU (Input/Output Memory Management Unit) angewiesene Technik können PCI-Geräte auf mehrere I/O-Adressbereiche gleichzeitig zugreifen.
    Das Security-Framework TOMOYO kann nun Umgebungsvariablen prüfen und bestimmte Socket-Operationen unterbinden.
    Das Krypto-Subsystem bietet ein neues Konfigurations-API, um Krypto-Algorithmen mit Userspace-Programmen zu konfigurieren (u. a. 1); das gelingt etwa mit dem parallel zum neuen Interface entwickelte Crconf.
    Im Skript-Verzeichnis des Kernel liegt am Version 3.2 ein Skript, um ein mit Bzip2 komprimiertes Kernel-Image zu extrahieren.
    Dateien im Sysctl-Verzeichnis (/proc/sys/) lassen sich jetzt über die Poll-Funktion auf Änderungen überwachen.
    Der Init-Code versteht fortan auch Angaben zum einzubindenden Root-Device in der Form "root=PARTUUID=UUID/PARTNROFF=%d", um eine Parition ("PARTNROFF=%d") auf einem bestimmten Datenträger (PARTUUID=UUID) zu spezifizieren.

Die kleinen Perlen

Viele kleinere, aber keineswegs unbedeutende Neuerungen finden sich in der folgenden Liste mit den englischen Commit-Überschriften der jeweiligen Änderung. Die Einträge verlinken genau wie viele Verweise im vorangegangenen Text auf das Webfrontend des von Linus Torvalds gepflegten Git-Zweigs auf Kernel.org, der die gemeinhin als "offiziell" bezeichneten Kernel-Quellen enthält. Der über diese Links angezeigte Commit-Kommentar und der darunter ausgegebene Patch liefern zahlreiche weitere Informationen zur jeweiligen Änderung.

Vor jedem Link finden sich in eckigen Klammern einige Buchstaben und Zahlen. Ein "C" kennzeichnet Patches mit Änderungen an Kconfig-Dateien; diese enthalten die Konfigurationsoptionen samt der zugehörigen Hilfetexte, die bei der Kernel-Konfiguration über "make menuconfig" oder "make xconfig" angezeigt werden. Ein "D" steht bei Patches, die die Dokumentation verändern, die im Kernel-Zweig unterhalb von Documentation/ liegt. Ein "N" weist Änderungen aus, die eine neue Datei anlegen. Die Zahl vermittelt einen groben Eindruck zur Größe des Patches: eine "1" kennzeichnet Änderungen, die inklusive Kommentar zwischen 10 und 20 KByte groß sind, eine "2" für solche, die zwischen 20 und 30 KByte Umfang haben; Änderungen ohne Zahl sind kleiner als 10 KByte, Patches mit einer "9" hingegen 90 KByte oder größer.

BCMA, PCI, PCIe, …

    [C  1] bcm47xx: add support for bcma bus
    [C N1] bcm47xx: make it possible to build bcm47xx without ssb.
    [C N1] bcma: add mips driver
    [C N1] bcma: add SOC bus
    [    ] pci: Add flag indicating device has been assigned by KVM
    [C   ] PCI: Add implementation for PRI capability
    [    ] PCI: enable MPS "performance" setting to properly handle bridge MPS
    [    ] PCI: Workaround for Intel MPS errata

Crypto & Security

    [    ] crypto: Add userspace report for ablkcipher type algorithms
    [    ] crypto: Add userspace report for aead type algorithms
    [    ] crypto: Add userspace report for ahash type algorithms
    [    ] crypto: Add userspace report for blkcipher type algorithms
    [    ] crypto: Add userspace report for cipher type algorithms
    [    ] crypto: Add userspace report for compress type algorithms
    [    ] crypto: Add userspace report for givcipher type algorithms
    [    ] crypto: Add userspace report for larval type algorithms
    [    ] crypto: Add userspace report for nivaead type algorithms
    [    ] crypto: Add userspace report for pcompress type algorithms
    [    ] crypto: Add userspace report for rng type algorithms
    [    ] crypto: Add userspace report for shash type algorithms
    [C N3] crypto: blowfish - split generic and common c code
    [    ] crypto: blowfish-x86_64 - improve x86_64 blowfish 4-way performance
    [ DN ] crypto: picoxcell - support for device tree matching
    [    ] crypto: tcrypt - add ctr(twofish) speed test
    [    ] crypto: testmgr - add blowfish test-vectors
    [    ] crypto: testmgr - add twofish tests
    [ D  ] evm: permit only valid security.evm xattrs to be updated
    [C N ] hw_random: add driver for atmel true hardware random number generator
    [   2] Smack: Rule list lookup performance
    [    ] TOMOYO: Allow controlling generation of access granted logs for per an entry basis.
    [   1] TOMOYO: Allow domain transition without execve().
    [   1] TOMOYO: Allow specifying domain transition preference.
    [    ] TOMOYO: Bump version.

Memory Management

    [ D  ] memcg: skip scanning active lists based on individual size
    [ D 1] mm: change isolate mode from #define to bitwise type
    [    ] mm: disable user interface to manually rescue unevictable pages
    [    ] mm: memory hotplug: Check if pages are correctly reserved on a per-section basis
    [    ] slub: use correct parameter to add a page to partial list tail
    [    ] vmscan: add block plug for page reclaim
    [    ] writeback: account per-bdi accumulated dirtied pages
    [    ] writeback: control dirty pause time
    [    ] writeback: limit max dirty pause time
    [    ] writeback: per-bdi background threshold
    [    ] writeback: stabilize bdi->dirty_ratelimit

Power Management

    [   4] cpuidle: Single/Global registration of idle states
    [ D  ] Fix documentation and comment typo 'no_hz'
    [    ] MAINTAINERS: Update linux-pm list address
    [CDN1] PM / devfreq: Add basic governors
    [ DN ] PM / devfreq: Add common sysfs interfaces
    [ DN1] PM / Documentation: Update docs about suspend and CPU hotplug
    [ D  ] PM / Domains: Document how PM domains are used by the PM core
    [ D  ] PM / Hibernate: Add resumedelay kernel param in addition to resumewait
    [ D  ] PM / Hibernate: Add resumewait param to support MMC-like devices as resume file
    [ D  ] PM / Hibernate: Freeze kernel threads after preallocating memory
    [C   ] PM / Hibernate: Include storage keys in hibernation image on s390
    [    ] PM QoS: Add global notification mechanism for device constraints
    [  N1] PM QoS: Move and rename the implementation files
    [ D  ] PM / QoS: Update Documentation for the pm_qos and dev_pm_qos frameworks
    [ D 1] PM / Runtime: Add macro to test for runtime PM events
    [ D  ] PM / Runtime: Add might_sleep() to runtime PM functions
    [ D  ] PM / Runtime: Automatically retry failed autosuspends
    [ D  ] PM / Runtime: Make documentation follow the new behavior of irq_safe
    [ D  ] PM / Runtime: Update document about callbacks
    [ D  ] PM / Sleep: Correct inaccurate information in devices.txt
    [ D  ] PM / Sleep: Update documentation related to system wakeup
    [ D  ] PM / Sleep: Update freezer documentation
    [ D 1] PM / Suspend: Add statistics debugfs file for suspend to RAM
    [   1] PM: Update comments describing device power management callbacks
    [ D  ] PM: Update the policy on default wakeup settings

Scheduler

    [    ] sched: Add exports tracking cfs bandwidth control statistics
    [    ] sched: Add support for throttling group entities
    [    ] sched: Add support for unthrottling group entities
    [    ] sched: Implement hierarchical task accounting for SCHED_OTHER
    [    ] sched: Return unused runtime on group dequeue

Storage

    [    ] block: add GENHD_FL_NO_PART_SCAN
    [    ] block: document blk-plug
    [ D  ] cciss: Adds simple mode functionality
    [ D  ] cciss: add transport mode attribute to sys
    [ D  ] cciss: auto engage SCSI mid layer at driver load time
    [    ] dm log userspace: add log device dependency
    [   1] target: Add generic active I/O shutdown logic
    [    ] target: Improve system responsivity during I/O
    [    ] target: Remove legacy + unused device active I/O shutdown code

Tracing

    [    ] perf: Add PM notifiers to fix CPU hotplug races
    [   1] perf annotate browser: Allow navigation to called functions
    [   1] perf browsers: Add live mode to the hists, annotate browsers
    [    ] perf buildid-list: Add option to show the running kernel build id
    [    ] perf hists browser: Add missing hotkeys to the help window
    [    ] perf hists: Threaded addition and sorting of entries
    [    ] perf sched: Fix script command documentation
    [  N ] perf script: Add drop monitor script
    [    ] perf stat: Add --log-fd <N> option to redirect stderr elsewhere
    [   1] perf stat: Add -o and --append options
    [    ] perf stat: Allow tab as cvs delimiter
    [    ] perf tools: Fix tracing info recording
    [  N4] perf tools: Make perf.data more self-descriptive (v8)
    [    ] perf top: Add callgraph support
    [    ] perf top: Use the TUI interface by default
    [    ] perf ui browser: Add filter method
    [  N ] perf ui browser: Make the colors configurable and change the defaults
    [    ] trace: Add a new readonly entry to report total buffer size
    [    ] trace: Add ring buffer stats to measure rate of events
    [   1] Tracepoint: Dissociate from module mutex
    [    ] tracing: Add preempt disable for filter self test

Virtualization

    [   1] KVM: Intelligent device lookup on I/O bus
    [ D  ] KVM: nVMX: Document 'nested' parameter
    [  N ] KVM: PPC: Add PAPR hypercall code for PR mode
    [    ] KVM: PPC: Support SC1 hypercalls for PAPR in PR mode
    [ D  ] KVM: Restore missing powerpc API docs
    [    ] KVM: SVM: Keep intercepting task switching with NPT enabled
    [ D  ] KVM: Update documentation to include detailed ENABLE_CAP description
    [    ] KVM: VMX: Add support for guest/host-only profiling
    [    ] KVM: x86: Add module parameter for lapic periodic timer limit
    [ D  ] KVM: x86: Raise the hard VCPU count limit
    [    ] lguest: Allow running under paravirt-enabled KVM.
    [    ] perf annotate: Add --symfs option
    [    ] perf annotate: Make output more readable
    [    ] perf: Support setting the disassembler style
    [CDN2] virtio: Add platform bus driver for memory mapped virtio device
    [  N1] xen/acpi: Domain0 acpi parser related platform hypercall
    [    ] xen/blkback: Support 'feature-barrier' aka old-style BARRIER requests.
    [    ] xen-blkfront: If no barrier or flush is supported, use invalid operation.
    [    ] xen:pvhvm: enable PVHVM VCPU placement when using more than 32 CPUs.

Various

    [    ] ACPI / PM: Add Sony VGN-FW21E to nonvs blacklist.
    [    ] alarmtimers: Add alarm_forward functionality
    [    ] alarmtimers: Add more refined alarm state tracking
    [    ] alarmtimers: Add try_to_cancel functionality
    [    ] cgroup: Replace Paul Menage with Tejun Heo as cgroups maintainer
    [    ] class: Implement support for class attrs in tagged sysfs directories.
    [C  1] clockevents: Make minimum delay adjustments configurable
    [ DN ] devicetree: Add a registry of vendor prefixes
    [ DN ] devicetree: Add ARM pl022 spi controller binding doc
    [ DN ] devicetree: Add ARM pl061 gpio controller binding doc
    [ D  ] devicetree: Document Qualcomm and Atmel prefixes
    [ D  ] docs/sysfs: Specify ABI documentation requirements
    [ D  ] Documentation/ABI/: update version number references from 2.6.x to 3.x
    [ D  ] Documentation: drop as block elevator reference in switching-sched.txt
    [ D  ] Documentation: HFS is orphaned
    [ D  ] Documentation: update cgroups notes
    [ D  ] Documentation: update CodingStyle use of braces
    [   2] genirq: Add support for per-cpu dev_id interrupts
    [ D  ] include/linux/dma-mapping.h: add dma_zalloc_coherent()
    [C  1] iommu: Rename the DMAR and INTR_REMAP config options
    [    ] kconfig: handle SIGINT in menuconfig
    [ D  ] kernel/sysctl.c: add cap_last_cap to /proc/sys/kernel
    [    ] ktest: Add DEFINED keyword for IF statements
    [    ] ktest: Add IF and ELSE to config sections
    [    ] ktest: Add INCLUDE keyword to include other config files
    [    ] ktest: Add NO_INSTALL option to not install for a test
    [    ] ktest: Add option REBOOT_SUCCESS_LINE to stop waiting after a reboot
    [    ] ktest: Add OVERRIDE keyword to DEFAULTS section
    [    ] ktest: Add processing of complex conditionals
    [    ] ktest: Add TEST_TYPE install option
    [C   ] llist: Make some llist functions inline
    [    ] module: Enable dynamic debugging regardless of taint
    [    ] PM / ACPI: Blacklist Sony Vaio known to require acpi_sleep=nonvs
    [    ] PM / ACPI: Blacklist Vaio VGN-FW520F machine known to require acpi_sleep=nonvs
    [ D  ] printk: add console_suspend module parameter
    [ D  ] printk: add module parameter ignore_loglevel to control ignore_loglevel
    [  N1] rcu: Add event-tracing for RCU callback invocation
    [   2] rcu: Add grace-period, quiescent-state, and call_rcu trace events
    [ D  ] rcu: Catch rcutorture up to new RCU API additions
    [ DN ] rcu: Document interpretation of RCU-lockdep splats
    [ D  ] rcu: Fix RCU's NMI documentation
    [ D  ] rcu: Not necessary to pass rcu_read_lock_held() to rcu_dereference_protected()
    [ D 1] rcu: Simplify quiescent-state accounting
    [ D  ] rcu: Update documentation for additional RCU lockdep functions
    [ D  ] rcu: Update documentation to flag RCU_BOOST trace information
    [ D 1] rcu: Update rcutorture documentation
    [C N1] regmap: Add the LZO cache support
    [CD  ] sysctl: make CONFIG_SYSCTL_SYSCALL default to n
    [    ] sysfs: count subdirectories
    [    ] sysfs: Implement support for tagged files in sysfs.
    [    ] sysfs: Remove support for tagged directories with untagged members (again)
    [    ] time: Improve documentation of timekeeeping_adjust()
    [ DN ] tty/serial: RS485 bindings for device tree
    [ D  ] uio: documentation fixups
    [ D  ] uio: Support physical addresses >32 bits on 32-bit systems
    [ D  ] Update email address for stable patch submission

Quelle und Links : http://www.heise.de/open/artikel/Kernel-Log-Was-3-2-bringt-4-Infrastruktur-1394463.html
Titel: Kernel-Log: Multitouch für X.org und neue Grafiktreiber
Beitrag von: SiLæncer am 17 Dezember, 2011, 18:00
Der kommende X-Server 1.12 soll Touchscreens mit Multitouch-Fähigkeiten unterstützen. Neue Grafiktreiber von AMD, Intel und Nvidia. Linux 3.0 wird noch gepflegt, obwohl Linux 3.1 schon einige Wochen alt ist.

Peter Hutterer, der Verwalter der X Input Extension des X-Servers von X.org, hat eine Patch-Serie zur Begutachtung gestellt, die den X-Server um Unterstützung für Multitouch-Eingaben erweitert – also die Steuerung der Bedienoberfläche per Touchscreen mit mehr als einem Finger, wie sie bei Tablets und Smartphones üblich ist. Dazu ist Software nötig, die Mehrfingergesten erkennt – unter anderem durch die Version 2.2 der X Input Extension. Der Code dürfte aller Wahrscheinlichkeit in Kürze in den Entwicklerzweig des X-Servers eingehen, aus dem im März die Version 1.12 des X-Servers hervorgehen soll; diese soll groben Plänen zufolge Bestandteil von X.org 7.7 werden.

Toolkits wie Gtk+ oder Qt und Anwendungen, die direkt mit dem X-Server interagieren, müssen angepasst werden, um die Möglichkeiten der neuen Multitouch-Unterstützung auszuschöpfen; einige Entwickler arbeiten bereits an passendem Code. Hintergründe zum Ansatz der X-Entwickler liefert eine Seite im X.org-Wiki; Hutterer erläutert weitere Details in einem Blog-Eintrag, zu dem ein Video gehört, das den Einsatz der Technik demonstriert:


Zudem hat Hutterer kürzlich die Version die Version 2.1 von Inputproto freigegeben, das die Protokoll-Spezifikation und Header-Dateien der X Input Extension enthält. Diese Version bringt Unterstützung für Smooth Scrolling und ermöglicht Client-Programmen das Abrufen von Raw Events, selbst wenn das Eingabegerät anderweitig gebunden ist; Hintergründe dazu erläutert der Red-Hat-Entwickler in vier Blog-Einträgen (1, 2, 3, 4).

Grafiktreiber

Die Entwickler der Grafiktreiber für Intel-Prozessoren und -Chipsätze für Notebooks und Desktop-PCs haben das "Intel 2011Q4 Graphics Package" geschnürt. Dabei handelt es sich wie üblich um eine Sammlung der verschieden Bausteine des Linux-Grafikstacks, die den Intel-Entwicklern zufolge gut zusammen arbeiten sollen. Sie weisen darauf hin, dass die große Einsparungen ermöglichende Stromspartechnik RC6 standardmäßig deaktiviert ist und sich über den Kernel-Parameter i915.i915_enable_rc6=1 einschalten lässt; dadurch könne es aber Stabilitätsprobleme auf Systemen geben, bei denen VT-d aktiv ist. Die neue Version soll zudem die Unterstützung für die Chips der Ivy-Bridge-Platform verbessern, die Intel im nächsten Jahr einführen will. Eine Reihe weiter Informationen zu den jüngsten Entwicklungen rund um die Intel-Treiber liefert Intel-Entwickler Eugeni Dodonov in einer Reihe kürzlich veröffentlichter Blog-Einträge (1, 2, 3); informativ sind zudem die Folien eines Vortrags, den Dodonov kürzlich auf der Linuxcon Brazil gehalten hat

AMD hat die Version 11.12 seiner proprietären Linux-Grafiktreiber veröffentlicht. Wie zuletzt bei AMD üblich finden sich auf der AMD-Homepage auch diesmal keine Informationen zu den wesentlichsten Neuerungen der neuen Treiberversion. Laut einem Phoronix-Bericht soll sie unter anderem "Early Support" für das kürzlich veröffentlichte Red Hat Enterprise Linux 6.2 bringen. Dem Artikel zufolge haben Teilnehmer der Phoronix-Foren berichtet, auch mit dieser Treiberversion gäbe es noch Probleme bei der Video-Wiedergabe und Darstellungsfehler beim Einsatz von Gnome 3.

Nvidia hat Mitte Dezember die Version 275.43 seiner proprietären Grafiktreiber für x86-32/x86- und x86-64/x64-Systeme freigegeben, die im wesentlichen Fehlerkorrekturen bringt. Die Versionen zählen zum "Long-Lived Branch" und waren die neuesten, die Nvidias offizielle Download-Seite bei Entstehen dieses Textes anbot. Bereits im November hat Nvidia allerdings die Version 290.10 seiner Linux-Treiber freigegeben; diese finden sich über zwei Einträgen eines Nvidia-Entwicklers in den Nvidia-Linux-Foren bei Nvnews.net (1, 2)

Kernel-Versionsstatus

Die Entwicklung des Kernels 3.2 schreitet derweil im gewohnten Tempo voran: Ende letzte Woche erschien die Version 3.2-rc5, die vermutlich zum Start dieses Wochenendes durch die sechste Vorabversion abgelöst wird. Wahrscheinlich wird Linus Torvalds versuchen zu vermeiden, dass das Merge Window von Linux 3.3 auf die Zeit zwischen Weihnachten und Neujahr fällt; Linux 3.2 dürfte daher frühestens Anfang Januar erscheinen.

Seit dem letzten regulären Kernel-Log sind die Stable- und Longterm-Kernel 2.6.32.49, 2.6.32.50, 3.0.10, 3.0.11, 3.0.12, 3.0.13, 3.1.2, 3.1.3, 3.1.4 und 3.1.5 erschienen. Es ist ein klein wenig ungewöhnlich, dass Greg Kroah-Hartman die Kernel-Serie 3.0 so lange unter dem Stable-Label weiter pflegt, denn normalerweise stellt er innerhalb eines Monats nach dem Erscheinen einer neuen Version des Hauptentwicklungszweigs (etwa Linux 3.1) die Pflege des Vorgängers (3.0) ein. Möglicherweise erwägt er, den Kernel 3.0 zu einem zwei Jahre gepflegten Longterm-Kernel zu machen; die Entwickler der Realtime-Unterstützung für Linux dürften das begrüßen, denn die als Produktionsreif deklarierte Version ihres RT-Trees setzt auf Linux 3.0 auf.

Kernel-Log-Staccato

Kernel

    Christoph Hellwig hat das "XFS status update for November 2011" veröffentlicht.
    Unter den LAN- und WLAN-Entwicklern sorgte in den vergangenen Wochen und Monaten gelegentlich ein Bufferbloat genanntes Problem für Diskussionen. Dies Stichwort umschreibt einige Probleme und Gefahren, die durch zu exzessives Puffern von Daten in Netzwerk-Hardware entstehen sollen. Besonders aktiv ist Jim Gettys, der die Problematik kürzlich in dem ACM-Queue-Artikel "Bufferbloat: Dark Buffers in the Internet" näher erläuterte; die Webseite hat zudem eine BufferBloat: What’s Wrong with the Internet? betitelte Textfassung eines Gesprächs zwischen Vint Cerf, Van Jacobson, Nick Weaver und Jim Gettys veröffentlicht.
    H.J. Lu hat einen kurzen Statusbericht zum X32-Projekt veröffentlicht, das einige Nachteile des 64-Bit-Betriebs durch Einführung eines X32-ABIs zu umschiffen versucht.

Unterstützung für Grafikhardware

    Die Entwickler der Libdrm haben die Versionen 2.4.28 und 2.4.29 der Bibliothek freigegeben, mit der Userspace-Software wie die 3D-Treiber von Mesa 3D mit den DRM-Treibern im Linux-Kernel kommunizieren.
    Ian Romanick hat die Version 7.11.2 von Mesa 3D freigegeben, die vor allem Fehlerkorrekturen bringt.
    Die X Developers Conference (XDC) soll im September 2012 in Nürnberg stattfinden.

Kernel-Umland ("Plumbing layer"), Userland-Treiber, Entwicklertools, ...

    Die Entwickler des Projekts Hplip (Hewlett-Packard's Linux Imaging and Printing Software) haben die Version 3.11.12 ihres Treiberframeworks veröffentlicht, das über zweitausend Drucker und Multifunktionsgeräte von HP anspricht. Zu den Neuerungen zählen laut den Release Notes Unterstützung für den Photosmart 5510d e-All-in-One sowie eine Reihe von Geräten der Modellreihen LaserJet Enterprise 600 und LaserJet 200 color MFP.
    Lucas De Marchi hat die zusammen mit Gustavo Barbieri entwickelte Software libkmod und kmod vorgestellt. Bei ersterer handelt es sich um eine Bibliothek, die zahlreiche Funktionen rund um die Handhabung von Kernel-Modulen bereitstellt; kmod enthält einige auf der Bibliothek aufbauende Kommandozeilenwerkzeuge, die ähnliche Arbeiten erledigen wie lsmod, rmmod, insmod oder modprobe, aber teilweise noch nicht den selben Funktionsumfang bieten. Mit der Bibliothek versuchen die Entwickler einen der Wünsche zu erfüllen, den die Kay Sievers, Lennart Poettering und Harald Hoyer in ihrer "Plumber’s Wish List for Linux" genannt hatten; laut den Kmod-Entwicklern wird Udev die libkmod bald nutzen.
    James Hunt hat das mit "Let them speak" betitelte Upstart 1.4 freigegeben. Es bringt unter anderem Funktionen, um Dienste unter bestimmten User-Konten oder Gruppen zu starten.
    Lukas Czerner hat den von ihm vorangetriebenen System Storage Manager auf der LKML vorgestellt. Das ursprünglich File System Manager (FSM) genannte Tool ist als zentrales Kommandozeilen-Konfigurationswerkzeug für typische Administrationsaufgaben rund um die Datenträgerverwaltung gedacht, das Mdadm, die verschiedenen Dateisystem-Tools und die LVM2-Werkzeuge abstrahiert. Hintergründe erläutern die Folien eines Vortrags, den Czerner im Oktober auf der LinuxCon Europe gehalten hat.
    Das zur Konfiguration von LAN-Bausteinen zuständige Programm Ethtool ist in Version 3.1 erschienen.
    Stephen Hemminger hat die auf Linux 3.1 abgestimmte, aber auch mit älteren Kerneln arbeitende Version 3.1 von iproute2 veröffentlicht, das verschiedene Werkzeuge zur Netzwerkkonfiguration enthält.
    Karel Zak erläutert in seinem Blog einige Verbesserungen am Programm wipefs, die in die Version 2.21 der von ihm betreuten Werkzeugsammlung Util-Linux einfließen soll; in einem anderen Blog-Eintag beschreibt Zak, wie man die in /proc/mounts oder /proc/self/mountinfo zu findenden Listen der eingehängten Dateisysteme überwacht.
    Junio C Hamano hat Git 1.7.8 freigegeben.
    Samuel Ortiz hat einen Userspace-Daemon für NFC (Near Field Communication) freigegeben, der mit dem NFC-Code zusammenarbeitet, der bei Linux 3.1 zum Kernel stieß.

LKML-Diskussionen

    Nach dem Einbruch bei Kernel.org entwickeln sich mehr und mehr Strukturen, um den Fluss der in den Kernel einziehenden Änderungen gegen Angreifer abzusichern. Dazu zählen auch Git-Pull-Requests von signierten Tags; einige Hinweise zu deren Handling hat Linus Torvalds kürzlich auf der LKML erläutert.
    Colin Walters hat ein Programm zur Begutachtung gestellt, mit dessen Hilfe unprivilegierte Anwender eine Change-Root-Umgebung oder Bind-Mounts einrichten können. In der daraus entstandenen Diskussion weisen unter anderem die Kernel-Urgesteine H. Peter Anvin und Alan Cox darauf hin, dass man ein Chroot keineswegs als "Jail" ansehen kann, da Programme durchaus aus einem so aufgesetzten Bereich ausbrechen können (1, 2).
    Auf der LKML gab es kürzlich mehrere Mails zu Virtio-Scsi (1,2, 3, 4). Ähnlich wie Virtio-Blk verspricht das Framework Gastsystemen einen möglichst flotten und mit wenig Overhead verbundenen Zugriff auf Datenträger, die der Host bereitstellt; Virtio-Scsi soll einige der Probleme lösen, die Virtio-Blk zeigt und die sich dort nicht so einfach beseitigen lassen.
    David Howells hat einen überarbeitete Version der Patches zur Diskussion gestellt, durch die man den Kernel anweisen kann, nur noch signierte Module zu laden; einige Hintergründe dazu erläutert der kürzlich veröffentlichte LWN.net-Artikel "Loading signed kernel modules".
    Eine längere Diskussion gab es kürzlich auf der LKML um das Für und Wider der Aufnahme von "vtunerc", einen virtuellen Treiber, mit dem man via Netzwerk auf DVB-Hardware zugreifen kann, die in anderen Systemen steckt.
    Torvalds steuert schon lange deutlich weniger Änderungen zum Kernel bei als viele andere Kernel-Hacker; seine lenkende Hand ist auf der LKML aber immer wieder zu spüren. Kürzlich wies er etwa einen Entwickler zurecht, nicht unnötige Wartezeiten in den Kernel-Code einzubauen, denn solche würden sich letztlich zu spürbaren Wartezeiten summieren, die Anwender bemerken und stören.

Quelle und Links : http://www.heise.de/open/artikel/Kernel-Log-Multitouch-fuer-X-org-1396360.html
Titel: Kernel-Log – Was 3.2 bringt (5): Treiber
Beitrag von: SiLæncer am 23 Dezember, 2011, 08:05
Das zu Neujahr erwartete Linux 3.2 bringt nicht nur bessere Unterstützung für Multitouch-Touchpads und moderne Grafikchips von Nvidia, sondern auch einen ganze Reihe neuer Treiber für DVB-Hardware.

Linux 3.2 dürfte zum Jahreswechsel erscheinen, so sich nicht noch Fehler finden, die die Freigabe verzögern. Das deutete Linus Torvalds in der Mail zur Veröffentlichung von Linux 3.2-rc6 an, in der er erwähnt, dass der siebte Release Candidate (RC) wahrscheinlich der letzte sein werde; er dürfte wohl zum Heiligen Abend erscheinen, sofern Torvalds seinen Rhythmus beibehält.

Das Kernel-Log will daher jetzt seine Mini-Serie "Was 3.2 bringt" mit der folgenden Beschreibung von Neuerungen rund um Treiber abschließen. Die ersten vier Teile der Artikelreihe haben bereits die für 3.2 integrierten Änderungen bei Netzwerk-Treibern und -Infrastruktur, Dateisystemen, Architektur- und Prozessor-Unterstützung und sonstiger Infrastruktur des Kernels erläutert.

Grafiktreiber

Der DRM/KMS-Treiber für Intel-GPUs soll bei Systemen auf Basis von Intels Ivy-Bridge-Platform bis zu drei Monitore ansteuern können; der Kernel-Treiber für die Grafikkerne der im nächsten Jahr erwarteten Intel-Mainstream-Prozessoren gilt bereits seit Linux 3.1 als komplett. Bei den mit Grafikkern ausgestatteten Ivy-Bridge-CPUs aktiviert der DRM/KMS-Treiber von Linux 3.2 erstmals standardmäßig die sehr wirksame Stromspartechnik RC6 und die Semaphoren der Hardware (1, 2). Bei Intels derzeit aktuellen Prozessoren der Sandy-Bridge-Generation verwendet der neue Kernel die Techniken ab Version 3.2 ebenfalls automatisch, sofern die Virtualisierungstechnik VT-d deaktiviert ist – mit ihr soll es Wechselwirkungen geben, die Fehlverhalten oder Systemabstürzen nach sich ziehen. 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 auch die Geräuschentwicklung der Lüfter häufig reduziert. Man kann sie bei älteren Kernel-Versionen über den Kernel-Boot-Parameter i915.i915_enable_rc6=1 aktivieren; denen 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 den Fermi-Chips NVC1 (GeForce GT 415M, 420, 420M, 425M, 430, 435M, 525M, 530, 540M, 550M und 555 sowie Quadro 600 und 1000M), NVC8 (GeForce GTX 560 Ti OEM, 570, 580 und 590 sowie Quadro 3000M, 4000M und 5010M ) und NVCF (GeForce GTX 550 Ti und 560M) mit der selbst erzeugten Firmware; letztgenannten Grafikchip unterstützt der Kernel mit Linux 3.2 erstmals. Zudem stießen einige Änderungen zum Kernel, die weitere Grundlagen zur Nutzung von Stromsparfunktionen und Lüftersteuerung im Nouveau-Treiber legen.

Einige größere Umbauarbeiten gab es am DRM/KMS-Grafiktreiber Vmwgfx, der die virtuelle Grafik-Hardware VMware SVGA2 anspricht, die neuere Virtualisierungslösungen von VMware emulieren. In diesem Zug legt der Code, der 2D- und 3D-Beschleunigung bietet, die Einstufung als Staging-Treiber ab. Neu dabei ist ein DRM/KMS-Treiber für den Exynos-4210-SOCs von Samsung. Er bietet bislang keine Beschleunigungsfunktionen, ist allerdings der erste für Embedded-Systeme gedachte DRM/KMS-Treiber, der in den Kernel einzieht. Schon bei Linux 3.3 soll ein DRM/KMS-Treiber für die OMAP-Platform von Texas Instruments (TI) folgen; er zieht allerdings in den Staging-Bereich ein. Zum USB-Subsystem stieß für 3.2 ein Framebuffer-Grafiktreiber für die von SMSC gefertigten Bausteine UFX6000 (USB 2.0) und UFX7000 (USB 3.0).

Audio

Mit den wesentlichsten Änderungen bei Audio-Treibern stieß ein Patch zum Kernel, durch den man Probleme umschiffen kann, falls ein Hardware-Hersteller die Vendor- und Subsystem-Informationen nicht richtig gesetzt hat. Ferner gingen eine Reihe von Änderungen im Kernel auf, die den bei Audio-Codecs von Realtek zur Codec-Konfiguration eingesetzten Auto-Parser verbessern (siehe "Die kleinen Perlen" auf der zweiten Seite des Artikels). Das soll die Wartung des Codes erleichtern und die automatische Konfiguration aktueller und zukünftiger Systeme verbessern. Genau wie bei vielen anderen Anpassungen am Kernel lässt sich bei solch einer größeren Änderungen rund um die Herangehensweise bei der Hardware-Konfiguration aber nie ganz auszuschließen, dass neue Kernel-Versionen Probleme zeigen, die bei älteren Kernel-Versionen nicht auftraten.

Multimedia

Im Media-Subsystem mit der Infrastruktur und den Treibern für Fernbedienungen, TV-Hardware und Webcams gab es wieder Dutzende von Änderungen; die wichtigsten erwähnt der zuständige Subsystemverwalter Mauro Carvalho Chehab in seinen beiden Haupt-Git-Pull-Requests für Linux 3.2 (1, 2). Neu sind etwa Treiber für Webcams mit Topro-Chipsatz sowie die TV-Empfänger Pinnacle PCTV HDTV Pro, Technotrend Connect S2-3600 und WinTV-Aero-M.

Neu ist auch Unterstützung für den DVB-T-Empfänger Kworld UB499-2T und den DVB-T-Demodulator MaxLinear MxL111SF. Zum Kernel stieß ferner ein Treiber für den DVB-S/S2-Demodulator NXP TDA10071 und den Conexant-Tuner CX24118A. Die Treiber tm6000 für die USB-DVB-Chips TM5600, TM6000 und TM6010 und altera-stapl für den Altera FPGA Firmware Downloader sind im Staging-Bereich jetzt so weit gereift, dass sie ins Media-Subsystem umziehen konnten; das schaffte auch der Treiber cx25821 für TV-Karten mit dem Conexant-Chip cx25821.

Staging

Im Verzeichnis drivers/staging/media/ betreut der Verwalter des Media-Subsystems nun die Media-Treiber des Staging-Bereichs; hier liegt Code, der den Qualitätsansprüchen seiner Entwickler oder der Kernel-Entwickler nicht genügt. Dort zog bei 3.2 unter anderem der Treiber as102 für einen DVB-Empfänger-Chip von Abilis ein.

Wie bereits an anderen Stellen der Mini-Serie "Was 3.2 bringt" erwähnt, konnten die Treiber ath6kl, brcm80211 und vmwgfx die Staging-Einstufung ablegen. Das gilt auch für Teile der Unterstützung von Micosofts Hyper-V; die verbliebenen Teile sollen bei 3.3 das Staging-Siegel ablegen. Dann dürften auch Teile des Treibers für Intels Grafikkern GMA500 folgen, der unter anderem in Intels Chipsatz US15W (Poulsbo) steckt.

Verschiedenes

    Beim Code für Human Interface Devices (HID) findet sich ab Linux 3.2 ein vollwertiger Treiber für Logitechs Unifying Receiver.
    Der Synaptics-Tocupad-Treiber bietet nun Image Sensor Support und kann dadurch Informationen zur Position mehrerer Finger liefern; ein weitere Änderung sorgt für bessere Unterstützung in Situationen, in denen der Anwender mehr als zwei Finger auflegt. Durch Erweiterungen am Touchpad-Treiber elantech unterstützt dieser nun neuere Elantech-Hardware und Multitouch besser (1, 2, 3).
    Es sind auch schon einige der Patches in Linux 3.2 eingezogen, die aufgrund von Informationen aus den Windows-Treibern die PCIe-Stromspartechnik ASPM (Active State Power Management) bei bestimmten Chips generell lahm legen (1, 2). Erst bei Linux 3.3 soll der Patch folgen, durch den sich der Kernel bei der Entscheidung über das systemweite (De)aktivieren von ASPM ähnlich verhält wie moderne Windows-Versionen. Einige Distributionen haben diesen allerdings bereits in ihre Kernel integriert, die sie als reguläres Update verteilen.
    Das neue Pin Control Subsystem kann die Konfiguration von Systems-on-a-Chip (SOC) vereinfachen, bei denen sich die Pins unterschiedlich nutzen lassen; Hintergründe erläutern die zugehörige Dokumentation und ein LWN.net-Artikel.
    Der RDMA-Nes-Treiber unterstützt nun "MPAv2 Enhanced RDMA Negotiation" und "Packed And Unaligned fpdus".
    Zum SCSI-Subsystem stieß der Treiber mvumi für Marvell Universal Message Interface (UMI); laut Commit-Kommentar werde das unter anderem zur Kommunikation mit Marvell-Chips wie dem "Plato" genutzt. Durch Erweiterungen des Treibers megaraid_sas unterstützt dieser nun den MegaRAID-Modelle 9360 und 9380. Der Treiber Mpt2sas erhielt "Fast Load Support"; der versucht die Treiber-Initialiserung zu beschleunigen, indem der Treiber unter anderem parallel zu anderen Treibern nach Geräten sucht. Der Treiber Qla4xxx lässt sich jetzt über das Programm Iscsiadm der Open-Iscsi-Werkzeuge administrieren.

mehr ... (http://www.heise.de/open/artikel/Kernel-Log-Was-3-2-bringt-5-Treiber-1395528.html?artikelseite=2)

Quelle : www.heise.de
Titel: Linux-Kernel 3.2 freigegeben
Beitrag von: SiLæncer am 05 Januar, 2012, 12:41
Ein aufgebohrtes Ext4-Dateisystem, Optimierungen am TCP-Stack und Unterstützung für Thin Provisioning im Device Mapper sind einige der wichtigsten Neuerungen von Linux 3.2. Die jüngste Kernel-Version bringt zudem eine ganze Reihe neuer und verbesserter Treiber mit, unter anderem für Grafik-Hardware von Intel und Nvidia sowie WLAN-Bausteine von Atheros und Broadcom.

Einen Überblick über diese und weitere Neuerungen liefert ein Artikel auf heise open, der auch einen Überblick über einige der für den Linux-Kernel 3.3 vorbereiteten Änderungen enthält:

Die Neuerungen von Linux 3.2 (http://www.heise.de/open/artikel/Die-Neuerungen-von-Linux-3-2-1398004.html)

Quelle : www.heise.de
Titel: Linux-Kernel: 15 Millionen Code-Zeilen
Beitrag von: SiLæncer am 10 Januar, 2012, 21:00
Die kommende Version 3.3 des Linux-Kernels wird erstmals die Marke von 15 Millionen Zeilen Quelltext durchbrechen – Kommentare und Leerzeilen sowie Dokumentation, Skripte und beiliegende Tools mitgerechnet. Drei Viertel der Zeilen entfallen auf Treiber und architekturspezifischen Code. Eine detaillierte Analyse der Kernelquellen finden Sie im aktuellen Kernel-Log "15.000.000 Zeilen Code, 3.0 wird Longterm-Kernel". Die Grenze von zehn Millionen Zeilen Code hatte der Linux-Kernel im Oktober 2008 erreicht.

Der vor einem halben Jahr erschienene Kernel 3.0 soll als "Longterm-Kernel" für mindestens zwei Jahre gepflegt werden – normalerweise versorgen die Entwickler den aktuellen Kernel lediglich bis kurz nach der Freigabe seines Nachfolgers mit Updates. Ob eine Linux-Version darüber hinaus gehende Pflege erhält, hängt vor allem davon ab, wer ein Interesse daran hat. Linux 2.6.32 beispielsweise ist in Ubuntu 10.04 LTS, Red Hat Enterprise Linux 6 und Suse Linux Enterprise Server 11 enthalten.

Siehe dazu auch:

    Kernel-Log: 15.000.000 Zeilen Code, 3.0 wird Longterm-Kernel (http://www.heise.de/open/artikel/Kernel-Log-15-000-000-Zeilen-Code-3-0-wird-Longterm-Kernel-1406404.html)

Quelle : www.heise.de
Titel: Support für Kernel 2.6.32 endet
Beitrag von: SiLæncer am 10 Januar, 2012, 21:50
Über zwei Jahre nach der Freigabe des Kernels 2.6.32, der zu einem »Longterm«-Kernel deklariert wurde, endet nun der offizielle Support dieser Version. Wie einem Blog-Beitrag des Entwicklers entnommen werden kann, soll die Rolle des stabilen Kernels nun die Version 3.0 übernehmen.

Bereits seit einiger Zeit pflegen die Kernel-Entwickler eine Kernel-Version nur noch bis zur nächsten Version. Als Ausgleich werden allerdings neben den stabilen Versionen auch so genannte »longterm«-Versionen herausgebracht. Diese werden über einen langen Zeitraum von verschiedenen Entwicklern gepflegt und haben dementsprechend eine erheblich längere Lebensdauer. Greg Kroah-Hartman hatte die Pflege des Kernels 2.6.32 übernommen. Paul Gortmaker kümmert sich um den Kernel 2.6.34 und Andi Kleen betreut den Anfang August 2010 freigegebenen Kernel 2.6.35.

Mit der Freigabe des Kernels 3.2 wird Kroah-Hartman die Pflege seiner Version 2.6.32 einstellen. Wie der Entwickler in seinem Blog schreibt soll diese Version nur noch einen Monat gepflegt werden. Ob sie danach von einem anderen Entwickler übernommen wird, steht noch nicht fest. Anwender sollten allerdings von einem EOL (End of Life) ausgehen.

Kroah-Hartman selbst wird mit dem Kernel 3.0 einen neuen Zweig eröffnen. Ähnlich wie die alte Version soll auch die neue mindestens zwei Jahre lang mit Updates für kritische Fehler und Sicherheitskorrekturen versorgt werden. Die Pflege der Version wird dabei unter git.kernel.org im Zweig 3.0.x erfolgen.

Quelle : http://www.pro-linux.de
Titel: Linux-Entwickler beheben selbstgemachtes Netzwerkproblem
Beitrag von: SiLæncer am 16 Januar, 2012, 17:40
Die Linux-Kernel 3.0.17, 3.1.9 und 3.2.1 beseitigen ein Problem bei der Behandlung von IGMP-Paketen, die sich mit den Updates in Linux 2.6.36 eingeschlichen haben. So konnten parallel ankommende Pakete der Protokollversionen IGMPv2 und v3 einen Systemabsturz via Kernel-Panic verursachen.

Simon McVittie meldete am 6. Januar in der Debian-Fehlerdatenbank seltsame Abstürze seines Linux-Notebooks. Als Ursache hat dann der Debian-Entwickler Ben Hutchings eine Division durch 0 ausgemacht, die bei IGMP-Paketen mit einer Maximum Response Time von 0 auftreten kann. Als Resultat lassen sich Linux-Systeme mit einer Kernel-Version ab 2.6.36 über spezielle IGMP-Pakete recht einfach übers Netz abschiessen, wenn sich dort ein Programm für den Empfang von Multicast-Paketen registriert hat. Typische Beispiele für solche Programme sind etwa der mDNS-Server avahi oder Media-Player, die wie VLC RTP unterstützen.

Aktive Angriffe sollten eigentlich nur innerhalb von lokalen Netzen möglich sein, da IGMP-Broadcasts normalerweise nicht über Netzwerkgrenzen hinweg geroutet werden. Hutchings weist allerdings darauf hin, dass mit speziellen Unicast-Paketen auch ein Angriff übers Internet möglich sein könnte, falls diese nicht von einer Firewall blockiert werden. Nachdem der Fix jetzt veröffentlicht wurde, dürften die Distributoren bald aktualisierte Kernel-Pakete anbieten, die dafür nicht mehr anfällig sind.

Über das Internet Group Management Protocol können Rechner in einem Netz Multicast-Router finden, um etwa Video-Streams zu empfangen. Bei einem Multicast wird ein solcher Video-Stream nicht für jeden Empfänger einzeln übers Netz geschickt, sondern jeweils gemeinsam für bestimmte Gruppen. IGMP dient der Verwaltung dieser Gruppen und ist Bestandteil von der Protokoll-Suite IPv4.

Quelle : www.heise.de
Titel: Kernel-Log: Funktionsumfang von Linux 3.3 steht
Beitrag von: ritschibie am 20 Januar, 2012, 10:31
Linux 3.3 beschleunigt das Ändern der Größe von Ext4-Dateisystemen und bringt Unterstützung für ACPI 5.0, LPAE für ARM-Prozessoren, Ethernet-Teaming und Hot Replace für Software-RAID. Linux 3.1 hat derweil sein Lebensende erreicht und die Website "Linux ate my RAM" erläutert, warum Linux den Arbeitsspeicher häufig komplett belegt.

Zwei Wochen nach der Freigabe von Linux 3.2 hat Linus Torvalds die erste Vorabversion von Linux 3.3 veröffentlicht. Damit endet wie üblich das am Anfang des Entwicklungszyklus gelegene Merge Window, in dem Linus Torvalds die größten Änderungen für eine neue Linux-Version integriert, bevor zirka zwei Monate an der Stabilisierung dieser Version gearbeitet wird. In der Freigabe-Mail schreibt Torvalds, es sei ein ziemlich arbeitsreiches Merge Window gewesen; er fahre jetzt in ein langes Wochenende zum Biertrinken, Skifahren und Pokern und sei nicht per Mail erreichbar. Der Umfang der Änderungen liegt mit knapp 9000 Commits allerdings im üblichen Umfang.

Unter den für 3.3 aufgenommene Änderungen ist ein neuer Mechanismus zum Anpassen der Größe von Ext4-Dateisystemen, der deutlich flotter arbeiten soll als der bisher verwendete Ansatz. Der Software-RAID-Code erhielt Funktionen, um Daten im Betrieb von einem Datenträger auf einen zweiten zu verschieben, um ersten anschließend entfernen zu können ("Hot Replace"). Aufgenommen wurde auch Unterstützung für die C6X-Architektur von Texas Instruments, ACPI 5.0 und die ARM-Technik LPAE (Large Physical Address Extension), mit der 32-Bit-ARM-Prozessoren mehr als 4 GByte Speicher ansprechen können.

Die Entwickler wollen die HDMI-Audio-Unterstützung in den DRM/KMS-Treibern für Grafikchips von AMD und Nvidia verbessert haben. Zum Netzwerksubsystem stießen Open vSwitch und ein Ethernet-Teaming-Treiber, der mehrere Netzwerk-Ports zu einem virtuellen verbindet. In den Staging-Bereich, in dem verbesserungsbedürftiger Code liegt, sind wie erwartet einige Android-spezifische Treiber eingezogen. Der GMA500-Grafiktreiber für Intels US15W sowie einige Hyper-V-Treiber reiften im Staging-Bereich so weit, dass sie nun in die für diese Treiber zuständigen Subsystem umziehen.

Das Tar-Archiv der erste Vorabversion von Linux 3.3 wuchs durch diese und andere Änderungen auf 38.173 Dateien mit zusammen 15.207.578 Zeilen an. Damit hat der Kernel die kürzlich überschrittene Marke von 15-Millionen-Zeilen nun deutlich hinter sich gelassen. Das das Kernel-Log wird in den kommenden Wochen detailliert über die Neuerungen von Linux 3.3 berichten, noch bevor diese Version Anfang oder Mitte März erscheinen dürfte.

Kernel-Versionsstatus

Greg Kroah-Hartman hat die Longterm-Kernel 2.6.32.54 und 3.0.17 sowie die Stable-Kernel Linux 3.1.9 und Linux 3.2.1 freigegeben. Wenige Tage später schob er noch 3.1.10 nach und erklärte dabei, die Pflege der 3.1-Serie mit dieser Version einzustellen; Anwender sollen auf Linux 3.2 wechseln.

Nach der Ankündigung von Greg Kroah-Hartman, den Kernel 2.6.32 nicht mehr weiterzupflegen, meldete sich Canonical-Mitarbeiter Tim Gardner: Ubuntu werde diesen Kernel bis April 2015 weiter pflegen. Kroah-Hartman erwähnte im Verlauf der Diskussion, er habe vermutlich schon jemanden, der die weitere Pflege übernimmt.

Kernel-Log-Staccato

Kernel

    Philipp Reisner hat die DRBD 8.4.1 veröffentlicht, die Unterstützung für "Read load balancing" bringt und mit Linux 3.2 zusammenarbeiten sollte.
    Dan Rosenberg hat libplayground freigegeben, ein einfaches Framework zum Testen von Heap-Exploit-Techniken.
    Christoph Hellwig hat das "XFS status update for December 2011" an die LKML gesandt.
    Greg Kroah-Hartman hat in einem G+-Post auf die Website Linux ate my RAM hingewiesen. Sie erläutert, dass Linux ungenutzten Arbeitsspeicher als Cache verwendet, statt ihn ungenutzt zu lassen; daher steht Anwendungen durchaus noch Speicher zur Verfügung, auch wenn Programme wie free melden, der Arbeitsspeicher werde komplett verwendet.

Unterstützung für Grafikhardware

    Intel-Entwickler Eugeni Dodonov hat in seinem Blog die Einrichtung von zwei Git-Depots verkündet, die auf Linux 3.0 respektive 3.1 basieren, aber die Intel-DRM/KMS-Treiber aktueller Kernel-Version enthalten sollen. Einige Tage später gab Daniel Vetter bekannt, die Pflege des Git-Zweigs mit den Intel-DRM/KMS-Treibern zu übernehmen, die in Linux-Next eingehen – dort laufen nach dem Ende des Merge Window immer die Änderungen für die jeweils übernächste Kernel-Version (derzeit: Linux 3.4) zusammen. Daraufhin erläuterte Dodonov, in Zukunft diese noch neueren Grafiktreiber in seine Git-Zweige einbauen zu wollen; Anwender können so die neuesten DRM/KMS-Treiber testen, ohne experimentelle Kernel einsetzen zu müssen.
    Die VMware-Entwickler haben die Versionen 11.1.0 des VMware-Grafiktreibers für X.org freigegeben; kurz legten sie mit der Version 11.99.901 noch Alpha-Treiber nach, welche die Version 12.0.0 vorbereiten.
    Adam Jackson hat einen experimentellen Patch zur Diskussion gestellt, der den DRM-Code des Kernels um einen "virtual GEM provider" erweitert. Der soll den Verwaltungsaufwand reduzieren und so die Grafikperformance steigern, wenn nicht die Grafikhardware, sondern der Prozessor Grafikeffekte berechnet. Das ist ein weitere Baustein in Jacksons Arbeiten, durch die die Gnome-Shell auch auf Systemen flüssig laufen soll, deren Grafiktreiber keine 3D-Untersützung bieten.

Kernel-Umland ("Plumbing layer"), Userland-Treiber, Entwicklertools, ...

    Johannes Berg hat die Version 3.3 des WLAN-Konfigurationswerkzeugs iw freigegeben.
    Mit der kürzlich von Lucas De Marchi freigegebenen Version 4 von kmod bietet der Ersatz für die Module-Init-Tools nun den geplanten Funktionsumfang und gilt als "feature complete".
    Lennart Poettering hat den zwölften Teil seiner Blog-Reihe "Systemd for Administrators" veröffentlicht, der sich mit Sicherheitsaspekten rund um Dienste beschäftigt.
    Die KVM-Entwickler fordern zum Testen des neuesten Entwicklerstands von Qemu-Img auf, der dank eines Google-Summer-of-Code-Projekts bessere Unterstützung für das von VMware-Produkten verwendete Image-Format vmdk bieten soll.
    Karel Zak hat den ersten Release Candidate der Werkzeugsammlung Util-Linux 2.21 veröffentlicht. Neu dabei ist das Programm chcpu, das unter anderem nach neuen CPUs suchen kann oder diese ein- und ausschaltet; es kann zudem weitere Prozessorkerne beim Hypervisor anfordern oder diese zurückgeben. Ebenfalls neu ist prlimit, das deutlich flexibler sein soll als das in die Shell eingebaute ulimit. Die Werkzeuge login und losetup wurden komplett neu geschrieben und bietet nun mehr Funktionen. Größere Änderungen gab es auch bei mount und umount, wipefs, partx und einigen anderen Werkzeugen.

LKML-Diskussionen

    In Folge des Einbruchs bei Kernel.org im vergangenen Spätsommer drängt Linus Torvalds mehr und mehr zur Verwendung von signierten Git-Pull-Request, welche die aktuellen Vorabversionen des noch in Entwicklung befindlichen Git 1.7.9 ermöglichen. Einige Hintergründe dazu erläutert der leitende Git-Entwickler in einem Blog-Eintrag und einer LKML-Mail. Torvalds wies zudem darauf hin, dass durch diesen Weg zum Abrufen von Änderungen nun auch die in den Pull-Request-Mails enthaltenen Begleitinformationen im Merge-Commit landen und sich so später über die Git-History abrufen lassen; ein Beispiel ist der Merge-Commit, mit dem die von Andrew Morton für Linux 3.3 gesammelten Änderungen kürzlich in den Hauptentwicklungszweig von Linux einflossen.

    Für eine längere, immer noch laufende Diskussion auf der LKML hat der Patch "dynamic seccomp policies (using BPF filters)" von Chromium-Entwickler Will Drewry gesorgt. Er erweitert Seccomp ("Secure Computing") um Mechanismen, mit denen sich die Funktionen einschränken lassen, die ein bestimmter Prozess aufrufen darf; mit diesem Ansatz soll der Browser Programmcode, der aus dem Internet stammt, auf sichere Weise ausführen können. LWN.net erläutert einige Hintergründe in dem Artikel "Yet another new approach to seccomp"

Quelle : www.heise.de
Titel: Kernel-Log – Was 3.3 bringt (1): Netzwerk
Beitrag von: SiLæncer am 27 Januar, 2012, 14:00
Kernel 3.3 bietet eine neue Möglichkeit zum Zusammenschalten von Netzwerk-Ports. Neu ist auch Unterstützung für den virtuellen Netzwerk-Switch "Open vSwitch", der speziell zur Virtualisierung entwickelt wurde. Byte Queue Limits sollen die Wartezeiten reduzieren, die zum viel diskutierten "Buffer Bloat" führen.

Mit der Freigabe von Linux 3.3-rc1 hat Linus Torvalds letzte Woche das Merge Window von Kernel 3.3 beendet. Bis zur Fertigstellung von Linux 3.3 wird er jetzt nur noch Fehlerkorrekturen und kleine Verbesserungen integrieren – die erste Vorabversion von Linux 3.3 enthält daher bereits die wichtigen Neuerungen der März erwarteten Kernel-Version. Es ist selten, dass die Kernel-Entwickler in der Stabilisierungsphase des Entwicklungszyklus noch größere Änderungen aufnehmen oder bereits aufgenommene Änderungen wieder rauswerfen oder deaktivieren.

Das Kernel-Log kann daher bereits jetzt einen umfassenden Überblick über die wichtigsten Neuerungen der Kernel-Version 3.3 geben.Wie gewohnt erfolgt die Übersicht in einer Artikelserie "Was 3.3 bringt", die sich nacheinander den unterschiedlichen Funktionsbereichen des Kernels annimmt. Den Anfang macht die Beschreibung der wichtigsten Änderungen am Netzwerk-Stack und an den Treibern für LAN- und WLAN-Hardware; in den kommenden Wochen folgen Artikel zu Storage, Dateisystemen, Architektur-Code, Infrastruktur sowie zu Treibern für sonstige Hardware.

Teamwork

Die Kernel-Entwickler haben einen Ethernet-Teaming-Treiber aufgenommen, der mehrere Netzwerk-Ports zu einem virtuellen verbindet (Link Aggregation/802.1AX). Dieses virtuelle Netzwerk-Device kann die Arbeit in einem Round-Robin-Verfahren über mehrere Ports verteilen; alternativ kann ein Port auch als "Active-backup" bereitstehen und einspringen, wenn es Probleme mit dem primär genutzten Netzwerk-Anschluss gibt. Die Entwickler empfehlen den Treiber als sehr schnelle, einfache und gut skalierende Alternative zum Bonding-Treiber, der ähnliches schon länger ermöglicht. Der Team-Treiber macht die Arbeit allerdings nicht komplett alleine, sondern arbeitet mit der Userspace-Bibliothek Libteam zusammen.

In Linux 3.3 sind die Kernel-Komponenten von Open vSwitch eingeflossen. Dieser Multilayer Virtual Switch kann auf den Layern 2, 3 oder 4 arbeiten und wurde speziell für den Einsatz im Virtualisierungsumfeld entwickelt; er kommt unter anderem beim XenServer 6.0 im Einsatz, um den Netzwerkverkehr zwischen Wirt, Gästen und Außenwelt zu steuern. Hintergründe zur Technik liefert die Open-vSwitch-Website, die dort angebotene Dokumentation, die Kernel-Dokumentation und ein als Video abrufbarer Vortrag, den Simon Horman Mitte Januar auf der Open-Source-Konferenz linux.conf.au 2012 gehalten hat:


Prioritäten

Über die Network Priority Cgroup Infrastructure können Administratoren bei Linux 3.3 dynamisch die Priorität festlegen, mit der Prozesse einer Control Group (Cgroup) die Netzwerk-Ressourcen nutzen können; Details erläutert die zugehörige Dokumentation. Durch den ebenfalls neuen "TCP buffer size controller" kann der Memory Controller die Menge des Arbeitsspeichers begrenzen, den die bei der TCP-Kommunikation verwendeten Puffer belegen dürfen (u. a. 1, 2, 3, 4, 5); diese Zwischenspeicher können recht groß werden und daher Systeme mit knapp bemessenen Arbeitsspeicher ins Straucheln bringen, wie ein LWN.net-Artikel zu einer früheren Variante der jetzt eingeflossenen Patches erläutert.

Über die von einem Google-Entwickler eingebrachten "Dynamic Queue Limits" und den darauf aufbauenden "Byte Queue Limits" kann der Kernel steuern, wie viele Daten sich in der Sende-Warteschlange ansammeln dürfen. Das soll die Netzwerk-Latenzen reduzieren helfen, die gelegentlich durch zu ausgiebige Nutzung der Zwischenspeicher in modernen Netzwerkchips entstehen, ohne den Durchsatz zu verringern und so das "Buffer Bloat"-Problem mindern, das durch zu exzessives Puffern von Daten in Netzwerk-Hardware entstehen. Die wichtigsten Netzwerk-Treiber – darunter bnx2, bnx2x, forcedeth, e1000e, igb, niu, tg3, sfc und sky2 -- erhielten Anpassungen, um Byte Queue Limits zu unterstützen. Einige Hintergründe zur Technik erläutert der LWN.net-Artikel "Network transmit queue limits".

WLAN-Treiber

Der von Broadcom selbst vorangetriebene WLAN-Treiber brcmsmac nutzt nun den schon länger im Kernel enthaltenen Treiber bcma, um die WLAN-Funktionseinheiten von Chips anzusprechen, die Broadcoms AMBA-Interconnect nutzen; zusammen mit einer anderen Änderung vermeidet das Situationen, wo zwei Treiber in Konflikte geraten, weil sie die selbe Hardware ansprechen.

In den Atheros-Treiber ath9k sind Änderungen zur Unterstützung von Dynamic Frequency Selection (DFS) eingezogen. Die Technik soll verhindern, dass WLANs bestimmte Frequenzbereiche im 5-GHz-Bereich verwenden, wenn sie dort Radar stören würden. Vollwertige Unterstützung für DFS im WLAN-Subsystem ist noch in Arbeit; Hintergründe zu DFS finden sich im Linux-Wireless-Wiki und bei LWN.net.

LAN-Treiber

Der Netzwerktreiber hv_netvsc für Microsofts Virtualisierungsschnittstelle Hyper-V ist nach Jahren im Staging-Bereich nun so weit gereift, dass er in das Netzwerk-Subsystem umziehen durfte. Damit sollte er damnächst auch in Distributionen auftauchen, die keine oder nur einzelne Treiber aus dem Bereich für verbesserungsbedürftigen Code mitliefern.

Der Treiber tg3 unterstützt nun den Broadcom-Chip 57766; der Treiber ixgbe spricht zwei neue Ausführungen von Intels 82599 an (1, 2). Der Virtio-Net-Treiber, über den Wirt- und Gastsysteme Netzwerkdaten per Paravirtualisierung austauschen, unterstützt jetzt ACPI S4 (Ruhezustand/Hibernate).

Überlastungsschutz

Der Netzwerk-Code kann beim Active Queue Management (AQM) nun mit einem Adaptive RED (Random Early Detection) genannten Mechanismus arbeiten, der die Schwellwerte für Random-drop/Tail-drop dynamisch an den Datenverkehr anpasst. Durch diesen Ansatz soll die Technik, mit der sich Router selbst vor Überlastung schützen, robuster arbeiten, wie ein 2001 präsentiertes Paper zu Adaptive RED erläutert.

Netzwerk-Subsystem-Maintainer David Miller erläutert viele der hier erwähnten und einige weitere Änderungen in seinem Haupt-Git-Pull-Request für Linux 3.3. Dort hebt er beispielsweise die neue Unterstützung für Netlink Socket Dumping bei UDP- und AF_UNIX-Sockets hervor (u. a. 1, 2, 3, 4, 5).

Die kleinen Perlen

Viele kleinere, aber keineswegs unbedeutende Neuerungen finden sich in der folgenden Liste mit den englischen Commit-Überschriften der jeweiligen Änderung. Die Einträge verlinken genau wie viele Verweise im vorangegangenen Text auf das Webfrontend des von Linus Torvalds gepflegten Git-Zweigs auf Kernel.org, der die Quellen des "offiziellen" Kernels enthält. Der Commit-Kommentar und der darunter ausgegebene Patch liefern zahlreiche weitere Informationen zur jeweiligen Änderung.

Vor jedem Link finden sich in eckigen Klammern einige Buchstaben und Zahlen. Ein "C" kennzeichnet Patches mit Änderungen an Kconfig-Dateien; diese enthalten die Konfigurationsoptionen samt der zugehörigen Hilfetexte, die bei der Kernel-Konfiguration über "make menuconfig" oder "make xconfig" angezeigt werden. Ein "D" steht bei Patches, die die Dokumentation verändern, die im Kernel-Zweig unterhalb von Documentation/ liegt. Ein "N" weist Änderungen aus, die eine neue Datei anlegen. Die Zahl vermittelt einen groben Eindruck zur Größe des Patches: eine "1" kennzeichnet Änderungen, die inklusive Kommentar zwischen 10 und 20 KByte groß sind, eine "2" für solche, die zwischen 20 und 30 KByte Umfang haben; Änderungen ohne Zahl sind kleiner als 10 KByte, Patches mit einer "9" hingegen 90 KByte oder größer.

LAN

    [    ] be2net: Add support for Skyhawk cards
    [    ] be2net: netpoll support
    [  N2] bna: Add debugfs interface.
    [    ] bnx2: Support for byte queue limits
    [    ] bnx2x: allow FCoE and DCB for 578xx
    [    ] bnx2x: handle iSCSI SD mode
    [    ] bnx2x: Support for byte queue limits
    [    ] bnx2x: update driver version to 1.70.35-0
    [    ] e1000e: Support for byte queue limits
    [    ] enic: This patch adds pci id 0x71 for SRIOV VF's
    [    ] forcedeth: Support for byte queue limits
    [    ] hyper-v: Update MAINTAINERS
    [    ] IB/qib: Default some module parameters optimally
    [   1] igb: add basic runtime PM support
    [    ] igb: Add support for byte queue limits.
    [C  1] KSZ8851-SNL: Add ethtool support for EEPROM via eeprom_93cx6
    [    ] KSZ8851-SNL: Add support for EEPROM MAC address
    [C   ] macb: initial support for Cadence GEM
    [   2] mlx4_core: Add "native" argument to mlx4_cmd and its callers (where needed)
    [   4] mlx4_core: Modify driver initialization flow to accommodate SRIOV for Ethernet
    [   3] mlx4: Ethernet port management modifications
    [   2] mlx4: Traffic steering management support for SRIOV
    [CDN6] net: add calxeda xgmac ethernet driver
    [C   ] net/fec: make FEC driver buildable as module
    [    ] net-forcedeth: Add internal loopback support for forcedeth NICs.
    [    ] net/hyperv: Add support for jumbo frame up to 64KB
    [    ] net/hyperv: Add support for promiscuous mode setting
    [ DN ] net/macb: add DT support for Cadence macb/gem driver
    [   2] net/mlx4_core: Implement the master-slave communication channel
    [    ] net/mlx4_en: adding loopback support
    [    ] net/smsc911x: Add regulator support
    [    ] niu: Add support for byte queue limits.
    [C N1] phy: Micrel KS8995MA 5-ports 10/100 managed Ethernet switch support added
    [    ] sfc: Support for byte queue limits
    [    ] skge: add byte queue limit support
    [    ] sky2: add bql support
    [C N3] stmmac: add the experimental PCI support
    [ D  ] stmmac: update the driver's documentation (Dec-2011)
    [    ] tg3: Add MDI-X reporting
    [    ] tg3: Enable EEE support for capable 10/100 devs
    [    ] tg3: Support for byte queue limits
    [    ] tg3: Update version to 3.122
    [   1] via-rhine: per device debug level.


WLAN

    [    ] ath5k: Add a module parameter to disable hw rf kill switch
    [   1] ath5k: Calibration re-work
    [   1] ath5k: Switch from read-and-clear to write-to-clear method when handling PISR/SISR registers
    [    ] ath6kl: Add a modparam to enable multi normal interface support
    [    ] ath6kl: Add new state for WOW mode
    [    ] ath6kl: add support for WPS
    [    ] ath6kl: add suspend_cutpower module parameter
    [    ] ath6kl: Add WOW suspend/resume implementation
    [    ] ath6kl: AR6004 SDIO support
    [    ] ath6kl: Enable multiple vif support
    [    ] ath6kl: Implement support for power parameter control from userspace
    [    ] ath6kl: indicate probe-resp offload support
    [    ] ath6kl: Remove modparam multi_norm_if_support
    [   1] ath6kl: support for P2P mgmt operations on station interface
    [    ] ath6kl: update ar6004 definitions
    [  N1] ath9k: Add btcoex profile management support for AR9462
    [    ] ath9k: Advertise support for TDLS
    [    ] ath9k: enable ANI for ar9100 chips
    [    ] ath9k_hw: add DFS testing check
    [    ] ath9k_hw: Add support for MCI WLAN calibration
    [C  1] ath9k_hw: make bluetooth coexistence support optional at compile time
    [    ] ath9k: Support RSN Mesh
    [    ] ath: optimize processing of CTLs for country IEs for world roaming cards
    [    ] b43: N-PHY: finish 2.4GHz 0x2056 radio setup
    [ D  ] batman-adv: readme update (mention ap isolation and new log level)
    [    ] batman-adv: update internal version number
    [    ] brcm80211: fmac: add bcm4330 support
    [C   ] brcm80211: fmac: add Kconfig option for SDIO bus support
    [    ] cfg80211: relicense reg.c reg.h and genregdb.awk to ISC
    [    ] hostap_cs: add ID for Canon K30225
    [    ] iwlagn: finer-grained HT disable
    [    ] iwlegacy: rename base 4965 and 3945 file names
    [    ] iwlwifi: Add official names for new devices
    [C   ] iwlwifi: P2P is not enabled by default
    [    ] iwlwifi: two more SKUs for 6x05 series
    [   1] mac80211: Add HT operation modes for IBSS
    [    ] mac80211: Add NoAck per tid support
    [    ] mac80211: add support for control port protocol in AP mode
    [    ] mac80211: implement wifi TX status
    [   1] mac80211: Support ht-cap over-rides.
    [    ] MAINTAINERS: add b43 mailing list
    [C   ] mwifiex: add support for Marvell sd8797 device
    [    ] mwl8k: Changing the driver version to 0.13
    [    ] nl80211: add API to probe a client
    [    ] nl80211: add testmode to the list of supported commands
    [    ] rt2800: Add support for the Fujitsu Stylistic Q550
    [    ] rt2800pci: fix spurious interrupts generation
    [    ] rt2x00: Change RF3853 to RF3053.
    [    ] rt2x00: Identify rt2800usb chipsets.
    [    ] rt2x00: RT3593 is also applicable to USB.
    [    ] rtl8192cu: Add new device IDs
    [    ] wireless: Add NoAck per tid support
    [CD  ] wireless: disable wext sysfs by default
    [   1] wireless: Support ht-capabilities over-rides.
    [C  1] wl12xx: remove sdio_test module


Various

    [   1] 6LoWPAN: add fragmentation support
    [    ] 6LoWPAN: UDP header compression
    [ D  ] 6LoWPAN: update documentation
    [    ] Bluetooth: Add HCI User Passkey Req Evt handling
    [   1] Bluetooth: Add MITM mechanism to LE-SMP
    [    ] Bluetooth: Add SMP to User Passkey and Confirm
    [    ] Bluetooth: Add support for BCM20702A0 [0a5c:21e3]
    [    ] Bluetooth: Add User Passkey Response handling
    [    ] Bluetooth: Allow to set AMP type for virtual HCI
    [C   ] Bluetooth: Always compile SCO and L2CAP in Bluetooth Core
    [    ] Bluetooth: EFS: add enable_hs kernel param
    [    ] Bluetooth: EWS: extended window size option support
    [    ] Bluetooth: making enable_hs independent from L2CAP
    [    ] Bluetooth: Periodic Inquiry and Discovery
    [   1] Bluetooth: prioritizing data over HCI
    [ D  ] bonding: document undocumented active_slave sysfs entry.
    [    ] bridge: add local MAC address to forwarding table (v2)
    [    ] bridge: add NTF_USE support
    [C N1] caif: Add support for CAIF over CDC NCM USB interface
    [C N3] can: cc770: add driver core for the Bosch CC770 and Intel AN82527
    [C N3] can: cc770: add driver core for the Bosch CC770 and Intel AN82527
    [C N1] can: cc770: add legacy ISA bus driver for the CC770 and AN82527
    [CDN1] can: cc770: add platform bus driver for the CC770 and AN82527
    [C N1] can: cc770: legacy CC770 ISA bus driver
    [C  4] can: Revert outdated cc770 driver patches.
    [C   ] can: sja1000_isa: convert to platform driver to support x86_64 systems
    [C   ] dsa: Allow core and drivers to be built as modules
    [C N ] dsa: Move switch drivers to new directory drivers/net/dsa
    [    ] ethtool: allow ETHTOOL_GSSET_INFO for users
    [    ] genetlink: add auto module loading
    [    ] ipv4: reduce percpu needs for icmpmsg mibs
    [    ] ipv6/addrconf: speedup /proc/net/if_inet6 filling
    [C   ] IPVS: Modify the SH scheduler to use weights
    [ D 1] neigh: new unresolved queue limits
    [   1] net: Add ethtool to mii advertisment conversion helpers
    [   1] net: add wireless TX status socket option
    [    ] netem: add cell concept to simulate special MAC behavior
    [    ] netem: rate extension
    [C N1] netfilter: add extended accounting infrastructure over nfnetlink
    [C N ] netfilter: add ipv4 reverse path filter match
    [C N ] netfilter: add ipv6 reverse path filter match
    [  N4] netfilter: nf_nat: export NAT definitions to userspace
    [C   ] netfilter: provide config option to disable ancient procfs parts
    [    ] netfilter: xtables: add an IPv6 capable version of the ECN match
    [C N ] netfilter: xtables: add nfacct match to support extended accounting
    [C N ] netfilter: xtables: move ipt_ecn to xt_ecn
    [    ] net: introduce build_skb()
    [    ] net: optimize socket timestamping
    [   2] net: remove legacy ethtool ops
    [    ] net_sched: qdisc_alloc_handle() can be too slow
    [   1] net_sched: sfq: add optional RED on top of SFQ
    [   1] NFC: Add a DEP link control netlink command
    [C N5] NFC: Initial LLCP support
    [   2] NFC: Update names and structs to NCI spec 1.0 d18
    [   1] NFC: Update names and structs to NCI spec 1.0 d22
    [ D  ] tcp: inherit listener congestion control for passive cnx
    [    ] tipc: Enable use by containers having their own network namespace [    ] vlan: add 802.1q netpoll support

Quelle und Links : http://www.heise.de/open/artikel/Kernel-Log-Was-3-3-bringt-1-Netzwerk-1421300.html
Titel: Neue Linux-Kernel beseitigen Stromsparproblem
Beitrag von: ritschibie am 07 Februar, 2012, 11:55
Greg Kroah-Hartman hat den Longterm-Kernel 3.0.20 und den Stable-Kernel 3.2.5 veröffentlicht. Diese beiden enthalten jeweils nur eine Korrektur, durch die der Linux-Kernel die PCIe-Stromspartechnik ASPM (Active State Power Management) bei Systemen verwendet, deren BIOS die Technik bei einigen Komponenten aktiviert, in der von Linux konsultierten FADT (Fixed ACPI Description Table) jedoch erklärt, ASPM nicht zu unterstützen.

Laut Matthew Garrett, der den Patch entwickelt hat, soll die Änderung die Leistungsaufnahme eines Thinkpad X220 um 5 Watt reduzieren. Einige Testsysteme im c't-Labor zeigten Einspareffekte im Bereich von 1 bis 3 Watt und erzielten so eine längere Akku-Laufzeit. Der Patch erzielt aber nur auf Systemen mit den erwähnten Firmware-Problemen einen Effekt; bei denen findet sich in den per dmesg abrufbaren Kernel-Meldungen die Angabe "ACPI FADT declares the system doesn't support PCIe ASPM, so disable it".

Die Änderung beseitigt eines der beiden Probleme, die im letzten Jahr durch die Berichterstattung der Webseite Phoronix viel Aufmerksamkeit erregte. Bereits vor einigen Wochen ist der Patch in den Hauptentwicklungszweig von Linux eingeflossen, aus dem vermutlich im März Linux 3.3 hervorgeht. Normalerweise ziehen Änderungen, die wie der ASPM-Patch vielleicht zu Problemen auf einzelnen Systemen führen können, nicht in Stable- und Longterm-Kernel ein; das Fedora-Projekt hat den Patch aber bereits eine Weile im Rahmen der aktuellen Linux-Distributionen getestet, daher ist Kroah-Hartman recht zuversichtlich, dass die Änderung keine größeren Scherereien macht. Da er aber nicht ganz sicher sein kann, bringen Linux 3.0.20 und 3.2.5 nur diese eine Änderung.

Ein Problem, das vermutlich noch viel mehr Systeme betrifft, besteht allerdings weiterhin: Auf Intels verbreiteten Sandy-Bridge-Prozessoren mit Grafikkern aktivieren aktuelle Linux-Kernel die Intel-spezifische Grafik-Stromspartechnik RC6 nicht standardmäßig, da sie auf einzelnen Systemen zu Abstürzen oder Grafikfehlern führt. Die Technik spart laut Messungen der c't typischerweise 3 bis 5 Watt im Leerlauf, wodurch sie gerade bei Notebooks das Lüftergeräusch reduziert und die Akku-Laufzeit verlängert. Über den Kernel-Parameter i915.i915_enable_rc6=1 kann man die Technik testweise einschalten.

Quelle: www.heise.de
Titel: Kernel-Log: Apple verschlankt Cups
Beitrag von: SiLæncer am 15 Februar, 2012, 20:00
Mit der kommenden Cups-Version 1.6 sollen einige für Linux-Distributionen wichtige Funktionen wegfallen. Ein Intel-Entwickler hat Patches vorgestellt, durch die der Kernel bald die effiziente Stromspartechnik RC6 standardmäßig nutzen könnte.

Tim Waugh, Entwickler des Drucker-Konfigurations-Programms system-config-printer, hat in seinem Blog auf Änderungen hingewiesen, auf die sich die Linux-Welt mit dem derzeit entwickelten Cups 1.6 einstellen müsse. Denn laut Waugh und dem Openprinting.org-Betreuer Till Kamppeter sollen mit Version 1.6 des seit 2007 von Apple entwickelten Open-Source-Drucksystems einige Funktionen entfallen, die für Mac OS X nicht wichtig sind, bei vielen Linux-Distributionen aber im Einsatz sind.

Dazu gehört die Unterstützung von "Cups Browsing": Bislang melden Cups-Server über den Netzwerk-Port 631 alle verfügbaren Drucker-Warteschlangen, über die Client-Systeme die Drucker automatisch finden können. Für diese Aufgabe setzt Cups bei Mac OS X schon länger auf DNS-SD (_Multicast_DNS.2FDNS-SD:DNS based Service Discovery). Cups arbeitet aber bislang nicht mit Avahi zusammen, das viele Linux-Distributionen für Zeroconf-Techniken wie DNS-SD verwenden. Patches, die das ändern, hat Waugh in Fedora integriert und zur Aufnahme beim Cups-Projekt eingereicht. Zum automatischen Auffinden von Druckern müsse daher in Zukunft Avahi sowohl auf dem Server als auch den Clients laufen, wie Waugh in seinem Blog erläutert; ein Betrieb ohne Avahi sei möglich, aber dann könnte Cups die Drucker-Warteschlangen nicht automatisch finden.

Das Cups-Projekt wird laut laut Waugh und Kamppeter mit Version 1.6 auch einige Filter zum Umwandeln verschiedener Text- und Bildmap-Formate in Postscript unter den Tisch fallen lassen, die MacOS X nicht benötigt. Das OpenPrinting-Projekt hat diese bereits aufgegriffen und will sie im Rahmen von Cups-Filters pflegen. In die Archive sind auch einige Filter zur Handhabung von PDF-Dokumenten eingezogen, die nie Bestandteil von Cups waren.

Waugh hatte bereits zuvor die Fedora-Entwickler auf diese Änderungen hingewiesen. Im Rahmen der dort entstandenen Diskussion deutet Waugh an, einige Entwickler hätten über einen Fork von Cups oder alternative Lösungsansätze nachgedacht. Diese Wege seien auch in Zukunft nicht ausgeschlossen; fürs Erste habe man sie aber als nicht förderlich eingestuft.

Nächste Runde: Intels RC6

Intel-Entwickler Eugeni Dodonov stellte kürzlich zwei Patches zur Diskussion, durch die der Kernel Intels Grafikkern-Stromspartechnik RC6 bei Sandy-Bridge-Prozessoren standardmäßig aktiviert. Damit verwendet der Kernel allerdings die tiefsten Schlafzustände nicht, weil diese auf einigen Systemen Probleme bereiten; die Nutzung dieser "deep rc6" und "deepest rc6" genannten Modi lässt sich bei Kerneln mit diesen Änderungen über einen Parameter aktivieren. Die Entwickler debattieren, ob sie die Patches noch zur Aufnahme für Linux 3.3 einsenden wollen; die Stromspartechnik ist für Notebooks wichtig und kann die Leistungsaufnahme auf manchen Systemen um 5 Watt reduzieren, wodurch die Lüfter seltener und langsamer laufen und der Akku erheblich länger durchhält.

Bereits zuvor hatte Dodonov in zwei Blog-Einträgen einige der jüngsten Entwicklungen rund um die Grafiktreiber für Intels Desktop- und Notebook-Chips zusammengefasst (1, 2). Im zweiten erwähnt er einen Patch, mit dem die Entwickler die Ursachen für die Probleme mit RC6 diagnostizieren wollen.

mehr ... (http://www.heise.de/open/artikel/Kernel-Log-Apple-verschlankt-Cups-1435037.html?artikelseite=2)

Quelle : www.heise.de
Titel: Kernel-Log – Was 3.3 bringt (2): Dateisysteme und Storage
Beitrag von: SiLæncer am 25 Februar, 2012, 11:06
Der Btrfs- und MD-Code bietet neue Möglichkeiten zum Umbau von RAIDs unter Datenerhalt. Ext4-Dateisysteme lassen sich nun schneller vergrößern. Zum Kernel stieß ferner ein Treiber für eine in Zukunft wichtige Übertragungstechnik.

Die Kernel-Entwickler haben für Linux 3.3 eine Reihe von Umbauten und Erweiterungen am Balancing- und Restriping-Code von Btrfs vorgenommen, der für das Umverteilen von Daten innerhalb von Btrfs-Laufwerken zuständig ist (1, 2, 3, 4, 5, 6). Durch diese Änderungen lassen sich mit Btrfs erzeugte RAIDs umbauen – etwa von einem RAID 1 in ein RAID 10. Solch eine Migration lässt sich durch den neuen Code nun auch pausieren, abbrechen oder nach einem Absturz fortsetzen.

Neu sind auch einige optional einkompilierbare Btrfs-Funktionen, durch die das weiterhin experimentelle Dateisystem Integritätsprüfungen im Betrieb durchführt (1, 2). Das kann bei der Analyse von Situationen helfen, die zu inkonsistenten Dateisystemen führen. Der Hilfetext der zugehörigen Kernel-Konfigurations-Option betont, dieser Funktion sei "gefährlich" und man sollte sie im Normalbetrieb nicht verwenden.

Vergrößern

Der Ext4-Code erhielt einen neuen Mechanismus zum Anpassen der Größe von Ext4-Dateisystemen (u. a. 1). Bei ihm kümmert sich nicht vornehmlich ein Userspace-Programm um die Größenanpassung, sondern der Kernel selbst. Laut Messungen, die ein Entwickler mit einer frühen Version des Codes durchgeführt hat, benötigte der neue Mechanismus lediglich 3,5 Sekunden, um ein 20 GByte großes Laufwerk auf 230 GByte aufzuziehen; der bisher verwendete Ansatz brauchte über 5 Minuten. Die neue Technik unterstützt aber einige der neueren Ext4-Techniken bislang nicht – darunter die bei Linux 3.2 eingeführten Big Allocations (Bigalloc).

Ausmisten

Die XFS-Entwickler haben die Mount-Option "nodelaylog" entfernt. Mit ihr ließ sich eine ältere Arbeitsweise beim Schreiben von Log-Daten aktivieren, die der Kernel seit einiger Zeit nicht mehr standardmäßig nutzt. Der neuere Ansatz hat nach Aussage von XFS-Entwicklern ein Performance-Problem rund um das Schreiben von Metadaten beseitigt. Einige Hintergründe dazu finden sich in der Video-Aufzeichnung des Vortrags "XFS: Recent and Future Adventures in Filesystem Scalability", den Red-Hat-Entwickler Dave Chinner auf der diesjährigen linux.conf.au gehalten hat; LWN.net hat diesen Vortrag zusammengefasst.


Umverteilen: Mdadm

Der für Software-RAIDs zuständige MD-Code erhielt Funktionen (u. a. 1, 2), um Daten im Betrieb von einem Datenträger auf einen zweiten zu verschieben, um den ersten anschließend entfernen zu können. Dieser "Hot Replace" genannte Ansatz reduziert die Gefahr von Datenverlust beim Datenträgerwechsel, da es den bislang beim Austausch nötigten Rebuild vermeidet, bei dem die redundanten Daten auf einem neuen Datenträger frisch erzeugt werden. Dieser Rebuild ist nicht ohne Risiko, da dazu die Daten von den verbliebenen Datenträgern gelesen werden müssen, auf denen möglicherweise unbemerkt bereits beschädigte Bereiche entstanden sind; zudem besteht während des Rebuilds keine Redundanz, wenn es sich nicht um ein RAID 6 handelt. Der Kernel beherrscht "Hot Replace" bei den RAID-Level 1, 4, 5, 6 und 10. Aktuelle Mdadm-Versionen unterstützten die Technik noch nicht; einige Hinweise, wie man sie verwenden kann, finden sich zusammen mit Hintergrundinformationen zur Technik in zwei älteren Mails des MD- und Mdadm-Betreuers (1, 2).

Storage-Treiber

Die Linux-Entwickler haben den Treiber ib_srpt integriert, durch die der Kernel nun auch über das SCSI RDMA Protocol (SRP) als Storage-Host agieren kann; der Code dahinter setzt auf das bei 2.6.38 integrierte Target-Framework LIO (Linux-Iscsi.Org) auf.

Dem Kernel liegt nun ein Treiber für NVM (Non-Volatile Memory) Express (NVMe) bei (u. a. 1, 2). Dabei handelt es sich um eine vor einem Jahr definierte Standardschnittstelle zum Zugriff auf SSDs, die via PCI oder PCIe angebunden sind; auch der designierte SATA-6G-Nachfolger SATA Express soll Konzepte von NVMe nutzen.

Zum Block-Layer stieß ferner ein Treiber für Microns PCIe-Flash-Karten RealSSD. Der Emulex-LightPulse-Fibre-Channel-SCSI-Treiber lpfc bietet nun Loopback-Unterstützung.

Verschiedenes

    Einige Patches haben Grundfunktionen für Techniken gelegt, mit deren Hilfe man Prozesse auf einem Rechner einfrieren kann, um sie nach dem Transport auf ein anderes System fortzusetzen ("Checkpoint and Restart"; kurz "C/R"). Dazu gehören die Proc-Verzeichnisse /proc/<pid>/map_files/, über die sich alle Dateien und deren Bereiche auslesen lassen, die in den Speicher gemapt wurden.
    Über die neuen Procfs-Mount-Optionen "hidepid=" und "gid=" kann der Systemadministrator den Zugriff auf bestimmte /proc/<PID>/-Verzeichnisse einschränken – "hidepid=1" etwa verhindert, dass ein Prozess Informationen von fremden Prozessen abgreift.
    Änderungen am SCSI- und Device-Mapper-Code beseitigen eine Sicherheitslücke, über die KVM-Gastsysteme unter gewissen Umständen auf Datenträger des Wirts zugreifen konnten (u. a. 1, 2).
    Über einen neuen Ioctl können Anwendungen abfragen, ob es sich um einen Datenträger mit rotierenden Bauteilen handelt; die schon länger mögliche Abfrage über Sysfs funktioniert weiter.

Die kleinen Perlen

Dateisysteme

    [   2] audit: dynamically allocate audit_names when not enough space is in the names array
    [    ] Btrfs: add allocator tracepoints
    [  N ] Btrfs: generic data structure to build unique lists
    [    ] Btrfs: revamp clustered allocation logic
    [ D  ] ceph: enable/disable dentry complete flags via mount option
    [C   ] [CIFS] ACL and FSCACHE support no longer EXPERIMENTAL
    [ D  ] configfs: convert to umode_t
    [   1] epoll: limit paths
    [    ] ext4: optimize ext4_find_delalloc_range() in nodelalloc mode
    [    ] fuse: support ioctl on directories
    [    ] GFS2: Add readahead to sequential directory traversal
    [   4] GFS2: dlm based recovery coordination
    [C   ] move fs/partitions to block/
    [C N ] NFSD: Added fault injection
    [ DN ] NFSD: Added fault injection documentation
    [    ] NFS: Retry mounting NFSROOT
    [ D  ] NFSv4: Change the default setting of the nfs4_disable_idmapping parameter
    [    ] proc: clean up and fix /proc/<pid>/mem handling
    [    ] procfs: parse mount options
    [   1] reiserfs: Properly display mount options in /proc/mounts
    [ D  ] Squashfs: Update documentation to include xattrs
    [ D 3] switch ->create() to umode_t
    [ D 2] switch debugfs to umode_t
    [ D 2] switch ->mknod() to umode_t
    [ D 3] switch vfs_mkdir() and ->mkdir() to umode_t
    [ D  ] sysfs: propagate umode_t
    [ D 2] vfs: switch ->show_options() to struct dentry *
    [    ] xfs: replace i_flock with a sleeping bitlock

Storage

    [   1] mlx4_core: Added FW commands and their wrappers for supporting SRIOV
    [   2] mlx4_core: initial header-file changes for SRIOV support
    [   1] mlx4_core: mtt modifications for SRIOV
    [    ] SCSI: bfa: Implement LUN Masking feature using the SCSI Slave Callouts.
    [    ] SCSI: isci: enable wide port targets
    [   1] SCSI: isci, firmware: Remove isci fallback parameter blob and generator
    [    ] SCSI: isci: oem parameter format v1.3 (cable select)
    [    ] SCSI: isci: performance-fix, shorten default "no outbound task" timeout
    [C   ] SCSI: isci: update version to 1.1
    [   1] SCSI: lpfc 8.3.28: Add support for ABTS failure handling
    [   3] SCSI: lpfc 8.3.28: Critical Miscellaneous fixes
    [   3] SCSI: lpfc 8.3.28: Miscellaneous fixes in sysfs and mgmt interfaces
    [   2] SCSI: lpfc 8.3.28: SLI fixes and added SLI4 support
    [    ] SCSI: lpfc 8.3.28: Update driver version to 8.3.28
    [    ] SCSI: MAINTAINERS: pvscsi maintainers update
    [ D  ] SCSI: megaraid_sas: Version and Changelog update
    [    ] SCSI: mpt2sas: Bump driver version to 11.100.00.00
    [    ] SCSI: mpt2sas: Increase max transfer support from 4MB to 16MB
    [    ] SCSI: mpt2sas: Support for greater than 2TB capacity WarpDrive
    [    ] SCSI: mptsas: Add device ID for SAS1068_820XELP.
    [    ] SCSI: qla2xxx: Implement FCP priority tagging for 82xx adapters.
    [   3] SCSI: qla2xxx: Update to dynamic logging.
    [    ] SCSI: qla4xxx: Update driver version to 5.02.00-k10
    [    ] SCSI: qla4xxx: Update driver version to 5.02.00-k11
    [    ] SCSI: qla4xxx: Update driver version to 5.02.00-k12
    [    ] target: use n as a separator for configuration

Quelle und Links : http://www.heise.de/open/artikel/Kernel-Log-Was-3-3-bringt-2-Dateisysteme-und-Storage-1437805.html
Titel: Kernel-Log: Intel-Grafiktreiber und Util-Linux aktualisiert
Beitrag von: SiLæncer am 28 Februar, 2012, 20:40
Intels neueste Grafiktreiber unterstützen Ivy-Bridge-CPUs und OpenGL 3.0 – letzteres aber nur, wenn Mesa 3D eine vermutlich patentierte Technik nutzt. Die neue Version der Standard-Werkzeugsammlung Util-Linux enthält mehrere neue Programme. Vortragsvideos von der ELC liefern Informationen zum Test-Framework Ktest.pl, dem Stand des ARM-Code im Linux-Kernel oder der Funktions-Verfolgung mit Ftrace.

Intel-Entwickler haben das Intel Linux Graphics Package 12.02 freigegeben, das OpenGL 3.0 beherrscht, den Embedded Display Port besser unterstützt und einige Stabilitätsprobleme behebt. Ferner gilt die Unterstützung der Ivy-Bridge-Prozessoren nun als stabil; diese ursprünglich zu Ostern erwarteten Nachfolger der Sandy-Bridge-CPUs sollen nach neuesten Informationen wohl erst im Mai oder Juni auf den Markt kommen. Mit dem neuen Grafiktreiberpaket haben die Entwickler das Versionsschema angepasst, das sich nun an Erscheinungsmonat und -Jahr orientiert. In Zukunft will Intel häufiger neue Versionen veröffentlichen; bislang erschien typischerweise eine pro Quartal.

Zum Treiberpaket gehört unter anderem die kurz zuvor veröffentlichte Version 2.18.0 des Intel-Treibers für den X-Server von X.org. Weitere Bestandteile sind Mesa 3D 8.0.1, das kürzlich einige Fehler des noch jungen Mesa 3D 8.0 korrigiert hat. Zum Paket gehören ferner der Linux-Kernel 3.2, Libdrm 2.4.31 sowie die für Video-Beschleunigung zuständige Komponenten libva 1.0.15 und vaapi-driver-intel 1.0.15; getestet hat Intel diese Bausteine in Kombination mit einem X-Server 1.11.1.

Diese Komponenten einzuspielen erfordert fortgeschrittene Linux-Kenntnisse und einiges an Zeit. Die meisten Anwendern können sich die Mühe jedoch sparen, denn Bausteine des Intel-Treiberpakets dürften in die Linux-Distributionen einziehen, die in den kommenden Wochen und Monaten erscheinen – etwa das im April erwartete Ubuntu 12.04 LTS oder das für Mai geplante Fedora 17. Es bleibt jedoch abzuwarten, ob diese Distributionen volle Unterstützung für OpenGL 3.0 bieten, denn dazu muss bei der Konfiguration der Mesa-3D-Quellen vor dem Kompilieren das Configure-Flag "--enable-texture-float" gesetzt sein, wie Intel erläutert. Die darüber aktivierte Code zur Verarbeitung von Floating-Point-Texturen nutzt aber eine durch ein SGI-Patent geschützte Technik, wie ein Hinweis in den Mesa-Quellen erläutert. Erfahrungsgemäß vermeiden einige Distributionen den Einsatz von Techniken, bei der Patentklagen drohen; Fedora etwa setzt das Configure-Option derzeit nicht.

Bereits Mitte des Monats hatte Intel-Entwickler Eugeni Dodonov einen seiner unregelmäßigen erscheinenden Zusammenfassungen der jüngsten Entwicklungen rund um die Linux-Treiber für Intel-Grafikchips veröffentlicht. Dort erwähnt er Patches, die Probleme rund um die Stromspartechnik RC6 beheben sollen. Einige Patches von Dodonov zogen einige Tage später in den Hauptentwicklungszweig von Linux ein. Darunter einer, durch den der Kernel nicht mehr in den RC6-Stromsparmodus "RC6p" wechselt, sofern der Anwender Intels GPU-Stromspartechnik manuell einschaltet. Die Änderung enthält aber einen Fehler, der RC6 versehentlich komplett lahmlegt; in den aktuellen Vorabversionen von Linux 3.3 wurde das bislang nicht korrigiert. Einige alternative Patches, die eine zuverlässige Nutzung von RC6 ermöglichen sollen, finden sich auch über die Seite zu Intels oben erwähntem Treiberpaket.

Standardwerkzeuge

Die Util-Linux-Version 2.21 erweitert die von allen großen Linux-Distributionen eingesetzte Werkzeugsammlung um einige neue Tools und verbessert bestehende. Neu ist etwa prlimit, das zusammen mit aktuellen Kernel-Versionen die Ressourcen limitieren kann, die ein Prozess nutzen darf; dabei soll es mehr Möglichkeiten bieten und flexibler sein als das in der Bash eingebaute ulimit. Einige Hintergründe und Einsatzbeispiele zu dem Kommandozeilenwerkzeug liefert Util-Linux-Hauptentwickler Karel Zak in einem Blogeintrag. In seinem Blog beschreibt er auch einige Neuerungen des vollständig umstrukturierten Programms login, das nur noch PAM-Authentifizierung unterstützt und einige der Funktionen erhielt, die sich bislang vornehmlich in der von Suse eingesetzten Variante des Programms fanden.

Auch das Werkzeug losetup wurden komplett neu geschrieben und kann dadurch nun etwa die bei Linux 3.1 eingebauten Funktionen nutzen, um Images ohne Root-Rechte einzubinden. Das Programm partx unterstützt nun partitionierte Datenträgerimages. Neu ist das Programm chcpu, das unter anderem nach neuen CPUs suchen kann und CPUs ein- und ausschaltet; es kann zudem weitere Prozessorkerne beim Hypervisor anfordern oder diese zurückgeben. Das Programm wipefs erhielt einige neue Funktionen, um Datenmüll zu entfernen, der bei einer Neueinrichtung eines Datenträgers möglicherweise stört – etwa Reste von Dateisystemen und alten Partitionstabellen sowie für LVM2 oder Mdadm wichtige Metadaten.

mehr ... (http://www.heise.de/open/artikel/Kernel-Log-Intel-Grafiktreiber-und-Util-Linux-aktualisiert-1443732.html?artikelseite=2)

Quelle : www.heise.de
Titel: Pflege des Linux-Kernels 2.6.32 verlangsamt sich
Beitrag von: ritschibie am 05 März, 2012, 11:40
Greg Kroah-Hartman hat den Linux-Kernel 2.6.32.58 freigegeben und dabei erklärt, dass er die Pflege der im Dezember 2009 vorgestellten Kernel-Version 2.6.32 aufgibt. Dass er das vorhat, hatte er schon in den letzten Monaten angekündigt, ohne einen genauen Termin zu nennen. Kroah-Hartman fordert Anwendern selbst kompilierter 2.6.32er-Kernel sehr nachdrücklich zum Wechsel auf Linux 3.0 auf, das er als Longterm-Kernel mindestens bis zum Spätsommer 2013 pflegen will.

Die Pflege des Kernel 2.6.32 wird allerdings nicht eingestellt, sondern erfolgt jetzt in einem "extended-longterm" Modell, wie es Kroah-Hartman nennt. Willy Tarreau, der derzeit schon Linux 2.4 und 2.6.27 pflegt, nimmt sich nämlich nun auch der Version 2.6.32 an. In einer Erklärung erläuterte er, neue Kernel-Versionen auf Basis von Linux 2.6.32 würden jetzt in deutlich langsamerer Folge erscheinen, wie es ähnlich bereits bei der Versionsreihe auf Basis von Linux 2.6.27 der Fall sei; dort hatte es kürzlich nach einem dreiviertel Jahr Ruhe das erste Mal wieder neue Versionen gegeben.

Derweil rückt die Fertigstellung des Kernels 3.3 näher: Linus Torvalds hat in der Freigabe-Mail von des sechsten Release Candidate angekündigt, 3.3-RC6 sei möglicherweise die letzte Vorabversion von Linux 3.3. Einen Überblick über einige Neuerungen dieser Version liefert das Kernel-Log im dritten Teil der Artikelserie "Was 3.3 bringt", den heise open kürzlich veröffentlicht hat:

Kernel-Log – Was 3.3 bringt (3): Architektur und Infrastruktur (http://www.heise.de/open/artikel/Kernel-Log-Was-3-3-bringt-3-Architektur-und-Infrastruktur-1447250.html)

Quelle: www.heise.de
Titel: Kernel-Log – Was 3.3 bringt (4): Treiber
Beitrag von: SiLæncer am 08 März, 2012, 13:44
Der Nouveau-Treiber spricht ab Linux 3.3 neuere GeForce-Chips an; Intels GPU-Stromspartechnik RC6 soll jetzt endlich zuverlässig arbeiten. Der Poulsbo-Grafiktreiber und einige Hyper-V-Treiber verlassen den Staging-Zweig, in den neue Treiber für Android einzogen.

Der Intel-Grafiktreiber erhielt mit Linux 3.3 eine Anpassung, durch die der Kernel jetzt den tiefsten Schlafzustand der Intel-GPU-Stromspartechnik RC6 meidet. Dadurch soll diese Technik nun zuverlässig mit den Grafikkernen arbeiten, die in Intels Prozessoren der derzeit aktuellen Generation Sandy-Bridge stecken. RC6 spart laut Messungen der c't typischerweise 3 bis 5 Watt im Leerlauf; Anwender berichten teilweise von noch größeren Spareffekten. Bei sparsamen Notebooks kann solch eine Reduktion die Leerlauf-Leistungsaufnahme um 30 bis 40 Prozent senken und so die Akku-Laufzeit spürbar verlängern.

Doch auch bei Kernel 3.3 bleibt RC6 bei Sandy-Bridge-CPUs standardmäßig ausgeschaltet und muss über den Kernel-Parameter i915.i915_enable_rc6=1 manuell aktiviert werden; die Intel-Entwickler erwägen, die Technik bei Linux 3.4 standardmäßig einzuschalten. Indes haben die Kernel-Hacker die erst seit Linux 3.1 automatisch verwendete, aber längst nicht so effiziente Stromspartechnik Frame Buffer Compression (FBC) bei Linux 3.3 wieder standardmäßig lahmgelegt, da Probleme aufgetaucht sind.

Die Nouveau-DRM/KMS-Treiber für Grafikchips von Nvidia unterstützen ab Kernel 3.3 erstmals die Audio-Ausgabe via HDMI bei Grafikchips ab dem NVA3, der auch als GT215 bekannt ist (1, 2, 3, 4); solche Grafikkerne sitzen beispielsweise auf den GeForce-Modellen GT 240, 320 und 335M, den GTS-Modellen 250M, 260M, 350M und 360M sowie deren Nachfolgern. Der Nouveau-Treiber von Linux 3.3 steuert erstmals die GPU mit dem Codenamen NVD9 an, die unter anderem die GeForce-GT-Modelle 520, 520M, 520MX sowie die GeForce 410M verwenden. Zudem gab es eine Reihe von Änderungen, welche die nach wie vor rudimentäre Unterstützung für Stromspar- und Lüfter-Management im Nouveau-Treiber ein klein wenig verbessern. Der Nouveau-Treiber erhielt zudem einige Funktionen zur Unterstützung von Nvidias Grafikchip-Zuschalttechnik Optimus.

Der Radeon-DRM/KMS-Treiber für Grafikchips von AMD unterstützt nun HDMI-Audio-Ausgabe bei den Chips der Evergreen-Generation, die häufig, aber nicht immer auf GPUs der Radeon-HD-5000er-Serie sitzen. Die Informationen zur Ansteuerung der HDMI-Audio-Hardware wurden mit Hilfe von Reverse Engineering ermittelt; wie gut der so entstandene Code arbeitet, muss der Feldtest zeigen. Der neue "GPU virtual memory support" legt einige Grundlagen für einen Open-Source-Treiber für die "Southern Islands"-Grafikchips, die auf einigen Grafikkarten der kürzlich eingeführten Radeon-HD-7000-Serie im Einsatz sind; dieser Code soll langfristig zudem die CPU entlasten, wenn Command Streams an die GPU gesendet werden. Die mit 3.3 eingebauten Multiple Fence Queues für den Radeon-DRM/KMS-Treiber rüsten einige Funktionen nach, die unter anderem zur Nutzung der UVD genannten Video-Einheiten nötig ist.

Der neue "DMA aware ttm page pool code" vereinfacht das Virtual Memory Management im Radeon-DRM/KMS-Treiber und ermöglicht den Einsatz des von Radeon und Nouveau verwendeten GPU-Speicherverwaltungstechnik TTM (Translation Table maps) unter Xen. Einige weitere Änderungen an den Grafiktreibern finden sich bei den kleinen Perlen am Ende des Artikels und im Haupt-Git-Pull-Request von DRM-Subsystem-Betreuer Dave Airlie.

Gereift

Der von Intel-Mitarbeiter und Kernel-Urgestein Alan Cox entwickelte DRM/KMS-Grafiktreiber für die Intels-Grafikkerne GMA500, GMA600 und GMA3600 zog in das DRM-Subsystem ein (u. a. 1, 2, 3, 4, 5); der Treiber war zuvor unter anderem Namen einige Monate im Staging-Bereich für verbesserungsbedürftigen Code. Auch der gereifte Treiber unterstützt allerdings nur die wichtigsten Funktionen der Grafikchips. Der GMA500 in Intels Embedded-Chip US15W ("Poulsbo") wurde auch in einigen Netbooks verbaut und hat dort einigen Linux-Anwendern in den letzten Jahren reichlich Kopfschmerzen bereitet: Die Treiber-Situation war lange recht verfahren, weil Intel die proprietären Treiber nicht direkt zum Download anbot und die im Umlauf befindlichen Treiber mit aktuellen Linux-Distributionen häufig nicht oder nicht gut funktionierten.

Die von Microsoft selbst vorangetriebenen Netzwerk-, HID- und Maus-Treiber für die eigene Virtualisierungsschnittstelle Hyper-V sind nach mehreren Jahren im Staging-Bereich nun so weit gereift, dass sie in die zuständigen Subsysteme umziehen konnten. Der Storage-Treiber hat den Sprung knapp verpasst; er soll den Staging-Bereich mit dem Kernel 3.4 verlassen, womit dann auch der letzte Hyper-V-Treiber das Staging-Siegel ablegt.

mehr ... (http://www.heise.de/open/artikel/Kernel-Log-Was-3-3-bringt-4-Treiber-1464001.html?artikelseite=2)

Quelle : www.heise.de
Titel: Linux-Kernel 3.3 freigegeben
Beitrag von: SiLæncer am 19 März, 2012, 12:38
Linus Torvalds hat den Linux-Kernel 3.3 veröffentlicht, der unter anderem einige Probleme beseitigen soll, die gelegentlich zu Systemaussetzern beim Schreiben auf langsame Datenträger führen. Dutzende neuer und überarbeiteter Treiber verbessern die Hardware-Unterstützung; so gibt es Fortschritte bei den Open-Source-Treibern für AMD-, Intel und Nvidia-Grafik. In den Staging-Bereich für "unreife" Treiber sind eine Reihe Android-spezifischer Treiber zurückgekehrt, die vor zwei Jahren rausgeflogen waren, weil sich niemand darum gekümmert hatte.

Software-RAIDs unterstützten jetzt Hot Replace, sodass nach dem Austausch einer Platte kein Rebuild-Lauf mehr nötig ist. Auch der RAID-Support in Btrfs wurde verbessert. Das Netzwerk-Subsystem erhielt einige neue Funktionen und Erweiterungen, darunter einen virtuellen Switch, der auf den Layern 2, 3 oder 4 arbeiten kann. Linux 3.3 bietet bereits Basis-Unterstützung für das neue ACPI 5.0.

Einen Überblick über diese und weitere Neuerungen liefert ein Artikel auf heise open, der auch einen Ausblick auf einige der für Linux 3.4 anstehenden Änderungen enthält:

    Die Neuerungen von Linux 3.3 (http://www.heise.de/open/artikel/Die-Neuerungen-von-Linux-3-3-1464664.html)

Quelle : www.heise.de
Titel: Kernel-Log: Treiber für neue Radeon-GPUs
Beitrag von: SiLæncer am 23 März, 2012, 09:30
Der Kernel wird bald einige Grafikkerne von AMD unterstützten, die bei neuen Radeon-Grafikkarten und einigen kommenden Prozessoren eingesetzt. Bei Systemen mit Intel-Grafikkernen kann es bei Nutzung des Ruhezustands zu Speicherverfälschungen kommen. Die Entwicklung von Linux 3.4 ist angelaufen.

AMD-Entwickler Alex Deucher hat eine Patch-Sammlung veröffentlicht, die die DRM- und KMS-Treiber des Linux-Kernels um Unterstützung für die Grafikkerne der Familien "Southern Islands" (SI) und "Trinity" (TN) erweitert. Zur SI-Generation gehören die Grafikchips der Mittelklasse- und High-End-Modelle Radeon HD 7900 und 7700, die AMD kurz vor Weihnachten und Mitte Februar eingeführt hat; beim Trinity handelt es sich um einen Prozessor mit integrierten Grafikkern, der vermutlich in den nächsten Wochen vorgestellt wird und die bisherigen Llano-Prozessoren aus AMDs Serie A beerben sollen.

Deucher hat angekündigt, Treiber für Mesa 3D und X.org folgen zu lassen, die auf die DRM/KMS-Unterstützung im Kernel aufbauen; wann die fertig sein sollen, sagte er allerdings nicht. Alles zur 2D- und 3D-Unterstützung der Trinity-CPU Aruba ist bereits in Mesa und den X.org-Treiber Radeon eingezogen – die nötigen Anpassungen waren offensichtlich einfach, da der bei Trinity eingesetzte Grafikkern eng mit älteren verwandt ist, die Mesa 3D und X.org schon länger unterstützen. Die Entwicklung eines quelloffenen 3D-Treibers für SI-Grafikkerne soll allerdings noch etwas Zeit brauchen.

Es ist unklar, ob die DRM/KMS-Unterstützung für die neuen Grafikkerne noch in den Linux-Kernel 3.4 einzieht. Normalerweise sollen solch große Änderungen wie die von Deucher bereits im Entwicklungszweig Linux-Next enthalten sein, bevor mit der Arbeit an einer neuen Kernel-Version begonnen wird, damit größere Änderungen nicht ohne Tests in linux-next im Merge Window in den Kernel eingehen; letzteres war bei den Grafiktreibern aber bereits einige Male der Fall, daher ist es recht wahrscheinlich, dass die jetzt veröffentlichten Patches in Kürze in den Hauptentwicklungszweig eingehen und noch Bestandteil von Linux 3.4 werden, das Ende Mai erscheinen dürfte.

Mangels Open-Source-Treiber richten Linux-Distributionen für SI-Grafikkerne bislang die nur wenige Grundfunktionen bietenden Standard-Vesa-Treiber ein. AMDs proprietärer Treiber unterstützt den Grafikchip der Radeon HD 7970 bereits seit der Einführung dieser Karten.

Fehler

Nach der Freigabe von Linux 3.3 Anfang der Woche sind die ersten Fehler aufgetaucht, die die Kernel-Hacker bei der Entwicklung übersehen haben – so soll etwa die DVB-S-Unterstützung der WinTV Nova HD-S2 und ähnlichen Karten gestört sein. Das lässt sich durch eine kleinen Patch korrigieren, der vermutlich in die Stable-Kernel auf Basis von Linux 3.3 einziehen dürfte.

Derweil suchen einige Kernel-Entwicklern nach der Ursache eines offenbar schon seit einigen Kernel-Versionen auftretenden Fehlers, der nach dem Aufwachen aus dem Ruhezustand (Hibernate/Software Suspend) Speicherbereiche verfälscht. Offenbar ist der für neuere Intel-Grafikkerne zuständige DRM/KMS-Treiber i915 oder die von ihm angesteuerte Hardware schuld (1, 2); je nach Zeitpunkt und Verwendung der modifizierten Speicherbereiche kann das zu Abstürzen, Fehlberechnungen oder beschädigten Daten führen. Einige Hintergründe erläutert Fedora-Entwickler Dave Jones in einem Blog-Eintrag. Jones hat sich mit dem Problem näher auseinander gesetzt, weil mehrere Fedora-Anwender Speicherverfälschungen nach dem Ruhezustand gemeldet haben; das Problem tritt offenbar auch bei anderen Distributionen auf und besteht möglicherweise schon seit Mitte 2011.

Auch der immer mal wieder über die Probleme rund um ACPI und (U)EFI bloggende und twitternde Kernel-Hacker Matthew Garrett hatte kürzlich mit Speicherverfälschungen zu kämpfen und hat seine Leidensweg im Blog-Eintrag "More ways for firmware to screw you" beschrieben. Wer sich nicht bis zur Pointe vorarbeiten will, hier der Spoiler: Verursacher der Speicherverfälschungen, die zu den beobachteten Boot-Problemen auf einem Mac führten, war ein EFI-Treiber, der den WLAN-Chip aktivierte; manchmal modifizierte der bis zum Laden des Linux-WLAN-Treibers noch per DMA Arbeitsspeicherbereiche, obwohl der Linux-Kernel eigentlich die volle Kontrolle über das System erhalten hatte und diese Bereiche schon anders verwendete.

VMware

Die VMware-Entwickler haben vor knapp zwei Wochen die Version 12.0.0 ihres X.org-Treibers xf86-video-vmware freigeben, der zusammen mit dem DRM/KMS-Treiber Vmwgfx in Linux 3.2, einer halbwegs aktuellen Libdrm und Mesa 8.0 3D-Beschleunigung in den Virtualisierungs-Produkten VMware Workstation 8.0, Fusion 4.0 und Player 4.0 bieten sollte; aufgrund eines Fehler gelingt das allerdings erst mit der eine Woche später nachgelegten Version 12.0.1. Da alle erwähnten Bestandteile für die 3D-Untersütztung unter Open-Source-Lizenzen stehen, sollten in den kommenden Monaten erscheinende Linux-Distributionen diese Komponenten mitliefern; da diesen vielfach auch der parallel zum neuen Grafiktreiber aktualisierte VMware-Maustreiber beiliegt, sollte sich die grafische Oberfläche von Gastsystemen voll bedienen lassen, ohne dass der Anwender erst Treiber im Gastsystem installieren muss.

Die X-Erweiterung Xrender wird durch die VMware-Treiber allerdings typischerweise nicht beschleunigt. Trotzdem sollen das Interaktivitätsgefühl etwa bei den von Kwin erzeugten Effekten gut sein; das geht aus einer Seite im X.org-Wiki hervor, die noch einige weitere Aspekte rund um die Treiber erläutert.

mehr ... (http://www.heise.de/open/artikel/Kernel-Log-Treiber-fuer-neue-Radeon-GPUs-1476937.html?artikelseite=2)

Quelle : www.heise.de
Titel: Kernel-Log: Intels Hibernate-Bug korrigiert
Beitrag von: SiLæncer am 04 April, 2012, 13:42
Neue Linux-Versionen beseitigen einen Fehler in Intels Grafiktreiber, der zu Speicherverfälschungen führen kann. AMD hat X.org-Treiber für die neuen Trinity-Prozessoren veröffentlicht. Im September findet in Nürnberg eine Konferenz für X-Entwickler statt. Es gibt einige Fortschritte bei der GPGPU-Unterstützung in Mesa 3D.

Die am Montagabend freigegebenen Kernel-Versionen 3.0.27, 3.2.14 und 3.3.1 sollten den Fehler beseitigen, durch die es gelegentlich zu Speicherverfälschungen kommt, wenn Systeme mit Intel-Grafik aus dem Ruhezustand (Hibernate/Software Suspend/ACPI S4) aufwachen; bereits zuvor war die Korrektur in die erste Vorabversion von Linux 3.4 eingeflossen, die Linus Torvalds am Wochenende veröffentlicht hat.

Das Problem liegt im DRM/KMS-Treiber i915 und ist schon mindestens ein Jahr alt; betroffen sind vermutlich die meisten Intel-Chipsätze und -Prozessoren für Notebooks und Desktops, die in den letzten fünf bis sieben Jahren gefertigt wurden. Schuld war der Code zum Blinken des Cursors auf der Textkonsole, wie aus dem Commit-Kommentar zur Korrektur hervorgeht. Diese deaktiviert nun beim Wechsel in und aus dem Ruhezustand die für das Blinken zuständige Funktion; die DRM/KMS-Treiber Radeon und Nouveau machen das schon länger so.

Die Freigabe-Mails der neuen Kernel empfehlen nachdrücklich, auf die neuen Versionen zu wechseln – die Verbesserungen und Fehlerkorrekturen stopfen möglicherweise auch Sicherheitslücken, was nicht eigens ausgewiesen wird. Sofern die eigene Distribution noch gepflegt wird, sollte sich allerdings der Distributor um einen korrigierten Kernel kümmern. Das dürften in diesem Falle die meisten Distributoren tun, da das Problem beim i915-KMS/DRM-Treiber nicht nur zu Fehlverhalten, sondern auch zu beschädigten Daten führen kann.

Frische Radeon-Treiber

Mit dem kürzlich von AMD-Entwickler Alex Deucher freigegebenen Treiberpaket xf86-video-ati 6.14.4 unterstützt der X.org-Treiber Radeon die Grafikkerne von Trinity-CPUs, die AMD in den nächsten Monaten vorstellen dürfte. Um den Aruba oder R9xx genannten Grafikkern anzusprechen, benötigt der Treiber DRM/KMS-Unterstützung für Trinity im Kernel; diese wurde vor zwei Wochen vorgestellt und zog kurz darauf in den Hauptentwicklungszweig des Linux-Kernels ein. Zusammen mit der von Deucher veröffentlichten libdrm 2.4.33 und dem Entwicklerzweig von Mesa 3D soll mit diesem zur Northern-Islands-Generation gehörenden Grafikkern auch 3D-Beschleunigung nutzbar sein. Der neue Radeon-Treiber für den X-Server von X.org bringt zudem Unterstützung für 2D-Tiling, was die Grafikperformance etwas verbessern kann; auch diese Funktion erfordert Unterstützung im DRM/KMS-Treiber, die in Linux 3.4 enthalten sein wird.

Ende März hat AMD auch die Version 12.03 seiner proprietären Grafiktreiber freigegeben, die als Catalyst oder Fglrx bekannt sind. Wie häufig gibt das Unternehmen keine Hinweise auf die Neuerungen. Wie ihre Vorgänger arbeitet aber auch diese Version nicht mit dem aktuellen X-Server 1.12 zusammen, der vor einem Monat fertig gestellt wurde.

Kernel-Log-Staccato

Kernel

    Die genau wie die LKML bei vger.kernel.org laufende Mailingliste git-commits-head versendet seit Ende März wieder Mails für jede Änderung, die Linus Torvalds am Hauptentwicklungszweig von Linux vornimmt. Seit August 2011 hatte die Liste nicht mehr richtig gearbeitet, weil die Skripte zum Erzeugen der Commit-Mails nach dem Einbruch bei Kernel.org nicht mehr liefen.
    Suse-Mitarbeiter Olaf Kirch erläutert in einem Blog-Eintrag einige Gründe, warum Suse beim Ende Februar veröffentlichten Service Pack 2 für Suse Enterprise Linux 11 von Linux 2.6.32 auf 3.0 gewechselt ist; er deutet dort auch an, Suse werde solche Wechsel vermutlich auch zukünftig durchführen. Einige Aspekte zu solchen Sprüngen bei Distributionen für Unternehmenskunden spricht LWN.net im Artikel "Kernel competition in the enterprise space" an; dort wird auch Oracle erwähnt, denn das Unternehmen hat bei seinem Unbreakable Enterprise Kernel (UEK) kürzlich einen ähnlichen Versionssprung gewagt.
    Luis R. Rodriguez hat neue Versionen von Compat-Wireless veröffentlicht, mit denen sich die WLAN-Treiber von Linux 3.3 mit älteren Kernel-Versionen nutzen lassen.

Unterstützung für Grafikhardware

    Nach einigen Vorplanungen hat Egbert Eich nun auch offiziell verkündet, dass die X-Entwicklerkonferenz X.Org Developer Conference 2012 (XDC2012) dieses Jahr in Nürnberg stattfindet; einige Hintergründe dazu finden sich im X.org-Wiki und einem Eintrag im Blog des Entwicklers.
    Es gab eine Reihe kleinere Fortschritte rund um die Nutzung von GPGPU (General-purpose computing on Graphics Processing Units) mit Open-Source-Software. Nouveau-Entwickler Francisco Jerez hat zwei Patch-Serien zur Diskussion gestellt, die das Gallium3D-Framework von Mesa 3D um Infrastruktur für Compute-Support erweitern, die sich via OpenCL nutzen lässt (1, 2). Er verweist in dem Zusammenhang auch auf Erweiterungen für die Radeon- und Nouveau-Treiber von Mesa 3D, damit diese mit der Compute-Infrastruktur interagieren. Zudem erwähnt er ein dafür benötiges LLVM-Backend für die Radeon-HD-Grafikkarten der Baureihen 2XXX bis 6XXX, das dessen Entwickler Tom Stellard einige Tage später an die LLVM-Entwickler zur Begutachtung geschickt hat. Jerez hat zudem den bislang unabhängig von Mesa 3D entwickelten OpenCL-State-Tracker "Clover" in einen Gallium-Compute genannten Zweig von Mesa 3D aufgenommen, um die Integration in Mesa 3D vorzubereiten. Derweil hat Shinpei Kato von der University of California Gdev vorgestellt, das verschiedenen Open-Source-Komponenten enthält, um über APIs wie Nvidias CUDA die Recheneinheiten von Nvidia-Grafikchips zu nutzen; Gdev unterstützt bislang Grafikchips der Fermi-Generation , die auf den meisten Grafikkarten der GeForce-Serien 400 und 500 sitzen.

Kernel-Umland ("Plumbing layer"), Userland-Treiber, Entwicklertools, ...

    Michael Kerrisk hat die man-pages 3.38 veröffentlicht und in einem Blog-Eintrag die wichtigsten Änderungen zusammengefasst.
    Canonical-Mitarbeiter Martin Pitt arbeitet an Systemd-Paketen für Ubuntu 12.04.
    Kernel-Hacker Rusty Russell nennt im Blog-Eintrag "Sources of Randomness for Userspace" einige mehr oder weniger gute Quellen zur Erzeugung von Zufallszahlen.
    Junio C Hamano hat die dritte Vorabversion von Git 1.7.10 veröffentlicht; wie zuvor diskutiert nutzt das verteilte Versionsverwaltungssystem nun beim "git push" standardmäßig ein anderes Verhalten.
    In einem Blog-Eintrag erläutert Lennart Poettering einige Aspekte rund um die Verzeichnisse, die modernen Linux-Distributionen zum Speichern temporärer Dateien bieten. Er beschreibt dabei auch die Vorteile, die der Einsatz von Tmpfs für /tmp/ bietet. Arch Linux und Debian nutzen solch eine Konstellation mit Tmpfs, das die temporäre Dateien nicht auf einem Datenträger, sondern im Arbeitsspeicher ablegt, wodurch sie bei einem Neustart verloren gehen; Fedora plant den Umstieg bei Version 18 und auch bei OpenSuse wird über einen Wechsel nachgedacht.
    Pablo Neira Ayuso hat nfacct 1.0.0, libnetfilter_acct 1.0.0 und iptables 1.4.13 freigegeben; letzteres bringt unter anderem Unterstützung für Rpfilter und beherrscht Explicit Congestion Notification (ECN) auch bei IPv6.
    Jim Meyering hat die Version 8.16 der Coreutils veröffentlicht. Die neue Version erweitert das Programm "ln" um die Option "--relative", die immer einen relativen Link erzeugt, unabhängig davon, wie er angegeben wird; ein Google+-Beitrag von Harald Hoyer zeigt ein Praxis-Beispiel. Neu ist auch der Modus "conv=sparse" für das Programm "dd", durch das dieses Sparse-Files anlegen kann.
    Die Ext-Werkzeugsammlung E2fsprogs erhält mit der Version 1.42.2 einige kleine Korrekturen und Verbesserungen; so soll das Programm resize2fs nun deutlich weniger CPU-Ressourcen benötigen und erheblich schneller sein, wenn es die Kapazität großer Laufwerke anpasst.

LKML-Diskussionen

    Intel-Entwickler Artem Bityutskiy hat das Werkzeug Aiaiai vorgestellt, mit dem Kernel-Entwickler Patches oder Patch-Sammlungen verschiedenen Tests unterziehen können.
    Während des Merge Window von Linux 3.4 hat Linus Torvalds wieder einige Subsystem-Mitarbeiter darauf hingewiesen, wie sie beim Anlegen ihrer Git-Depots vorgehen sollen und welche Vorgehensweisen ihm missfallen (1, 2, 3).

Quelle und Links : http://www.heise.de/open/artikel/Kernel-Log-Intels-Hibernate-Bug-korrigiert-1500245.html
Titel: Anteil der Freizeit-Kernel-Hacker sinkt
Beitrag von: SiLæncer am 04 April, 2012, 22:30
Rund 7800 verschiedene Entwickler von ungefähr 800 Firmen haben seit der im März 2005 veröffentlichten Kernel-Version 2.6.11 Änderungen zum Linux-Kernel beigesteuert. Knapp 18 Prozent der Modifikationen stammen von Programmierern, die bekanntermaßen in ihrer Freizeit zu Linux beitragen; mindestens 75 Prozent hingegen von Entwicklern, die mit ihren Arbeit an Linux ihre Brötchen verdienen. Grundlage für diese Prozentwerte ist nicht der Umfang der Modifikationen, sondern nur deren Zahl – eine einzeilige Änderung wiegt daher genau so viel wie ein großer Patch.

Mitarbeiter von Red Hat trugen 11,9 Prozent der Änderungen bei; es folgen Beiträge von Programmierern, die bei Novell (6,8 %), Intel (6,2 %) und IBM (6,1 %) arbeiten. Bei zirka 5 Prozent der Änderungen ist unklar, ob die Entwickler in ihrer Freizeit an Linux mitarbeiten oder dafür bezahlt werden. Die Werte verschieben sich etwas, wenn man lediglich die Änderungen seit der Version 2.6.36 betrachtet, die im Oktober 2010 erschienen ist: Hobby-Entwickler stellen nur mehr 16 Prozent der Änderungen und Mitarbeiter von Red Hat nur noch 10,7 Prozent. Es folgen Intel (7,2 %) und Novell (4,3 Prozent) vor der Gruppe der Unbekannten (4,3 %) und IBM (3,7 %); mit einem Prozent der Änderungen hat es Microsoft in dieser Aufstellung auf Platz 21 geschafft.

Das ist eine von mehreren Analysen, die sich in dem von der Linux Foundation veröffentlichten Dokument "Linux Kernel Development: How Fast it is Going, Who is Doing It, What They are Doing, and Who is Sponsoring It" finden. Es ist das vierte Dokument dieser Art; wie die früheren Analysen (1, 2, 3) wurde auch diese von Jonathan Corbet (LWN.net) sowie Greg Kroah-Hartman und Amanda McPherson von der Linux Foundation verfasst.

Die Studie betrachtet nicht nur der Quelle der Änderungen und die Arbeitgeber der Entwickler, sondern auch einer Reihe weiterer Aspekte. So werden einige der wichtigsten Geschehnisse erwähnt, die es im letzten Jahr beim Linux-Kernel und dessen Umfeld gab; darunter der Umstieg auf die Versionsnummer 3.0, der Beginn größerer Auf- und Umräumarbeiten im ARM-Code oder der Einbruch bei Kernel.org. Ferner haben die Autoren auch den Umfang und die Entwicklungszeit der in den letzten Jahren veröffentlichten Kernel-Versionen betrachtet – sie erwähnen etwa, dass viele der jüngst veröffentlichten Linux-Kernel in weniger als 70 Tagen entwickelt wurden. Analysiert wird auch, welche Entwickler und Firmen die Änderungen auf dem Weg zu Torvalds begutachten.


Die Linux Foundation hat die aktualisierte Studie im Rahmen des derzeit stattfindenden Collaboration Summit veröffentlicht. Parallel hat die Interessen-Vereinigung auch ein Video online gestellt, das Leuten, die mit der Linux-Entwicklung nicht vertraut sind, auf grobe, aber verständliche Weise zu erklären versucht, wie der Linux-Kernel entwickelt wird:

Quelle : www.heise.de
Titel: Pflege des Linux-Kernels 2.4 endet
Beitrag von: ritschibie am 10 April, 2012, 09:48
Willy Tarreau hat angekündigt, keine neuen Versionen des Linux-Kernels 2.4 mehr veröffentlichen zu wollen. Der Betreuer der 2.4er-Serie erklärte, er wolle keinen Platz auf Kernel.org mit Archiven und Patch-Dateien verschwenden, die ohnehin kaum jemand nutzt. Die verbliebenen Nutzer von Linux 2.4 seien sowieso weniger an neuen Versionen interessiert, sondern eher an einer zentrale Sammelstelle für Korrekturen; diese Funktion soll ein von Tarreau eingerichtetes Git-Depot übernehmen, das er pflegen will.

Ungefähr elfeinviertel Jahre nach der Freigabe von Linux 2.4.0 und knapp achteindrittel Jahre nach der Einführung von Linux 2.6.0 wird damit die Pflege der 2.4er-Serie so gut wie eingestellt; die letzte 2.4er-Version ist somit das im Dezember freigegebene Linux 2.4.37.11. Auf Desktop-PCs oder Servern dürften 2.4er-Kernel nur noch sehr selten im Einsatz sein; etwas häufiger, aber auch eher selten ist er noch im Embedded-Bereich anzutreffen.

Tarreau kümmert sich damit von nun an um das Git-Depot von Linux 2.4 und die Pflege der Longterm-Kernel-Versionen 2.6.27 und 2.6.32. Greg Kroah-Hartman pflegt Linux 3.0 als Longterm-Kernel. Zudem kümmert er sich im Rahmen der Stable-Series darum, die jeweils aktuelle Version mit Korrekturen zu versorgen, während parallel an einer neuen Version des Hauptentwicklungszweigs von Linux gearbeitet wird; derzeit betreut er also die Mitte März freigegebene Linux-Version 3.3. Die Pflege des Kernels 3.2 hat er noch nicht eingestellt, um Anwendern etwas Zeit zum Wechsel zu geben; sofern er wie gewohnt vorgeht, dürfte Kroah-Hartman die Wartung von Linux 3.2 aber noch diesen Monat einstellen.

Quelle: www.heise.de
Titel: Linux-Kernel 3.2 wird lange gepflegt
Beitrag von: SiLæncer am 23 April, 2012, 16:20
Ben Hutchings wird den Linux-Kernel 3.2 über einen längeren Zeitraum im Rahmen von Kernel.org als Longterm-Kernel pflegen. Nachdem der Entwickler das bereits am Wochenende erklärt hatte, erwähnte es nun auch der Hauptbetreuer der Stable- und Longterm-Kernel Greg Kroah-Hartman in der Freigabe-Mail von Linux 3.2.16; mit dieser am Montagmorgen freigegeben Version stellt er die Pflege von Linux 3.2 ein und übergibt an Hutchings.

Hutchings arbeitetet seit Langem am Linux-Kernel mit und ist einer der Entwickler, die sich um den Debian-Kernel kümmern; er war es auch, der vor einigen Wochen bekannt gab, das noch in Entwicklung befindliche Debian 7.0 (Wheezy) werde den Linux-Kernel 3.2 einsetzen. Auch der für Debian vorgesehene Realtime-Kernel soll auf Linux 3.2 basieren. Realtime-Kernel-Hacker Steven Rostedt pflegt seit zwei Wochen einen RT-Kernel auf Basis von Linux 3.2; er kümmert sich auch um die RT-Patches für den Longterm-Kernel Linux 3.0.

Weder Hutchings noch Rostedt erwähnten in ihren Mails, wie lange sie diese Kernel auf Basis von Linux 3.2 pflegen wollen. Kroah-Hartman kümmert sich um seine Longterm-Kernel typischerweise zwei bis drei Jahre. Bei Hutchings deutet einiges darauf hin, dass er den Kernel bis zum End-of-Life für Debian 7 pflegt, denn für dessen Kernel ist die Arbeit ohnehin nötig; auch Ubuntu setzt bei seiner am Donnerstag erwarteten und fünf Jahre gepflegten Version 12.04 LTS auf einen Kernel, der auf Linux 3.2 basiert.

Kroah-Hartman hat zudem den Longterm-Kernel Linux 3.0.29 und den Stable-Kernel Linux 3.3.3 freigegeben. Wie üblich bringen sie kleine Verbesserungen und Fehlerkorrekturen, die möglicherweise auch Sicherheitslücken stopfen; in den Freigabe-Mail zu diesen Kernel-Versionen findet sich daher der bekannte Text, der Anwendern selbstkompilierter Kernel nachdrücklich zum Update rät.

Quelle : www.heise.de
Titel: Kernel-Log – Was 3.4 bringt (1): Infrastruktur
Beitrag von: SiLæncer am 26 April, 2012, 16:45
Das x32-ABI will die Vorteile von x86-64-CPUs nutzbar machen, aber den Overhead von 64-Bit-Code vermeiden. Xen soll stromsparender laufen. Das neue Yama verhindert den Blick in den Speicher fremder Prozesse.

Vergangenes Wochenende hat Linus Torvalds die vierte Vorabversion von Linux 3.4 veröffentlicht; bis zur Freigabe dieser Mitte oder Ende Mai erwarteten Kernel-Version dürften noch zwei bis vier weitere folgen.

Wie üblich haben die Kernel-Entwickler alle größeren Neuerungen dieser Version zu Beginn der Entwicklung aufgenommen. Das Kernel-Log kann daher bereits jetzt einen umfassenden Überblick über die wichtigsten Neuerungen von Linux 3.4 geben, denn es ist sehr selten, dass die Kernel-Entwickler in der jetzt laufenden Stabilisierungsphase noch größere Änderungen integrieren oder Neuerungen wieder entfernen.

Wie gewohnt geben wir eine Übersicht im Rahmen einer Artikelserie, die sich nacheinander verschiedenen Bereichen des Kernels annimmt. Den Anfang macht die folgende Beschreibung der wichtigsten Neuerungen rund um Architektur-Code und grundlegende Infrastruktur; die folgenden Artikel beschäftigen sich mit Grafiktreibern, Dateisystemen, Storage-Unterstützung und Treibern für andere Hardware.

Hybridbetrieb

Für x86-64/x64-Prozessoren übersetzte Kernel können Programmen ab Linux 3.4 ein x32 genanntes ABI (Application Binary Interface) bieten (u. a. 1). Dafür kompilierte Programme haben Zugriff auf die die 64-Bit-Register und -Datenpfade der 64-Bit-Prozessoren, arbeiten aber nur mit 32-Bit-Pointern – die reichen für viele typische Aufgabenstellungen aus und belegen weniger Arbeitsspeicher als 64-Bit-Pointer.

Grob gesprochen vermeiden für das x32-ABI kompilierte Programme so den Overhead, den ein voller 64-Bit-Betrieb mit sich bringt, nutzen aber dennoch einige der wichtigsten Vorteile von 64-Bit-x86-Prozessoren. Letzteres gelingt nicht, wenn man 32-Bit-x86-Programme (x86-32/ix86) auf x86-64-Distributionen ausführt, wie es Linux seit den ersten Tagen der 64-Bit-x86-Unterstützung beherrscht.

Vorangetrieben wurde das Ganze maßgeblich von Intel-Entwicklern. Das neue ABI ist offenbar vornehmlich für den Embedded- und Mobil-Markt gedacht: Mittelfristig dürften Smartphones, Tablets und Co. mit x86-Prozessoren häufiger 4 GByte Arbeitsspeicher oder mehr haben, den ein 32-Bit-Kernel nur mit Tricks ansprechen kann; die meisten Programme auf solchen Geräten dürften aber keine 4 GByte Speicher und damit keine 64-Bit-Pointer benötigen, sodass sich der höhere Speicherverbrauch eines vollwertigen 64-Bit-Betriebs nicht lohnt. Die in diesem Umfeld eingesetzten Prozessoren sind zudem eher schwächer, daher fallen die durch 32- statt 64-Bit-Pointer erzielbaren Vorteile stärker ins Gewicht. Bei typischen x86-Prozessoren für Notebooks, Desktops oder Server ist der Overhead eines vollwertigen 64-Bit-Betriebs eher gering, daher dürften die klassischen x86-64-Distributionen die beiliegende Software weiterhin als 64-Bit-Programme für das native x86-64-ABI mitliefern.

Weitere Hintergründe liefern die Homepage des x32-Projekts und ein LWN.net-Artikel zum neuen ABI.

Virtualisierung

Unter den Änderungen am Xen-Code für Linux 3.4 (u. a. 1, 2) ist eine, durch die der Kernel der Dom0 einige der vom BIOS gelieferten ACPI-Informationen zu den Takt- und Schlafzuständen des Prozessors an den Xen-Hypervisor senden kann, nachdem der Kernel diese interpretiert hat. Der Hypervisor kann sich mit diesen Informationen um das Anpassen des Prozessortakts kümmern (P-States) oder die CPU in Kurzzeitschlafzustände (C-States) versetzen. Das reduziert die Leistungsaufnahme, was die Akku-Laufzeit von Notebooks signifikant verlängern kann.

Durch die Kernel-Interpretation kommt der Xen-Hypervisor weiter ohne vollwertigen ACPI-Interpreter aus. Der Dom0-Kernel kann sich nicht selbst um die Taktanpassung oder das Schlafenlegen kümmern, da der Hypervisor die Kontrolle über das System hat und nur er einen Überblick über die Gesamtauslastung des Systems besitzt; eine laufende Abstimmung zwischen Dom0-Kernel und Hypervisor dürfte zu viel Zeit kosten. Xen erfordert einige solcher Tricks – bei KVM sind die unnötig, weil der zuerst gestartete Linux-Kernel selbst als Hypervisor arbeitet.

KVM kann mit 3.4 nun auch PCI-2.3-Geräte an Gäste weiterreichen, die sich auf dem Host eine Interrupt-Leitung mit anderen PCI-Geräten teilen. Zum SCSI-Subsystem stieß der Treiber Virtio-Scsi, der sich zusammen mit der gleichnamigen Unterstützung in Qemu zu einer Datenträgeremulation eignet, die mit recht wenig Overhead den Datenverkehr zwischen Host und Gast regelt. Der Treiber soll laut seinem Entwickler flexibler sein, besser skalieren und einfacher in der Handhabung sein als Virtio-Blk, das Ähnliches biete, dem aber Funktionen für bestimmte Einsatzgebiete fehlen würden.

mehr ... (http://www.heise.de/open/artikel/Kernel-Log-Was-3-4-bringt-1-Infrastruktur-1559677.html?artikelseite=2)

Quelle : www.heise.de
Titel: Linux Kernel 3.3.4 Stable
Beitrag von: SiLæncer am 27 April, 2012, 23:00
Changelog : https://www.kernel.org/pub/linux/kernel/v3.0/ChangeLog-3.3.4

https://www.kernel.org/
Titel: Kernel-Log – Was 3.4 bringt (2): Dateisysteme, Storage und Treiber
Beitrag von: SiLæncer am 03 Mai, 2012, 16:30
Btrfs soll flotter und fehlertoleranter arbeiten. Linux 3.4 unterstützt bereits jetzt Chipsätze, die Intel erst nächstes Jahr einführen will. Greg Kroah-Hartman übt Druck aus, damit die Zcache-Entwickler ihren Staging-Code endlich verbessern.

Ein Red-Hat-Entwickler hat beim weiterhin experimentellen Btrfs-Dateisystem einige Eigenschaften rund um die Handhabung von Metadaten überarbeitet. Das kann in bestimmten Situationen die Performance verbessern, wie Oracle-Entwickler Chris Mason in seinem Haupt-Git-Pull-Request für Btrfs erläutert. Diese Änderungen legen zudem Grundlagen für die Unterstützung von RAID 5 und 6; dabei verweist Mason mit einem zwinkernden Smiley auf Linux 3.5. Ferner gab es einige Verbesserungen zur Fehlerbehandlung von Btrfs, die maßgeblich von einem Suse-Entwickler stammen, der die Änderungen für das zweite Service Pack von Suse Linux Enterprise (SLE) 11 entwickelt hat; dort und im Unbreakable Enterprise Kernel 2 von Oracle wird das Dateisystem seit einigen Wochen offiziell unterstützt.

Die Ext4-Entwickler haben die Mount-Optionen journal=update und resize entfernt; die Optionen noacl und noxattr_user zum Deaktivieren der ACL-Unterstützung sollen bei 3.5 rausfliegen, sofern niemand ein Veto einlegt.

Änderungen am nfsd sollen die serverseitige Unterstützung für NFS 4.1 verbessern; zudem versprechen sie einige Probleme beim Neustarten und im Zusammenspiel mit Ext-Dateisystemen zu beseitigen. Änderungen am NFS-Client-Code bringen unter anderem NFS-Unterstützung für Container und sollen die Skalierbarkeit des ID-Mappers verbessern. Kernel 3.4 unterstützt erstmals auch das Lesen des Dateisystems qnx6fs, das das Real-Time-Betriebssystem QNX 6 (auch als QNX RTP bekannt) nutzt.

Storage

Das Device-Mapper-Target Dm-Thin beherrscht beherrscht nun Discard. Zudem kann es ein schreibgeschützt eingehängtes Image mehrfach exportieren und die auf diesen Export geschriebenen Daten an anderer Stelle sichern – solch ein "read only external snapshot origin" ist bei der Virtualisierung interessant, um ein Image einer Betriebssysteminstallation als gemeinsame Basis für mehrere Gastsysteme zu verwenden. Neu ist das Device-Mapper-Target Dm-Verity, das die Echtheit eines schreibgeschützt eingebundenen Datenträgers während des Lesens prüft; Google nutzt den Ansatz zur Absicherung seiner Netbook-Systeme Chrome OS und Chromium OS, wie ein LWN.net-Artikel zu Dm-Verity erläutert.

Der MD-Software-RAID-Code kann nun auch RAID-10-Arrays auf eine Weise verkleinern oder vergrößern, durch die sich beispielsweise zusätzlichen Speicherplatz im Verbund nutzen lässt, nachdem man die verwendeten Datenträger gegen größere ausgetauscht hat. Zum SCSI-Subsystem stieß ein Treiber für Flash-Host-Controller, welche der Spezifikation Universal Flash Storage (UFS) folgen. Die libfs, die verschiedene Aufgaben für Fibre-Channel-Hardware erledigt, unterstützt nun das Fabric Device Management Interface (FDMI), wie es in der Spezifikation FC-GS-4 definiert ist.

Netzwerk

Der Broadcom-WLAN-Treiber Brcmfmac spricht nun auch die USB-Chips Bcm43235/6/8 an; der Ralink-Treiber rt2x00 unterstützt ab 3.4 den WLAN-Chipsatz RT5372. Der für den gleichnamigen Realtek-Chip zuständige Treiber rtl8187 bietet nun AD-HOC support. Die Netfilter-Infrastruktur erhielt Erweiterungen, durch die Administratoren für jeden Datenstrom eigene Timeout-Regeln definieren können ("Connection Tracking Timeout Infrastructure"; u. a. 1, 2).

mehr ... (http://www.heise.de/open/artikel/Kernel-Log-Was-3-4-bringt-2-Dateisysteme-Storage-und-Treiber-1562210.html?artikelseite=2)

Quelle : www.heise.de
Titel: Kernel-Log – Was 3.4 bringt (3): Grafiktreiber
Beitrag von: SiLæncer am 12 Mai, 2012, 11:45
Linux 3.4 bringt einen ganzen Strauß von Änderungen an den Treibern für Grafikchips vom AMD, Intel und Nvidia. Der in Kürze erwartete Kernel enthält zudem einen weiteren USB-DisplayLink-Treiber und legt weitere Grundlagen zur besseren Unterstützung von Hybrid-Grafik-Techniken wie Nvidias Optimus.

Der bislang als Staging-Treiber gekennzeichnete, aber von Anfang an im DRM-Subsystem angesiedelte DRM/KMS-Treiber Nouveau legt mit Linux 3.4 die Staging-Einstufung ab; an den Schnittstellen, über die die Nouveau-Treiber in Libdrm, Mesa 3D und X.org mit dem Kernel kommunizieren, sollte es daher von nun an nur noch abwärtskompatible Änderungen geben.

Das Ablegen der Einstufung als unreif erfolgte überraschend und zusammen mit einem weiteren Highlight von Linux 3.4: Nur wenige Stunden nachdem Nvidia die GeForce GTX 680 vorgestellt hatte, erweiterten die Kernel-Entwickler den Nouveau-DRM/KMS-Treiber um rudimentäre Unterstützung für diese Grafikkarte. Anfangs konnte der dadurch nur typische Bildschirmmodi einstellen ("Modesetting"), darunter auch die zu gängigen Breitbild-Displays passenden Auflösungen, die der VESA-Treiber nicht beherrscht.

Einige Tage später folgten experimentelle Erweiterungen für den Nouveau-Code in Libdrm und X.org, durch den diese zusammen mit dem DRM/KMS-Treiber von Linux 3.4 2D- und Xv-Beschleunigung bei der GeForce GTX 680 bieten. Noch etwas später flossen dann Anpassungen in den Nouveau-Nvc0-Treiber von Mesa 3D ein – bis dato war der lediglich für die Fermi-Grafikchips zuständig, die auf den GeForce-Modellen der Serien 400 und 500 sitzen. Durch diese Anpassungen arbeitet der Mesa-3D-Treiber nun auch mit dem als NVE4 oder GK104 genannten Kepler-Chip der GTX 680 zusammen, mit der Nvidia den Generationswechsel von der Fermi- auf die Kepler-Architektur eingeläutet hat. Seit dem sind noch weitere Grafikkarten mit Kepler-Chips erschienen, die Linux 3.4 wohl noch nicht unterstützten wird.

Es dürften allerdings noch einige Monate vergehen, bis die größeren Linux-Distributionen alle für die GTX 680 benötigten Komponenten mitbringen. Bis sie alle Beschleunigungsfunktionen der Grafikkarte von Haus aus nutzen, dürfte es auch noch etwas dauern, denn zuerst muss jemand eine Open-Source-Firmware für die Grafikkarte schreiben. Wie bei einigen der neuesten Grafikchips der Fermi-Generation lassen sich die Beschleunigungsfunktionen der ersten Kepler-GPU nämlich bislang nur mit einer Firmware nutzen, die man Nvidias proprietären Grafiktreibern entlocken muss.

Nvidias Treiber unterstützten die GTX 680 seit der Version 295.33, die das Unternehmen parallel zur Vorstellung der Grafikkarte freigegeben hat. Mit diesem Treiber arbeitet auch das Power-Management und die Funktionen zur Lüfterregelung besser als mit dem Nouveau-Treiber – der beherrscht diese Funktionen selbst bei älteren Grafikchips von Nvidia bislang nicht oder nur rudimentär.

mehr (http://www.heise.de/open/artikel/Kernel-Log-Was-3-4-bringt-3-Grafik-1569854.html?artikelseite=2)

Quelle : www.heise.de
Titel: Linux-Kernel 3.4 freigegeben
Beitrag von: ritschibie am 21 Mai, 2012, 11:40
Zwei Monate nach der Freigabe von Linux 3.3 hat Linus Torvalds nun den Linux-Kernel 3.4 veröffentlicht. Er bringt eine ganze Reihe von Neuerungen bei den Grafiktreibern – darunter Unterstützung für die noch junge GeForce GTX 680 von Nvidia und den Grafikkern in AMDs kürzlich eingeführten Trinity-Prozessoren.

Das neue x32-ABI will die Vorteile von 64-bittigen x86-CPUs nutzbar machen, dabei aber den Overhead von 64-Bit-Code vermeiden – das ist vor allem für Embedded-Geräte interessant. Neu ist auch Yama, eine Sicherheitstechnik, die Prozessen den Blick in den Speicher anderer Prozesse verwehrt.

Einen Überblick über diese und viele weitere Neuerungen liefert ein Artikel auf heise open, der auch einen Ausblick auf einige der für Linux 3.5 anstehenden Änderungen enthält:

    Die Neuerungen von Linux 3.4 (http://www.heise.de/open/artikel/Die-Neuerungen-von-Linux-3-4-1572878.html) (mit Diskussionsforum)

Quelle: www.heise.de
Titel: Wesentliche Neuerungen für Linux 3.5 aufgenommen
Beitrag von: SiLæncer am 03 Juni, 2012, 18:00
In der Nacht von Samstag auf Sonntag hat Linus Torvalds die erste Vorabversion von Linux 3.5 freigegeben; eine offizielle Freigabe-Mail gab es allerdings bis Sonntag Nachmittag nicht. Wie üblich endet mit dem ersten RC einer neuen Kernel-Version die "Merge Window" genannte Phase, in der das Gros der Neuerungen für diese Version aufgenommenen werden – von vielleicht ein paar kleineren Nachzüglern abgesehen sollte der Funktionsumfang von Linux 3.5-rc1 daher dem entsprechen, was der für Ende Juli oder Anfang August erwartete Linux-Kernel 3.5 bieten wird.

In den knapp zwei Wochen seit der Freigabe von Linux 3.4 haben die Kernel-Entwickler unter anderem anderem die Funktion Uprobes (Userspace Probes) integriert, mit der Systemtap oder das zum Kernel gehörende Tracing-Tool "perf" das Laufzeitverhalten von Userspace-Programmen analysieren können. Zu den wichtigsten für Linux 3.5 aufgenommenen Neuerungen zählen ferner einige von Udev-Maintainer Kay Sievers vorangetriebene Umbauten an den internen Funktionen rund um das Logging, die einige Verbesserungen für die strukturierte Analyse von Ereignisprotokollen bieten sollen.

Zum Direct Rendeirng Manager (DRM) stießen einfache Treiber für die Grafikchips aus der 2000er-Serie von AST (ASpeed Technologies), der G200-Serie von Matrox und dem von Qemu emulierten Cirrus-Chip; sie ermöglichen das Einstellen von Bildschirmauflösung per KMS (modesetting), nutzen allerdings keine Beschleunigungsfunktionen der Grafikchips; das stellt zumindest bei den beiden zuerst genannten Grafikchips keine Verlust dar, da diese vornehmlich in Servern stecken. Der Radeon-DRM-Treiber soll HDMI-Audio bei modernen Grafikchips besser unterstützen; ferner soll der Treiber mehr Performance aus den Evergreen-GPUs kitzeln, die vornehmlich bei Grafik-Hardware der Radeon-HD-Serie 5000 zum Einsatz kommen. Zudem gab es weitere Grundlagen zur besseren Unterstützung von Hybrid Grafik, bei der ein leistungsfähiger Grafikchip nur bei Bedarf zugeschaltet wird.

Kernel 3.5 erhielt Funktionen, um per Firewire oder UASP (USB Attached SCSI Protocol) als SCSI Target arbeiten zu können, auf das andere Systeme ("SCSI Host" in der SCSI-Nomenklatur) zugreifen können; viele Apple-Systeme bieten solch einen "FireWire target disk mode" schon länger. Auch über QLocic-Fibre-Channel-HBAs der Serien 2400, 2500 und 2600 soll Linux 3.5 als SCSI Target arbeiten können.

Das Btrfs-Dateisystem erfuhr einige Optimierungen am Writeback-Handling; die Dateisystem-eigene Unterstützung für RAID 5 und 6 blieb außen vor, weil diese noch Probleme zeigte. Der Ext4-Dateisystem kann seine Metadaten mit Prüfsummen versehen, um Datenverfälschungen zu erkennen. In das Netzwerk-Subsystem zog der "CODEL active queue management packet scheduler" ein, der ein weiterer Baustein bei der Vermeidung des als Bufferbloat bekannten Problems darstellen soll. Das ebenfalls neue "TCP connection repair" soll Probleme beim Datenverkehr im Netzwerk vermeiden, nachdem Container auf einen anderen Host verlagert wurden; die Funktionsaufrufe filternde "Seccomp Filters Mechanism" und die "User Namespace Enhancements" sollen ferner Container besser absichern. Das Kernel-Log auf heise open wird in den kommenden Wochen detailliert über diese und einige weitere Neuerungen berichten, die für Linux 3.5 aufgenommen wurden.

Quelle : www.heise.de
Titel: Kernel-Fehler kann RAID-Metadaten zerstören
Beitrag von: SiLæncer am 19 Juni, 2012, 13:46
Ein mittlerweile beseitigter Fehler im RAID-Treiber von Linux kann unter bestimmten Umständen die Metadaten des RAIDs zerstören. Nur einige nicht mehr aktuelle Kernel-Versionen sind davon betroffen, doch die fehlerhaften Versionen wurden zeitweise auch von Ubuntu und SUSE verteilt.

Kernel-Entwickler Neil Brown beschreibt in seinem Blog ausführlich, wie es zu dem Fehler kam, wer davon betroffen ist und wie man Probleme vermeiden oder notfalls seine RAID-Systeme reparieren kann. Der Fehler konnte nur auftreten, wenn RAID-Arrays inaktiv waren, während das System heruntergefahren wurde, was normalerweise nicht der Fall sein sollte.

Wie Brown berichtet, wurde der Fehler in die erste Testversion von Linux 3.4 eingeführt und noch vor dem Erscheinen von Linux 3.4 erkannt und beseitigt. Dadurch waren zunächst nur Kernel-Tester von dem Problem betroffen. Doch der Patch wurde auch in Linux 3.2.14 und 3.3.1 übernommen und einige Versionen später korrigiert. Daher sind auch die Versionen 3.2.14 bis 3.2.16 und 3.3.1 bis 3.3.3 betroffen. Nach den vorliegenden Informationen wurden die fraglichen Kernel-Versionen von SUSE in SLES 11 SP2 sowie von Ubuntu 12.04 kurzzeitig verwendet.

Eigentlich sollte der Patch, der zu dem Fehler führte und von Brown selbst stammte, nur einen eigentlich harmlosen Fehler beim Herunterfahren beheben. Ursprünglich setzte der RAID-Treiber beim Herunterfahren die RAIDs auf schreibgeschützt, doch aufgrund einer Änderung in Linux 3.0 konnten auch nach diesem Zeitpunkt noch Schreibanforderungen an das RAID eintreffen. Um die daraus resultierende Fehlermeldung zu vermeiden, hob Brown den Schreibschutz auf und ersetzte ihn durch ein »immediate-safemode«-Flag, was seiner Ansicht fast genauso sicher war wie der Schreibschutz. Dabei übersah er jedoch, dass dieses Flag zum Schreiben der Metadaten auf das Array führt. Wenn ein Array jedoch inaktiv war, wurden damit unerwünschte Daten geschrieben. Entsprechend trivial war die Korrektur: Nur bei aktiven Arrays dürfen die Metadaten geschrieben werden.

Im Blog-Eintrag von Brown kann man weitere Details über den Fehler, seine Vermeidung und, sofern das RAID bereits beschädigt ist, seine Reparatur erfahren. Da nur die Metadaten, nicht die eigentlichen Daten betroffen sind, kann man nach der Reparatur wieder problemlos auf seine Daten zugreifen.

Quelle : http://www.pro-linux.de/
Titel: Kernel-Log – Was 3.5 bringt (1): Netzwerk
Beitrag von: SiLæncer am 27 Juni, 2012, 17:40
Ein neuer Paket-Scheduler soll Bufferbloat vermeiden helfen. Early Retransmit verringert TCP-Latenzen. Der Treiber E1000e unterstützt schon jetzt den Netzwerkchip von Intels nächste Desktop- und Notebook-Platform.

Zum Wochenstart hat Linus Torvalds die vierte Vorabversion von Linux 3.5 veröffentlicht. Sie bringt gegenüber der dritten Vorabversion lediglich rund zweihundert kleine und unbedeutende Änderung, wie Torvalds zufrieden anmerkt.

Alle größeren Neuerungen für Linux 3.5 haben die Kernel-Entwickler wie üblich zu Beginn der Entwicklung aufgenommen. Das Kernel-Log kann daher bereits jetzt einen umfassenden Überblick über die wichtigsten Neuerungen von Linux 3.5 geben – es ist sehr selten, dass die Kernel-Entwickler in der jetzt laufenden Stabilisierungsphase noch größere Änderungen integrieren oder Neuerungen wieder entfernen.

Die Übersicht erfolgt im Rahmen einer Artikelserie, die nacheinander die verschiedenen Bereiche des Kernels behandelt. Den Anfang macht die folgende Beschreibung der wichtigsten Neuerungen rund um Infrastruktur und Treiber für Netzwerke; die später folgenden Artikel werden sich mit Grafiktreibern, Dateisystemen, Storage-Unterstützung, Architektur-Code und Treibern für andere Hardware beschäftigen.

Bufferbloat-Vermeidung

Zum Netzwerksubsystem stieß "Codel", eine Implementierung des von Kathleen Nichols und Van Jacobson erdachten Paket-Schedulers "Controlled Delay Active Queue Management (AQM)". Auf Codel-Mechanismen setzt auch der ebenfalls in 3.5 eingeflossene alternative Scheduler "Fair Queue Codel AQM".

Beide Scheduler gehen beim Priorisieren versendeter oder weitergegebener Netzwerkpakete etwas anders vor als bisherige Scheduler und sollen mit ihrer Arbeitsweise zur Vermeidung des "Bufferbloat"-Problems beitragen; das führt unter anderem zu großen Netzwerklatenzen und Verbindungsproblemen, die durch eine zu intensive Nutzung der Caches in modernen Netzwerkchips entstehen. LWN.net erläutert einige Hintergründe zum Problem und dem Ansatz von Codel in einem Artikel.

TCP-Latenz

(http://www.heise.de/open/imgs/10/8/7/9/6/2/1/c6ee2edfa689d0d3.png)
Ein Google-Entwickler hat den TCP-Stack um eine "Early Retransmit" (ER) genannte Funktion erweitert, die die Verbindungsregeneration nach Paketverlusten beschleunigen kann, wie es RFC 5827 beschreibt; die aufgenommene Implementierung ist allerdings etwas anders, um Probleme des im RFC beschriebene Algorithmus zu vermeiden. Early Retransmit lässt sich über den Sysctl-Wert "tcp_early_retrans" aktivieren und konnte die TCP-Latenzen in einem Test um bis zu 8,5 Prozent senken, wie Google-Mitarbeiter im Abschnitt 6 des für die IMC 2011 geschriebenen Artikels "Proportional Rate Reduction for TCP" schreiben; das dort beschriebene Proportional Rate Reduction (PRR) beherrscht der Kernel bereits seit Version 3.2.

Treiber

Den Treiber E1000e erhielt Code zur Unterstützung des i217-PHY, der mit Intels Lynx Point Platform Controller Hub (PCH) zusammenarbeiten soll – diese Linie von Mainboard-Chipsätzen ist vornehmlich für die Haswell-Prozessoren gedacht und dürfte ungefähr gleichzeitig mit diesen im ersten Halbjahr 2013 erscheinen. Der R8169- Treiber für Gigabit-Ethernet-Chips von Realtek steuert nun auch die Bausteine RTL8402 und RTL8411 an. Der WLAN-Treiber Mwifiex kennt jetzt auch den Marvell-USB-Chip USB8797. Ein Reihe weiterer Änderungen, die Unterstützung für LAN- und WLAN-Bausteine nachrüsten oder den Funktionsumfang erweitern, finden Sie im Abschnitt "Die kleinen Perlen" auf der zweiten Artikelseite.

Verschiedenes

    Der bei Linux 3.3 integrierte Teaming-Treiber beherrscht jetzt auch Load Balancing.
    Das neue "TCP connection repair" soll Probleme beim Netzwerkverkehr vermeiden, nachdem Container auf einen anderen Host verlagert wurden; Details erläutert ein LWN.net-Artikel.
    Der Code für NFC (Near Field Communication) unterstützt nun auch NFC-Bausteine, die das Host Controller Interface (HCI) sprechen (Dokumentation).
    Die Unterstützung für Netzwerkhardware der Standards Token Ring und Econet haben die Kernel-Entwickler entfernt (1, 2, 3); beide Techniken sind außerhalb von Computer-Museen kaum noch anzutreffen.
    Netzwerk-Subsystem-Maintainer David Miller erwähnt einige weitere Änderungen in der Mail mit seinem Haupt-Git-Pull-Request für Linux 3.5; darunter etwa Verbesserungen beim Einsatz von Splice bei der Netzwerk-Kommunikation.

Die kleinen Perlen

Die folgenden Links führen zu kleineren Änderungen, die Unterstützung für bestimmte Hardware nachrüsten, spezifische Probleme beseitigen oder kleinere Verbesserungen einführen:

Ethernet

    [   N1] be2net: Add functionality to support RoCE driver
    [    6] bnx2x: add afex support
    [ I   ] bnx2x: Added support for a new device - 57811
    [     ] bnx2x: Change to driver version 1.72.10-0
    [    1] bnx2x: change to the rss engine
    [     ] bnx2x: Update driver version to 1.72.50-0
    [     ] e1000e: Enable DMA Burst Mode on 82574 by default.
    [     ] e1000e: update driver version number
    [     ] e1000: Support RX-ALL flag.
    [C  N2] Ethernet driver for the WIZnet W5100 chip
    [C  N2] Ethernet driver for the WIZnet W5300 chip
    [   N6] igb: Add Support for new i210/i211 devices.
    [C   1] igb: offer a PTP Hardware Clock instead of the timecompare method
    [     ] igb: Update version to 3.4.7.
    [C  N1] ixgbe: add hwmon interface to export thermal data
    [C  N3] ixgbe: Hardware Timestamping + PTP Hardware Clock (PHC)
    [     ] ixgbe: update version number
    [     ] mlx4_en: Added Ethtool support for TX Interrupt coalescing
    [     ] mlx4_en: Byte Queue Limit support
    [  DN ] net: Add device tree support to LPC32xx
    [C  N1] net/mlx4_en: DCB QoS support
    [C   7] net: remove ixp2000 ethernet driver
    [C    ] net: sh_eth: add support R8A7740
    [    1] qlcnic: Adding mac statistics to ethtool.
    [  D  ] stmmac: Define CSUM offload engine Types
    [  D  ] stmmac: MDC clock dynamically based on the csr clock input
    [  D 1] stmmac: re-work the internal GMAC DMA platf parameters
    [  D  ] stmmac: update driver's doc
    [C  N5] tilegx network driver: initial support

Wi-Fi

    [ I   ] ath5k: add PCI id
    [     ] ath6kl: Add AR6004 1.2 support for USB and SDIO
    [    2] ath6kl: add full USB support
    [   N2] ath9k: add DFS pattern detector
    [C DN4] batman-adv: add basic bridge loop avoidance code
    [C    ] batman-adv: add bridge loop avoidance compile option
    [  D  ] batman-adv: export claim tables through debugfs
    [  D  ] batman-adv: make bridge loop avoidance switchable
    [  D  ] batman-adv: README cleanups
    [C   1] brcmfmac: add out of band interrupt support
    [     ] brcmsmac: remove support for cc rev < 20
    [  D  ] Documentation/networking/ieee802154: update MAC chapter
    [     ] iwlwifi: add option to disable 5GHz band
    [C    ] iwlwifi: change the default P2P support to "Yes"
    [    2] iwlwifi: clean up module parameters
    [C  N1] iwlwifi: phy_db structure
    [C   1] iwlwifi: remove ucode16 option
    [    2] mac80211: add improved HW queue control
    [     ] mac80211: Framework to get wifi-driver stats via ethtool.
    [C  N2] mac80211: Implement mesh synchronization framework
    [  D  ] mac80211: notify driver of rate control updates
    [  D 1] mac80211: set HT channel before association
    [     ] mac80211: Support on-channel scan option.
    [C  N ] mac802154: allocation of ieee802154 device
    [   N ] mac802154: basic ieee802.15.4 device structures
    [   N ] mac802154: basic MAC commands interface support
    [   N ] mac802154: basic mib support
    [   N ] mac802154: monitor device support
    [   N ] mac802154: RX data path
    [   N ] mac802154: TX data path
    [     ] mwifiex: add AP command sys_config and set channel
    [     ] mwifiex: add AP event handling framework
    [C    ] mwifiex: add support for SD8786 sdio
    [     ] mwifiex: add support for WPS2.0
    [    1] mwifiex: add WPA2 support for AP
    [    1] {nl,cfg}80211: Support for mesh synchronization
    [     ] rt2800: add chipset revision RT5390R support
    [ I   ] rt2x00:Add RT539b chipset support
    [ I   ] rtlwifi: support for Belkin Surf N300 XR
    [     ] wireless: add my new trees to MAINTAINERS
    [ I   ] wireless: rt2x00: rt{2500,73}usb.c put back duplicate id
    [ I   ] wireless: rt2x00: rt2800pci add more RT539x ids
    [ I   ] wireless: rt2x00: rt2800usb add more devices ids
    [ I   ] wireless: rt2x00: rt2800usb more devices were identified
    [     ] wlcore: add module param to prevent HW recovery

Various

    [    1] caif-hsi: robust frame aggregation for HSI
    [C  N ] drivers/ieee802154: IEEE 802.15.4 loopback driver
    [  D  ] feature-removal: Remove pn544 raw driver
    [    2] ipvs: add support for sync threads
    [    1] ipvs: wakeup master thread
    [   N2] l2tp: introduce L2TPv3 IP encapsulation support for IPv6
    [ I   ] mISDN: Add X-Tensions USB ISDN TA XC-525
    [    1] net: add generic PF_BRIDGE:RTM_ FDB hooks
    [     ] net: allow better page reuse in splice(sock -> pipe)
    [C DN ] netdev/of/phy: Add MDIO bus multiplexer driven by GPIO lines.
    [C DN1] netdev/of/phy: Add MDIO bus multiplexer support.
    [  D  ] net: doc: merge /proc/sys/net/core/* documents into one place
    [C  N1] netfilter: add xt_hmark target for hash-based skb marking
    [  D  ] netfilter: bridge: optionally set indev to vlan
    [C  N2] net: filter: Just In Time compiler for sparc
    [     ] netfilter: nf_ct_helper: allow to disable automatic helper assignment
    [C DN3] netfilter: remove ip_queue support
    [     ] net/hyperv: Add flow control based on hi/low watermark
    [     ] net: makes skb_splice_bits() aware of skb->head_frag
    [     ] net: qmi_wwan: Add Sierra Wireless device IDs
    [ I   ] net: qmi_wwan: Add Vodafone/Huawei K5005 support
    [ I   ] net: sierra_net: device IDs for Aircard 320U++
    [C    ] NET: smsc-ircc2: mark non-experimental
    [     ] net: speedup skb_splice_bits()
    [     ] net: Use bool and remove inline in skb_splice_bits() code.
    [C D  ] net/wanrouter: Deprecate and schedule for removal
    [C  N2] NFC: HCI based pn544 driver
    [C  N2] NFC: SHDLC implementation
    [  D  ] NFC: Update Documentation/nfc-hci.txt
    [C    ] s390: delete any traces of token ring support
    [     ] tcp: Repair connection-time negotiated parameters
    [     ] tcp repair: Fix unaligned access when repairing options (v2)
    [     ] tcp: Repair socket queues
    [     ] tcp: Report mss_clamp with TCP_MAXSEG option in repair mode
    [     ] tcp: Schedule rmem for rcvq repair send
    [    1] team: add support for per-port options
    [     ] team: allow to enable/disable ports
    [ I   ] USB: qmi_wwan: Add ZTE (Vodafone) K3520-Z
    [ I   ] USB: qmi_wwan: Add ZTE (Vodafone) K3765-Z
    [C    ] xfrm: make xfrm_algo.c a module

Ein "C" im Bereich zwischen den eckigen Klammern kennzeichnet Commits mit Änderungen an Kconfig-Dateien, welche die Konfigurationsoptionen samt der zugehörigen Hilfetexte enthalten. Mit "I" ausgezeichneten Patches rüsten neue PCI- oder USB-IDs nach; jene mit "D" verändern die dem Kernel beiliegende Dokumentation; Commits mit "N" legen neue Dateien an. Die Zahl vermittelt einen groben Eindruck zur Größe des Patches: Eine "1" kennzeichnet Patches, die inklusive Kommentar zwischen 10 und 20 KByte groß sind; Patches mit einer "9" sind 90 KByte oder größer

Quelle und Links : http://www.heise.de/open/artikel/Kernel-Log-Was-3-5-bringt-1-Netzwerk-1624233.html
Titel: Glibc 2.16 bringt Unterstützung für x32 ABI
Beitrag von: ritschibie am 02 Juli, 2012, 11:49
Unterstützung für das vom Linux-Kernel seit Version 3.4 offerierte x32 ABI ist eine der Neuerungen der GNU C Library (Glibc) 2.16, die deren Entwickler kürzlich freigegeben haben. Für das x32 ABI (Application Binary Interface) kompilierte Programme haben Zugriff auf die 64-Bit-Register und -Datenpfade von 64-Bit-x86-Prozessoren, arbeiten jedoch mit 32-Bit-Pointern. Grob gesprochen vermeiden für das x32 ABI kompilierte Programme so den Overhead, den ein voller 64-Bit-Betrieb mit sich bringt, nutzen aber dennoch einige der wichtigsten Vorteile von x86-64-Prozessoren; das soll vor allem für ressourcenschwache Systeme im Embedded- und Mobil-Markt interessant sein.

Die Glibc-Entwickler haben zudem einige Funktionen zur Unterstützung des ISO-C-Standards C11 implementiert. Beim Kompilieren der C-Bibliothek lassen sich nun einige Prüfpunkte (static probes) einbauen, auf die etwa SystemTap bei der Performance-Analyse zurückgreifen kann. Neben einigen generellen Optimierungen gab es ferner einige Performance-Verbesserungen an den mathematischen Funktionen.

Die Glibc-Entwickler haben die Unterstützung für Linux 2.4 entfernt, daher ist nun ein Kernel 2.6 Mindestvoraussetzung. Der Code für die Itanium-Architektur (IA64) wurde vom Kern-Paket in "Ports" verlagert; dort zog mit Version 2.16 die Unterstützung für Tileras Vielkern-Prozessoren der Familien Tile-Gx and TilePro ein.

Die Glibc oder der auf ihr basierende Ableger Embedded Glibc (EGLIBC) dient den meisten Linux-Distributionen als Standard-C-Library und bildet so die Basis der meisten dort eingesetzten Software. Nachdem jahrelang immer mal wieder Kritik zu hören war, die Arbeit mit den Glibc-Entwicklern sei schwierig, hat das Projekt im Frühjahr einige Umstrukturierungen an der Führungsstruktur vorgenommen.

Quelle: www.heise.de
Titel: Kernel-Log – Was 3.5 bringt (2): Dateisysteme und Storage
Beitrag von: SiLæncer am 04 Juli, 2012, 19:20
Linux 3.5 beherrscht nun den von Mac bekannten "FireWire Target Disk Mode". Btrfs führt Buch über Datenfehler und ermöglicht so die Erkennung unzuverlässiger Datenträger. Prüfsummen sollen die Konsistenz der Ext4-Metadaten sichern.

Mit dem neuen FireWire Fabric Module SBP-2 kann Linux 3.5 nun zusammen mit der Target-Infrastruktur-Software von Linux-Iscsi.org (LIO) Datenträger per FireWire exportieren, sodass andere Systeme sie wie einen FireWire-Datenträger einbinden können. Viele Apple-Systeme beherrschen solch einen "FireWire target disk mode" schon länger; wie ein Screenshot eines beteiligten Linux-Entwicklers zeigt, kann auch MacOS X einen Datenträger einbinden, den ein Linux-System über das neue Firewire-Fabric-Modul offeriert.

Über das neue Fabric-Modul TCM_QLA2XXX und passende Unterstützung im Treiber Qla2xxx kann Linux mit den Fibre-Channel-Controllern aus QLogics Serien 2400, 2500 und 2600 als SCSI Target arbeiten; Selbiges gelingt über das USB Gadget Target Fabric Module nun auch per UASP (USB Attached SCSI Protocol), wenn der USB-Controller entsprechende "Gadget"-Funktionen zum Betrieb als USB Master beherrscht.

Btrfs

Beim weiterhin experimentellen Dateisystem Btrfs gab es eine größere Änderung am Writeback-Handling; das soll Latenzspitzen beseitigen, die gelegentlich beim Schreiben von Metadaten auftreten, wie Chris Mason in der Mail mit seinem Haupt-Git-Pull-Request für Linux 3.5 schreibt. Dort erwähnt er auch, Probleme am Btrfs-Code für RAID 5 und 6 gefunden zu haben, der sich derzeit in Entwicklung befindet; er habe diese Erweiterungen daher fürs Erste zurückgestellt .

Integriert hat Mason hingegen Funktionen, um die von Btrfs erkannten Datenfehler zu zählen (failure tracking), damit der Systemadministrator unzuverlässige Datenträger frühzeitig erkennen und gegebenenfalls austauschen kann (u. a. 1, 2, 3). Der Dateisystem-Code erhielt zudem einige Grundlagen, um Btrfs Send/Receive und Subvolume Quotas zu unterstützen; an diesen Funktionen wird allerdings noch gearbeitet.

Ext4

Das Ext4-Dateisystem kann viele seiner Metadaten nun mit CRC32-Prüfsummen versehen (u. a. 1, 2, 3, 4, 5). Falls die Checksummen Verfälschungen an den Ext4-Interna aufzeigen, verweigert der Kernel gegebenenfalls das Einbinden eines Dateisystems, um nicht versehentlich Nutzdaten zu zerstören; fallen Verfälschungen im Betrieb auf, hängt der Kernel das Dateisystem notfalls schreibgeschützt ein. Wie Ext4-Entwickler Theodore "tytso" Ts'o erläutert, lässt sich die Checksummen-Funktion derzeit nur mit einer Entwicklerversion der Ext-Werkzeugsammung E2fsprogs nutzen, daher rät er Anwendern noch nicht zum Einsatz dieser Technik. Die Checksummen-Sicherung soll sich per Tune2fs nachträglich einschalten oder direkt beim Formatieren mit Mkfs.ext4 aktivieren lassen; ältere Kernel können solche Ext4-Dateisysteme nur lesend einbinden.

Verschiedenes

    Der Software-RAID-Code des MD-Subsystems kann für die bei RAID 5 benötige XOR-Verknüpfung nun die AVX-Instruktionen neuerer Prozessoren nutzen. Zudem beherrscht der MD-Code Reshaping jetzt auch bei RAID 10, sodass sich auch bei solch einem Verbund die Zahl der am RAID beteiligten Datenträger ändern lässt.
    Die Kernel-Entwickler haben einige Timing-Probleme im Floppy-Treiber korrigiert, die sich mit Virtualisierungs-Software häufiger zeigten, weil deren emulierte Disketten-Laufwerke schneller arbeiten als echte.
    Die Unterstützung für HFS-Dateisysteme mit Dateisystemeinträgen in einer regions-spezifischen Codierung wurde verbessert (u. a. 1, 2).
    Der Device-Mapper kann dem Userspace nun Zugriff auf die Metadaten von Pools gewähren, die Thin Provisioning nutzen; das kann für inkrementelle Backups, Pool-Migration, das Mergen von Snapshots oder asynchrone Replikation genutzt werden, wie der Commit-Kommentar erläutert.
    Über die neue Procfs-Dateien /proc/<pid>/task/<tid>/children lassen sich die Kindprozesse eines Prozesses erkennen; diese Funktion soll zusammen mit anderen Erweiterungen die Grundlagen schaffen, um mittelfristig den Umzug von Linux-Containern auf andere Wirte im Betrieb zu ermöglichen (Checkpoint und Restart; kurz C/R).
    Die Entwickler des CIFS-Client-Codes haben einige Grundlagen zur Unterstützung des mit Windows Vista eingeführten Protokolls Server Message Block 2 (SMB2) eingebracht; der Support ist aber noch unvollständig und daher als "Broken" markiert (1, 2).
    FUSE beherrscht nun die via Fallocate nutzbare Funktion "punch hole", über die Programme dem Dateisystem mitteilen können, wenn Bereiche innerhalb einer Datei keine Daten mehr enthalten. Diese etwa zum Kleinhalten von Sparse-Datein interessante Funktion wird auch von Tmpfs unterstützt, das jetzt Preallocation via Fallocate sowie SEEK_DATA und SEEK_HOLE beherrscht.
    Der "XFS status update for May 2012" erwähnt einige Neuerungen rund um XFS. Änderungen an anderen Bereichen finden sich in den Haupt-Git-Pull-Requests für Block I/O Core, Ceph, Infiniband, NFS-Server und der Target-Infrastruktur .

Die kleinen Perlen

Die folgenden Links führen zu einigen kleineren, aber keineswegs unbedeutenden Änderungen:

Dateisysteme

    [     ] cifs: add a cache= option to better describe the different cache flavors
    [     ] cifs: display cache= option in /proc/mounts
    [  D  ] c/r: procfs: add arg_start/end, env_start/end and exit_code members to /proc/$pid/stat
    [   N1] exofs: Add SYSFS info for autologin/pNFS export
    [  D  ] ext3: update documentation with barrier=1 default
    [     ] ext4: force ro mount if ext4_setup_super() fails
    [  D 1] fs: introduce inode operation ->update_time
    [  D  ] GFS2: Update glock doc to add new stats info
    [  D  ] GFS2: Update main gfs2 doc
    [C    ] NFS: Make v2 configurable
    [C    ] NFS: Turn v3 on by default
    [     ] NFSv4.1 data server timeo and retrans module parameters
    [  D  ] pstore/ram: Add ECC support
    [     ] tmpfs: optimize clearing when writing
    [  D 2] vfs: Rename end_writeback() to clear_inode()
    [     ] xfs: introduce SEEK_DATA/SEEK_HOLE support
    [    7] xfs: on-stack delayed write buffer lists

Storage

    [     ] ata_piix: defer disks to the Hyper-V drivers by default
    [C    ] blkcg: make CONFIG_BLK_CGROUP bool
    [    4] blkcg: mass rename of blkcg API
    [    1] cxgb4: DB Drop Recovery for RDMA and LLD queues
    [     ] dm mpath: allow ioctls to trigger pg init
    [   N1] lib/raid6: Add SSSE3 optimized recovery functions
    [    2] md: add possibility to change data-offset for devices.
    [    1] md: allow a reshape operation to be reversed.
    [     ] md/bitmap: add new 'space' attribute for bitmaps.
    [  D  ] mtip32xx: Changes to sysfs entries
    [C  N3] PATA host controller driver for ep93xx
    [    1] RDMA/cxgb4: Add DB Overflow Avoidance
    [    1] RDMA/cxgb4: DB Drop Recovery for RDMA and LLD queues
    [C  N9] RDMA/ocrdma: Add driver for Emulex OneConnect IBoE RDMA adapter
    [    3] SCSI: be2iscsi: adding functionality to change network settings using iscsiadm
    [     ] SCSI: be2iscsi: Bump the driver Version
    [     ] SCSI: bnx2fc: Bumped version to 1.0.11
    [     ] SCSI: bnx2i: Updated version and copyright year
    [C D 9] scsi: delete the MCA specific drivers and driver code
    [     ] SCSI: hpsa: add new RAID level "1(ADM)"
    [  DN3] SCSI: libfcoe: Add fcoe_sysfs
    [     ] SCSI: lpfc 8.3.31: Update lpfc to version 8.3.31
    [  D  ] SCSI: megaraid_sas: Version and Changelog update
    [     ] SCSI: mpt2sas: Added multisegment mode support for Linux BSG Driver
    [     ] SCSI: qla2xxx: Display proper supported speeds for 16G FC adapters.
    [     ] SCSI: qla4xxx: Add change_queue_depth API support
    [    4] SCSI: qla4xxx: Capture minidump for ISP82XX on firmware failure
    [     ] SCSI: qla4xxx: Update driver version to 5.02.00-k17
    [     ] target: add support for the WRITE_VERIFY command
    [     ] target: stop splitting commands into multiple tasks

Quelle und Links : http://www.heise.de/open/artikel/Kernel-Log-Was-3-5-bringt-2-Dateisysteme-und-Storage-1630157.html
Titel: 64-Bit-ARM Unterstützung für Linux AArch64
Beitrag von: ritschibie am 09 Juli, 2012, 10:35
(http://www.heise.de/imgs/18/8/8/6/3/1/1/4da2b02cdd07a1c5.jpeg)
ARMv8 bringt den AArch64-
Ausführungsmodus.
Bild: ARM
ARM-Mitarbeiter Catalin Marinas hat eine 36 Patches umfassende Sammlung veröffentlicht, die den Linux-Kernel um Unterstützung für ARMs AArch64-Architektur erweitert. Dabei handelt es sich um die 64-Bit-taugliche ARM-Variante, die im Herbst 2011 für den ARMv8-Befehlssatzes angekündigt wurde und vermutlich 2014 in ersten Prozessoren zum Einsatz kommen soll.

Die AArch64-Unterstützung soll in einem eigenen Verzeichnis (arch/aarch64/) der Kernel-Quellen landen und somit unabhängig von der bisherigen Basisunterstützung für 32-Bit-ARM-Kerne (offiziell: AArch32-Architektur) sein (arch/arm/). Einige Kernel-Entwickler merken dazu an, dass es bei der 64-Bit-Erweiterung für die x86-Architektur anfangs ähnlich gewesen sei, später der Code aber zusammengelegt wurde, um die Wartung und Weiterentwicklung zu erleichtern.

Unter anderem der langjährige Kernel-Entwickler Arnd Bergmann geht auf diesen Punkt ein und erläutert einige Gründe, die für eine Separation sprechen; so sei der meiste Code ohnehin anders geartet und man sei unabhängig vom alten Code, der gerade erheblich umgebaut werde. Diskutiert wird zudem der Name, der einigen Entwicklern zu sperrig und kryptisch ist. Als Alternative zur offiziellen Befehlssatz-Bezeichnung wurde unter anderem ARM64 vorgeschlagen – vieles deutet aber derzeit darauf hin, dass es bei AArch64 bleibt.

Marinas erläutert in der Ankündigung seiner Kernel-Patches, dass ein AArch64-Linux in der 4K-Konfiguration 32-Bit-ARM-Userland-Code ausführen könne, sofern der das ARM EABI nutze; da es keine Verknüpfung zwischen AArch32- and AArch64-Code gäbe, sei ein Umschalten des Betriebsmodus (exception entry/exit) erforderlich. Eine Erweiterung der GNU Compiler Collection (GCC) zur Unterstützung von AArch64 hat AMR-Entwickler Marcus Shawcroft bereits Ende Mai zur Diskussion gestellt. Patches für die Binutils wurden offenbar noch nicht veröffentlicht; selbiges gilt für die Glibc-Portierung.

Quelle: www.heise.de
Titel: Kernel-Log – Was 3.5 bringt (3): Architektur-Code
Beitrag von: SiLæncer am 10 Juli, 2012, 05:11
Durch Uprobes können Performance-Monitoring-Werkzeuge nun auch Userspace-Software beobachten. Die weiter vorangetriebenen Umbauten am ARM-Code zeigen greifbare Erfolge.

Nach Jahren der Entwicklung und Dutzenden von Anläufen und größeren Umbauten stieß der Code für Uprobes (Userspace Probes) zum Kernel (u. a. 1, 2, 3, 4, 5). Durch ihn kann der Kernel zur Laufzeit Breakpoints in den Code von Userspace-Software einzufügen. Diese Funktion lässt sich bislang nur über das Perf-Events-Subsystem des Kernels nutzen; darauf zurückgreifende Tracing-Software wie das dem Kernel beiliegende Perf oder die Version 1.8 von Systemtap sind dadurch in der Lage, Tracepoints in Userspace-Software einzufügen und können so das Laufzeitverhalten von Kernel und Programmen in einem Zug zu beobachten.

Bislang konnte Perf nur die Vorgänge im Kernel beobachten; Systemtap brauchte zur Beobachtung von Userspace-Software Utrace, das es nie in den offiziellen Kernel geschafft hat. Hinweise zum Praxis-Einsatz des vor langer Zeit aus Utrace hervorgegangene Uprobes liefert der Uprobes-Merge-Commit. Weitere Hintergründe liefert LWN.net in einem Artikel, der auch erläutert, wieso der Kernel trotz der neuen Analysemöglichkeiten weiterhin längst nicht den Funktionsumfang für eine Tracing-Lösung bietet, die mit Dtrace von Solaris vergleichbar ist. Dazu wären einige Erweiterungen in und rund um Uprobes nötig, die teilweise angedacht, aber noch nicht in Entwicklung sind.

Tracing

Zum Tools-Verzeichnis des Kernels stießen einige Dateien des Ftrace-Tools "trace-cmd". Sie legen die Grundlage für eine "libtracevents" genannten Library, die eine gemeinsame Basis für Tracing-Werkzeuge bilden soll; darunter das dem Kernel beiliegende Werkzeug "perf", das diese Bibliothek bei Linux 3.5 bereits nutzt. Auch andere Userland-Programme wie powertop (lesen Sie dazu auch den Bericht Powertop 2.0 – Strom sparen unter Linux) sollen die Bibliothek nutzen können, wie Ingo Molnar in dem Haupt-Git-Pull-Request für das Perf-Subsystem schreibt. Dort erwähnt er auch einige andere Neuerungen dieses Bereichs; etwa die verbesserte Anzeige bei der Assembler-Untersuchung mit perf report oder die Unterstützung für "Precise event sampling", das die Funktionseinheiten für Instruction-Based Sampling (IBS) in AMDs modernen Prozessorkernen zum Performance Monitoring mitbringen.

ARM

Die seit über einem Jahr vorangetriebene Grundrenovierung des ARM-Codes ging auch bei 3.5 weiter; einige der wichtigsten Änderungen erwähnen die beiden Haupt-Git-Pull-Request-Threads für Linux 3.5 (1, 2). Olof Johansson schreibt dort stolz, der Code für weitere ARM-Plattformen werde angepasst, sodass diese die zum Booten benötigten Hardware-Informationen aus Device Trees beziehen können. Device Trees sind standardisierte Datenstrukturen aus Schlüssel-Wert-Paaren, die die Hardwarekomponenten eines ARM-Boards beschreiben. Weitere Hintergründe liefert ein Artikel auf lwn.net.

Diese Arbeiten zahlten sich langsam aus, schreibt Johansson, denn einige ARM-Plattformen würden Linux-Unterstützung dieser Tage durch simples Hinzufügen von Device-Tree-Dateien erhalten, die komplett unabhängig von den Kernel-Quellen seien. Einige Hintergründe zum Status der ARM-Renovierung und den Bestrebungen, ein Kernel-Binary zu schaffen, das auf vielen verschiedenen ARM-Plattformen bootet, erläutert der vor einigen Wochen publizierte LWN.net-Artikel "LinuxCon Japan: One zImage to rule them all".

Verschiedenes

    Eine Patch-Sammlung führt einige Aufräumarbeiten am x86-Code durch und sorgt für eine Sortierung der Exception Table bereits beim Bau des Kernels, was das Booten ein klein wenig beschleunigen kann (1, 2, 3).
    Unter den größten Änderungen für KVM ist ein neues API zum Injizieren einer Message Signaled Interrupt (MSI) Message in Gastsysteme
    Zu den wichtigsten Änderungen am Xen-Code zählt die Unterstützung für "perf".
    Umbauten am Prozess-Scheduler sollen sein Verhalten auf NUMA-Systemen verbessern. In dem Zug flogen einige altbackene Funktionen zum stromsparenden Prozess-Scheduling raus, die zuletzt mehr schlecht als recht arbeiteten.
    Zum Kernel gestoßene Dokumentation erläutert den Einsatz des "EFI Boot Stub", durch den EFI-Firmware den Kernel direkt starten kann; die Funktion war bei Linux 3.3 zum Kernel gestoßen und wird von dem kürzlich veröffentlichten Boot-Loader Gummiboot genutzt.
    Durch größere Umbauten am Code für Error Detection And Correction (EDAC) zeigt der Kernel in Zukunft bei modernen Prozessoren akkurater an, wo genau ein Speicherfehler aufgetreten ist.
    Über den neuen Kernel-Parameter "skew_tick" können Anwender ein Detail beim Ticken des Zeitgebers beeinflussen, was zur Jitter-Reduktion bei HPC- oder RT-Workloads interessant sein kann, aber die Leistungsaufnahme erhöht.
    Entfernt wurde die Unterstützung die Micro Channel Architecture (MCA), die schon seit mehr als einem Jahrzehnt Oldtimer-Status hat. Auch die Unterstützung für ARMv3 sowie die Plattformen ixp23xx und ixp2000 (Intel XScale) flog raus.

Die kleinen Perlen

Die folgenden Links führen zu einigen kleineren, aber keineswegs unbedeutenden Änderungen:

x86

   [   N ] keyboard: Use BIOS Keyboard variable to set Numlock
    [   N1] syscalls, x86: add __NR_kcmp syscall
    [C    ] x86-32: Introduce CONFIG_X86_DEV_DMA_OPS
    [     ] x86/apic: Implement EIO micro-optimization
    [     ] x86, efi; Add EFI boot stub console support
    [C  N ] X86: integrate CMA with DMA-mapping subsystem
    [C    ] x86: Introduce CONFIG_X86_DMA_REMAP
    [C  N1] x86, platform: Initial support for sta2x11 I/O hub
    [     ] x86: print e820 physical addresses consistently with other parts of kernel
    [    1] x86: print physical addresses consistently with other parts of kernel
    [   N ] x86, realmode: realmode.bin infrastructure
    [C    ] x86: use generic strncpy_from_user routine
    [C    ] x86: use the new generic strnlen_user() function
    [C    ] x86: use the new generic strnlen_user() function
    [     ] xen/apic: implement io apic read with hypercall

ARM

   [C    ] ARM: 7374/1: add TRACEHOOK support
    [  D  ] ARM: 7376/1: clkdev: Implement managed clk_get()
    [C   1] ARM: 7389/2: plat-versatile: modernize FPGA IRQ controller
    [  DN ] ARM: architected timers: add DT support
    [   N ] ARM: at91: add at91sam9263 DT support
    [   N ] arm: at91: add Calao TNY-A9260 and TNY-A9G20 board support
    [   N ] ARM: at91: Add DT description files for AT91SAM9N12-EK
    [   N ] ARM: at91: add kizbox board dt support.
    [C  N1] ARM: at91: Add machine files for AT91SAM9N12 SoC
    [C    ] ARM: at91: add SOC_AT91SAM9 kconfig option to factorise select
    [   N ] ARM: at91: DT: add Calao USB A9263 board support
    [C  N1] ARM: AT91: IIO: Add AT91 ADC driver.
    [C    ] ARM: davinci: implement DEBUG_LL port choice
    [C  N2] ARM: dma-mapping: add support for IOMMU mapper
    [  D  ] ARM: DT: Add binding for GIC virtualization extentions (VGIC)
    [  DN ] ARM: dts: Add basic support for imx6q-sabresd
    [   N ] arm/dts: twl4030: Add DTS file for twl4030 PM + Audio IC
    [   N ] arm/dts: twl6030: Add DTS file for twl6030 PMIC
    [  DN ] ARM: EXYNOS: Add device tree support for interrupt combiner
    [C    ] ARM: EXYNOS: Add DRM core device support for Universal C210 board
    [C    ] ARM: EXYNOS: Add DRM core support for NURI board
    [C    ] ARM: EXYNOS: Add DRM device to Origen
    [C    ] ARM: EXYNOS: Add DRM device to SMDKV310
    [C    ] ARM: EXYNOS: Add FIMC device to SMDK4X12
    [C    ] ARM: EXYNOS: Add MFC device to SMDK4X12
    [C  N ] ARM: EXYNOS: add platform device for core DRM subsystem
    [C    ] ARM: EXYNOS: Add s3c-hsotg device support for GONI board
    [C    ] ARM: EXYNOS: Add s3c-hsotg device support for NURI board
    [C    ] ARM: EXYNOS: Add s3c-hsotg device support for Universal C210 board
    [C    ] ARM: EXYNOS: Support DMA for EXYNOS5250 SoC
    [C    ] ARM: EXYNOS: Support suspend and resume for EXYNOS5250
    [C   1] ARM: imx: eukrea-cpuimx51: remove board
    [C    ] ARM: imx: eukrea_mbimxsd25: add spi controler and spidev support
    [C    ] ARM: imx: eukrea_mbimxsd35: add spi controler and spidev support
    [C    ] ARM: imx: eukrea_mbimxsd: add audio support
    [  D 1] ARM: imx: rename uart and fec device tree nodes
    [C DN2] ARM: integrate CMA with DMA-mapping subsystem
    [C  N ] ARM: kirkwood: Add support for RaidSonic IB-NAS6210/6220 using devicetree
    [C  N1] ARM: kirkwood: Basic support for DNS-320 and DNS-325
    [C  N ] ARM: local timers: Add A15 architected timer support
    [C DN2] ARM: LPC32xx: Device tree support
    [C  N ] ARM: mach-shmobile: add armadillo800eva board support.
    [C  N ] ARM: mach-shmobile: add KZM-A9-GT board support
    [C  N ] ARM: mach-shmobile: Use DT_MACHINE for armadillo 800 eva
    [C  N ] ARM: mach-shmobile: Use DT_MACHINE for KZM9G
    [C  N1] ARM: mmp: add usb device support for PXA910
    [   N ] ARM: mmp: support mmp2 with device tree
    [C    ] ARM: mx31_3ds: Add sound support
    [C DN ] ARM: mxs: add initial device tree support for imx23-evk board
    [C DN1] ARM: mxs: add initial device tree support for imx28-evk board
    [    1] ARM: Orion: Eth: Add clk/clkdev support.
    [    1] ARM: Orion: SPI: Add clk/clkdev support.
    [    3] ARM: PCI: provide a default bus scan implementation
    [     ] ARM: pxa: hx4700: Add PCMCIA/CF support
    [C   4] ARM: Remove support for ARMv3 ARM610 and ARM710 CPUs
    [C    ] ARM: SAMSUNG: merge plat-s5p into plat-samsung
    [C DN5] ARM: SPEAr3xx: Add device-tree support to SPEAr3xx architecture
    [C DN ] ARM: tegra20: Add Tegra Memory Controller(MC) driver
    [C    ] ARM: tegra20: Make MC optional in Kconfig
    [C DN1] ARM: tegra30: Add Tegra Memory Controller(MC) driver
    [C    ] ARM: tegra30: Make MC optional in Kconfig
    [C DN1] ARM: tegra: Add Tegra AHB driver
    [  D  ] ARM: tegra: add USB ULPI PHY reset GPIO to device tree
    [    9] ARM: tegra: Remove pre-pinctrl pinmux driver
    [    8] ARM: tegra: Switch to new pinctrl driver
    [C    ] ARM: tegra: uncompress.h: Implement TEGRA_DEBUG_UART_AUTO_ODMDATA
    [C   9] ARM: ux500: delete U5500 support
    [C   1] ARN: at91: introduce SOC_AT91xxx define to allow to compile SoC core support
    [   N ] Ethernut 5 board support
    [C  N ] kirkwood: Add iconnect support
    [   N ] mach-shmobile: Emma Mobile EV2 DT support V3
    [C    ] mach-shmobile: Emma Mobile EV2 GPIO support V3
    [C  N1] mach-shmobile: Emma Mobile EV2 SoC base support V3
    [C  N ] mach-shmobile: KZM9D board support V3
    [C  N ] mach-shmobile: Use DT_MACHINE for KZM9D V3
    [C    ] mx31moboard: Add sound support
    [  D  ] OMAPDSS: Provide an interface for audio support
    [  D  ] OMAPDSS: VENC: allow switching venc output type at runtime
    [C    ] SPEAr13xx: Add compilation support
    [   N2] SPEAr13xx: Add dts and dtsi files
    [CI N2] SPEAr13xx: Add source files
    [C    ] SPEAr3xx: Add pinctrl support for boards
    [  DN ] SPEAr: Add DT bindings for SPEAr's timer
    [   N3] SPEAr: Add PL080 DMA support for 3xx and 6xx
    [  D  ] SPEAr: Update MAINTAINERS and Documentation

PPC

   [C    ] powerpc/47x: Kernel support for KEXEC
    [C    ] powerpc: Add 64-bit CPU targets for gcc
    [   N ] powerpc/crypto: AES-CBC mode routines for nx encryption
    [   N1] powerpc/crypto: AES-CCM mode routines for nx encryption
    [   N ] powerpc/crypto: AES-CTR mode routines for nx encryption
    [   N ] powerpc/crypto: AES-ECB mode routines for nx encryption
    [   N1] powerpc/crypto: AES-GCM mode routines for nx encryption
    [   N ] powerpc/crypto: AES-XCBC mode routines for nx encryption
    [C  N ] powerpc/crypto: Build files for the nx device driver
    [   N3] powerpc/crypto: nx driver code supporting nx encryption
    [   N ] powerpc/crypto: SHA256 hash routines for nx encryption
    [   N ] powerpc/crypto: SHA512 hash routines for nx encryption
    [  D  ] powerpc/hw-breakpoint: Use generic hw-breakpoint interfaces for new PPC ptrace flags
    [C  N5] powerpc/powermac: New windfarm driver for PowerMac G5 (AGP) and Xserve G5
    [C    ] powerpc/ps3: Add PS3 repository write support
    [C  N ] powerpc/pseries/hwrng: PFO-based hwrng driver
    [   N ] powerpc/windfarm: Add ad7417 sensor
    [   N ] powerpc/windfarm: Add lm87 sensor
    [  D  ] Revert "powerpc/hw-breakpoint: Use generic hw-breakpoint interfaces for new PPC ptrace flags"

Various

   [    1] arch/tile: allow building Linux with transparent huge pages enabled
    [C  N4] arch/tile: Allow tilegx to build with either 16K or 64K page size
    [C    ] arch/tile: mark TILEGX as not EXPERIMENTAL
    [C   3] arch/tile: support multiple huge page sizes dynamically
    [C  N6] blackfin: add bf60x to current framework
    [   N4] blackfin: bf60x: add power management support
    [C    ] blackfin: bf60x: add wakeup source select
    [C   1] blackfin: bf60x: make clock changeable in kernel menuconfig
    [C  N9] blackfin: mach-bf609: add machine files
    [C    ] C6X: add support to build with BINFMT_ELF_FDPIC
    [  D  ] CRIS: Update documentation
    [C    ] m68k: Use generic strncpy_from_user(), strlen_user(), and strnlen_user()
    [   N ] mach-shmobile: Emma Mobile EV2 SMP support V3
    [C  N ] MIPS: ath79: add initial support for the Atheros DB120 board
    [C    ] MIPS: ath79: add PCI_AR724X Kconfig symbol
    [C    ] MIPS: ath79: add PCI registration code for AR934X
    [C    ] MIPS: ath79: add SoC detection code for AR934X
    [CI N1] MIPS: ath79: add support for the PCI host controller of the AR71XX SoCs
    [C    ] MIPS: ath79: add WMAC registration code for AR934X
    [C   1] MIPS: lantiq: drop mips_machine support
    [C  N3] MIPS: lantiq: implement support for clkdev api
    [C  N1] MIPS: lantiq: implement support for FALCON soc
    [C  N1] MIPS: pci: convert lantiq driver to OF
    [C    ] MIPS: Select BUILDTIME_EXTABLE_SORT
    [C  N1] OF: MIPS: lantiq: implement OF support
    [C    ] openrisc: implement irqdomains
    [C    ] [PARISC] update parisc to use generic strncpy_from_user()
    [C  N4] sh: Add initial support for SH7734 CPU subtype
    [C  N7] sh: Add pinmux for sh7264
    [CI N ] sh: Add RSK2+SH7264 board
    [CI N ] sh: Add RSK2+SH7269 board
    [C  N2] sh: Add sh7264 device
    [C  N2] sh: Add sh7269 device
    [C  N ] sh: initial stack protector support.
    [C    ] sh: switch to generic strncpy_from_user().
    [C  N ] sh: use the new generic strnlen_user() function
    [C   3] sparc32: generic clockevent support
    [C    ] sparc64: Convert over to NO_BOOTMEM.

Quelle und Links : http://www.heise.de/open/artikel/Kernel-Log-Was-3-5-bringt-3-Architektur-Code-1633721.html
Titel: Kernel-Log – Was 3.5 bringt (4): Treiber
Beitrag von: SiLæncer am 11 Juli, 2012, 22:30
Zusammen mit neuen X-Servern wird Linux 3.5 Hybridgrafik besser unterstützten. Der Radeon-Treiber soll schneller arbeiten und bei mehr Grafikchips den HDMI-Audio-Transport beherrschen. Die Audio-Treiber unterstützten nun die Xonar DGX und Creative SoundCore3D.

Der Radeon-Treiber soll durch einige Änderungen an der Art, wie er die Daten im Videospeicher abgelegt, bei Linux 3.5 mehr Performance aus den GPUs der Generationen R600 bis R900 (Radeon HD 2400 bis 7670) kitzeln. Laut Commit-Kommentar stiegen die Bildraten bei Tests mit Lightsmark und Doom 3 auf einer Radeon HD 5750 um etwas mehr als ein Drittel; mit anderen Karten kann der Effekt allerdings anders ausfallen oder gar nicht auftreten.

Die Kernel-Entwickler haben zudem die Unterstützung für den Audio-Transport via HDMI bei neueren Radeon-GPUs erheblich ausgebaut, wodurch auch die meisten Northern-Island-GPUs (viele 6000er-Radeons) nun unterstützt werden; genau wie bei der Vorgängergeneration Evergreen (viele 5000er-Radeons) muss man die HDMI-Audio-Funktion aber fürs Erste weiter über den Parameter "audio" des Kernel-Treibers "radeon" explizit einschalten.

Der Nouveau-Treiber in 3.5 kann die Hardware-Beschleunigung der Kepler-Chips nutzen, die auf vielen GeForce-Modellen der aktuellen 600er-Serie sitzen. Bis auf weiteres ist dazu allerdings eine Firmware-Datei erforderlich, die man aus dem proprietären Treiber von Nvidia extrahieren muss.

Im Sysfs lassen sich nun einige Informationen zur Nutzung von Intels GPU-Stromspartechnik RC6 auslesen. Nachdem bereits früherere Kernel-Versionen ersten Code zur Unterstützung des Grafikkerns von Intels Haswell-Prozessoren erhielten, soll Linux 3.5 den Grafikkern des im ersten Halbjahr 2013 erwarteten Ivy-Bridge-Nachfolgers nun tatsächlich ansprechen können (1, 2, 3).

Zum Kernel stießen ferner rudimentäre Treiber für die Grafikchips aus der 2000er-Serie von AST (ASpeed Technologies), die G200-Serie von Matrox und den von Qemu emulierten Cirrus-Grafikkern. Da die beiden zuerst genannten Chips vornehmlich in Servern stecken, ist es verschmerzbar, dass die zugehörigen Treiber keine Beschleunigungsfunktionen nutzen.

Hybridgrafik

Der zum Zu- oder Umschalten eines zweiten Grafikchips zuständige Treiber Vga-Switcheroo stimmt sich jetzt mit dem Audio-Subsystem ab, um gegebenenfalls den Audio-Transport eines HDMI-Ausgangs ein- oder auszuschalten, wenn der an einem zuschaltbaren Grafikchip hängt.

Die Kernel-Grafiktreiber Exynos (Grafikkern von Samsung SOCs), I915 (Intel), Nouveau (Nvidia), Radeon (AMD) und Udl (USB Display Link) erhielten Unterstützung für Prime – ein Framework, das den Support von Hybridgrafik verbessern soll. Grundlagen dazu liefert der bei 3.5 erweiterte DMA-Sharing-Mechanismus, dessen neue Funktionen der Commit-Kommentar und die im Commit enthaltene Dokumentation näher erläutern.

Prime-Support für den X-Server soll der X-Server 1.13 bringen, in dessen Entwicklerversion der Code kürzlich eingezogen ist. Einige Demo-Videos finden sich im Blog von Dave Airlie, der die Prime-Infrastuktur für den Linux-Kernel und X.org maßgeblich vorantreibt. In der Mail mit seinem Haupt-Git-Pull-Request für Linux 3.5 erwähnt der Airlie noch einige andere Neuerungen an den von ihm betreuten DRM-Grafiktreibern.

Zu den Framebuffer-Grafiktreibern des Kernels stieß Unterstützung für die Epaper-Controller, die unter anderem in Thalias Ebook-Readern Oyo 1 und Oyo 2 stecken; die können dadurch nun etwa ScummVM ausführen, wie ein Video des zuständigen Entwicklers zeigt. Den WLAN-Chip dieser Reader unterstützt der Kernel allerdings bislang nicht.

Audio

Linux 3.5 unterstützt die Asus-Soundkarte Xonar DGX und im HD-Audio-Treiber die Funktion Creative SoundCore3D. Einige weitere Änderungen an den vom Alsa-Projekt betreuten Sound-Treibern erläutert Takashi Iwai in der Mail mit seinem Haupt-Git-Pull-Request für Linux 3.5; dort betont er, die Streaming-Logik für den USB-Audio-Support sei neu geschrieben worden, daher sei diese Änderung unter Hauptverdacht, wenn Anwender Probleme mit USB-Audio-Hardware bemerkten.

Staging

Zum Staging-Bereich stieß ein Treiber für den WiMAX-Chip GCT GDM72xx. Die Treiber für das Management Engine Interface (MEI) vieler Mainboard-Chipsätze von Intel konnten den Staging-Zweig verlassen. Selbiges gelang nach langer Zeit auch den Kernfunktionen zur Unterstützung des Industrial I/O (IIO) – ein in der Industrie genutztes Bussystem, um etwa Spannungs-, Temperatur-, Beschleunigungs- oder Helligkeitssensoren anzusprechen (1, 2, 3). Viele IIO-Treiber bleiben aber fürs Erste noch im Bereich für Treiber, die den Qualitätsansprüchen der Kernel-Entwickler nicht genügen.

Verschiedenes

    Der Plattform-Treiber für Sony-Notebooks erhielt einige Änderungen (siehe "Die kleinen Perlen" am Ende des Artikels), um neuere Sony-Geräte besser zu unterstützten; durch sie soll der Treiber nun etwa die Tastatur-Beleuchtung bei den Modellen Vaio SA/SB/SC und CA/CB aktivieren können.
    Das schon lange als "Deprecated" eingestufte "USB Device Filesystem" haben die Kernel-Entwickler entfernt, da moderne Distributionen und Programme die früher auf /proc/bus/usb/ eingehängte Repräsentation der USB-Geräte nicht mehr benötigten.
    Zum Media-Subsystem mit seinen Treibern für Fernbedienungen, Webcams sowie DVB- und Video-Hardware stößt ein Treiber für den DVB-T Demodulator Afatech AF9033. Einige weitere Änderungen in diesem Subsystem erläutert Mauro Carvalho Chehab in der Mail mit seinem Haupt-Git-Pull-Request für Linux 3.5

mehr ... (http://www.heise.de/open/artikel/Kernel-Log-Was-3-5-bringt-4-Treiber-1635114.html?artikelseite=2)

Quelle : www.heise.de
Titel: Kernel-Log – Was 3.5 bringt (5): Infrastruktur
Beitrag von: SiLæncer am 13 Juli, 2012, 12:00
Der Kernel sichert Container und verdächtigen Code nun besser ab. Die Ereignisprotokollierung wurde optimiert, zwei für Android wichtige Funktionen sind nun integriert.

Bei der Freigabe der sechsten Vorabversion hat Linus Torvalds keine Andeutungen zum Veröffentlichungstermin von Linux 3.5 gemacht, aber schon über die Implikationen räsonniert, welche die Urlaubszeit auf die Hauptentwicklungsphase von Linux 3.6 hat. Es ist daher nicht auszuschließen, dass Linux 3.5-rc6 bereits die letzte Vorabversion von Linux 3.5 war und der neue Kernel in Kürze erscheint. Dieser Artikel zu den Änderungen an der Infrastruktur von Linux 3.5 schließt daher die Kernel-Log-Mini-Serie "Was 3.5 bringt" ab.

Die ersten vier Teile der Serie hatten sich den Neuerungen in den Bereichen Netzwerk, Dateisysteme und Storage, Architektur-Code sowie Treibern gewidmet. Im Netzwerk-Bereich gab es indes noch einen erwähnenswerten Nachzügler: In der Stabilisierungsphase stieß eine Erweiterung für den Treiber ipheth zum Kernel, durch die dieser Tethering nicht nur mit vielen iPhones, sondern auch bei iPads mit der USB Product ID 129a beherrscht.

Container

Die maßgeblich von Eric W. Biederman entwickelten "User Namespace Enhancements" zur besseren Abdichtung von Linux Containern sind in Linux 3.5 eingeflossen; der Entwickler beschreibt diese Patch-Sammlung als eine Kurskorrektur für User Namespaces, durch die der Kernel diese nun preiswert, wartbar und weitgehend komplett implementiere.

Die Änderungen sorgen für eine saubere Trennung von User- und Gruppen-IDs zwischen Host und Container. Auch mit Root-Rechten soll man dadurch beispielsweise nicht mehr auf alle Dateien in den Verzeichnissen /proc/ und /sys/ voll zugreifen können; auf diesem Weg konnten Root-Anwender bislang aus Containern heraus das Verhalten des Wirts beeinflussen.

Weitere Hintergründe zum neuen Ansatz liefert ein LWN.net-Artikel. Biederman erläutert in einer Mail, er habe ein unmodifiziertes Debian in einem mit den User Namespace Enhancements gesicherten Container booten können; es sollen aber noch weitere Änderungen am Kernel-Code nötig sein, bis die Funktion so ausgereift ist, dass Distributionskernel sie nutzen können.

Logging

Der Kernel erhielt einige größere Umbauten an den Logging-Funktionen, was Verbesserungen für die zuverlässige Ausgabe und die automatische Analyse von Ereignisprotokollen bieten soll (u. a. 1, 2, 3). So durchlaufen die Ausgaben nun einen Record-Puffer, was ein Vermischen verschiedener Ausgaben vermeiden soll. Ferner tragen sie Meta-Information wie Uhrzeit, Device-Kontext und eine Sequenznummer; dadurch wird es beispielsweise möglich, die Log-Daten nach Vorkommnissen mit bestimmten Devices zu filtern. Details erläutert LWN.net. Anfangs pufferte der neue Ansatz die Ausgaben übermäßig, was zu Problemen führte; die hat der RC5 nun korrigiert.

Funktionslimitierung

Über den "Seccomp Filters Mechanism" kann ein Programm jetzt in der Syntax eines Berkeley Packet Filter (BPF) Filter einrichten, die reglementieren, welche System Calls ein von diesem Programm gestarteter Prozess nutzen darf (u. a.1, 2, 3, 4). Das kann etwa zur weiteren Absicherung im Rahmen von Sandbox-Lösungen interessant sein. Ein Einsatzgebiet von Seccomp ist die Virtualisierung, eines anderes Browser, die nicht vertrauenswürdigen Code ausführen wollen; die Version von Chrome nutzt etwa bei Ubuntu 12.04 Seccomp, um das Flash-Plugin zusätzlich zu sichern. Hintergründe liefern die zugehörige Dokumentation und LWN.net.

Android-Techniken

Linux 3.5 wird die bei Android genutzte "Switch"-Funktion zum Monitoring von Anschlüssen in einer überarbeiteten Form enthalten, die sich "External Connector Class (extcon)" nennt (1, 2).

In das Power-Management-Subsystem ziehen Autosleep und einige zugehörige Erweiterungen ein (1, 2, 3, 4, 5, 6). Durch dieses "Opportunistic Sleep" kann sich ein System selbstständig komplett schlafen legen, wenn es für eine Weile nichts zu tun gibt. Das ist allerdings weniger für Notebooks, sondern eher für Geräte wie Smartphones interessant, die sehr schnell aus dem Tiefschlaf aufwachen; der Android-Kernel bietet im Rahmen von "Wakelocks" alias "Suspend Blockers" schon länger ähnliche Mechanismen und erzielt ohne sie nur dürftige Akku-Laufzeiten. Diese Funktionen waren mehrfach Zankapfel zwischen Entwicklern von Linux und Android; es ist nicht bekannt, ob die Android-Entwickler mittelfristig auf die neue Infrastruktur von Linux umstellen.

Verschiedenes

    Nach langer Entwicklungszeit stieß Frontswap zum Kernel (1, 2, 3, 4, 5). Das Frontend für das Transcendent Memory (TM) des Kernels versucht Speicherbereiche, die sonst auf vergleichsweise langsamere Swap-Devices ausgelagert werden müssten, an die TM-Infrastuktur zu übergeben, damit das die Daten mit einem TM-Backend vielleicht an einer schneller zugänglichen Stelle vorhalten kann – etwa mit Zcache komprimiert im Speicher des jeweiligen Systems oder mit Hilfe von RAMster auf einem anderen System eines Clusters.
    Vornehmlich für den Embedded-Bereich interessant ist der nach langer Entwicklung nun aufgenommene Contiguous Memory Allocator (CMA), durch den der Kernel einige größere und physisch zusammenhängende Speicherbereiche nur noch für verlagerbare Daten nutzt, um Treibern diese Bereiche bei Bedarf für DMA-Aufgaben zur Verfügung zu stellen.
    Mel Gorman und Greg Kroah-Hartman haben die Aufnahmeregeln für Stable-Kernel angepasst, um klarzustellen, unter welchen Umständen auch Änderungen in Stable-Kernel einziehen dürfen, die beispielsweise Performance-Probleme beseitigen, die vieler Anwender betreffen und etwas gefährlicher sind als typische Stable-Patches.

mehr ... (http://www.heise.de/open/artikel/Kernel-Log-Was-3-5-bringt-5-Infrastruktur-1633847.html?artikelseite=2)

Quelle : www.heise.de
Titel: Linux Kernel 3.4.6 Stable
Beitrag von: SiLæncer am 19 Juli, 2012, 23:15
Changelog : https://www.kernel.org/pub/linux/kernel/v3.0/ChangeLog-3.4.6

http://www.kernel.org/
Titel: Microsoft-Mitarbeiter packt sexistische "Scherzchen" in den Linux-Kernel
Beitrag von: SiLæncer am 21 Juli, 2012, 22:41
Konstante für HyperV lässt sich als "Big Boobs" lesen - Konzern verspricht nachzubessern

Eigentlich sind große Konzerne in jeglicher Hinsicht darauf bedacht, keinerlei als diskriminierend wahrnehmbare Bemerkungen oder Aktionen zu setzen, schließlich sollen potentielle KonsumentInnen nicht verärgert werden. Dieses Memo scheint sich aber noch immer nicht überall in den Konzernen herumgesprochen zu haben, wie nun ein aktuelles Beispiel zeigt.

Konstante

Wie Red-Hat-Entwickler Matthew Garrett in seinem Blog dokumentiert (http://mjg59.dreamwidth.org/14955.html), konnte sich jemand bei Microsoft offenbar nicht verkneifen, eine kaum getarnte, sexistische Anmerkung in den Source-Code des Linux-Kernels einzubringen. Im Code zur Unterstützung der Microsoft-Virtualisierungslösung HyperV wird eine Konstante mit dem Wert "0xB16B00B5" verwendet - was sich einfach als "Big Boobs" ("große Brüste") entziffern lässt. In früheren Versionen war noch eine zweite von Microsoft eingebracht Konstante namens "0x0B00B135" (="Boobies") zu finden, dieser wurde mittlerweile aber aufgrund von Umbauten wieder entfernt.

Ausgrenzendes Klima

Garrett betont, dass es (viel zu) einfach sei, so etwas als "kindischen Humor" abzutun. In der Realität erzeugen solche "Scherzchen" aber ein stark männlich definiertes Klima, eines in dem Frauen vermittelt wird, dass sie kein richtiger Teil des "Insider-Clubs" Softwareentwicklung sind. Solche Bemerkungen erfüllen insofern eine klar sexistische und ausgrenzende Funktion.

Reaktion

Eine Meinung, der sich ein Kommentar bei NetworkWorld anschließt, und anfügt, dass solche Dinge in der Businesswelt eigentlicht schon längst keinen Platz mehr haben sollten. In Folge dieses Artikels hat sich mittlerweile auch Microsoft zu Wort gemeldet. In einer kurzen Stellungnahme entschuldigt sich das Unternehmen für den Vorfall und verspricht zudem eine Änderung der Konstante in künftigen Versionen des Kernels vorzunehmen. (red, derStandard.at, 20.07.12)

Links

Microsoft's ill-chosen magic constants (http://mjg59.dreamwidth.org/14955.html)

NetworkWorld: Microsoft code contains the phrase 'big boobs' ... Yes, really (https://www.networkworld.com/community/blog/microsoft-code-contains-phrase-big-boobs-yes-really)

Quelle: http://derstandard.at
Titel: Linux Kernel 3.5 ist fertig
Beitrag von: SiLæncer am 22 Juli, 2012, 08:00
 Linus Torvalds hat den Linux-Kernel 3.5 freigegeben. Ein neuer Scheduler soll den Netzwerkverkehr weiter optimieren. Hinzugekommen sind auch neue Grafiktreiber.

Linus Torvalds hat Linux 3.5 freigegeben. Er hebt vor allem den Paket-Scheduler namens Controlled Delay alias Codel hervor, der Netzwerkpakete mit einem neuen Algorithmus von Kathleen Nichols und Van Jacobson verwalten soll. Darauf basiert auch der alternative Scheduler "Fair Queue Codel AQM".

Damit soll der Linux-Kernel ein weiteres Werkzeug gegen den sogenannten Bufferbloat erhalten. Bufferbloat wird durch zu großen Datenpuffer für Netzwerkpakete verursacht und führt zu hohen Latenzzeiten und im schlimmsten Fall zu Verbindungsabbrüchen und verlorenen Paketen. Das Problem wurde bereits in früheren Kernel-Versionen von Entwickler David Getty erkannt. Seit Linux 3.3 wurden zahlreiche Lösungen implementiert, die Bufferbloat bekämpfen sollen.

Der Google-Mitarbeiter Nandita Dukkipati hat die TCP-Stack-Erweiterung Early Retransmit eingereicht, die einen erneuten Verbindungsaufbau nach zu vielen Paketverlusten beschleunigt. Sie erweitert seine Proportional Rate Reduction, mit der die Sendegeschwindigkeit besser an die Kapazitäten der Gegenstelle und dazwischenliegende Router angepasst werden kann. Proportional Rate Reduction wurde bereits in Linux 3.2 integriert. Außerdem kann der Kernel TCP-Verbindungen reparieren, die nach einem Umzug von Linux-Containern auf einen anderen Host entstehen können. Ein entsprechender Artikel auf LWN.net beschreibt die als TCP Connection Repair bezeichnete Funktion.

NFC-Geräte können künftig über das Host Controller Interface (HCI) angesprochen werden. Das soll die Entwicklung von Treibern erleichtern. Das neue Backend übersetzt die NFC-Kern-API in HCI-kompatible Kommandos und Ereignisse.

Eine Liste neuer Funktionen und unterstützter Netzwerkgeräte findet sich auf kernelnewbies.org (http://kernelnewbies.org/Linux_3.5).

Grafiktreiber

Linux 3.5 enthält zahlreiche neue Treiber für Grafikchipsätze, darunter für die aus der 2000er Serie von Aspeed Technologies und der G200-Serie von Matrox, die beide hauptsächlich in Servern zum Einsatz kommen. Der in Qemu verwendete Cirrus-Chipsatz unterstützt künftig ebenfalls die Kernel Mode Settings (KMS), die für eine automatisch erkannte Auflösung an der Konsole sorgen.

Zwar werden Intels Haswell-Grafikchipsätze erst ab 2013 auf den Markt kommen, in Kernel 3.5 werden die Treiber jedoch bereits aktiviert. Sie müssen aber noch optimiert werden. Außerdem gibt es erste Treiber für Intels Valleyview-Chipsätze, die in kommenden Atom-SoCs die bislang verwendeten PowerVR-Chips ersetzen sollen. Der Treiber für Intels GMA500, genannt Poulsbo, unterstützt die Auflösung 1080p.

Der Radeon-Treiber hat eine bessere Unterstützung für HDMI-Audio sowie weitere Verbesserungen bei der Speicherverwaltung. Gleichzeitig hat AMD die Unterstützung für Radeon-Chipsätze 2000, 3000 und 4000 aus seinem offiziellen Catalyst-Treiber mit der aktuellen Version 12.4 entfernt. Sie werden künftig nur noch als Legacy-Treiber unterstützt. Linux-Anwender, die Grafikkarten mit solchen Chipsätzen verwenden, müssen künftig auf die Open-Source-Treiber des Linux-Kernels zugreifen oder auf aktuellere Updates verzichten.

Der Nouveau-Treiber kann auf die Hardwarebeschleunigung der aktuellen Kepler-Chips der Reihe Geforce GTX 6xx von Nvidia zugreifen, die in Notebooks und Desktop-Grafikkarten zum Einsatz kommen. Allerdings benötigt der Nouveau-Treiber noch den Binär-Blob, der aus dem Treiber von Nvidia extrahiert werden muss.

Im Linux Kernel 3.4 wurde bereits eine erste Version des Frameworks Prime/DMA-Buf implementiert. Mit Prime soll der Datentausch zwischen verschiedenen Grafikkernen effizienter werden, etwa bei Hybrid-Grafiklösungen wie Optimus von Nvidia. Im aktuellen Kernel wurde die Unterstützung für Prime auf die Treiber Nouveau, Radeon, i915, Udl, Exynos und Omap ausgeweitet. Der Xserver 1.13 soll Prime erstmals unterstützen und im September 2012 erscheinen. Der VGA-Switcheroo-Treiber zum Umschalten zwischen zwei Grafikkernen schaltet künftig auch die Audio-Ausgabe über HDMI um.

Dateisysteme

An die meisten Metadaten des Ext4-Dateisystems können künftig CRC32-Checksummen angehängt werden. Sollten die Prüfsummen nicht übereinstimmen, so lässt sich das Dateisystem nicht mehr einbinden, um Daten vor der Zerstörung zu schützen. Sollte das während des laufenden Betriebs passieren, hängt der Kernel das Dateisystem als nur lesbar ein.

Noch muss diese Option explizit beim Erstellen des Dateisystems aktiviert werden. Denn die Funktion lässt sich gegenwärtig nur eingeschränkt nutzen. Ältere Versionen des Linux-Kernels binden solche Ext4-Dateisysteme standardmäßig nur lesend ein. Außerdem wird die Funktion noch nicht von den Dateisystemwerkzeugen E2fsprogs unterstützt. Entwickler Ted T'so will die Funktion auch noch auf mögliche Fehler prüfen.

Weniger Neuigkeiten hat das weiterhin als experimentell eingestufte Dateisystem Btrfs in der aktuellen Kernel-Version erfahren. Immerhin soll die Writeback-Funktion nochmals Optimierungen erhalten haben, die Latenzzeiten beim Schreiben von Metadaten beseitigen soll. Außerdem zählt Btrfs Datenfehler (Failure Tracking).

Linux 3.5 exportiert Datenträger über den sogenannten Firewire Target Disk Modus. Damit können sie unter Mac OS X als Firewire-Geräte eingebunden und genutzt werden. Dazu dient das neue Modul FireWire SBP-2 Target, das auf das Framework SCSI Target zugreift.

Security

Google nutzt das Sicherheitsframework des Kernels Seccomp, um den Flash-Player in seinem Browser Chrome abzusichern. Mit Filterregeln können Applikationen daran gehindert werden, bestimmte Funktionen auszuführen, etwa das Schreiben auf Datenträger. Diese Regeln können künftig in der gleichen Syntax geschrieben werden, wie sie der Berkeley Paket Filter nutzt. Seccomp wurde jüngst auch im Init-System Systemd umgesetzt.

Eine Beschreibung weiterer Änderungen findet sich auf der Webseite linuxnewbies.org. Dort gibt es auch eine Liste aller neuen Treiber oder neuen Funktionen, die bestehende Treiber erhalten haben. Der Quellcode des aktuellen Kernels ist unter kernel.org erhältlich.

Quelle : www.golem.de
Titel: Neue Linux-Kernel bringen Performance-Verbesserungen
Beitrag von: ritschibie am 02 August, 2012, 12:46
Der kürzlich veröffentlichte Kernel 3.0.39 sowie der in Kürze erwartete Kernel 3.2.25 bringen nicht nur kleinere Korrekturen und Erweiterungen, sondern auch eine ganze Reihe von Performance-Optimierungen. Damit wandelt sich die Strategie bei der Pflege älterer Kernel-Versionen etwas, denn solche Anpassungen waren bei Stable- und Longterm-Kerneln bislang unüblich, um das Einschleppen von Fehlern möglichst zu vermeiden.

Den Weg dazu hatten der Suse-Kernel-Entwickler Mel Gorman sowie Stable- und Longterm-Kernel-Betreuer Greg Kroah-Hartman bereits während der Entwicklung von Linux 3.5 gelegt, als sie eine Erweiterung der Regeln für Stable- und Longterm-Kernel vornahmen. Sie erlaubt Änderungen, die für die Performance- oder das Interaktivitätsgefühl wichtige Probleme ausräumen, obwohl bei solchen Eingriffen das Risiko größer ist, dass die gut gemeinten Änderungen neue Fehler verursachen. Wie bisher müssen solche Änderungen oder ein Äquivalent zuvor in den Hauptentwicklungszweig von Linux eingezogen sein, sofern das Problem dort auch besteht.

Die jetzt eingebrachten Änderungen hat Gorman zusammengetragen und vorab zur Begutachtung an die Mailingliste der Kernel-Entwickler gesandt. Die meisten der dort sehr detailliert beschriebenen Änderungen sind in Linux 3.0.39 eingezogen oder sollen Bestandteil von 3.2.25 werden.

Typische Linux-Systeme dürften durch die Anpassungen allerdings nicht spürbar schneller werden. Bei bestimmten Umgebungsbedingungen sollten sich die Kernel allerdings besser verhalten oder flotter arbeiten, wie etwa die Kommentare zu zwei der aufgenommenen Änderungen erläutern (1, 2); auf einem SGI-UV-System mit 640 Prozessorkernen soll etwa der Datendurchsatz von 300 auf 430 MByte pro Sekunde steigen, wenn 120 Threads parallel auf ein Dateisystem im Arbeitsspeicher (Tmpfs) schreiben.

Quelle: www.heise.de
Titel: Kernel-Log: Entwicklung von Linux 3.6 läuft
Beitrag von: ritschibie am 02 August, 2012, 12:51
(http://www.heise.de/open/imgs/10/8/9/7/7/0/0/74817c3bcad46907.jpeg)
Linux 3.6 wird das Userspace-Treiber-Framework VFIO mitbringen und hybrides Standby beherrschen. Der 64-Bit-ARM Code bekommt nun doch die Bezeichnung "arm64". Die verbreitete Werkzeugsammlung Util-Linux erhält eine Reihe neuer Tools.

Keine 24 Stunden nach der Freigabe von Linux 3.5 hat Linus Torvalds die ersten Änderungen für Linux 3.6 in den Hauptentwicklungszweig von Linux integriert. Unter den zwischenzeitlich eingepflegten Neuerungen war wie erwartet das Userspace-Treiber-Framework VFIO, das Userspace-Programmen mit Hilfe von I/O-Virtualisierungstechniken wie AMD-Vi und Intels VT-d den direkten Zugriff auf Geräte ermöglicht. Hardware soll sich vom Userspace aus mit geringer Latenz und hohem Datendurchsatz ansprechen lassen.

Eingezogen ist auch eine "Suspend to Both" genannte Funktion, die hybrides Standby ermöglicht. Dabei wird der Speicherinhalt während des Systemschlafs sowohl im Arbeitsspeicher als auch auf einem Systemdatenträger vorgehalten. Im Normalfall wacht der Rechner sehr schnell mit Hilfe der Daten im Arbeitsspeicher aus dem Suspend-to-RAM auf; sollte jedoch die Stromversorgung zwischenzeitlich unterbrochen worden sein, spielt das System den alten Arbeitsspeicherinhalt wie beim Aufwachen aus dem Suspend-to-Disk vom Datenträger wieder ein. So findet der Anwender seine Arbeitsumgebung immer wie vor dem Systemschlaf vor, selbst wenn zwischendurch der Notebook-Akku seine letzten Milliwatt Ladung abgeliefert hat.

Am Wochenende endet das Merge Window, in dem Torvalds noch größere Neuerungen für Linux 3.6 aufnimmt; anschließend beginnt die dieser Tage meist sieben oder acht Wochen lange Stabilisierungsphase.

Linux-Kernel

In den vergangenen Tagen wurden die Stable- und Longterm-Kernel Linux 3.2.24 und Linux 3.4.7 freigegeben. Erschienen ist auch der Kernel 3.0.39; in Kürze dürfte Linux 3.2.25 folgen. Diese beiden Versionen bringen eine ganze Reihe kleinerer Performance-Optimierungen, wie sie bislang bei Longterm-Kerneln unüblich waren; um solche Änderungen zu integrieren, haben die Kernel-Entwickler kürzlich extra die Regeln rund um die Aufnahme von Patches für Stable- und Longterm-Kernel angepasst.

Christoph Hellwig erwähnt einige der jüngsten Entwicklungen am XFS-Dateisystem in seinem "XFS status update for June 2012".

Der frühere Kernel-Entwickler Andre Hedrick hat sich das Leben genommen, wie unter anderem "The Register" berichtet. Hedrick hat vor zirka 10 Jahren eine ganze Weile die IDE-Treiber des Linux-Kernels betreut. Jeff Garzik, der das Libata-Subsystem entwickelt hat, auf dem die SATA- und PATA/IDE-Treiber moderner Linux-Distributionen aufbauen, hat Hedrick als "Großvater" von Libata bezeichnet, weil Hedrick ihm viel über ATA beigebracht habe; Garzik hat auch einen Nachruf an die LKML gesandt. Vor einen Jahrzehnt zählte Hedrick zu den wichtigeren Kernel-Entwicklern; er hat aber schon seit vielen Jahren nicht mehr direkt zum Linux-Kernel beigetragen.

Die Webseite klang.eudyptula.org erläutert ein Konzept für ein Klang (Kernel Level Audio Next Generation) genanntes und für Linux und FreeBSD gedachtes Audio-System, bei dem der Kernel mehr Aufgaben bei der Audioverarbeitung übernimmt. Klang soll unter anderem mit kleinstmöglichen Latenzen aufwarten. Die Software soll bereits in Entwicklung sein; ein Eintrag im News-Bereich der Website schraubt die Erwartungen jedoch etwas zurück und betont, die Website sei nur als Platzhalter gedacht und Klang noch nicht offiziell angekündigt. Hinter dem Vorhaben steckt offenbar der als "Datenwolf" bekannte Wolfgang Draxinger.

Grafik

Intel hat die Version 2.20.2 seiner Treiber für den X-Server von X.org veröffentlicht; er behebt einen neun Monate alten Fehler, der zu Abstürzen des Grafikkerns HD2500 (IvyBridge-GT1-Systeme) führte.

Eine während der Entwicklung von Linux 3.5 vorgenommene Änderung am Intel-Grafiktreiber führt auf dem antiquierten Thinkpad x220i des SCSI-Subsystem-Betreuer James Bottomley zu einem erhöhten Stromverbrauch; bislang gibt es aber keine Hinweise darauf, dass das Problem auch moderne Hardware betrifft.

Userland

Mit dem ersten RC der Werkzeugsammlung Util-linux 2.22 erhielten die Programme blkid, findmnt, mount, wwapon und umount Erweiterungen, um Datenträger mit Hilfe ihres Labels oder ihrer UUID zu finden. Das Programm dmesg unterstützt jetzt die in Linux 3.5 eingeflossen Änderungen an den Logging-Mechanismen und bietet so eine Follow-Funktion, um ähnlich wie bei einem "tail -f" auf neue Kernel-Meldungen zu warten und diese bei Eintreffen auszugeben. Ferner wurden die Programme eject, su, sulogin und utmpdumpa in die Werkzeugsammlung integriert, die allen Mainstream-Distributionen beiliegt.

Junio C Hamano hat den ersten RC von Git 1.7.12 veröffentlicht.

LKML-Diskussionen

Citrix-Entwickler Stefano Stabellini hat Kernel-Patches auf der LKML zur Diskussion gestellt, die den Xen-Code von Linux um Unterstützung für die Virtualisierungserweiterungen nachrüsten, welche die ARMv7-A-Kerne Cortex-A7 und A15 bieten. Bereits Anfang des Monats hat Virtualopensystems-Entwickler Christoffer Dall die neunte Version der KVM-Unterstützung für die ARM-Virtualisierungsfunktionen zur Begutachtung an die KVM-Entwickler gesandt; ein Patch, der Grundlagen dafür legt, ist kürzlich in Linux 3.6 eingegangen.

Das Unterverzeichnis mit dem Linux-Code für die 64-Bit-ARM-Architektur soll nach den neuesten Planungen den Namen "arm64" erhalten, nachdem die ursprünglich geplante Bezeichnung Aarch64 keinen Anklang fand.

Weitere Hintergründe und Informationen rund um Entwicklungen im Linux-Kernel und dessen Umfeld finden sich in den vorangegangenen Kernel-Logs auf heise open und in c't. Neue Ausgaben des Kernel-Logs werden auf den Identi.ca- und Twitter-Konten "@kernellog" erwähnt; die englischen, bei den Kollegen von "The H" erscheinenden Übersetzungen auf den Identi.ca- und Twitter-Konten "@kernellog2". Gelegentlich zwitschert der Autor des Kernel-Logs unabhängig davon über einige Kernel-Log-Themen bei Identi.ca und Twitter als "@kernellogauthor".

Quelle: www.heise.de
Titel: Erste Vorabversion des Linux-Kernels 3.6
Beitrag von: ritschibie am 03 August, 2012, 12:33
Linus Torvalds hat die erste Vorabversion von Linux 3.6 veröffentlicht und damit die Aufnahme der größten Änderungen für Linux 3.6 abgeschlossen. Eingezogen ist unter anderem eine "Suspend to Both" genannte Funktion, die hybrides Standby ermöglicht – hier hält das System den Speicherinhalt während des Schlafzustands sowohl im Arbeitsspeicher als auch auf einem Systemdatenträger vor. Hybrides Standby verhält sich normalerweise wie Suspend to RAM; wird während des Schlafzustands die Stromversorgung unterbrochen, kann das System jedoch den Hauptspeicherinhalt vom Datenträger restaurieren und korrekt aufwachen.

Im Netzwerk-Stack gab es mit den "TCP small queues" eine weitere Änderung, die zur Vermeidung des Bufferbloat-Problems beitragen soll; neu ist auch Unterstützung für die von Google entwickelte Protokollerweiterung "TCP Fast Open", die den Overhead beim Aufbau von TCP-Verbindungen senken soll, um so unter anderem HTTP-Verbindungen zu beschleunigen.

Auch das Userspace-Treiber-Framework VFIO haben die Entwickler aufgenommen; es wurde vornehmlich für die KVM-Virtualisierung entwickelt, damit Gäste einzelne PCIe-Geräte ohne größere Performance-Einbußen und ohne Gefahr für den Wirt nutzen können. Das weiterhin experimentelle Btrfs erhielt unterstützt nun Quotas und das vor allem für Backup-Lösungen interessante "send/receive" zur Bestimmung der Unterschiede zwischen Snapshots.

Das Kernel-Log in c't und auf heise open wird in den kommenden Wochen über diese und zahlreiche weitere Neuerungen von Linux 3.6 berichten. Wenn die Haupturlaubszeit auf der Nordhalbkugel die Entwicklung nicht allzu sehr beeinträchtigt, sollte diese Linux-Version in der zweiten Septemberhälfte erscheinen. Ein Urlaub Torvalds war auch der Grund, warum dieser das Merge Window diesmal zwei Tage früher als gewohnt beendete; in der Freigabe-Mail zu Linux 3.6-rc1 betonte Torvalds zudem, dass er es nicht schätzt, wenn Kernel-Entwickler ihre Änderungen erst kurz vor Ende des Merge Window einsenden.

Ben Hutchings, der sich um die Pflege des Longterm-Kernels 3.2 kümmert, hat derweil Linux 3.2.25 freigegeben. Diese Version enthält eine Reihe von Performance-Verbesserungen, die kürzlich schon in Linux 3.0.39 eingezogen sind. Zu aktuellen Entwicklungen beim Linux-Kernel und dessen Umfeld siehe auch:

Quelle: www.heise.de
Titel: Kernel-Log: Nouveau-Grundrenovierung
Beitrag von: SiLæncer am 09 August, 2012, 19:00
Beim Kernel-Treiber für Grafikchips von Nvidia stehen größere Umbaumaßnahmen an. KVM gibt es jetzt auch für MIPS. Das neue "lslock" listet gesperrten Dateien und zeigt die Programme an, die die Locks gesetzt haben.

Im Hauptentwicklungszweig von Linux gab es in den letzten Tagen deutlich wenig Änderungen als sonst nach Freigabe der ersten Vorabversion eines neuen Kernels üblich – eine Folge der Urlaubsreise, auf der Linus Torvalds gerade ist. In anderen Bereichen der Linux-Kernel-Entwicklung und in dessen Umfeld gab es aber das ein oder andere Berichtenswerte.

Der ganze Artikel (http://www.heise.de/open/artikel/Kernel-Log-Nouveau-Grundrenovierung-1664223.html)

Quelle : www.heise.de
Titel: Neue Linux-Treiber für alte Kernel-Versionen
Beitrag von: ritschibie am 15 August, 2012, 11:20
Im Rahmen des neuen Linux Kernel Backporting Project wollen Entwickler die neueren Linux-Kerneln beiliegende Treiber in einer Form anbieten, die ein Kombinieren der Treiber mit älteren Kernel-Versionen ermöglicht. Das Vorhaben ist aus Compat-Wireless hervorgegangen – einen von Entwicklern der WLAN-Treiber im Linux-Kernel gestarteten Projekt, das schon seit längerem Tar-Archive anbietet, über die sich etwa die Linux 3.5 beiliegenden WLAN-Treiber mit Kernel seit Linux 2.6.24 kombinieren lassen. Diese Archive enthalten seit einigen Monaten nicht mehr nur WLAN-, sondern auch Ethernet- und Bluetooth-Treiber.

Die Archive mit den vom Linux Kernel Backporting Project zurückportierten Treibern erhalten den Namen "compat-drivers"; eine erste Version soll erscheinen, sobald die erste Vorabversion von Linux 3.7 veröffentlicht wurde. Wie schon bei Compat-Wireless nutzen die Entwickler die Abstraktionsschicht Compat, um die Rückportierung und Pflege des Codes zu erleichtern. Derzeit planen die Entwickler des Projekts, die Bluetooth-, Ethernet- und WLAN-Treiber zurückportieren; es wird bereits daran gearbeitet, die im DRM-Subsystem liegenden Grafiktreiber des Linux-Kernels zu integrieren, auf die Mesa-3D- und Xorg-Treiber zurückgreifen.

Weitere Hintergründe zum Vorhaben liefern zwei Blog-Posts von Luis Rodriguez, der eine der treibenden Kräfte hinter dem Projekt ist (1, 2). Dort erwähnt er, der Umbau von Compat-Wireless in Compat-Drivers und der Umzug auf Kernel.org sei auf Anregung der Driver Backport Workgroup der Linux Foundation entstanden.

Quelle: www.heise.de
Titel: Linux 3.4 wird zwei Jahre gepflegt
Beitrag von: ritschibie am 21 August, 2012, 10:08
Greg Kroah-Hartman will den im Mai veröffentlichten Linux-Kernel 3.4 mindestens zwei Jahre lang pflegen. Die bislang als Stable-Kernel gewartete Linux-Version wird damit zu einem Longterm-Kernel. Wie der Hauptbetreuer der Stable- und Longterm-Kernel zudem ankündigte, will er das schon länger als Longterm-Kernel gepflegte Linux 3.0 noch mindestens ein Jahr pflegen. Bei Linux 3.5 ist das normale Schema geplant: Diese Version will der Fellow der Linux Foundation als Stable-Kernel pflegen, bis Linux 3.6.1 erschienen ist.

Somit wächst die Zahl der als Longterm-Kernel über einen längeren Zeitraum gewarteten Linux-Versionen auf sieben. Die ältesten sind 2.6.27 und 2.6.32; Willy Tarreau pflegte diese und gibt alle paar Monate neue Versionen frei. Ähnlich halten es Paul Gortmaker bei Linux 2.6.34 und Andi Kleen bei 2.6.35. Debian- und Kernel-Entwickler Ben Hutchings betreut Linux 3.2, das bei Debian 7.0 zum Einsatz kommen soll; ähnlich wie Kroah-Hartman veröffentlicht er pro Monat zumeist mehrere neue Longterm-Kernel.

Mit Linux 2.6.34.13 und 3.2.28 sind in den letzten Tagen einige neue Longterm-Kernel erscheinen. Die Versionen 3.0.42 und 3.4.10 sowie der Stable-Kernel 3.5.3 sind in Vorbereitung; sie sollten in Kürze erscheinen.

Quelle : www.heise.de
Titel: Kernel-Log – Was 3.6 bringt (1): Dateisysteme und Storage
Beitrag von: SiLæncer am 23 August, 2012, 13:15
Linux 3.6 bringt Sicherheitsverbesserungen für das Temp-Verzeichnis sowie Quota- und Backup-Funktionen für Btrfs. Über neue Schnittstellen kann der Kernel im Betrieb von Kapazitätsänderungen verwendeter Partitionen erfahren.

Am Freitag vergangener Woche hat Linus Torvalds die zweite Vorabversion von Linux 3.6 veröffentlicht. Aufgrund seines Urlaubs erschien diese nicht wie gewohnt eine, sondern erst zwei Wochen nach der Freigabe der ersten Vorabversion. Die Menge der seitdem in den Hauptentwicklungszweig einfließenden Änderungen ist auf einem normalen Niveau.

Alle größeren Neuerungen für Linux 3.6 haben Torvalds und seine Mitstreiter wie üblich zu Beginn der Entwicklung aufgenommen; es ist selten, dass die Kernel-Entwickler in der jetzt laufenden Stabilisierungsphase noch größere Änderungen integrieren oder Neuerungen wieder entfernen.

Das Kernel-Log kann daher bereits jetzt einen umfassenden Überblick über die wichtigsten Neuerungen von Linux 3.6 geben. Der erfolgt wie gewohnt in einer Artikelserie, die nacheinander die verschiedenen Bereiche von Linux behandelt. Den Anfang macht die folgende Beschreibung der wichtigsten Neuerungen rund um Dateisysteme und die Unterstützung für Storage-Hardware; die später folgenden Artikel werden sich mit Grafiktreibern, Netzwerk-Unterstützung, Architektur-Code und Treibern für andere Hardware beschäftigen.

Der ganze Artikel (http://www.heise.de/open/artikel/Kernel-Log-Was-3-6-bringt-1-Dateisysteme-und-Storage-1671225.html)

Quelle : www.heise.de
Titel: Kernel-Log: Nvidia aktualisiert Grafiktreiber
Beitrag von: SiLæncer am 29 August, 2012, 16:40
Nvidias nächste Treibergeneration soll GeForce 6 und 7 nicht mehr unterstützen. Mesa 3D macht einen Versionssprung auf 9.0. Die Kernel-Entwickler wollen den Support für i386-Prozessoren fallen lassen.

Grafikunterstützung

Nvidia hat die Version 304.43 seiner proprietären Linux-Treiber für x86-32- und x86-64-Linux freigegeben. Sie bringen unter anderem Unterstützung für die GeForce GTX 660 Ti sowie einige Quadro-Grafikkarten. Wie Phoronix erfahren hat, lässt Nvidia die Unterstützung für GeForce-Grafikkarten der Serien 6 und 7 bei der Nachfolgegeneration dieser als "Long Lived Branch" eingestuften Treiber fallen. Nvidia will die 304er-Treiber allerdings als Legacy-Driver weiterpflegen. So ist das Unternehmen schon bei einigen anderen Treiberserien vorgegangen, als es die Unterstützung für ältere Grafikkerne entfernt hat.

Der ganze Artikel (http://www.heise.de/open/artikel/Kernel-Log-Nvidia-aktualisiert-Grafiktreiber-1677800.html)

Quelle : www.heise.de
Titel: Kernel-Log – Was 3.6 bringt (2): Netzwerk
Beitrag von: SiLæncer am 03 September, 2012, 19:40
Kleinere Puffer sollen bei der Vermeidung von Bufferbloat helfen. "TCP Fast Open" verspricht schnellere HTTP-Verbindungen. Die Netfilter-Infrastruktur kann zum Connection Tracking nun auf Userspace-Programme zurückgreifen.

Durch "TCP small queues" (TSQ) nutzt Linux 3.6 pro Netzwerksocket standardmäßig nur mehr 128 KByte kleine Puffer. Ähnlich wie einige andere jüngst vorgenommene Kernel-Änderungen soll auch diese zur Vermeidung von "Bufferbloat" beitragen; der Begriff umschreibt Probleme wie hohe Netzwerklatenzen und Verbindungsabbrüche, die durch zu umfangreiches Puffern zu übertragender Daten entstehen. Die kleineren Zwischenspeicher pro Socket sollen den Durchsatz laut verschiedenen Messungen des zuständigen Entwicklers nicht beeinträchtigen; Administratoren könne den Wert bei Bedarf über die Datei /proc/sys/net/ipv4/tcp_limit_output_bytes zur Laufzeit anpassen.

Der ganze Artikel (http://www.heise.de/open/artikel/Kernel-Log-Was-3-6-bringt-2-Netzwerk-1697525.html)

Quelle : www.heise.de
Titel: Kernel-Log: Neue Werkzeuge
Beitrag von: SiLæncer am 10 September, 2012, 12:26
Die Werkzeugsammlung Util-Linux wurde um resizepart erweitert, ein beim Umpartitionieren nützliches Tool. Die X.org-Grafiktreiber erhielten Verbesserungen für Hybridgrafik. Die Erweiterungen zur Unterstützung von UEFI Secure Boot reifen heran.

Karel Zak hat die Version 2.22 der Werkzeugsammlung Util-Linux veröffentlicht, aus der Linux-Distributionen Kommandozeilenprogramme wie dmesg, fdisk, kill, mount oder su beziehen. Es ist die erste Version, der das Programm resizepart beiliegt. Über eine mit Linux 3.6 eingeführte Schnittstelle kann es den Kernel über Größenänderungen bei verwendeten Partitionen informieren; nach dem Vergrößern einer eingehängten oder anderweitig verwendeten Partition mit Hilfe von Fdisk oder Parted kann man dem Kernel so die neuen Bedingungen mitteilen und den zusätzlichen Platz sofort nutzen.

Neu ist auch das Tool lslocks, das ähnlich wie das seit 2001 ungepflegte lslk eine Liste mit gesperrte Dateien ausgibt; dabei zeigt es an, welche Programme die Locks gesetzt haben. Hintergründe zu dem Programm erläutert Zak in einem Blog-Eintrag. Das ebenfalls neue Tool wdctl dient zur Statusabfrage von Watchdog-Hardware, die manche Systeme zur Überwachung von Hardware-Komponenten enthalten.

Der ganze Artikel (http://www.heise.de/open/artikel/Kernel-Log-Neue-Werkzeuge-1702946.html)

Quelle : www.heise.de
Titel: Kernel-Log – Was 3.6 bringt (3): Architektur
Beitrag von: SiLæncer am 14 September, 2012, 15:40
Linux 3.6 kann PCIe-Chips und ATA-Ports die Stromzufuhr abklemmen. Ein neues Userspace-Treiber-Framework soll virtualisierten System flotteren Zugriff auf einzelne PCI-/PCIe-Geräte ermöglichen. Änderungen am Prozess-Scheduler versprechen ein besseres Reaktionsverhalten.

Der in ein bis drei Wochen erwartete Linux-Kernel 3.6 kann PCIe-Geräte in den Tiefschlafzustand "D3cold" schicken, den manche moderne Rechner unterstützten, um die Stromversorgung einzelner PCIe-Geräte komplett zu unterbrechen (1, 2, 3). Auch das Libata-Subsystem kann einzelne ATA-Ports nun in solch einen Schafzustand versetzen; darauf soll für spätere Kernel-Versionen vorbereiteter Code aufbauen, um optische Laufwerke in den Tiefschlaf zu schicken, was als ZPODD (Zero-Power Optical Disk Drive) bezeichnet wird.

Der Treiber intel_idle kann nun auch bei Intels aktueller Prozessorgeneration Ivy-Bridge das Ansteuern der Schlafzustände regeln; das kann interessant sein, wenn die Firmware eines Systems das eher schlecht handhabt. Das dem Kernel beiliegende Werkzeug Turbostat, das eine Nutzungsanalyse von Turbo- und Schlafzuständen moderner Prozessoren ermöglicht, wurde mit Linux 3.6 grundlegend überarbeitet; das soll einige Probleme beseitigen und die Unterstützung für aktuelle Prozessoren verbessern.

Der ganze Artikel (http://www.heise.de/open/artikel/Kernel-Log-Was-3-6-bringt-3-Architektur-1708126.html)

Quelle : www.heise.de
Titel: Kernel-Log – Was 3.6 bringt (4): Treiber
Beitrag von: SiLæncer am 19 September, 2012, 13:00
Die Entwickler haben die Unterstützung für neue MacBooks verbessert. Der Radeon-Treiber nutzt jetzt PCIe 2.0 und dem Kernel liegt nun ein Treiber für den DVB-T-Empfänger Cinergy T Stick Black bei.

Die Kernel-Entwickler haben eine Reihe von Erweiterungen und Korrekturen für Linux 3.6 aufgenommen, die die Unterstützung für im Juli vorgestellte MacBooks wie das MacBook Pro Retina verbessern; darunter eine Änderung, die ein bekanntes Boot-Problem beseitigt. Ferner gab es Anpassungen bei den Grafiktreibern, um die Grafikhardware der neuen MacBooks automatisch korrekt anzusprechen. Der Platform-Treiber apple-gmux erhielt zudem Funktionen, um den zweiten Grafikchips bei neueren Macs an- und abzuschalten (1, 2). Bei c't-Tests mit Linux 3.6-rc3 auf einem Mac Book Pro Retina funktionierte allerdings weder das Zuschalten des GeForce-Grafikchips noch die korrekte Initialisierung der Grafikhardware beim Systemstart; Linux 3.5 hingegen startete mit Hilfe einiger Tricks. Ohnehin sind noch nicht alle für die neuen MacBooks wichtigen Erweiterungen in Linux eingeflossen; ein Patch zur Unterstützung der Bluetooth-Chips wird wohl erst in Linux 3.7 aufgenommen werden.

Der ganze Artikel (http://www.heise.de/open/artikel/Kernel-Log-Was-3-6-bringt-4-Treiber-1710392.html)

Quelle : www.heise.de
Titel: Kernel-Log – Was 3.6 bringt (5): Infrastruktur
Beitrag von: SiLæncer am 20 September, 2012, 17:20
Ähnlich wie aktuelle Versionen von Mac OS X und Windows beherrscht Linux jetzt einen hybriden Schlaf. Kernel 3.6 liefert zudem bessere Zufallsdaten und nimmt EFI-Boot-Loadern Arbeit ab.

Bei der Freigabe der sechsten Vorabversion von Linux 3.6 hat Linus Torvalds zum Testen aufgefordert und erklärt, er würde den Kernel 3.6 gerne bald veröffentlichen. Es ist daher nicht auszuschließen, dass dies bereits die letzte Vorabversion war und der neue Kernel in Kürze erscheint; so manches Mal hat Torvalds nach solch einem Statement dann aber doch noch einen weiteren RC veröffentlicht, daher erscheint Linux 3.6 vielleicht auch erst zum Monatswechsel.

Aufgrund der sich nähernden Fertigstellung schließt dieser Artikel zu den Änderungen an der Infrastruktur von Linux 3.6 daher nun die Kernel-Log-Mini-Serie "Was 3.6 bringt" ab. Die ersten vier Teile der Serie hatten sich bereits den Neuerungen in den Bereichen Dateisystemen und Storage, Netzwerk, Architektur-Code sowie Treibern gewidmet.

Der ganze Artikel (http://www.heise.de/open/artikel/Kernel-Log-Was-3-6-bringt-5-Infrastruktur-1711755.html)

Quelle : www.heise.de
Titel: Linus Torvalds gibt Kernel 3.6 frei
Beitrag von: ritschibie am 01 Oktober, 2012, 10:38
(http://www.golem.de/1208/sp_93622-40707-i.jpg)
In Linux 3.6 fallen die Änderungen eher
übersichtlich aus. (Bild: Ben Tubby/CC-by-2.0)
Mit weiteren Anpassungen gegen Bufferbloat, Verbesserungen an der Sicherheit des Tmp-Verzeichnisses und einer gemischten Standby-Funktion fallen die Änderungen am Linux-Kernel 3.6 eher bescheiden aus. Linus Torvalds hat ihn jetzt freigegeben.

Die Änderungen am gerade freigegebenen Linux-Kernel 3.6 sind eher bescheiden. Linus Torvalds nennt es den Sommereffekt. Mit zwei Anpassungen am TCP-Stack wollen die Kernel-Entwickler weiter gegen das sogenannte Bufferbloat im Linux-Kernel vorgehen. Dadurch sollen die Latenzzeiten bei Netzwerkverbindungen gesenkt werden, die durch zu große Pufferung von Daten entstehen können.
Optimierter Netzwerkstack

Dafür haben die Kernel-Hacker einerseits die TCP Small Queues (TCQ) umgesetzt, bei denen jedes Netzwerksocket nur noch Puffer mit 128 KByte nutzt. Dieser Standardwert ist unter /proc/sys/net/ipv4/tcp_limit_output_bytes festgelegt und kann dort geändert werden. Laut dem Kernel-Entwickler Tom Herbert wird dabei der Datendurchsatz verbessert, ohne dass die Bandbreite reduziert wird. Mit 10-GBit-Netzwerkkarten habe er bereits einige Tests gemacht.

Mit der TCP-Erweiterung Fast Open (TFO) von Google soll die Geschwindigkeit bei der Initialisierung einer Netzwerkverbindung zwischen Client und Server erhöht werden. Dabei soll einer der drei notwendigen Schritte bereits Nutzerdaten enthalten. Bislang ist das aus Sicherheitsbedenken nicht angedacht. Google will diese jedoch durch die Verwendung von speziellen TFO-Cookies ausräumen. Damit sollen beispielsweise auch SYN-Flood-Angriffe mit traditionellen Mitteln unterbunden werden können. TFO ist noch nicht vollständig umgesetzt. Bislang können nur Clients TFO nutzen. Die serverseitige Umsetzung soll dann in Linux 3.7 folgen. Damit TFO nicht nur bei Linux eingesetzt wird, muss die Erweiterung auch bei der Iana abgesegnet werden. Dort gilt die Protokollerweiterung noch als experimentell.
Doppelter Schlafmodus

Mit Suspend to Both speichert der Linux-Kernel für den Schlafmodus künftig sowohl im Arbeitsspeicher (Bereitsschaftmodus) als auch auf der Festplatte (Ruhezustand). Damit soll der Rechner auch dann wieder genutzt werden können, wenn während des Schlafs die Stromversorgung unterbrochen wurde. Dann wird der Inhalt des Hauptspeichers von der Festplatte übernommen. Der Befehl echo suspend > /sys/power/disk; echo disk > /sys/power/state sorgt für die doppelte Speicherung. Andere Betriebssysteme wie Windows oder Mac OS X nutzen diese Funktion bereits.
Sicherheit

Mit Linux 3.6 verfolgt der Kernel künftig keine symbolischen oder Hardlinks mehr, die in Verzeichnissen abgelegt wurden, die mit Sticky Bits versehen sind. Dazu gehört beispielsweise auch der Ordner /tmp. Mit diesem Trick war es Angreifern unter Umständen möglich, Root-Hintergrunddienste zu nutzen, um sich als Administrator Zugang zum System zu verschaffen. Künftig können Symlinks nur noch in Verzeichnissen ohne Sticky-Bit verfolgt werden.

Die beiden für die Generierung von Zufallsdaten genutzten Generatoren /dev/random und /dev/urandom verwenden in Linux 3.6 weitere Quellen, etwa MAC-Adressen oder Informationen von USB-Hardware. Damit soll die Generierung etwa von TLS- und SSH-Host-Schlüsseln deutlich sicherer werden, die in bis zu 10 Prozent der Fälle zu große Ähnlichkeiten aufweisen. Die Patches sind bereits in die Stable- und Longterm-Kernels eingeflossen.
Virtualisierung

Linux 3.6 unterstützt VFIO. Die Schnittstelle ist seit Jahren in Entwicklung und soll den Datendurchsatz zwischen virtuellen Maschinen und der Hardware des Hosts deutlich erhöhen. Gastsysteme können über VFIO direkt auf Systemkomponenten zugreifen. Abgesichert werden die Zugriffe über das Input/Output Memory Management Unit (IOMMU).
Treiberoptimierungen

Darüber hinaus handelt es sich bei den Einreichungen in erster Linie um Updates. Nennenswert sind die Aktualisierungen für den Treiber für Intels Ivy Bridge SoC. Dort wurden das Turbostat-Werkzeug und der Treiber selbst so erweitert, dass sie den Idle-Modus des Prozessors in Ivy Bridge unterstützen. Außerdem wurde das Wärmemanagement des Treibers verbessert. Es soll auch auf Systemen funktionieren, die kein ACPI nutzen. Außerdem wurden weitere Codeteile hinzugefügt, die Intels neue CPU-Generation Haswell unterstützen.

Der Radeon-Treiber unterstützt standardmäßig PCI-Express der zweiten Generation. Damit dürfte die Nutzung einiger neuer Grafikkarten von AMD nochmals einen Leistungsschub erhalten.
Dateisysteme

Das Dateisystem Btrfs erhielt ebenfalls Änderungen, darunter die Schnittstelle Send-Recive, über die Userspace-Anwendungen Differenzen in Snapshots bestimmen und als Datei sichern können. Bei Bedarf können die Benutzeranwendungen die Differenzen auch wieder zurückspielen. Außerdem kann der Speicherplatz von Subquotas bestimmt werden.

Neben einer weiteren Leistungssteigerung für das Ext4-Dateisystem beim Überschreiben von Dateien werden Informationen zu Quotas nicht mehr als Dateien, sondern in versteckten Inodes in den Metadaten gespeichert.

Eine umfangreiche Liste der neuen Treiber in Linux 3.6 ist auf der Webseite von kernelnewbies.org einzusehen. Der Source Code des aktuellen Kernels steht unter kernel.org zum Download bereit.

Quelle und weitere Links: http://www.golem.de/news/linux-linus-torvalds-gibt-kernel-3-6-frei-1210-94834.html
Titel: 64-Bit-ARM-Support in Linux-Kernel integriert
Beitrag von: ritschibie am 02 Oktober, 2012, 11:05
(http://www.heise.de/imgs/18/9/2/7/8/8/5/3b67bfcf40328df5.jpeg)
ARMv8 bringt den AArch64-
Ausführungsmodus.
Knapp 18 Stunden nach der Veröffentlichung von Linux 3.6 hat Linus Torvalds die ersten Änderungen für die Version 3.7 in den Hauptentwicklungszweig des Linux-Kernels integriert. Unter ihnen ist die Unterstützung für die 64-Bit-ARM-Architektur (u. a. 1, 2, 3, 4), die ARM-Mitarbeiter Catalin Marinas kurz zuvor zur Aufnahme eingereicht hatte.

Der Architektur-Code für die offiziell AArch64 genannte Architektur ist jetzt im Verzeichnis arch/arm64/ der Kernel-Quellen gelandet, wie es einige Kernel-Entwickler bei der ersten Vorstellung des Codes gefordert hatten. Bei der Abfrage mit einem Programm wie Uname meldet der Kernel aber weiter das sperrige "aarch64", das auch andere Software zur Unterstützung der 64-Bit-ARM-Architektur nutzen wird; darunter die Binutils, die AArch64 seit Version 2.23.51.0.2 unterstützen, oder die noch vorbereiteten AArch64-Erweiterungen für die GCC. Die 64-Bit-taugliche ARM-Variante wurde im Herbst 2011 mit dem ARMv8-Befehlssatz angekündigt; Applied Micro Circuits Corporation (AMCC) hat mittlerweile erste Musterchips und versprochen, noch in diesem Jahre Produkte mit 64-Bit-ARM-Kernen fertig zu stellen.

In den Hauptentwicklungszweig von Linux ist zudem noch eine Patch-Sammlung eingezogen, durch die sich ein Kernel-Image bauen lässt, dass auf verschiedenen 32-Bit-ARM-Plattformen bootet. Bislang soll solch ein Image auf den Plattformen Highbank, Vexpress, Mvebu, Socfpga und Picoxcell laufen; bei späterer Kernel-Versionen soll Code weiterer Plattformen konvertiert werden, damit das Kernel-Image auf möglichst vielen Plattformen läuft, wie es in der X86-PC-Welt normal ist. Hintergründe zu diesem Vorhaben liefert ein LWN.net-Artikel und die Videoaufzeichnung eines Vortrags von Linaro-Entwickler Arnd Bergmann ab Zeitcode 26:15.

In den rund 30 Stunden seit der Freigabe von Linux 3.6 hat Linus Torvalds bereits rund 3601 Änderungen eingepflegt; pro Kernel-Version sind es normalerweise zirka acht- bis elftausend. Laut dem Programm Diffstat modifizieren die Änderungen 4.180 Dateien und fügen dabei 220.804 Codezeilen ein und entfernen 141.317 – verschobener Code geht in beide Werte ein. Darunter waren Änderungen (u. a. 1, 2), durch die der Kernel bei x86-Prozessoren nun die für Intels Haswell-Prozessoren geplante Sicherheitsfunktion SMAP (Supervisor Mode Access Prevention) nutzen kann. Sie soll Userland-Code vor ungewollten Änderungen durch den Kernel schützen, die Angreifer teilweise zur Rechteausweitung nutzen; Details liefert ein Beitrag im Grsecurity-Forum sowie Intels Architecture Instruction Set Extensions Programming Reference ab Seite 408.

Quelle: www.heise.de
Titel: Linux Kernel 3.6.1 Stable
Beitrag von: SiLæncer am 07 Oktober, 2012, 19:30
Changelog : https://www.kernel.org/pub/linux/kernel/v3.0/ChangeLog-3.6.1

http://www.kernel.org/
Titel: Linux: Kernel 3.7 erhält viel ARM-Code
Beitrag von: ritschibie am 15 Oktober, 2012, 11:42
(http://www.golem.de/1210/sp_95084-45024-i.jpg)
Linux 3.7 erhält zahlreiche Neuerungen für
ARM-CPUs. (Bild: Ben Tubby/CC-by-2.0)
Linus Torvalds hat die erste Vorabversion des kommenden Linux-Kernels 3.7 veröffentlicht. Die Unterstützung für ARM wurde dabei deutlich erweitert. Der Grafik-Stack erhielt ebenfalls zahlreiche Änderungen.

Mit deutlich mehr Änderungen als noch in Linux 3.6 hat Linus Torvalds den ersten Release Candidate des nächsten Linux-Kernel 3.7 veröffentlicht. Linux 3.7rc1 erhält zahlreiche Erweiterungen für ARM-CPUs, darunter die Unterstützung für 64 Bit sowie Anpassungen für die Virtualisierung mit Xen. Die Unterstützung für Grafikkarten von AMD, Intel und Nvidia wurde ebenfalls deutlich verbessert.

64-Bit-Code für ARM

Obwohl die entsprechende Hardware noch gar nicht erhältlich ist, wird Linux 3.7 als 64-Bit-Version auf künftigen ARM-CPUs laufen. Der entsprechende Code namens AArch64 ist ein Beitrag von ARM selbst. Der ARM-Entwickler Catalin Marinas hat die Patches eingereicht, die für den Betrieb auf der ARMv8-Reihe gedacht sind. Auf dem AArch64-Kernel sollen künftig 32-Bit-Anwendungen ohne Anpassungen laufen.

Außerdem sind die Patches für die Virtualisierung mit Xen auf ARM-CPUs nach mehrmonatiger Arbeit im Hauptzweig des Linux-Kernels aufgenommen worden. Mit dem Code des Xen-Entwicklers Stefano Stabellini lässt sich Linux 3.7rc1 bislang in einer unprivilegierten Domäne (DomU) starten. Das Root-Dateisystem liegt dabei in einer virtuellen Xen-Festplatte (PV-Disk). Die Virtualisierung mit Xen funktioniert bereits auf aktuellen Cortex-A15-Chips.

Bislang musste der Linux-Kernel jeweils für die verschiedenen ARM-SoCs erstellt werden. Ab Linux 3.7 reicht dafür ein einziger Kernel.

Mehr Funktionen für Grafikkarten

Besitzer einer Grafikkarte von AMD werden sich über die Patches freuen, die die Leistungsaufnahme beim Betrieb mit mehreren Monitoren senken sollen. Außerdem wurde die Dokumentation der ACPI-Schnittstellen veröffentlicht. Dabei wurde die Kontrolle über Backlights auf einigen Laptops verbessert. Die Unterstützung für Backlights mit der Abstraktionsschicht Atombios wurde ebenfalls umgesetzt.

Für Intel-Grafikkarten wurde der Modeset-Code überarbeitet. Dieser sorgt für die automatische Anpassung der Bildschirmauflösung. Sie soll künftig zuverlässiger funktionieren, etwa indem eine komplette Ausgabe-Pipe aus- und eingeschaltet werden kann. Bislang funktionierte das in Kombination mit dem Crtc-Helper, der die verschiedenen möglichen Bildschirmauflösungen der Hardware ausliest, nur beim Einschalten. Außerdem wurden zahlreiche Konsistenzprüfungen umgesetzt. Eingebettete Displayports sollen mit dem eingereichten Code ebenfalls zuverlässiger funktionieren und neue Schnittstellen in Sysfs sollen die Kontrolle über die Taktfrequenzen der GPU verbessern.

Im Nouveau-Treiber wurde der Code für die Unterstützung von SLI (Scalable Link Interface) zunächst so aufgeräumt, dass es künftig einfacher sein wird, neue Funktionen umzusetzen. Im aktuellen Treiber wurde die Lüfterkontrolle umgesetzt und Besitzer einer Nvidia-Grafikkarte mit Kepler-Kern müssen den Binärcodeschnipsel nicht mehr selbst nachliefern.

Perf ausgebaut

Das Analyse-Subsystem Perf erhielt zahlreiche Neuerungen, unter anderem für die Überwachung von KVM und das systemweite Tracing-Werkzeug Perf Trace. Außerdem lässt sich Perf auch unter Android nutzen.

Mit Linux 3.7rc1 ist das offizielle Merge-Fenster geschlossen. Weitere Änderungen könnten allerdings noch eingereicht werden, darunter Code für die Unterstützung der GPU-Einheit in Samsungs Exynos SoC und Leitungsverbesserungen am Dateisystem Btrfs.

Der Quellcode der Vorabversion von Linux 3.7 ist unter kernel.org erhältlich.

Quelle: www.golem.de
Titel: Kernel-Log – Was 3.7 bringt (1): Dateisysteme & Storage
Beitrag von: SiLæncer am 14 November, 2012, 17:40
Linux 3.7 bringt eine Reihe von Performance-Verbesserungen für Btrfs. Der Kernel unterstützt erstmals das SMB2-Datenaustauschprotokoll neuerer Windows-Systeme und beherrscht das für SSDs wichtige Discard bei Software-RAIDs.

Am Wochenende hat Linus Torvalds die fünfte Vorabversion von Linux 3.7 veröffentlicht. Dabei zeigte er sich erfreut, dass für den RC5 nur wenige und vorwiegend kleine Änderungen eingereicht wurden. Alle größeren Neuerungen haben Torvalds und seine Mitstreiter wie üblich bereits zu Beginn der Entwicklung von Linux 3.7 aufgenommen. Größere Änderungen im jetzigen Abschnitt der Stabilisierungsphase sind selten, daher kann das Kernel-Log bereits jetzt einen umfassenden Überblick über die wichtigsten Neuerungen der Anfang oder Mitte Dezember erwarteten Linux-Version geben.

Der Überblick erfolgt in einer Artikelserie, die nacheinander die verschiedenen Bereiche des Kernels behandelt. Den Anfang machen die wichtigsten Neuerungen rund um Dateisysteme und die Unterstützung für Storage-Hardware; die später folgenden Artikel werden sich mit Grafiktreibern, Netzwerk-Unterstützung, Architektur-Code und Treibern für andere Hardware beschäftigen.

Der ganze Artikel (http://www.heise.de/open/artikel/Kernel-Log-Was-3-7-bringt-1-Dateisysteme-Storage-1749467.html)

Quelle : www.heise.de
Titel: Kernel-Log – Was 3.7 bringt (2): Netzwerk
Beitrag von: SiLæncer am 19 November, 2012, 13:08
Linux beherrscht Network Address Translation (NAT) nun auch bei IPv6. Neu sind Server-seitige Unterstützung für Googles Beschleunigungstrick "TCP Fast Open" (TFO) und ein Tethering-Treiber für das iPhone 5.

Die Kernel-Entwickler haben Unterstützung für Network Address Translation (NAT) mit IPv6 in Linux integriert (u. a. 1, 2). Einige Linux-Entwickler hatten den Sinn dieser Technik in Frage gestellt, weil der größere Addressraum von IPv6 eigentlich NAT unnötig macht. Die Funktion wurde nun aber doch integriert, weil die Spezifikation für NAT mit IPv6 einige Probleme der IPv4-Lösung vermeidet und sich Anwendungsfälle ergeben haben, wo NAT bei IPv6 sinnvoll sein kann.

So wollen manche Anwender und Institutionen mit Hilfe der Technik ihre interne Netzwerk-Topologie geheim halten. Ein andere Grund sind Unternehmen, die zum Steigern der Verfügbarkeit mehrere Internet-Verbindungen von verschiedenen Providern nutzen; in solch einem Szenario erleichtert NAT den Wechsel zwischen den verschiedenen Anbindungen.
Treiber

Wie mit fast jeder Kernel-Version erhielten einige Treiber Erweiterungen, welche die Hardware-Unterstützung verbessern. Der iPhone-Tethering-Treiber ipheth etwa arbeitet nun auch mit dem iPhone 5. Der Treiber ath9k unterstützt nun den Atheros-WLAN-Baustein AR9565 (u. a. 1, 2, 3, 4). Der Broadcom-Fullmac-Treiber brcmfmac spricht jetzt die USB-WLAN-Chips 43242 und 43143 an; zusammen mit Hostap kann der Treiber die Hardware jetzt als Access Point einrichten (Master Mode). Intels Ethernet-Treiber e1000e unterstützt erstmals die Netzwerkfunktion der Low-Power-Variante des Platform Controller Hub Lynx Point enthält.

Der ganze Artikel (http://www.heise.de/open/artikel/Kernel-Log-Was-3-7-bringt-2-Netzwerk-1751471.html)

Quelle : www.heise.de
Titel: Kernel-Log – Was 3.7 bringt (3): Infrastruktur
Beitrag von: SiLæncer am 23 November, 2012, 14:12
Linux 3.7 kann anhand von Signaturen die Unversehrtheit von Kernel-Modulen prüfen. Die neue Integrity Appraisal Extension verspricht von außen untergeschobene Schadsoftware zu erkennen. Der Kernel lädt Firmwaredateien jetzt ohne Udev und erhielt für Container wichtige Verbesserungen.

Linux 3.7 kann Kernel-Module signieren und die Signatur vor dem Laden prüfen, um ihre Unversehrtheit sicherzustellen (u. a. 1, 2, 3, 4, 5, 6, 7). Einige Unternehmensdistributionen nutzen solch eine Funktion schon länger – unter anderem, um bei der Fehlersuche sicherzustellen, dass die vom Anwender verwendeten Module auch vom Distributionskernel stammen. Einige Entwickler haben sich jetzt verstärkt um eine Integration der Funktion in den offiziellen Linux-Kernel bemüht, weil einige Distributionen beim Booten per UEFI Secure Boot nur signierte Kernel-Module laden wollen, was mit dem jetzt integrierten Code möglich ist.

Neu ist auch die Integrity Appraisal Extension für die schon länger im Kernel unterstützte Integrity Measurement Architecture (IMA) (u. a, 1, 2). Schon jetzt kann der Linux-Kernel einen signierten Hash von Dateien erstellen und als erweitertes Attribut im Dateisystem speichern, um darüber die Integrität etwa von Binaries zu prüfen. Die Integrity Appraisal Extension sorgt jetzt dafür, dass der Kernel beim Zugriff auf eine Datei deren Integrität prüft und den Zugriff verweigert, wenn die Datei zwischenzeitlich verändert wurde. Das Verhalten des Appraisal-Mechanismus lässt sich über einen Bootparameter konfigurieren.

Um die dafür nötigen Prüfdaten sicher abzulegen, kann die Erweiterung ein Trusted Platform Module (TPM) nutzen; die Unterstützung dafür haben die Kernel-Entwickler parallel weiter ausgebaut (u. a. 1, 2).

Der ganze Artikel (http://www.heise.de/open/artikel/Kernel-Log-Was-3-7-bringt-3-Infrastruktur-1755492.html)

Quelle : www.heise.de
Titel: Kernel-Log – Was 3.7 bringt (4): Treiber
Beitrag von: SiLæncer am 27 November, 2012, 13:44
Größe Umbauten sollen die Treiber für Grafikkerne von Intel und Nvidia robuster machen. Linux 3.7 bringt zudem eine Reihe neuer DVB-Treiber und nutzt die Stromsparmechanismen moderner Audio-Chips besser.

Die Entwickler des Nouveau-Treibers haben den zum Kernel gehörenden Teil des Open-Source-Treibers für Nvidia-Grafikkerne grundlegend umgebaut (u. a. 1, 2, 3, 4, 5, 6). Dadurch soll er besser zu Nvidias Chips passen, die die Entwickler in den Jahren des Reverse Engineerings deutlich besser kennengelernt haben. Ziel des Ganzen ist eine saubere, weniger komplexe Treiberarchitektur, mit der sich neue Funktionen leichter implementieren lassen; darunter Support für Nvidias Grafikchip-Kopplungstechnik Scalable Link Interface (SLI), dessen Unterstützung in Nouveau aber bislang nur angedacht ist.

In Linux 3.7 ist zudem rudimentärer Support zum Einstellen der Lüfterregelung bei Grafikkernen der Serien NV40 und NV50 eingezogen, die auf GeForce-Karten der Modellreihen 6xxx bis 300 im Einsatz sind. Bei einigen der GeForce-600-Grafikkarten mit Kepler-GPU (NVE0) nutzt der Nouveau-Treiber nun eine eigene Firmware, die allerdings noch keine Beschleunigungsfunktionen ermöglicht.

Der ganze Artikel (http://www.heise.de/open/artikel/Kernel-Log-Was-3-7-bringt-4-Treiber-1756933.html)

Quelle : www.heise.de
Titel: Kernel-Log – Was 3.7 bringt (5): CPU- und Plattform-Code
Beitrag von: SiLæncer am 30 November, 2012, 12:53
Linux 3.7 unterstützt ARM64, Intels Sicherheitsfunktion SMAP und enthält jetzt Patches für die Raspberry-Pi-CPU. Der nächste Kernel bringt zudem neue Tracing-Werkzeuge und Verbesserungen zur Zusammenarbeit mit Microsofts Hypervisor.

Nach der Freigabe-Mail von Linux 3.7-rc6 deutete vieles auf eine Veröffentlichung von Linux 3.7 rund um den ersten Advent hin. In der Mail zur siebten Vorabversion klang es dann allerdings ein wenig so, als gäbe es vielleicht doch noch einen weiteren RC. Ein solcher vertagt die Fertigstellung einer Version typischerweise um eine Woche; weitere Verzögerungen dürfte es aber wohl nur geben, wenn die Kernel-Entwickler zur Fehlerbeseitigung noch umfangreichere Änderungen vornehmen müssen, die eine längere Testphase erfordern.

Die folgende Beschreibung zu den Neuerungen an Prozessor- und Plattform-Code schließt daher nun die Kernel-Log-Mini-Serie "Was 3.7 bringt" ab. Die ersten vier Teile der Serie hatten sich den für Linux 3.7 integrierten Änderungen gewidmet, die die Kernel-Entwickler in den Bereichen Dateisysteme und Storage, Netzwerk, Infrastruktur sowie Treiber vorgenommen haben.

Der ganze Artikel (http://www.heise.de/open/artikel/Kernel-Log-Was-3-7-bringt-5-CPU-und-Plattform-Code-1756879.html)

Quelle : www.heise.de
Titel: Hochverfügbarkeit: Erste Beta von DRBD 9 veröffentlicht
Beitrag von: ritschibie am 03 Dezember, 2012, 12:44
DRBD (Distributed Replicated Block Device), seit Linux 2.6.33 Bestandteil des Linux-Kernels, sorgt als eine Art "RAID-1 übers Netz" für die sichere Datenreplikation zwischen Rechnern: Der Datenträger eines Rechners (Master) wird in Echtzeit auf einen anderen Rechner (Slave) gespiegelt – beim Ausfall des Masters übernimmt der Slave nahtlos die Arbeit. Damit die Daten immer synchron sind, betrachtet der Master Schreibzugriffe erst als beendet, wenn auch der Slave den Schreibprozess abgeschlossen hat.

DRBD-Entwickler Linbit hat jetzt die erste Beta der kommenden Version 9 der Replikationslösung vorgestellt. Wichtigste Neuerung in DRBD 9 ist Multiple Node Replikation, dank der sich der Datenbestand zwischen mehr als zwei Rechnern synchron halten lässt. Verbindungen zwischen den Knoten eines DRBD-Netzes lassen sich dabei dynamisch konfigurieren. Dazu wurden große Teile des Codes neu geschrieben. Bislang musste man in DRBD-Konfigurationen mit mehr als zwei Rechnern auf Stacking zurückgreifen, was einen höheren Overhead mit sich bringt. Zudem sollen zufällige Schreibzugriffe deutlich schneller geworden sein.

DRBD 9 Beta steht unter GPL 2 zum Download zur Verfügung. Wann die neue Version in den Kernel aufgenommen wird, ist noch nicht klar. Die Entwickler weisen ausdrücklich darauf hin, dass DRBD 9 noch nicht für den Einsatz in Produktionsumgebungen taugt.

Quelle und weitere Links: http://www.heise.de/open/meldung/Hochverfuegbarkeit-Erste-Beta-von-DRBD-9-veroeffentlicht-1761005.html
Titel: Weitere Vorabversion von Linux 3.7 und neue Stable-Kernel
Beitrag von: ritschibie am 04 Dezember, 2012, 12:13
(http://www.heise.de/imgs/18/9/5/5/4/5/9/logo-med.jpg-daf01db2559f03df.jpeg)
Linus Torvalds hat eine achte Vorabversion von Linux 3.7 veröffentlicht und dabei angekündigt, die Version 3.7 in knapp einer Woche freigeben zu wollen. Ursprünglich hatte er die Freigabe des neuen Kernels für das vergangene Wochenende vorgesehen, wie er es bereits bei der sechsten Vorabversion vage in Aussicht gestellt hatte. Nachdem er dann am Sonntag noch einmal eine Nacht über die Freigabe schlafen wollte, stellte sich raus, dass eines von mehreren Problemen nicht gelöst ist, durch die der Kswap-Daemon den Prozessor stark belastet und Systeme bis zur Unbenutzbarkeit abbremst.

Parallel zu Linux 3.7-rc8 hat Greg Kroah-Hartman den Stable-Kernel Linux 3.6.9 sowie die Longterm-Kernel Linux 3.0.54 und Linux 3.4.21 veröffentlicht. Wie üblich bringen sie Fehlerkorrekturen und kleinere Verbesserungen, bei denen kaum Gefahr besteht, dass sie zu neuen, zuvor nicht dagewesenen Fehlern führen; darunter etwa Unterstützung für die HD-Audio-Codecs ALC283, ALC290 und ALC292 von Realtek. Der Longterm-Kernel 3.2.35 ist noch in Vorbereitung und dürfte noch diese Woche – vermutlich Donnerstag – erscheinen.

Quelle: www.heise.de
Titel: Linux-Kernel 3.7 freigegeben
Beitrag von: ritschibie am 11 Dezember, 2012, 11:58
Linux-Initiator Linus Torvalds hat Version 3.7 des Linux-Kernels mit der ersten Implementierung der 64-Bit-ARM-Architektur freigegeben. Gemeinsam mit zahlreichen weiteren Neuerungen und Verbesserungen ergeben sich Änderungen, die zu den größten in der bisherigen Geschichte von Linux zählen.

Knapp zweieinhalb Monate nach Linux 3.6 ist nun Linux 3.7 fertiggestellt. Die neue Version umfasst weit über 10.000 Änderungen, und die Änderungen sind größer als die letzten beiden Versionen zusammengenommen. Einer der Gründe dafür ist die Aufnahme der 64-Bit-ARM-Architektur, die anfänglich eine vollständig separate Kopie des bisherigen ARM-Codes darstellt. Eine weitere große Änderung ist die Trennung der Definitionen, die für Anwendungen nötig sind, von denen, die ausschließlich im Kernel verwendet werden, in separate Header-Dateien. Die neuen Header-Dateien findet man im Kernel unter include/uapi und arch/$(ARCH)/include/uapi. Sie hatten eine umfangreiche Reorganisation zur Folge, die zweifellos zu einer Vereinfachung der Kernel-internen Header führte. Für absehbare Zeit hat Torvalds nun allerdings genug von solchen Änderungen, die seiner Ansicht nach total sinnlos sind.

(http://www.pro-linux.de/images/NB3/imgdb/n_Torvalds_Linus_1-linus-torvalds-initiator-des-linux-kernels.jpg)
Linus Torvalds,
Initiator des
Linux-Kernels
Die Vereinheitlichung der ARM-Architektur mit ihren unzähligen Varianten trägt nun erste Früchte. Durch den sogenannten Device Tree lassen sich ARM-Kernel generieren, die auf mehreren Systemarchitekturen lauffähig sind. Dies ist vor allem für Distributoren interessant, die dadurch weniger spezialisierte Kernel erzeugen müssen.

Kernel-Module können jetzt kryptografisch signiert werden, was unter anderem für die Unterstützung von UEFI Secure Boot nötig ist. Benutzer-Namensräume kamen in benutzbarer Form zurück. Die ARM-Architektur unterstützt jetzt Virtualisierung und Xen. Das Programm perf erhielt ein Unterkommando trace, das ähnlich wie strace funktioniert, aber neben Systemaufrufen auch andere Ereignisse anzeigen kann. Auf Intel-Prozessoren wird nun »Supervisor Mode Access Prevention (SMAP)« unterstützt.

Das Dateisystem CIFS unterstützt jetzt SMB 2.1 vollständig. NFS 4.1 gilt nicht mehr als experimentell, und MD RAID unterstützt nun die TRIM-Operation der Hardware. Die Server-Unterstützung für TCP Fast Open wurde implementiert. Das Sicherheitsmodul YAMA kann nun gemeinsam mit anderen Sicherheitsmodulen verwendet werden. Der Kernel lädt Firmware direkt, ohne den Umweg über udev zu nehmen. Grund dafür ist ein heftiger Streit über eine Änderung, die die udev-Entwickler zur Integration in systemd vornahmen; sie kann zu unakzeptablen Verzögerungen beim Laden von Firmware führen.

Der Kern des Nouveau-Treibers für Nvidia-Chips wurde komplett neu geschrieben, da die Hardware jetzt viel besser verstanden wird als zum Beginn der Entwicklung. Der neue Code soll dieses Wissen reflektieren. Das Video4Linux2-Subsystem wurde vollständig neu organisiert. Zudem wurde der DVB-USB-Kern neu geschrieben und einige Treiber an diesen angepasst. Das Soundtreiber-Subsystem ALSA erhielt ein neues API zur Verwaltung von Audiokanälen. Ein neues internes Subsystem befasst sich mit Kühler-Komponenten.

Eine Liste aller Änderungen kann man dem Git-Repositorium entnehmen. Die Seite Kernelnewbies.org wird in Kürze eine übersichtliche Zusammenfassung der Änderungen veröffentlichen. Die aktuelle Version von Linux kann von kernel.org und zahlreichen Spiegel-Servern in Form von Patches oder tar-Paketen heruntergeladen werden.

Quelle: www.pro-linux.de
Titel: Linux läuft in Zukunft nicht mehr auf dem i386
Beitrag von: ritschibie am 13 Dezember, 2012, 12:08
Linus Torvalds hat einige von Intel-Mitarbeiter H. Peter Anvin entwickelte Änderungen in den Hauptentwicklungszweig von Linux integriert, die die Unterstützung für Prozessoren der 386er-Klasse aus dem Linux-Kernel entfernen (u. a. 1, 2, 3). Dadurch wird auch der Nx586 der später von AMD übernommenen Firma Nexgen nicht mehr unterstützt; Designideen dieses Prozessors flossen später in den weiterhin unterstützten AMD K6 ein.

Wie Ingo Molnar bei der Einreichung der Änderungen schreibt, hat die Unterstützung für 386er-CPUs den Entwicklern die Arbeit bei manchen Umbauten erschwert. Die Entwickler hatten daher schon im August darüber diskutiert, den Support für diese Anfang der 90er verbreiteten Prozessoren zu entfernen.

Molnar hat Torvalds in dem Zug auch darauf hingewiesen, dass Linux durch die Änderungen nicht mehr auf dem System laufen wird, für das Torvalds mit der Entwicklung von Linux begonnen hat. Torvalds ging in einer Antwort darauf gar nicht ein und schlug vor, auch die Unterstützung für die FPU-Emulation zu entfernen, wie sie für den 486sx benötigt wird. Dazu scheint es aber nicht zu kommen, denn Anvin vermutet, dass möglicherweise noch 486er ohne FPU produziert werden; laut einem Test mit Qemu scheint Linux auf solchen Prozessoren auch noch zu arbeiten.

Seit dem Erscheinen von Linux 3.7 vor zwei Tagen sind noch über 5.500 weitere Patches in den Hauptentwicklungszweig eingeflossen, aus dem Linux 3.8 hervorgeht, das im Februar erscheinen dürfte. Laut Diffstat haben diese rund 243.620 Codezeilen eingefügt und 215.181 Zeilen entfernt; verschobener Code geht in beide Werte ein.

Quelle: www.heise.de
Titel: Funktionsumfang von Linux 3.8 abgesteckt
Beitrag von: SiLæncer am 22 Dezember, 2012, 11:20
Linus Torvalds hat die erste Vorabversion von Linux 3.8 freigegeben. Sie bringt wie berichtet das Dateisystem F2fs (Flash-Friendly File System) mit, das für den Einsatz auf Flash-Datenträgern ausgelegt ist – etwa USB-Sticks, Speicherkarten, aber auch die internen Speichermedien von Kameras, Tablets und Smartphones. Integriert haben die Entwickler auch einige unter dem Schlagwort "Balancenuma" entwickelte Grundfunktionen, mit denen der Kernel automatisch Prozessor und Arbeitsspeicher zusammen zu halten versucht, die ein Prozess verwendet. Das ist für optimale Performance auf den heute verbreiteten Multiprozessorsystemen mit NUMA (Non-Uniform Memory Access) wichtig, denn dort kann ein Prozess am schnellsten auf den Arbeitsspeicher jenes Prozessors zugreifen, auf dem er läuft. Weitere, vermutlich bei Linux 3.9 und späteren Versionen folgende Verbesserungen sollen das automatische Zusammenhalten noch deutlich verbessern und auf den jetzt integrierten Grundlagen aufbauen.

Der ganze Artikel (http://www.heise.de/open/meldung/Funktionsumfang-von-Linux-3-8-abgesteckt-1774071.html)

Quelle : www.heise.de
Titel: Kernel-Log – Was 3.8 bringt (1): Dateisysteme und Storage
Beitrag von: SiLæncer am 21 Januar, 2013, 17:15
Linux unterstützt jetzt das speziell auf Datenträger mit Flash-Chips zugeschnittene Dateisystem F2fs. Btrfs soll bestimmte Aufgaben flotter erledigen und Ext4 kann kleine Dateien nun effizienter handhaben.

Linus Torvalds hat am Freitag die vierte Vorabversion von Linux 3.8 veröffentlicht. Er rief dabei zum Testen auf und erwähnte erfreut, die Entwicklung komme seiner Ansicht nach zur Ruhe. Alle größeren Neuerungen für Linux 3.8 haben Torvalds und seine Mitstreiter wie üblich aufgenommen, als sie mit der Entwicklung dieser Version begonnen haben. Größere Änderungen im jetzigen Abschnitt der Stabilisierungsphase sind selten, daher kann das Kernel-Log bereits jetzt einen umfassenden Überblick über die wichtigsten Neuerungen der Mitte Februar erwarteten Linux-Version geben.

Der Überblick erfolgt in einer Artikelserie, die nacheinander die verschiedenen Bereiche des Kernels behandelt. Den Anfang machen die wichtigsten Neuerungen rund um Dateisysteme, Netzwerk-Techniken sowie Treiber für Storage- und Netzwerk-Hardware. Die später folgenden Artikel werden sich mit Grafiktreibern, Kernel-Infrastruktur, Netzwerk-Unterstützung, Prozessor/Plattform-Unterstützung und Treibern für andere Hardware beschäftigen.

Der ganze Artikel (http://www.heise.de/open/artikel/Kernel-Log-Was-3-8-bringt-1-Dateisysteme-und-Storage-1788185.html)

Quelle : www.heise.de
Titel: LTSI-Kernel 3.4 erschienen
Beitrag von: SiLæncer am 23 Januar, 2013, 13:17
Die Long-Term Support Initiative der Linux Foundation hat einen Kernel auf Basis von Linux 3.4.25 veröffentlicht, der zwei Jahre lang unterstützt wird.

Die Long-Term Support Initiative (LTSI) war im Oktober 2011 gegründet worden. Sie untersteht der Arbeitsgruppe für Elektronikgeräte und will mit der Herausgabe eigener Kernel erreichen, dass die Gerätehersteller eine langfristig unterstützte Kernel-Version zur Verfügung haben, die ihren Bedürfnissen entspricht oder zumindest eine gute Basis für ihre Anforderungen darstellt. Einmal im Jahr soll eine LTSI-Kernel-Version erscheinen, die jeweils zwei Jahre lang unterstützt wird. In einem separaten Industrie-Zweig sollen Kernel veröffentlicht werden die bis zu drei Jahren unterstützt werden. Das soll der typischen Lebenszeit eines Elektronikprodukts von zwei bis drei Jahren entsprechen.

Der ganze Artikel (http://www.pro-linux.de/news/1/19365/ltsi-kernel-34-erschienen.html)

Quelle : www.pro-linux.de
Titel: Kernel-Log – Was 3.8 bringt (2): Infrastruktur
Beitrag von: SiLæncer am 08 Februar, 2013, 13:35
Anwender ohne Root-Rechte sollen künftig Container einrichten können, in denen Software läuft, die Root-Rechte benötigt. Linux 3.8 belegt in bestimmten Situationen weniger Speicher und bringt Verbesserungen für NUMA-Systeme; die Unterstützung für Intels 386er flog raus.

Linux 3.8 schließt die größere Umbauarbeiten zur Unterstützung für User Namespaces weitgehend ab, die Eric W. Biederman in den letzten Monaten vorangetrieben hat. Durch diese Änderungen können nun auch unprivilegierte Anwender einen abgeschotteten Bereich aufsetzen, in dem sie Root-Rechte haben; der Anwender darf dort aber nichts tun, was privilegierte Aktionen außerhalb des Namespace erfordern würde.

Die Verbesserungen sind etwa für Container-Virtualisierung interessant, damit Anwender dort auf Software betreiben können, die Root-Rechte benötigen, ohne den Rest des Systems zu gefährden. Durch die Umbauten lässt die Technik jetzt sogar ein Verschachteln zu, sodass Anwender in einem Container einen abgeschotteten Bereich einrichten können – etwa in einem virtuellen Server, den der Web-Hoster mit Container-Techniken bereitstellt. Details zu den User Namespaces und anderen Namespace-Techniken erläutern LWN.net in einer Artikelserie, die bisher vier Teile umfasst (1, 2, 3, 4). Ganz abgeschlossen sind die Umbauarbeiten aber noch nicht, daher lassen sich die User Namespaces bei der Konfiguration von Linux 3.8 nur aktivieren, wenn diverse Dateisysteme (darunter Ceph, CIFS, GFS2, NFS, OCFS2 und XFS) außen vor bleiben.

Der ganze Artikel (http://www.heise.de/open/artikel/Kernel-Log-Was-3-8-bringt-2-Infrastruktur-1800418.html)

Quelle : www.heise.de
Titel: Aufnahme von D-Bus in den Kernel geplant
Beitrag von: SiLæncer am 11 Februar, 2013, 13:37
Wie einem Blog-Eintrag des Kernel-Entwicklers Greg Kroah-Hartman entnommen werden kann, plant das Team, den Kernel um ein neues, auf der Basis von D-Bus aufbauendes System zur Interprozess-Kommunikation (IPC) zu ergänzen.

Laut einem Blog-Eintrag (http://www.kroah.com/log/linux/af_bus.html) planen die Kernel-Entwickler, den Linux-Kernel um ein neues System zur Interprozess-Kommunikation (IPC) zu erweitern. Die auf D-Bus aufsetzende Lösung soll sowohl eine direkte Punkt-zu-Punkt-Verbindung als auch Multicasts erlauben. Anwendungen sollen so direkt die neue Architektur nutzen, ohne dass sie von der Änderung betroffen sind. Ziel sei es, die Kommunikation schneller, sicherer und einfacher zu machen. Das gab Greg Kroah-Hartman bekannt.

D-Bus dient in der Regel zur Kommunikation zwischen Anwendungen oder Systemen. Es ist Bestandteil des freedesktop.org-Projektes und wird nahezu bei jeder modernen Linux-Distribution eingesetzt. In seiner Gesamtheit stellt D-Bus eine leichtgewichtige Middleware dar, sowie im Speziellen einen Object Request Broker (ORB). Gedacht ist D-Bus zum einen für die Kommunikation zwischen Desktopanwendungen als sogenannter Session-Bus und zum anderen für die Kommunikation zwischen der Desktopsitzung und Teilen des Betriebssystems.

Die Idee, den Dienst direkt im Kernel zu implementieren, ist indes nicht neu. Mit AF_BUS existiert sogar eine Lösung, die bereits Einzug in manche Kernelvarianten hielt. Wie Kroah-Hartman allerdings schreibt, ist AF_BUS zu speziell an die Bedürfnisse des Automotiv-Bereiches geknüpft und für den Desktop nur bedingt geeignet. Auch der von Google in Android eingebundene Binder sei nicht der richtige Ansatz, wie die Kernel-Entwickler dem Suchmaschinenbereiter in der Vergangenheit signalisiert haben.

Wie Kroah-Hartman weiter schreibt, handelt es sich bei dem Ansatz im Moment lediglich um ein Szenario. Inwieweit die Idee auch als Lösung realisiert werden kann, steht noch nicht fest. Genauso wenig kann der Entwickler ein Fertigstellungsdatum nennen.

Quelle : www.pro-linux.de
Titel: Kernel-Log – Was 3.8 bringt (3): Treiber
Beitrag von: SiLæncer am 14 Februar, 2013, 18:30
Der Linux-Kernel bringt jetzt alles Nötige mit, um die 3D-Beschleunigung sämtlicher GeForce-Grafikchips zu verwenden. Neu dabei sind auch Treiber für einen Wireless-Gigabit-Chip und einem PCIe-WLAN-Chip von Realtek

In der Freigabe-Mail von des sechsten Release Candidate deutete Linus Torvalds Anfang Februar bereits an, er arbeite darauf hin, dass der siebte RC möglichst die letzte Vorabversion ist. Den RC7 hat Torvalds jetzt freigegeben, dabei aber keine Andeutungen gemacht, ob es vor der Fertigstellung von Linux 3.8 noch eine achte Vorabversion geben wird.

Sofern keine schwerwiegenden Fehler mehr auftauchen, dürfte der Linux-Kernel 3.8 aber auf jeden Fall noch im Februar erscheinen. Die folgende Beschreibung zu den Neuerungen an Treibern soll daher nun die Kernel-Log-Mini-Serie "Was 3.8 bringt" abschließen. Die ersten beiden Teile der Serie hatten sich bereits mit den den Änderungen in den Bereichen Dateisysteme und Storage sowie Plattform- und Infrastuktur-Code beschäftigt.

Der ganze Artikel (http://www.heise.de/open/artikel/Kernel-Log-Was-3-8-bringt-3-Treiber-1801542.html)

Quelle : www.heise.de
Titel: Linux Kernel 3.7.9 Stable
Beitrag von: SiLæncer am 17 Februar, 2013, 21:20
Changelog : https://www.kernel.org/pub/linux/kernel/v3.0/ChangeLog-3.7.9

https://www.kernel.org/
Titel: Linux-Kernel 3.8 veröffentlicht
Beitrag von: SiLæncer am 19 Februar, 2013, 12:14
Linus Torvalds hat den Linux-Kernel 3.8 freigegeben. Er bringt volle Unterstützung für den Grafikkern in Intels kommender Prozessorgeneration Haswell und enthält alles Nötige, um die 3D-Beschleunigung bei sämtlichen GeForce-Grafikkernen zu nutzen.

Eine weitere Neuerung ist das Dateisystem F2fs, das speziell für Flash-Datenträger in Kameras, Tablets und Smartphones sowie USB-Sticks und Speicherkarten optimiert ist. Die Kernel-Entwickler haben zudem Btrfs und Ext4 in einigen Bereichen beschleunigt. Neue und ausgebaute Treiber verbessern die Hardware-Unterstützung. Linux 3.8 bringt zudem einige für Container interessante Umbauten sowie Funktionen, durch die NUMA-Systeme bessere Performance liefern sollen. Die Unterstützung für i386-Prozessoren wurde entfernt.

Einen Überblick über diese und viele weitere Neuerungen im Linux-Kernel 3.8 liefert ein Artikel auf heise open:

    Die Neuerungen von Linux 3.8 (http://www.heise.de/open/artikel/Die-Neuerungen-von-Linux-3-8-1804113.html)

Quelle : www.heise.de
Titel: Funktionsumfang von Linux 3.9 steht
Beitrag von: SiLæncer am 04 März, 2013, 14:09
Experimentelle Unterstützung für RAID 5 und 6 im weiterhin experimentellen Btrfs ist eine der größten Neuerungen des Ende April erwarteten Linux 3.9. Das lässt sich bereits jetzt absehen, da Linus Torvalds die erste Vorabversion von Linux 3.9 veröffentlicht hat und damit wie üblich die Merge Window genannte Phase im Entwicklungszyklus abgeschlossen hat, in der er das Gros der Änderungen für die nächste Version aufnimmt – diesmal nicht wie sonst nach vierzehn, sondern bereits dreizehn Tage nach der Veröffentlichung von Linux 3.8.

Linux 3.9 wird zudem ein Cache Target im Device Mapper enthalten, mit dem sich SSDs als Cache für Festplatten nutzen lassen, um den Zugriff auf häufig benutzte Daten zu beschleunigen oder Schreibvorgänge auf der schnelleren SSD zwischenzuspeichern. Die Kernel-Entwickler haben zudem den Code für die LZO-Kompression aktualisiert und ausgebaut; er soll dadurch deutlich flotter arbeiten. Der Kernel-eigene Hypervisor KVM wird bei Linux 3.9 die Virtualisierungsfunktionen von Cortex-A15-Prozessoren unterstützen und arbeitet damit erstmals auch unter ARM-CPUs. Die nächste Kernel läuft zudem auf zwei CPU-Architekturen mehr als seine Vorgänger: Den ARC-Prozessoren von Synopsys sowie den Prozessorkernen Meta ATP (Meta 1) und HTP (Meta 2) von Imagination.

Der ganze Artikel (http://www.heise.de/open/meldung/Funktionsumfang-von-Linux-3-9-steht-1815270.html)

Quelle : www.heise.de
Titel: Kernel-Log – Was 3.9 bringt (1): Dateisysteme und Storage
Beitrag von: SiLæncer am 27 März, 2013, 16:45
Der Linux-Kernel kann SSDs nun als Festplatten-Cache konfigurieren. Btrfs unterstützt RAID 5 und 6 jetzt direkt im Dateisystem. Die Kernel-Entwickler haben zudem zwei durch frühere Änderungen entstandene Performance-Probleme beseitigt.

Am vergangenen Sonntag hat Linus Torvalds die vierte Vorabversion des Linux-Kernels 3.9 freigegeben. Er merkte dabei an, die Entwicklung sei bislang nicht zur Ruhe gekommen, und rief zum Testen des RCs auf.

Alle größeren Neuerungen von Linux 3.9 haben Torvalds und seine Mitstreiter wie üblich bereits in den zwei Wochen nach Freigabe der Version 3.8 Mitte Februar in den Kernel integriert. Größere Änderungen in der jetzt laufenden Stabilisierungsphase von 3.9 sind selten, daher können wir bereits jetzt einen umfassenden Überblick über die wichtigsten Neuerungen geben, die die Ende April erwartete Linux-Version bringen wird.

Der Überblick erfolgt in einer Artikelserie, die nacheinander die verschiedenen Bereiche des Kernels behandelt. Den Anfang macht die folgende Beschreibung zu den Neuerungen rund um Datenträgertechniken und Dateisysteme. In den nächsten Wochen folgen Artikel zu Grafiktreibern, Kernel-Infrastruktur, Netzwerktechniken, Prozessor/Plattform-Unterstützung und Treibern für andere Hardware.

Der ganze Artikel (http://www.heise.de/open/artikel/Kernel-Log-Was-3-9-bringt-1-Dateisysteme-und-Storage-1829979.html)

Quelle : www.heise.de
Titel: Kernel-Log – Was 3.9 bringt (2): Infrastruktur
Beitrag von: SiLæncer am 10 April, 2013, 16:20
Experimentelle Kernel-Funktionen sind jetzt nur noch in den Hilfetexten der Konfigurationsoptionen gekennzeichnet, die Option CONFIG_EXPERIMENTAL ist abgeschafft. Linux 3.9 beherrscht "Suspend Freeze" und kann Intel-CPUs durch Kurzzeitschlaf drosseln. Der KVM-Hypervisor unterstützt jetzt ARM-Kerne.

Die Linux-Entwickler haben wie geplant die Kernel-Konfigurations-Option CONFIG_EXPERIMENTAL entfernt (u. a. 1, 2). Ursprünglich sollten sich experimentelle Funktionen bei der Kernel-Erstellung nur aktivieren lassen, wenn diese Option gesetzt war. Nach dem Reifen von Funktionen haben die Kernel-Entwickler aber oftmals vergessen, die Abhängigkeit von CONFIG_EXPERIMENTAL zu entfernen, sodass man Option so gut wie immer aktivieren muss, um einen Kernel für moderne Hardware und Distributionen zu bauen. Das ist auch den Kernel-Entwicklern aufgefallen, daher lassen sie den Ansatz jetzt fallen.

Auf tatsächlich experimentelle Funktionen weisen jetzt nur noch die bei der Konfiguration angezeigten Hilfetexte oder Angaben wie "(EXPERIMENTAL)" in der Kurzbeschreibung hin; das zeigt sich beispielsweise beim Konfigurations-Hilfetext des Btrfs-Dateisystems.

Der ganze Artikel (http://www.heise.de/open/artikel/Kernel-Log-Was-3-9-bringt-2-Infrastruktur-1837620.html)

Quelle : www.heise.de
Titel: Kernel-Log – Was 3.9 bringt (3): Treiber & Netzwerk
Beitrag von: SiLæncer am 17 April, 2013, 19:50
Linux 3.9 enthält Treiber für neue Grafikchips von AMD und im Sommer erwartete WLAN-Chips von Intel. Durch Änderungen am Netzwerk-Subsystem soll der Kernel den Netzwerkverkehr nun besser auf mehrere Prozessorkerne verteilen können.

Bei der Freigabe der siebten Vorabversion von Linux 3.9 macht Linus Torvalds keine Andeutungen, wann er 3.9 veröffentlichen will. Da aber die meisten der aufgenommenen Korrekturen laut Torvalds klein waren, könnte der RC7 die letzte Vorabversion des Kernels 3.9 sein, wie es Torvalds schon beim RC6 angedeutet hatte.

Sofern keine schwerwiegenden Fehler mehr auftauchen, könnte der Linux-Kernel 3.9 schon am nächsten Wochenende, mit ziemlicher Sicherheit aber noch im April erscheinen. Die folgende Beschreibung zu den Neuerungen an Treibern und Netzwerk-Unterstützung soll daher nun die Kernel-Log-Mini-Serie "Was 3.9 bringt" abschließen. Die ersten beiden Teile der Serie hatten sich bereits mit den den Änderungen beschäftigt, die die Kernel-Entwickler in den Bereichen Dateisysteme und Storage sowie Plattform- und Infrastuktur-Code vorgenommen haben.

Der ganze Artikel (http://www.heise.de/open/artikel/Kernel-Log-Was-3-9-bringt-3-Treiber-Netzwerk-1841580.html)

Quelle : www.heise.de
Titel: Linux-Kernel 3.9 veröffentlicht
Beitrag von: SiLæncer am 29 April, 2013, 06:39
Linus Torvalds hat den Linux-Kernel 3.9 freigegeben. Mit Hilfe eines neues Device-Mapper-Target kann er erstmals SSDs als Cache für Festplatten einrichten. Zudem kann nun schon der Kernel eingehende Netzwerkverbindungen auf verschiedene Threads einer Server-Software verteilen, um die Arbeit besser auf mehrere CPU-Kerne zu verteilen.

KVM virtualisiert jetzt auch auf ARM-Prozessoren und Btrfs beherrscht neben RAID 0 und 1 nun auch die RAID-Level 5 und 6. Linux 3.9 enthält zudem eine Reihe neuer und verbesserter Treiber; dadurch unterstützt der Kernel nun den Grafikkern in AMDs nächster APU-Generation und spricht auch den 802.11ac-WLAN-Chip an, den Intel vermutlich in seiner nächsten Notebook-Plattform einsetzt.

Einen Überblick über diese und viele weitere Neuerungen im Linux-Kernel 3.9 liefert ein Artikel auf heise open:

    Die Neuerungen von Linux 3.9 (http://www.heise.de/open/artikel/Die-Neuerungen-von-Linux-3-9-1844759.html), Bericht auf heise open

Quelle : www.heise.de
Titel: Linux Kernel 3.9.2 Stable
Beitrag von: SiLæncer am 11 Mai, 2013, 19:40
Changelog : https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.9.2

https://www.kernel.org/
Titel: Funktionsumfang von Linux 3.10 abgesteckt
Beitrag von: SiLæncer am 13 Mai, 2013, 09:11
Der Linux-Kernel 3.10 wird den Block-Layer-Cache Bcache mitbringen, mit dem sich eine SSD als Cache für deutlich trägere, aber mehr Kapazität bietende Festplatte einrichten lässt. Das von einem Google-Mitarbeiter entwickelte und bei Google eingesetzte Bcache ist das zweite Feature dieser Art, das in den Linux-Kernel einfließt; das erste ist Dm-Cache, das der Linux-Kernel seit der vor zwei Wochen freigegebenen Version 3.9 enthält.

Die Radeon-Treiber von Linux 3.10 werden Schnittstellen bieten, über die sich der Unified Video Decoder (UVD) von Radeon-HD-Grafikkarten seit der HD-4000-Generation ansprechen lässt; passende Userspace-Treiber für den Video-Beschleuniger soll die nächste größere Überarbeitung von Mesa 3D enthalten, das die Versionsnummer 9.2 oder 10.0 tragen soll.

Der ganze Artikel : http://www.heise.de/open/meldung/Funktionsumfang-von-Linux-3-10-abgesteckt-1860920.html
Titel: Linux-Kernel 3.8 wird bis Mitte 2014 gepflegt
Beitrag von: SiLæncer am 15 Mai, 2013, 14:10
Canonical-Mitarbeiter wollen den Linux-Kernel 3.8 bis zum August 2014 mit Sicherheitskorrekturen und kleinen Verbesserungen versorgen. Wie schon bei Linux-Kernel 3.5 erfolgt die Wartung allerdings unabhängig von den offiziellen Stable- und Longterm-Kerneln, die es bei Kernel.org gibt.

Greg Kroah-Hartman hat die Pflege von Linux 3.8 vor wenigen Tagen eingestellt; Kroah-Hartman leitet die Wartung der Stable- und Longterm-Kernel und kümmert sich derzeit um den Stable-Kernel 3.9 und die Longterm-Kernel 3.0 und 3.4.

Details dazu bringt heise open:

    Canonical pflegt Linux-Kernel 3.8 bis August 2014 (http://www.heise.de/meldung/Canonical-pflegt-Linux-Kernel-3-8-bis-August-2014-1863296.html)

Quelle : www.heise.de
Titel: Kernel-Log – Was 3.10 bringt (1): Netzwerk
Beitrag von: SiLæncer am 07 Juni, 2013, 16:11
Linux 3.10 handhabt Paketverluste am Ende von TCP-Verbindungen effizienter und beschleunigt so HTTP-Übertragungen. Neu sind auch Unterstützung für VLAN Stacking und den WLAN-Chip Realtek RTL8188EE.

Am Wochenende hat Linus Torvalds die vierte Vorabversion von Linux 3.10 freigegeben. Aufgrund technischer Probleme gab es sie anfangs nur über das Quellcodeverwaltungssystem git; Torvalds betont in der Freigabe-Mail, dies sei ohnehin die effizienteste Art der Beschaffung. Mittlerweile ist Linux 3.10-rc4 aber als Quellcode-Archiv über kernel.org abrufbar.

Alle größeren Neuerungen von Linux 3.10 haben Torvalds und seine Mitstreiter wie gewohnt in den zwei Wochen nach Freigabe der Version 3.9 in den Kernel integriert. Linux 3.10 befindet sich daher jetzt in der Stabilisierungsphase; umfangreichere Umbauten gibt es in diesem Entwicklungsabschnitt nur in Ausnahmefällen, daher können wir bereits jetzt einen umfassenden Überblick über die wichtigsten Neuerungen geben, die der Ende Juni oder Anfang Juli erwartete Kernel 3.10 bringen wird. Eine Artikelserie wird nacheinander die verschiedenen Bereiche des Kernels behandeln.

Den Anfang macht die folgende Beschreibung zu den Neuerungen rund um Netzwerk-Unterstützung. In den nächsten Wochen folgen Artikel zu Storage-Techniken, Dateisystemen, Grafiktreibern, Kernel-Infrastruktur, Prozessor/Plattform-Unterstützung und Treibern für andere Hardware.

Der ganze Artikel (http://www.heise.de/open/artikel/Kernel-Log-Was-3-10-bringt-1-Netzwerk-1884420.html)

Quelle : www.heise.de
Titel: Kernel-Log – Was 3.10 bringt (2): Dateisysteme und Storage
Beitrag von: SiLæncer am 22 Juni, 2013, 13:45
Mit Bcache ist ein zweites Framework zum SSD-Caching zum Kernel gestoßen. Kompaktere Metadaten sollen Btrfs beschleunigen. XFS kann seine Dateisystem-Strukturen mit Checksummen gegen Datenfehler absichern.

Linux 3.10 wird den "Block-Layer Cache" Bcache mitbringen, über den sich ein Datenträger als Cache für andere Datenträger einrichten lässt – etwa eine schnelle SSD als Cache für eine langsamere Festplatte mit mehr Kapazität. Solch ein SSD-Cache kann den Zugriff auf häufig gelesene Daten beschleunigen und zu schreibende Daten zwischenspeichern, um sie später in einem ruhigen Moment auf langsamere Datenträger zu schreiben.

Bcache stammt vom Google-Mitarbeiter Kent Overstreet und wird von seinem Arbeitgeber schon länger produktiv eingesetzt; es ist nach dem bei Linux 3.9 integrierten Dm-Cache das zweite Cache-Framework dieser Art, das in den Linux-Kernel eingeht. Wie Alasdair Kergon, der Betreuer des Device Mappers, vor einem Monat auf dem LinuxTag erläuterte, gehen die beiden Lösungen etwas anders vor, daher sei je nach Umgebungsbedingungen die eine oder andere Lösung die bessere Wahl.

Bcache soll sich besser für Situationen eigenen, wo viele kleine Schreibzugriffe erfolgen, die dann geordnet auf die Festplatte transferiert werden können. Verschiedene Entwickler haben sich in letzter Zeit an Benchmarks der Caching-Lösungen versucht (u. a. 1, 2); oft lief dabei auch die EnhanceIO SSD Caching Software mit, die bislang nicht in den Linux-Kernel integriert wurde. Die Benchmarks ergeben allerdings kein klares Bild und es gab hier und da Kritik an den Messmethoden. Die Ergebnisse und Stimmen von Entwicklern lassen erkennen, dass jede Lösung unter bestimmten Bedingungen gut funktioniert, sich unter anderen aber unerwartet schlecht verhalten kann – offenbar brauchen alle noch ein wenig Reifezeit.

Der ganze Artikel (http://www.heise.de/open/artikel/Kernel-Log-Was-3-10-bringt-2-Dateisysteme-und-Storage-1893901.html)

Quelle : www.heise.de
Titel: Kernel-Log – Was 3.10 bringt (3): Infrastruktur
Beitrag von: SiLæncer am 25 Juni, 2013, 18:10
Die Kernel-Entwickler haben den übereifrigen Samsung-UEFI-Schutz gezähmt und eine Funktion eingebaut, um den Overhead des Timer-Interrupt zu reduzieren. Verbessert wurden auch Hyper-V-Unterstützung und die Anleitung zum Melden von Fehlern.

Die Kernel-Entwickler haben für Linux 3.10 den Code umgebaut, der Samsung-Notebooks vor Defekten bewahren soll, die durch ein Problem der Garbage Collection in der UEFI-Firmware dieser Geräte entstehen. Durch die Änderungen soll der Schutzmechanismus nun seltener aktiv werden, denn bislang ist er gelegentlich übereifrig und verhindert auf Geräten anderer Hersteller immer mal wieder das Anlegen oder Modifizieren von UEFI-Variablen. So etwa bei mehreren PCs in einem kürzlich durchgeführten Test der c't, wo es nach der UEFI-Installation von Linux-Distributionen keinen UEFI-Eintrag zum Booten des aufgespielten Linux gab, weil der Schutzmechanismus das Anlegen des Boot-Eintrags unterbunden hatte. Einige Hinweise, um sich in solch einer Situation zu behelfen, liefert die ab Montag am Kiosk erhältliche c't 15/13. Details zum Ansatz der überarbeiteten Schutzfunktion erläutert der Kernel-Entwickler Matthew Garrett in einem Blog-Eintrag.

Ohne zu ticken

Linux kann den bei der Arbeit normalerweise 100, 250 oder 1000 Mal pro Sekunde feuernden Timer-Interrupt einzelner CPU-Kerne nun auf einen Interrupt pro Sekunde drosseln; das soll auf Realtime-Systemen Schwankungen bei der Reaktionszeit vermeiden und beim High Performance Computing (HPC) die Performance ein klein wenig verbessern (u. a. 1, 2, 3, 4, 5). Das Drosseln des Timer-Interrupts gelingt allerdings nicht auf dem beim Booten zuerst in Betrieb genommenen CPU-Kern (Boot Strap Processor/BSP/CPU#0). Es funktioniert zudem nur bei Kernen, wo der Administrator durch Konfigurationsmaßnahmen sicherstellt, dass dort nur ein einzelner Prozess läuft. Die über Jahre entwickelte Technik soll mittelfristig verbessert werden, um den Zeitgeber komplett ausschalten zu können; durch diese und andere angedachte Ausbauarbeiten sollen dann auch Desktop-Systeme von dem Code profitieren, der unter den Schlagwörtern"Full Dynamic Ticks" und "nohz" entwickelt wurde. Weitere Hintergründe erläutern die Dokumentation und ein LWN.net-Artikel.

Das Cpufreq-Subsystem, das Taktwechsel von Prozessoren regelt, erhielt Basisunterstützung für ARMs Big-Little-Konzept; dabei enthält ein Prozessor neben leistungsfähigen Kernen ebenso viele langsamere Kerne, die stromsparender arbeiten. Hintergründe zum Ansatz hat c’t 8/13 erläutert. Weitere Details zur Linux-Unterstützung dieser Technik finden Sie in drei Artikeln bei LWN.net (1, 2, 3). Vollwertige Unterstützung für big.LITTLE erfordert größere Umbauarbeiten – unter anderem am Prozess-Scheduler des Kernels. Die soll der noch in Entwicklung befindliche In-Kernel Switcher (IKS) bringen, an dem Linaro-Entwickler arbeiten.

Der ganze Artikel (http://www.heise.de/open/artikel/Kernel-Log-Was-3-10-bringt-3-Infrastruktur-1896340.html)

Quelle : www.heise.de
Titel: Kernel-Log – Was 3.10 bringt (4): Treiber
Beitrag von: SiLæncer am 30 Juni, 2013, 10:41
Mit Linux 3.10 lässt sich der Videobeschleuniger von Radeon-Grafikkernen nutzen. Systeme mit Intel-Grafik können flotter aus dem Standby aufwachen. Für den Infrarot-Empfänger von Apple bringt Linux jetzt einen Eingabegerätetreiber mit.

In der Freigabe-Mail zu Linux 3.10-rc7 gab sich Linus Torvalds recht zuversichtlich, dass die siebte Vorabversion die letzte sein könnte. Damit deutet vieles auf eine Veröffentlichung von Linux 3.10 zum Julibeginn hin; falls noch größere Probleme auftauchen, könnte es aber noch einen weiteren RC geben, der typischerweise eine weitere Entwicklungswoche nach sich zieht.

Die folgende Beschreibung zu den Neuerungen bei Treibern soll daher nun die Kernel-Log-Mini-Serie "Was 3.10 bringt" abschließen. Die ersten drei Teile der Serie hatten sich bereits mit den Änderungen beschäftigt, die die Kernel-Entwickler in den Bereichen Netzwerk, Dateisysteme und Storage sowie Plattform- und Infrastuktur-Code vorgenommen haben.

Der ganze Artikel (http://www.heise.de/open/artikel/Kernel-Log-Was-3-10-bringt-4-Treiber-1897241.html)

Quelle : www.heise.de
Titel: Linux-Kernel 3.10 veröffentlicht
Beitrag von: SiLæncer am 01 Juli, 2013, 06:35
Nach nur neun Wochen Entwicklung hat Linus Torvalds jetzt den Linux-Kernel 3.10 freigeben. Er enthält mit Bcache ein zweites Framework, um Festplattenzugriffe mit einer als Cache verwendeten SSD zu beschleunigen. Neu ist auch die Unterstützung für den Video-Beschleuniger, den moderne Radeon-Grafikkerne von AMD enthalten.

Die jetzt erhältliche Kernel-Version enthält zudem reichlich neue und verbesserte Treiber – darunter einen Eingabegerätetreiber für den Infrarot-Empfänger moderner Macs. Das XFS-Dateisystem kann seine Metadaten nun mit Checksummen versehen, um Fehler zu erkennen, die zu Datenverlust führen könnten. Es gab zudem eine Änderung am Netzwerkstack, die HTTP-Verbindungen beschleunigt.

Einen Überblick über diese und viele weitere Neuerungen im Linux-Kernel 3.10 liefert ein Artikel auf heise open:

    Die Neuerungen von Linux 3.10 (http://www.heise.de/open/artikel/Die-Neuerungen-von-Linux-3-10-1898006.html), Bericht auf heise open

Quelle : www.heise.de
Titel: Linux-Kernel 3.11 tritt in die Testphase ein
Beitrag von: SiLæncer am 15 Juli, 2013, 13:02
Linux-Initiator Linus Torvalds hat die Kernel-Version 3.11-rc1 als erste Testversion für Linux 3.11 freigegeben.

Zwei Wochen nach Linux 3.10 liegt nun die erste Testversion von Linux 3.11 vor. Wie Linus Torvalds anmerkt, ist die neue Version bezüglich der Zahl der Änderungen etwas kleiner als Linux 3.10, liegt aber jedenfalls über 8.000. Die Anzahl der geänderten Zeilen ist dagegen größer. Von dem möglichen Sommerloch in der nördlichen Hemisphäre ist bisher noch nichts zu sehen.

Über ein Drittel der Änderungen, gemessen an der Zahl der Zeilen, fand im Staging-Bereich statt, in dem neue, noch nicht produktiv einsetzbare Treiber liegen, die Verbesserungen und Tests benötigen. Den größten Anteil, etwa die Hälfte, daran hatte das Dateisystem Lustre. Lustre ist ein verteiltes Dateisystem, das eine hohe Leistung und Skalierbarkeit aufweisen soll. Außerhalb des Kernels existiert es schon lange; es kommt auf zahlreichen Supercomputern der Top 500-Liste zum Einsatz.

Der ganze Artikel (http://www.pro-linux.de/news/1/20009/linux-kernel-311-tritt-in-die-testphase-ein.html)

Quelle : www.pro-linux.de
Titel: Backports: Aktuelle Treiber für alte Kernel
Beitrag von: SiLæncer am 16 Juli, 2013, 19:15
Luis R. Rodriguez hat zum ersten Mal das »Linux Kernel Backports«-Archiv veröffentlicht, das zahlreiche Treiber aus dem aktuellen Kernel 3.10 auch unter älteren Versionen verfügbar macht. Damit lassen sich unter anderem neue Geräte auch auf älteren Systemen nutzen.

Die Anbindung von neuen Komponenten gestaltet sich unter Linux nicht immer reibungslos. Nutzt der Anwender eine Hardware, die neuer als der eingesetzte Kernel ist, so ist es wahrscheinlich, dass seine Komponente vom Kernel nicht unterstützt wird. Zwar ist es vorstellbar, dass den Anwendern in solch einem Fall eine Aktualisierung des Kernels helfen würde, doch bedarf dieser Schritt unter Umständen tiefgreifender Änderungen des Systems. Wer einfach nur einen neuen Treiber in alten Kerneln nutzen will, läuft Gefahr, dass sich der Treiber wegen Inkompatibilität schlicht nicht kompilieren lässt.

Der ganze Artikel (http://www.pro-linux.de/news/1/20018/backports-aktuelle-treiber-fuer-alte-kernel.html)

Quelle : www.pro-linux.de
Titel: Langzeitpflege für den Linux-Kernel 3.10
Beitrag von: SiLæncer am 05 August, 2013, 09:30
Der Anfang Juli freigegebene Linux-Kernel 3.10 soll als Longterm-Kernel die nächsten zwei Jahre gepflegt werden. Das kündigte Greg Koah-Hartman in einem Blog-Beitrag an. Demnach soll auch die nächste Version des auf Hersteller von Consumer-Geräten ausgerichteten LTSI-Kernel auf Linux 3.10 aufbauen.

Der ganze Artikel (http://www.heise.de/open/meldung/Langzeitpflege-fuer-den-Linux-Kernel-3-10-1929468.html)

Quelle : www.heise.de
Titel: Kernel-Log – Was 3.11 bringt (1): Dateisysteme & Storage
Beitrag von: SiLæncer am 06 August, 2013, 17:45
Das Anlegen temporärer Dateien wird mit Linux 3.11 sicherer. NFS unterstützt jetzt SELinux und das Cluster-Dateisystem Lustre hat es trotz einiger Querelen in den Staging-Bereich geschafft.

Die Entwicklung von Linux 3.11 scheint trotz Ferienzeit auf der Nordhalbkugel mit dem üblichen Tempo voranzugehen. Beim vierten, am Sonntag freigegeben RC gab es indes wieder mehr Änderungen, als Torvalds lieb ist. Die haben sich aber auf mehr Bereiche verteilt als zuvor; Torvalds begrüßte das, nachdem er die anderen Kernel-Entwickler beim RC3 noch für ein hohes Patch-Aufkommen kritisiert hatte.

Alle größeren Neuerungen von Linux 3.11 haben Torvalds und seine Mitstreiter wie gewohnt in den ersten zwei Wochen nach Freigabe der Version 3.10 in den Kernel integriert. Linux 3.11 befindet sich daher jetzt in der Stabilisierungsphase, in der umfangreiche Änderungen die Ausnahme sind. Wir können daher bereits jetzt einen umfassenden Überblick über die wichtigsten Neuerungen geben, die der in der ersten Septemberhälfte erwartete Kernel 3.11 bringen wird.

Den Anfang der auf eine Artikelserie verteilten Beschreibung macht eine Übersicht zu den Neuerungen rund um Dateisysteme und Storage-Hardware; in den nächsten Wochen folgen Artikel zur Grafiktreibern, Netzwerk-Unterstützung, Kernel-Infrastruktur, Prozessor/Plattform-Unterstützung und Treibern für andere Hardware.

Der ganze Artikel (http://www.heise.de/open/artikel/Kernel-Log-Was-3-11-bringt-1-Dateisysteme-Storage-1930673.html)

Quelle : www.heise.de
Titel: Kernel-Log – Was 3.11 bringt (2): Infrastruktur
Beitrag von: SiLæncer am 19 August, 2013, 17:15
Linux kann jetzt Teile des Arbeitsspeichers komprimieren, wenn es im RAM eng wird. Neu sind auch Unterstützung für den Kompressionsalgorithmus LZ4, Locking per "wound/wait" und eine Anpassung, durch die Wine für Windows RT übersetzte ARM-Software ausführen kann.

Das Memory-Management-Subsystem von Linux enthält mit 3.11 erstmals Zswap, das Arbeitsspeicherinhalte zu komprimieren versucht, die der Kernel sonst in den Swap-Bereich auslagern würde (Dokumentation, LWN.net-Artikel); dazu greift Zswap auf die Hilfe des ebenfalls neuen Memory Allocator Zbud zurück. Das Ganze kann die Performance steigen, da das Dekomprimieren bei modernen CPUs häufig schneller erfolgt als ein Einlesen ausgelagerter Speicherbereiche. Die Technik war schon länger im Staging-Bereich des Kernels, wo Code liegt, der den Qualitätsansprüchen der Kernel-Entwickler nicht genügt; Zswap gilt aber auch nach dem Verlassen dieses Bereichs noch als experimentell.

Einige andere Änderungen am Memory-Management-Code soll Aussetzer vermeiden helfen, die gelegentlich beim Swappen entstehen, wenn der Kernel parallel große Datenmengen wegschreibt.

Kernel-Programmierern stehen jetzt "wound/wait style locks" zur Verfügung. Dabei handelt es sich um einen Mutex für den koordinierten Zugriff auf Datenstrukturen, bei der mehrere Threads exklusiven Zugriff auf mehr als eine Datenstruktur benötigen, die Sperren aber in unterschiedlicher Reihenfolge anfordern – das kann zu Deadlocks führen, wenn Task 1 nach dem Sperren von Buffer 1 auch einen Lock auf Buffer 2 anfordert, während Task B Letzteren bereit gesperrt hat und exklusiven Zugriff auf Buffer 1 anmeldet.

Durch den neuen, aus dem Datenbankbereich entliehen Ansatz wird die jüngere der beiden Task gezwungen, ihre Sperre aufzugeben, sodass die ältere Task beide Buffer sperren und weiterarbeiten kann. Hintergründe zur Funktionsweise erläutern ein LWN.net-Artikel und die Dokumentation. Dort wird auch die Motivation erläutert: Diese Locking-Technik wurde vornehmlich für Grafikhardware entwickelt, denn auf deren Buffer können durch Techniken wie DMA_buf mehrere Treibern zugreifen; einige solcher Treiber nutzen den neuen Mutex bereits.

Der ganze Artikel (http://www.heise.de/open/artikel/Kernel-Log-Was-3-11-bringt-2-Infrastruktur-1937862.html)

Quelle : www.heise.de
Titel: Linux-Kernel Probleme im USB-Stack entdeckt
Beitrag von: ritschibie am 23 August, 2013, 11:16
Die Kernel-Hackerin Sarah Sharp hat einen schwerwiegenden Fehler im Linux-Kernel entdeckt. Demnach ist eine fehlerhafte Abstimmung zwischen USB-Stack und Geräten beim Verlassen des Schlafmodus dafür verantwortlich, dass die Verbindung zu USB-Geräten unvermittelt gekappt wird, wenn Auto-Suspend aktiviert ist. Ein Patch ist bereits in Arbeit.

Der ganze Artikel (http://www.golem.de/news/linux-kernel-probleme-im-usb-stack-entdeckt-1308-101152.html)

Quelle: www.golem.de
Titel: Kernel-Log – Was 3.11 bringt (3): Treiber und Netzwerk
Beitrag von: SiLæncer am 26 August, 2013, 13:46
Linux kann eingehende Netzwerkpakete nun auf Wunsch besonders schnell verarbeiten. Unter den neuen und verbesserten Treibern sind welche für Intels Rapid Start Technology und die Eingabegeräte des neuesten MacBook Air.

Durch das neue "Low-latency Ethernet device polling" können Anwendungen den Kernel 3.11 auffordern, besonders häufig beim Netzwerkchip nachzufragen, ob neue Daten vorliegen (1, 2, 3, 4, 5, 6). Das reduziert die Zeit zwischen dem Eintreffen und der Verarbeitung von Netzwerkpaketen, was in manchen Situationen wichtiger ist als die Prozessorlast, denn die steigt durch solch ein hochfrequentes Pollen. Damit genau dieser Nachteil besser zu erkennen ist, hatte Linus Torvalds die Aufnahme erst verweigert und eine Umbenennung der Funktionsaufrufe gefordert, was die zuständigen Entwickler innerhalb weniger Tage umsetzen konnten. Zu den Treibern, die die Technik derzeit unterstützen, gehören bnx2, ixgbe und mlx4_en.

Userspace-Anwendungen können nun auch via IPv6 einen Ping absetzen, ohne dafür besondere Rechte zu benötigen; mit IPv4 gelingt das bereits seit Linux 3.0. Der Kernel-Code, den das für Software-Defined Networking (SDN) verwendete Open vSwitch nutzt, beherrscht jetzt das Tunneln mit Hilfe von Generic Routing Encapsulation (GRE) (u. a. 1, 2).

Dem Kernel liegt jetzt der Treiber ath10k bei, der die von Qualcomm Atheros gefertigten WLAN-Bausteine der Chipfamilie QCA988x anspricht. Bei Intels MVM-Chips – etwa jenen der 7000er-Serie – beherrscht der Treiber iwlwifi jetzt Low Power RX, was den Stromverbrauch bei WLAN-Verbindungen reduzieren kann, über die kaum Daten laufen. Außerdem unterstützt der Treiber jetzt Intels WLAN-Bausteine 3160 und 7260; es wird aber auch gerade dran gearbeitet, diese Änderung in einen Stable-Kernel der 3.10er-Serie zu integrieren.

Der ganze Artikel (http://www.heise.de/open/artikel/Kernel-Log-Was-3-11-bringt-3-Treiber-und-Netzwerk-1941476.html)

Quelle : www.heise.de
Titel: Kernel-Log – Was 3.11 bringt (4): Grafiktreiber
Beitrag von: SiLæncer am 29 August, 2013, 09:52
Linux 3.11 bringt Unterstützung für neue Grafikkerne von AMD, Intel und Nvidia. Der Kernel weiß nun auch die Stromsparfähigkeiten moderner Radeon-HD-Chips zu nutzen und beherrscht Mehrschirmbetrieb mit Spice.

Die Ankündigung zur siebten Vorabversion von Linux 3.11 erfolgte ganz anders als gewohnt, denn Linus Torvalds hat sie nicht an die LKML geschickt, sondern bei Google+ publiziert. Zudem hat Torvalds anlässlich des 22. Geburtstags einen Freigabetext gewählt, der sich stark an der Mail orientiert, mit der er Linux genau 22 Jahre zuvor angekündigt hatte.

Torvalds deutet in diesem Text an, Linux 3.11 innerhalb einer Woche veröffentlichen zu wollen. Eine Freigabe rund um den 1. September ist damit recht wahrscheinlich. Allerdings passiert es häufiger, dass Torvalds nach solchen Andeutungen doch noch einen weiteren RC einschiebt und die Fertigstellung so um eine Woche oder mehr verschiebt.

Die Entwicklung von Linux 3.11 nähert sich somit dem Ende, daher soll die folgende Beschreibungen der Neuerungen rund um Grafiktreiber nun die Kernel-Log-Mini-Serie "Was 3.11 bringt" abschließen, die die wichtigsten Änderungen dieser Kernel-Version beschreibt. In den ersten drei Teilen der Serie ging es um die Neuerungen in den Bereichen Dateisysteme und Storage, Infrastruktur und Platform sowie Treiber und Netzwerk.

Der ganze Artikel (http://www.heise.de/open/artikel/Kernel-Log-Was-3-11-bringt-4-Grafiktreiber-1944383.html)

Quelle : www.heise.de
Titel: Linux-Kernel 3.11 veröffentlicht
Beitrag von: SiLæncer am 03 September, 2013, 05:16
Bessere Unterstützung für die Stromsparmechanismen moderner Radeon-HD-Grafikchips ist eine der wichtigsten Neuerungen, die den jetzt erhältlichen Linux-Kernel 3.11 auszeichnen. Der Kernel mit dem Codenamen "Linux for Workgroups" kann zudem Netzwerkpakete schneller verarbeiten, wenn besonders niedrige Antwortzeiten gefragt sind; das geht allerdings zu Lasten des Prozessors.

Neu ist auch eine Funktion, die Teile des Arbeitsspeichers komprimiert. Linux 3.11 bringt zudem zahlreiche neue und verbesserte Treiber – kürzlich eingeführte WLAN-Chips von Intel werden nun etwa ebenso unterstützt wie die Eingabegeräte des MacBook Air 2013 oder Qualcomms WLAN-Bausteine der Chipfamilie QCA988x.

Einen ausführlicheren Überblick über diese und viele weitere Neuerungen im Linux-Kernel 3.11 liefert ein Artikel auf heise open:

    Die Neuerungen von Linux 3.11 (http://www.heise.de/open/artikel/Die-Neuerungen-von-Linux-3-11-1944715.html), Bericht auf heise open

Quelle : www.heise.de
Titel: Linux 3.12 bringt Optimus- und SYN-Proxy-Unterstützung
Beitrag von: ritschibie am 17 September, 2013, 12:02
Der Linux-Kernel 3.12 wird die GeForce-Grafikchips von Optimus-Notebooks automatisch zu- und wegschalten können. Bislang muss man dazu auf externen Treiber zurückgreifen. Solche nachzuinstallieren empfiehlt sich zum Ausschalten des GeForce-Chips, da der unter Linux sonst ständig parallel zum Grafikkern des Prozessors aktiv ist und Strom verbraucht. Bei vielen Optimus-Notebooks sind es selbst im Desktop-Leerlauf mindestens 5 Watt, was die Akku-Laufzeit spürbar reduziert, ohne dass der GeForce-Chip etwas sinnvolles tut.

Der ganze Artikel (http://www.heise.de/newsticker/meldung/Linux-3-12-bringt-Optimus-und-SYN-Proxy-Unterstuetzung-1958491.html)

Quelle: www.heise.de
Titel: Kernel-Log – Was 3.12 bringt (1): Dateisysteme & Storage
Beitrag von: SiLæncer am 08 Oktober, 2013, 18:10
Btrfs beherrscht jetzt Daten-Deduplikation und Ext4 soll sparsamer mit dem Arbeitsspeicher umgehen. Neue Locking-Techniken und Multi-Threading im RAID-5-Code versprechen bessere Performance.

In der Nacht von Sonntag auf Montag hat Linus Torvalds die vierte Vorabversion von Linux 3.12 veröffentlicht. Damit hat der Kernel 3.12 die Hälfte seiner Entwicklungszeit bereits hinter sich gebracht, sofern die Kernel-Entwickler ihrem gewohnten Rhythmus treu bleiben. Alle größeren Neuerungen dieser Version sind bereits jetzt absehbar, denn die haben Torvalds und seine Mitstreiter wie gewohnt in den ersten zwei Wochen nach Freigabe der Version 3.11 integriert; nach diesem Merge Windows gibt es normalerweise keine größeren Änderungen mehr.

Das Kernel-Log kann daher bereits jetzt einen umfassenden Überblick über die wichtigsten Neuerungen geben, die der in drei bis vier Wochen erwartete Kernel bringt. Den Anfang macht die folgende Beschreibung zu den Neuerungen rund um Dateisysteme und Storage-Hardware; in den nächsten Wochen folgen Artikel zur Grafiktreibern, Netzwerk-Unterstützung, Kernel-Infrastruktur, Prozessor/Plattform-Unterstützung und Treibern für andere Hardware.

Der ganze Artikel (http://www.heise.de/open/artikel/Kernel-Log-Was-3-12-bringt-1-Dateisysteme-Storage-1973671.html?wt_mc=sm.feed.tw.ho)

Quelle : www.heise.de
Titel: Pflege des Linux-Kernels 3.0 endet
Beitrag von: SiLæncer am 15 Oktober, 2013, 14:16
Noch in dieser Woche will Greg Kroah-Hartman die Pflege des Linux-Kernels 3.0 einstellen. Das kündigte der Kernel-Entwickler am Sonntag in der Freigabe-Mail zu Linux 3.0.100 an. Das im Sommer 2011 erschienene Linux 3.0 wurde damit letztlich wie geplant 27 Monate gepflegt, sofern nicht noch jemand in Erscheinung tritt und die weitere Wartung übernimmt.

Der ganze Artikel (http://www.heise.de/newsticker/meldung/Pflege-des-Linux-Kernels-3-0-endet-1979224.html)

Quelle : www.heise.de
Titel: Kernel-Log – Was 3.12 bringt (2): Netzwerk
Beitrag von: SiLæncer am 17 Oktober, 2013, 14:15
Linux kann nun auch als SYN-Proxy arbeiten und so SYN-Flooding-Attacken abwehren. Zum Kernel stießen Treiber für 40-Gigabit-Ethernet-Chips von Intel und einen USB-WLAN-Chip von Realtek.

Der Firewall-Code von Linux 3.12 kann als SYN-Proxy konfiguriert werden, der die Auswirkungen von SYN-Flooding-Attacken reduziert (u. a. 1, 2). Typischerweise arbeitet ein SYN-Proxy als vorgeschalteter Server, der ausschließlich die SYN-Anfragen eingehender Verbindungen beantwortet; an den eigentlichen Server reicht der Proxy nur diejenigen Anfragen weiter, bei denen der Client ein ACK-Paket zurückliefert und so ernsthaftes Interesse bekundet.

Der Kernel-Code, auf den der für Software-Defined Networking (SDN) verwendete Open vSwitch zurückgreift, tunnelt nun auch Virtual Extensible LAN (VXLAN). Die neue "Mega flow implementation" verspricht einen Flaschenhals bei der Datenverarbeitung durch Open vSwitch zu beseitigen, was die Performance verbessern soll.

Der ganze Artikel (http://www.heise.de/open/artikel/Kernel-Log-Was-3-12-bringt-2-Netzwerk-1977964.html)

Quelle : www.heise.de
Titel: Kernel-Log – Was 3.12 bringt (3): Infrastruktur
Beitrag von: SiLæncer am 18 Oktober, 2013, 08:15
Einige Prozessoren laufen mit Linux 3.12 ein wenig flotter und gleichzeitig sparsamer. Der Kernel soll Thunderbolt und Docking-Stationen jetzt besser unterstützen.

Die Kernel-Entwickler haben die Formeln angepasst, mit denen der bei vielen Distributionen standardmäßig verwendete Ondemand-Governor des Cpufreq-Subsystem entscheidet, auf welcher Geschwindigkeitsstufe der Prozessor läuft. Laut Messungen des zuständigen Entwicklers soll das nicht nur die Performance manchmal ein klein wenig verbessern, sondern gelegentlich auch den Energieverbrauch leicht reduzieren; das ist möglich, weil der angepasste Ondemand-Governor zu häufige Wechsel zwischen niedrigen und hohen Taktfrequenz vermeiden kann. Es hängt aber stark von den jeweiligen Umgebungsbedingungen ab, ob sich Spareffekte oder Geschwindigkeitsverbesserungen mit Kernel 3.12 zeigen. Die Effekte können aber durchaus groß sein: In einem Grafiktreiber-Benchmark der Webseite Phoronix etwa hat die Änderung für eine signifikante Verbesserung gesorgt.

Bei modernen Intel-Prozessoren setzen einige Distributionen zur Steuerung der Taktfrequenz aber nicht mehr auf Ondemand, sondern auf den noch jungen Pstate-Treiber, der noch besser funktionieren soll. Dieser Treiber, der nur mit Intel-CPUs funktioniert, unterstützt nun auch Intels Haswell-Kerne, auf denen die im Juni eingeführten Core-i-Prozessoren der vierten Generation basieren.

Zum Kernel stieß ferner ein Cpuidle-Treiber für die Big.Little-Funktion des "Test Chip 2" (TC2) eines Versatile-Express-Entwicklerboards von ARM. Dieser Treiber ist ein weiterer Baustein auf dem Weg zur Unterstützung von ARMs Big.Little-Architektur und anderen Prozessoren, die Kerne mit verschiedenen Fähigkeiten und unterschiedlicher Geschwindigkeit enthalten.

Der ganze Artikel (http://www.heise.de/open/artikel/Kernel-Log-Was-3-12-bringt-3-Infrastruktur-1980667.html?wt_mc=sm.feed.tw.ho)

Quelle : www.heise.de
Titel: Neuer Firewall-Code für den Linux-Kernel
Beitrag von: SiLæncer am 21 Oktober, 2013, 13:09
Kernel-Entwickler David Miller, zuständig für den Netzwerk-Code im Linux-Kernel, hat den neuen Firewall-Code Nftables in seinen Kernel-Zweig aufgenommen. Nftables könnte damit bereits als Option im übernächsten Linux-Kernel 3.13 enthalten sein, der um die Jahreswende veröffentlicht werden dürfte.

Derzeit liefert der Netfilter-Code die Firewall-Funktionen im Kernel. Firewall-Regeln, die mit dem Kommandozeilen-Tool iptables erzeugt werden, weisen den Kernel an, ein- und ausgehende IP-Pakete nach Kriterien wie der Quell- und Ziel-IP-Adresse, dem angesprochenen TCP-Port oder Zustandsvariablen wie der Zugehörigkeit zu einer bestehenden Bedingung zu filtern. Netfilter und iptables wurden 2001 mit dem Kernel 2.4 eingeführt.

Der ganze Artikel (http://www.heise.de/open/meldung/Neuer-Firewall-Code-fuer-den-Linux-Kernel-1982608.html?wt_mc=sm.feed.tw.open)

Quelle : www.heise.de
Titel: Kernel-Log – Was 3.12 bringt (4): Treiber
Beitrag von: SiLæncer am 24 Oktober, 2013, 15:50
Optimus-Notebooks und einige Grafikkerne von AMD und Intel verbrauchen mit Linux 3.12 weniger Strom. Die Recheneinheiten von Grafikkernen lassen sich jetzt einfacher nutzen und Intels schnellster Grafikchip wird nun ebenso unterstützt wie die GPU in HPs TouchPad.

Die Entwicklung von Linux 3.12 ist auf die Zielgerade gegangen: Am vergangenen Wochenende hat Linus Torvalds den sechsten RC dieser Kernel-Version veröffentlicht. Der Erfinder des Linux-Kernels und viele andere Kernel-Entwickler treffen sich diese Woche in Edinburgh, um sich auf dem diesjährigen Kernel Summit auszutauschen. Wahrscheinlich legt Torvalds dann Anfang kommender Woche eine weitere Vorabversion nach; da der RC7 in letzter Zeit zumeist der letzte war, dürfte der Kernel 3.12 dann Anfang November fertig sein.

Mit der folgenden Beschreibungen der Änderungen an Treibern soll daher soll nun auch die Kernel-Log-Mini-Serie "Was 3.12 bringt" zu ihrem Ende kommen. Die drei ersten Teile der Serie hatten sich mit den Neuerungen beschäftigt, die diese Kernel-Version in den Bereichen Dateisysteme und Storage, Netzwerk und Infrastruktur bringt.

Der ganze Artikel (http://www.heise.de/open/artikel/Kernel-Log-Was-3-12-bringt-4-Treiber-1980885.html?wt_mc=sm.feed.tw.ho)

Quelle : www.heise.de
Titel: Linux-Kernel 3.12: Optimus-Support und Btrfs-Deduplikation
Beitrag von: SiLæncer am 04 November, 2013, 13:15
Optimus-Notebooks verbrauchen mit dem jetzt erhältlichen Linux-Kernel 3.12 weniger Strom; auch einige Grafikkerne von AMD und Intel sollen mit den neuen Kernel sparsamer arbeiten. Dessen weiterhin experimentelle Btrfs-Dateisystem unterstützt jetzt Daten-Deduplikation und nähert sich damit seinem geplanten Feature-Umfang. Verbesserungen bei Locking-Techniken für das Virtual File System und Virtualisierer versprechen bessere Performance. Zudem kann Linux jetzt auch als SYN-Proxy arbeiten und unterstützt 40-Gigabit-Ethernet-Chips von Intel.

Der ganze Artikel (http://www.heise.de/newsticker/meldung/Linux-Kernel-3-12-Optimus-Support-und-Btrfs-Deduplikation-2038653.html)

Quelle : www.heise.de
Titel: Neue Firewall-Code für Linux 3.13 aufgenommen
Beitrag von: SiLæncer am 13 November, 2013, 16:30
Linus Torvalds hat das Nftables-Framework in den Linux-Kernel aufgenommen, das langfristig den Netfilter-Code ersetzen soll, mit dem Linux-Firewalls bislang Pakete filtern. Einer der Vorteile des neuen Ansatzes: Die Prüfung und Verarbeitung der Netzwerkpakete erfolgt mit Byte-Code in einer "virtuellen Maschine", wie es Netzwerk-Subsystem-Betreuer David Miller umschreibt.

Der Byte-Code sei Protokoll-unabhängig und lassen sich zur Laufzeit anpassen. Dadurch lassen sich Filter-Regeln jetzt im Betrieb verändern, ohne das ganze Regelwerk neu aufbauen zu müssen. Weitere Vorteile und Hintergründe von Nftables erläutern die Entwickler des Netfilter-Codes von Linux auf ihrer Homepage.

Der ganze Artikel (http://www.heise.de/newsticker/meldung/Neue-Firewall-Code-fuer-Linux-3-13-aufgenommen-2045036.html)

Quelle : www.heise.de
Titel: Linux-Kernel 3.13: Testphase beginnt
Beitrag von: SiLæncer am 23 November, 2013, 17:12
Der im Januar erwartete Linux-Kernel 3.13 wird AMDs seit Linux 3.11 unterstützte Stromspartechnik DPM bei vielen Radeon-Grafikchips standardmäßig nutzen (1, 2, 3, 4, 5). Das ist jetzt absehbar, denn Linus Torvalds hat die erste Vorabversion von Linux 3.13 veröffentlicht; 19 Tage nach der Veröffentlichung von Linux 3.12 geht damit die Hauptentwicklungsphase von 3.13 zu Ende. Größere Änderungen gibt es in der jetzt beginnenden Testphase nur noch in Ausnahmefällen; hin und wieder legen die Kernel-Entwickler aber Funktionen lahm, wenn sich größere Probleme zeigen, die sie nicht auf die Schnelle beheben können.

Wie erwartet haben die Kernel-Entwickler auch das Nftables-Framework in den Linux-Kernel aufgenommen. Es soll langfristig den protokollspezifischen und daher mühsam zu wartenden Netfilter-Code ersetzen, mit dem Linux-Firewalls bislang Pakete filtern. Der alte und über Iptables angesprochene Code bleibt aber vorerst im Kernel; zudem gibt es Userspace-Anwendungen, die Iptables-Filterregeln interpretieren und an Nftables übergeben.

Der ganze Artikel (http://www.heise.de/open/meldung/Linux-Kernel-3-13-Testphase-beginnt-2052853.html)

Quelle : www.heise.de
Titel: Kernel-Log – Was 3.13 bringt (1): Dateisysteme und Storage
Beitrag von: SiLæncer am 16 Dezember, 2013, 16:45
Der Kernel ist jetzt erheblich besser für besonders flotte Datenträger gerüstet. Vor Btrfs wird nicht mehr so deutlich gewarnt. Das von vielen Live-CDs verwendete Squashfs soll erheblich schneller arbeiten.

Zum Ende der vergangenen Arbeitswoche hat Linus Torvalds die dritte Vorabversion von Linux 3.13 veröffentlicht. Größere Neuerungen bringt sie nicht, denn die Hauptentwicklungsphase dieser Version endete bereits in der zweiten Novemberhälfte, als Linux 3.12 knapp drei Wochen alt war. Das Kernel-Log kann daher schon jetzt einen umfassenden Überblick über die wichtigsten Neuerungen geben, die der in etwa vier Wochen erwartete Kernel bringt. Den Anfang macht die folgende Beschreibung zu den Neuerungen rund um Dateisysteme und Storage-Hardware; in den nächsten Wochen folgen Artikel zu Grafiktreibern, Netzwerk-Unterstützung, Kernel-Infrastruktur, Prozessor/Plattform-Unterstützung und Treibern für andere Hardware.

Der ganze Artikel (http://www.heise.de/open/artikel/Kernel-Log-Was-3-13-bringt-1-Dateisysteme-und-Storage-2062929.html)

Quelle : www.heise.de
Titel: Kernel-Log – Was 3.13 bringt (2): Netzwerk
Beitrag von: SiLæncer am 16 Dezember, 2013, 17:15
Der Kernel 3.13 enthält die neue Firewall-Infrastruktur Nftables, die mittelfristig Iptables und Co. ersetzen soll. TCP Fast Open (TFO), das den HTTP-Verbindungsaufbau beschleunigt, ist jetzt Standard.

Die wohl größte Neuerungen des im Januar erwarteten Linux-Kernel 3.13 ist das Netzwerk-Paketfilter-Subsystem Nftables. Mittelfristig soll diese Firewall-Technik die existierenden Paketfilter Iptables, Ip6tables, Arptables und Ebtables ablösen, bei denen die Unterstützung für IPv4, IPV6, ARP und Ethernet Bridging direkt im Kernel-Code steckt. Das Nftables-Subsystem hingegen ist protokollunabhängig, denn es ist im wesentlichen eine simple virtuelle Machine, bei der Bytecode die Filterarbeiten erledigt.

Der ganze Artikel (http://www.heise.de/open/artikel/Kernel-Log-Was-3-13-bringt-2-Netzwerk-2066673.html)

Quelle : www.heise.de
Titel: Kernel-Log – Was 3.13 bringt (3): Infrastruktur
Beitrag von: SiLæncer am 23 Dezember, 2013, 08:40
Linux 3.13 entlockt Multiprozessor-Systemen mehr Leistung. Es lassen sich jetzt Kernel kompilieren, die bis zu 8192 CPU-Kerne unterstützen. Zahlreiche Verbesserungen gab es beim Zufallsdaten-Generator.

Die Kernel-Entwickler haben die bei 3.8 eingeführten und bislang nur rudimentären Automatiken, um Prozesse und die von ihnen verwendeten Arbeitsspeicherbereiche zusammenzuhalten, erheblich ausgebaut (u. a. 1, 2). Das ist für die im Server-Umfeld häufig anzutreffenden Multiprozessor-Systeme mit NUMA (Non-Uniform Memory Access) wichtig, denn auf lokal angebundenen Arbeitsspeicher greift ein Prozess schneller zu als auf die RAM-Module, die andere Prozessoren betreuen.

Prozesse mit ihren Speicherbereichen zusammenzuhalten steigert die Performance einiger Anwendungen erheblich, daher konfigurieren manche Server-Admins die Zuordnungen manuell; trotz der verbesserten Automatiken dürfte das in manchen Konstellationen aber auch weiterhin Vorteile bieten.

Über neue Sysfs-Dateien kann man das Verhalten der jetzt eingeführten Automatiken beeinflussen. Details zu den Verbesserungen, die Scheduler und Memory-Management-Code betreffen, liefert ein LWN.net-Artikel.

Der ganze Artikel (http://www.heise.de/open/artikel/Kernel-Log-Was-3-13-bringt-3-Infrastruktur-2070247.html)

Quelle : www.heise.de
Titel: Kernel-Log – Was 3.13 bringt (4): Treiber
Beitrag von: SiLæncer am 10 Januar, 2014, 16:30
Zur Problemvermeidung nutzt der Kernel eine wichtige USB-3.0-Stromsparfunktion nicht mehr automatisch. Besitzer von Apple-Tastaturen können nun die Belegung von Option- und Command-Taste tauschen.

Der für USB-3.0-Controller zuständige XHCI-Treiber aktiviert USB-2.0-Link-Powermanagement jetzt selbst bei USB-3.0-Geräten nicht mehr standardmäßig. Solche Geräte müssen die Stromspartechnik laut USB-3.0-Spezifikation eigentlich beherrschen; den Kernel-Entwicklern sind aber eine Reihe von Geräte in die Hände gefallen, die die Technik nicht korrekt implementieren und daher unter Linux Probleme zeigen.

Um solchen Ärger zu vermeiden, nutzt der Kernel die Stromsparfunktion jetzt nicht mehr automatisch; über die Sysfs-Datei /sys/bus/usb/devices/../power/usb2_hardware_lpm man kann kann man das USB-2.0-Link-Powermanagement aber weiterhin für jedes Gerät separat aktivieren. Diese Änderung ist auch schon in Anfang Dezember freigegebene Stable-Kernel eingeflossen.

Der ganze Artikel (http://www.heise.de/open/artikel/Kernel-Log-Was-3-13-bringt-4-Treiber-2074253.html)

Quelle : www.heise.de
Titel: Kernel-Log – Was 3.13 bringt (5): Grafiktreiber
Beitrag von: SiLæncer am 10 Januar, 2014, 16:50
Der Grafiktreiber für Radeon-Grafikkarten erhielt einen ganzen Schwung Verbesserungen, die die Performance neuerer Karten drastisch verbessern. Intels Grafiktreiber unterstützt jetzt HDMI-Sterero-3D.

Am zweiten Januar-Wochenende will Linus Torvalds die achte Vorabversion von Linux 3.13 veröffentlichen. Sofern nicht noch größere Fehler auftauchen, soll es der letzte RC werden, sodass Linux 3.13 vermutlich eine Woche später und somit am Wochenende 18/19. Januar erscheinen dürfte.

Torvalds integriert in diesem Stadium der Entwicklung nur noch kleinere Änderungen. Die folgenden Beschreibungen der Änderungen an Treibern kann daher schon jetzt die Kernel-Log-Mini-Serie "Was 3.13 bringt" beenden. Die vier ersten Teile der Serie hatten sich mit den Neuerungen beschäftigt, die 3.13 in den Bereichen Dateisysteme und Storage, Netzwerk, Infrastruktur und Treibern bringt.

Der ganze Artikel (http://www.heise.de/open/artikel/Kernel-Log-Was-3-13-bringt-5-Grafiktreiber-2074557.html)

Quelle : www.heise.de
Titel: Linux 3.13 freigegeben
Beitrag von: SiLæncer am 20 Januar, 2014, 13:20
Das Netzwerk-Paketfilter-Subsystem Nftables ist wohl die größte Neuerungen des jetzt erhältlichen Linux-Kernel 3.13, denn mittelfristig soll die Nftables die bisherige Firewall-Filtermechanismen des Kernels ablösen. Die Entwickler stellen aber Werkzeuge bereit, um bestehende Firewall-Regeln weiterverwenden zu können.

Eine weitere wichtige Neuerung von 3.13 ist der Multi-Queue Block IO Queueing Mechanism, denn er macht Linux für PCIe-SSDs, NVMe-Hardware und andere Datenträger fit, die noch schneller arbeiten als aktuelle Desktop- und Notebook-SSDs. Eine Änderung an den Radeon-Treibern steigert die Performance aktueller Chips um das Sechsfache oder mehr. Auch das von vielen Linux-Live-Medien verwendete Squashfs soll mit 3.13 um einiges flotter arbeiten. Einen Performance-Gewinn bei Servern mit mehreren Prozessoren versprechen hingegen Änderungen am NUMA-Code.

Der ganze Artikel (http://www.heise.de/newsticker/meldung/Neuer-Firewall-Mechanismus-Linux-3-13-freigegeben-2088309.html)

Quelle : www.heise.de
Titel: Linux 3.14: Deadline-Scheduling und bessere Treiber
Beitrag von: SiLæncer am 03 Februar, 2014, 13:33
Linux beherrscht jetzt das für Echtzeit-Anforderungen interessante Deadline-Scheduling. Verbessert wurde auch die AMD- und Nvidia-Grafiktreiber sowie die erst kürzlich integrierte Firewall-Technik Nftables.

Der für Ende März erwartete Linux-Kernel 3.14 wird AMDs Stromspartechnik DPM (Dynamic Power Management) nun auch bei den neuesten Radeon-Grafikkernen automatisch nutzen. Die Kernel-Entwickler haben zudem das erst bei Linux 3.13 integrierte Paket-Filter-Subsystem Nftables um eine Filter-Tabelle erweitert, deren Regeln gleichermaßen für IPv4 und IPv6 angewendet werden. Das soll die Firewall-Konfiguration für Systeme vereinfachen, die beide Protokolle parallel einsetzen.

Der ganze Artikel (http://www.heise.de/newsticker/meldung/Linux-3-14-Deadline-Scheduling-und-bessere-Treiber-2101868.html)

Quelle : www.heise.de
Titel: Linux 3.14 freigegeben
Beitrag von: SiLæncer am 31 März, 2014, 13:24
Der Netzwerkcode kann kleine Datenhäppchen jetzt bündeln und dicke Downloads drosseln. Neben einem weiteren Prozess-Scheduler bringt der neue Kernel Unterstützung für eine neue Xen-Technik und einige kürzlich vorgestellte Grafikkerne.

Ein vor allem für Echtzeit-Systeme interessante Prozessorzeit-Verteiltechnik ist eine der wichtigsten Neuerungen des jetzt erhältlichen Linux-Kernels 3.14. Neu ist auch eine Funktion im Netzwerkcode, die kleine Datenhäppchen zu einem großen Paket bündelt; das soll die Performance steigern, obwohl kleine Wartezeiten im Spiel sind. Ferner kann der Kernel jetzt dicke Downloads drosseln, damit diese das Browsen im Internet nicht so leicht verlangsamen.

Kernel-Log-Logo Einige Umbauten an Speicherverwaltung und Locking-Mechanismen versprechen bessere Performance. Auch unterstützt Linux jetzt die Paravirtualized Hardware Extensions (PVH), die der Hypervisor des kürzlich vorgestellten Xen 4.4 bietet. Unter den vielen Änderungen an Grafiktreibern sind welche, durch die Linux 3.14 einige der neuesten Grafikkerne von Intel und Nvidia unterstützt.

Details zu diesen und zahlreichen weiteren Neuerungen des Linux-Kernel 3.14 liefert ein Artikel auf heise open:

    Die Neuerungen von Linux 3.14 (http://www.heise.de/open/artikel/Die-Neuerungen-von-Linux-3-14-2150433.html)

Quelle : www.heise.de
Titel: Kernel-Log – Was 3.15 bringt (1): Dateisysteme und Storage
Beitrag von: SiLæncer am 06 Mai, 2014, 15:36
Linux 3.15 wacht schneller aus dem Suspend auf. Ein neues Locking-API beseitigt Schwachstellen, mit denen Entwickler seit vielen Jahren kämpfen. Neue Dateisystemfunktionen können Video-Schnitt-Programmen die Arbeit erleichtern und sie so erheblich beschleunigen.

Am ersten Maisonntag hat Linus Torvalds die vierte Vorabversion von Linux 3.15 veröffentlicht. Sie enthält wie gewohnt fast ausschließlich Fehlerkorrekturen, denn die Hauptentwicklungsphase dieser Version endete bereits Mitte April, als Linux 3.14 zwei Wochen alt war. Die wichtigsten Neuerungen der in drei bis fünf Wochen erwarteten Kernel-Version 3.15 sind daher bereits jetzt absehbar.

Wir werden die Neuerungen in Linux 3.15 wieder in einer mehrteiligen Artikelserie beschreiben, die sich zum Start den Neuerungen rund um Dateisysteme und Storage-Hardware widmet. In den nächsten Wochen folgen Artikel zu Grafiktreibern, Netzwerk-Unterstützung, Kernel-Infrastruktur, Prozessor/Plattform-Code und Treibern für andere Hardware.

Schneller einsatzbereit

Einige PCs wachen jetzt sehr viel schneller aus dem Suspend-to-RAM (ACPI S3) auf. Das ist Änderungen zu verdanken, durch die der Kernel im Aufwachprozess nicht mehr darauf wartet, dass alle Datenträger des Systems Einsatzbereitschaft melden. Festplattenzugriffe in dieser Zeit werden zwischengespeichert und umgesetzt, sobald der Datenträger bereit ist (1, 2).

Der ganze Artikel (http://www.heise.de/open/artikel/Kernel-Log-Was-3-15-bringt-1-Dateisysteme-und-Storage-2183256.html)

Quelle : www.heise.de
Titel: Kernel-Log – Was 3.15 bringt (2): Performance-Optimierungen
Beitrag von: SiLæncer am 22 Mai, 2014, 17:37
Der Datenträger-Cache passt sich schneller an neue Arbeitsbedingungen an, was die Geschwindigkeit deutlich steigern kann. PAE-Kernel starten nun auch auf alten Pentium-M-CPUs. Über Unterstützung von Link-time optimization (LTO) wird noch debattiert.

Der Speichermanagement-Code des Linux-Kernels erkennt nun, wenn er Daten mehrfach nacheinander erst in den Page Cache holt, um sie kurz darauf aus Platzmangel wieder rauszuwerfen (u. a. 1, 2, 3). Solche Daten versucht der Kernel daraufhin im Zwischenspeicher zu behalten; dazu entfernt der Kernel jetzt nötigenfalls auch Daten, die in der Vergangenheit sehr viel, in jüngster Zeit aber kaum mehr abgefragt wurden.

Dadurch soll sich der Page-Cache, der Zugriff auf wiederholt verwendete Datenträgerinhalte erheblich beschleunigt, jetzt erheblich flotter an veränderte Arbeitsbedingungen anpassen. Das steigert die Performance in manchen Situationen um ein Vielfaches; etwa wenn ein Programm eine große Datei eine Weile intensiv bearbeitet, bevor es sich einer neuen Datei ebenso ausführlich widmet. Details und einige Messwerte zum neuen Vorgehen liefern Mails aus der Entwicklungsphase und ein LWN.net-Artikel.

Der ganze Artikel (http://www.heise.de/open/artikel/Kernel-Log-Was-3-15-bringt-2-Performance-Optimierungen-2192707.html)

Quelle : www.heise.de
Titel: Kernel-Log – Was 3.15 bringt (3): Netzwerk
Beitrag von: SiLæncer am 22 Mai, 2014, 17:38
Der Berkley Packet Filter soll nicht nur viel schneller arbeiten, sondern kann jetzt auch viel mehr. Der Kernel 3.15 wird mehr Realtek-WLAN-Chips als zuvor unterstützen und die Round Trip Time von TCP-Übertragungen genauer abschätzen.

Die Kernel-Entwickler haben den im Netzwerk-Subsystem angesiedelten Berkeley Packet Filter (BPF) grundlegend überarbeitet; er eignet sich dadurch für zahlreiche weitere Aufgaben und arbeitet schneller. Das ist für die Netzwerktraffic-Steuerung über tc oder Sniffer Tools wie Tcpdump relevant, die auf den BPF zurückgreifen; auch der Browser Chromium profitiert indirekt von den Änderungen, denn er nutzt zum Filtern der Syscalls für Sandboxen den bei 3.5 eingeführten Seccomp Filters Mechanism, der den BPF verwendet.

Da der neue Code mehr Möglichkeiten bietet, wollen einige Kernel-Entwickler auch den Funktions-Tracer Ftrace anpassen, damit auch er den BPF nutzt. Ftrace soll dadurch erheblich effizienter arbeiten und das System bei der Ablaufverfolgung erheblich weniger bremsen; das vermeidet Störeffekte, die die Arbeit mit Ftrace behindern können.

Der ganze Artikel (http://www.heise.de/open/artikel/Kernel-Log-Was-3-15-bringt-3-Netzwerk-2195662.html)

Quelle : www.heise.de
Titel: Kernel-Log – Was 3.15 bringt (4): Infrastruktur
Beitrag von: SiLæncer am 28 Mai, 2014, 16:45
Linux soll sich bald mit dem LLVM-basierten Clang kompilieren lassen. Der Kernel unterstützt zwei weitere x86-Instruktionen. Ein 64-Bit-Linux bootet jetzt auch auf 64-Bit-x86-UEFI-Systemen, die eine 32-Bit-Firmware verwenden.

Durch eine Handvoll von Änderungen arbeitet der Linux-Kernel beim Schlafenlegen und Wecken von Komponenten jetzt an weiteren Stellen asynchron, was die Zeit zum Suspend und Resume des Systems reduzieren kann (1, 2, 3, 4, 5). Die dadurch erzielte Steigerung dürfte auf vielen Systemen aber deutlich kleiner sein als der Gewinn durch die Änderungen am Storage-Code, durch die 3.15 auf manchen Systemen erheblich schneller aus dem Suspend-to-RAM aufwacht; Details dazu erläutert der erste Teil unserer "Was 3.15 bringt"-Serie.

Der ganze Artikel (http://www.heise.de/open/artikel/Kernel-Log-Was-3-15-bringt-4-Infrastruktur-2193945.html)

Quelle : www.heise.de
Titel: Kernel-Log – Was 3.15 bringt (5): Treiber
Beitrag von: SiLæncer am 03 Juni, 2014, 13:14
Linux kann jetzt nicht nur den Video-Encoder der neuen Radeon-Chips ansprechen, sondern auch Nvidias neueste Grafikchipfamilie. Der neue Kernel unterstützt aktuelle Thinkpads besser und entlockt manchen USB-3.0-Datenträgern mehr Geschwindigkeit.

Alles deutet darauf hin, dass Linus Torvalds den Linux-Kernel 3.15 am nächsten oder übernächsten Sonntag freigibt. Die folgenden Beschreibungen zu Änderungen an Treibern sollen daher jetzt unsere Kernel-Log-Mini-Serie "Was 3.15 bringt" rechtzeitig vor der Freigabe beenden. Die vier vorangegangenen Teile der Serie hatten sich mit den Neuerungen beschäftigt, die 3.15 in den Bereichen Dateisysteme und Storage, Performance-Optimierungen, Netzwerk und Infrastruktur bringt; diese Vorabberichterstattung war möglich, weil Torvalds alle wesentlichen Änderungen von Linux 3.15 bereits in der ersten Aprilhälfte angenommen hat.

Der ganze Artikel (http://www.heise.de/open/artikel/Kernel-Log-Was-3-15-bringt-5-Treiber-2195736.html)

Quelle : www.heise.de
Titel: Linux-Kernel 3.15 freigegeben: Schneller aus dem Standby aufwachen
Beitrag von: SiLæncer am 09 Juni, 2014, 10:30
Der Linux-Kernel 3.15 wacht deutlich schneller aus dem Standby auf. Zudem gab es Verbesserungen frei den freien Treibern für Radeon- und Nvidia-Grafik.

Der jetzt erhältliche Linux-Kernel 3.15 beschleunigt das Aufwachen aus dem Suspend-to-RAM deutlich. Je nach Hardware kann sich die Aufwachzeit mit dem neuen Kernel durchaus halbieren. Der Radeon-Treiber des neuen Kernels bietet ein Interface, um den H.264-Encoder in neueren Grafikchips und Prozessoren von AMD zu nutzen. Optimierungen am Datenträger-Cache und dem Berkeley Packet Filter können die Performance teilweise deutlich verbessern.

Unter den zahlreichen neuen und verbesserten Treibern sind welche für USB-3.0-Datenträger und WLAN-Chips von Realtek. Änderungen an den Dateisystemen Ext4 und XFS erleichtern Video-Schnittprogrammen die Arbeit, sodass sich Werbung in Sekundenschnelle herausschneiden lässt.

Die Neuerungen von Linux 3.15 (http://www.heise.de/open/artikel/Die-Neuerungen-von-Linux-3-15-2196231.html)

Quelle : www.heise.de
Titel: Linux 3.16 bringt aufgebohrte Grafiktreiber
Beitrag von: SiLæncer am 16 Juni, 2014, 13:43
Der Linux-Kernel 3.16 wird einige Verbesserungen an Treibern für Grafikkerne von AMD, Intel und Nvidia bringen. Der diesmal verwendete Entwicklungsansatz soll indes nur wiederholt werden, wenn es dafür einen triftigen Grund gibt.

Der Intel-Grafiktreiber des Linux-Kernels 3.16 wird nach mehreren Entwicklungsjahren eine Funktion bieten, um von normalen Prozessen verwendete Speicherbereiche ohne viel Overhead mit dem Grafikkern auszutauschen. Das vermeidet unnötiges Kopieren von Speicherinhalten und steigert so die Performance, wenn die Grafikhardware über OpenCL & Co für Rechenaufgaben verwendet wird. Der von AMD-Entwicklern vorangetriebene Radeon-Treiber soll bei Linux 3.16 ein klein wenig flotter arbeiten und auch HDMI Deep Color unterstützen. Der Nouveau-Treiber für Grafikchips von Nvidia wird Basis-Support für die Chips GK20a und GK110B erhalten; Letzterer sitzt auf der GeForce GTX 780 Ti.

Der ganze Artikel (http://www.heise.de/open/meldung/Erste-Vorabversion-verfuegbar-Linux-3-16-bringt-aufgebohrte-Grafiktreiber-2222275.html)

Quelle : www.heise.de
Titel: Kernel-Log – Was 3.16 bringt (1): Storage & Netzwerk
Beitrag von: SiLæncer am 02 Juli, 2014, 17:58
Btrfs und NFS sollen robuster und flotter arbeiten. Der gerade erst erneuerte Berkeley Packet Filter (BPF) wurde nochmal erheblich verbessert; ebenso die noch junge Infrastruktur zum Zugriff auf besonders schnelle Datenträger.

Am letzten Juni-Tag hat Linus Torvalds die dritte Vorabversion von Linux 3.16 veröffentlicht. Sie enthält nur kleine Korrekturen, denn wie üblich hat der leitende Kernel-Entwickler alle wesentlichen Änderungen für die neue Version bereits aufgenommen, bevor er die dessen erste Vorabversion veröffentlicht hat.

Die wichtigsten Neuerungen des in drei bis fünf Wochen erwarteten Linux 3.16 sind daher bereits jetzt absehbar. Wir beschreiben die wesentliche Änderungen dieser Kernel-Version wie üblich in einer mehrteiligen Artikelserie, die mit den Neuerungen rund um Dateisysteme und Storage-Hardware beginnt. In den kommenden Wochen folgen Artikel zu Prozessor-Unterstützung, Kernel-Infrastruktur und Treibern.

Der ganze Artikel (http://www.heise.de/open/artikel/Kernel-Log-Was-3-16-bringt-1-Storage-Netzwerk-2244446.html)

Quelle : www.heise.de
Titel: Re: Kernel-Log – Was 3.16 bringt (1): Storage & Netzwerk
Beitrag von: mtron am 02 Juli, 2014, 19:30
Weiteres Quote aus dem Artikel:

Zitat
Für die Freunde alter Computer-Hardware soll eine Änderung nicht unerwähnt bleiben, durch die der Kernel FAT-Dateisysteme im DOS-1.x-Format unterstützt. Die ersten PCs haben dieses Format bei Disketten mit 160, 180, 320 und 360 KByte verwendet. Die jetzt integrierte Unterstützung entstand, nachdem ein Anwender gemeldet hat, er könne Images alter Disketten nicht mit Linux öffnen.

Da soll noch einer sagen linux wäre am stand von win 98. ;)
Titel: Kernel-Log – Was 3.16 bringt (2): Infrastruktur
Beitrag von: SiLæncer am 18 Juli, 2014, 17:56
Optimierungen am Locking-Code können die Performance signifikant verbessern. Ein neues Skript vereinfacht die Fehleranalyse. Fortschritte gibt es bei der Überarbeitung des Cgroups-Codes.

Der Linux-Kernel führt mit Version 3.16 wieder 16-Bit-Programme auf x86-64-Systemen aus. Das ist vornehmlich für Wine-Anwender interessant, die 16-Bit-Windows-Programme betreiben. Beim Kernel 3.15 und einigen der älteren Longterm-Kernel gelingt das derzeit nur, wenn man eine dafür benötigte Kernel-Funktion über

echo 1 > /proc/sys/abi/ldt16

aktiviert. Das ist die Folge eines Sicherheitsproblems, das während der Entwicklung von Linux 3.15 bekannt wurde und sich nicht auf die Schnelle korrigieren ließ (1, 2).

Der ganze Artikel (http://www.heise.de/open/artikel/Kernel-Log-Was-3-16-bringt-2-Infrastruktur-2261539.html)

Quelle : www.heise.de
Titel: Kernel-Log – Was 3.16 bringt (3): Treiber
Beitrag von: SiLæncer am 30 Juli, 2014, 20:34
Die AMD- und Intel-Grafiktreiber liefern bessere Performance. Nvidia beteiligt sich jetzt an der Arbeit am Nouveau-Grafiktreiber. Bei Windows-8-Notebooks soll die Regelung der Displayhelligkeit nun besser funktionieren.

Der im Linux-Kernel enthaltene Treiber für Grafikkerne von Intel unterstützt nun Userspace Pointer. Durch diese auch User Pointer oder Userptr genannte Funktion müssen Speicherbereiche regulärer Programme nicht erst in den Kernel-eigenen Speicherbereich kopiert werden, damit der Grafikkern darauf zugreifen kann; das vermeidet Overhead und kann so 3D-, Video- und OpenCL-Leistung verbessern. Die Änderung wurde nach der Aufnahme heftig von einem erfahrenen Entwickler kritisiert, der allerlei Probleme befürchtete (1, 2). Diese Bedenken konnten später ausgeräumt werden, daher soll vielleicht auch der Radeon-Treiber bald Userspace Pointer beherrschen.

Der ganze Artikel (http://www.heise.de/open/artikel/Kernel-Log-Was-3-16-bringt-3-Treiber-2267746.html)

Quelle : www.heise.de
Titel: Linux 3.16 freigegeben: Performance und Grafiktreiber verbessert
Beitrag von: SiLæncer am 04 August, 2014, 13:19
Btrfs und NFS sollen robuster und schneller arbeiten. Optimierungen am Locking-Code können die Performance signifikant verbessern. Die sollen auch einige Änderungen an den Grafiktreibern von AMD und Intel steigern.

Kernel-Log-Logo Performance-Verbesserungen beim Radeon-Treiber, Overhead-Eliminierung in Intels Grafiktreiber und ausgebaute Hardware-Unterstützung beim GeForce-Treiber sind drei der Neuerungen, die das jetzt erhältliche Linux 3.16 bringt. Zudem gab es Optimierungen am Locking-Code, die Tests mit der PostgreSQL-Datenbank erheblich beschleunigt haben. Verbessert wurde auch die Block-Layer-Infrastruktur, die für besonders schnelle Storage-Hardware gedacht ist.

Einen ausführlicheren Überblick zu diesen und anderen Neuerungen des Linux-Kernels 3.16 liefert ein Artikel auf heise open (http://www.heise.de/newsticker/meldung/Linux-3-16-freigegeben-Performance-und-Grafiktreiber-verbessert-2280456.html).

Quelle : www.heise.de
Titel: Linux 3.17 wird Zufallszahlen zuverlässiger liefern
Beitrag von: SiLæncer am 17 August, 2014, 07:49
Der Anfang Oktober erwartete Linux-Kernel 3.17 bringt zwei Funktionen für den designierten D-Bus-Nachfolger Kdbus. Neu sind auch ein Thunderbolt-Treiber für MacBooks und Anfänge zur Behebung des Jahr-2038-Problem von 32-Bit-Linux.

Der Linux-Kernel 3.17 wird den Funktionsaufruf "getrandom(2)" unterstützen, der ein altes Problem bei der Nutzung von Zufallszahlengeneratoren vermeidet, das den LibreSSL-Entwickler kürzlich vor die Füße gefallen war. Die nächste Linux-Version der Hauptentwicklungslinie soll auch File Sealing und den Syscall memfd_create() unterstützen; auf diese Funktionen will der designierte D-Bus-Nachfolger Kdbus zurückgreifen, wenn größerer Datenmengen über den Mechanismus zur Inter-Process Communication (IPC) ausgetauscht werden.

Der im Oktober erwartete Kernel 3.17 wird zudem einen Treiber mitbringen, durch den sich die Thunderbolt-Schnittstellen von Apple MacBooks nutzen lassen. Neu ist auch die Unterstützung für den mit DisplayPort 1.2 spezifizierten Multi-stream Transport (MST), mit dem sich mehrere Monitore über eine DisplayPort-Verbindung ansprechen lassen; die Funktion ist auch zur Unterstützung von HiDPI-Monitoren und den Docking-Stationen mancher Notebooks wichtig. SCSI-Treiber können nun auf den bei Linux 3.13 integrierten und bei 3.16 renovierten Multi-Queue Block IO Queueing Mechanism (blk-mq) zurückgreifen, der einen effizienteren Datenträgerzugriff verspricht. Neu ist auch Unterstützung für ACPI 5.1. Zudem gab es Anfänge zur Behebung des Jahr-2038-Problem von 32-Bit-Linux. NetBSD und OpenBSD haben es bereits behoben; bis das auch für Linux gilt, gibt es noch allerlei Fragen zu klären.

Diese Neuerungen des in sieben oder acht Wochen erwarteten Linux 3.17 sind jetzt absehbar, denn Linus Torvalds hat die erste Vorabversion dieser Kernel-Version freigegeben. Damit endet wie gewohnt die Merge Window genannte Phase, in der Torvalds das Gros der Änderungen für eine neue Version aufnimmt. Die Kernel-Entwickler konzentrieren sich daher jetzt auf die Stabilisierung der Version 3.17; parallel arbeiten sie an größeren Änderungen, die frühestens in spätere Kernel-Versionen einfließen.

Quelle : www.heise.de
Titel: Linux Kernel 3.16.3
Beitrag von: SiLæncer am 17 September, 2014, 21:40
Changelog : https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.16.3

http://www.kernel.org/
Titel: Kernel-Log – Was 3.17 bringt (1): Storage & Netzwerk
Beitrag von: SiLæncer am 19 September, 2014, 16:10
Der USB/IP-Stack, der USB-Geräte per TCP/IP an andere Systeme überstellt, ist jetzt ein vollwertiger Bestandteil des Linux-Kernels. SCSI-Treiber können nun auf die Block-Layer-Infrastruktur für besonders schnelle Datenträger zurückgreifen.

Die Entwicklung von Linux 3.17 ist mittlerweile bei der fünften Vorabversion angelangt. Mit dem fünften RC ist die Freigabe einer neuen Kernel-Version meist nur noch zwei Wochen entfernt. Torvalds denkt aber darüber nach, die Veröffentlichung von 3.17 noch bis Mitte Oktober hinauszuzögern, denn er will vermeiden, dass die Hauptentwicklungsphase von 3.18 mit seiner Reise zur LinuxCon Europe in Düsseldorf kollidiert.

Alle wesentlichen Änderungen für 3.17 haben die Kernel-Entwickler wie gewohnt in den ersten beiden Wochen seit Beginn der Entwicklungs aufgenommen. Seitdem gab es nur noch kleine Änderungen, daher kann das Kernel-Log schon jetzt die wesentlichen Änderungen dieser Kernel-Version beschreiben. Das erfolgt wie üblich in einer mehrteiligen Artikelserie, die sich als erstes den Neuerungen rund um Datenspeicherung und Netzwerk-Unterstützung beginnt. In den kommenden Wochen folgen Artikel zu Prozessor-Unterstützung, Kernel-Infrastruktur und Treibern.

Der ganze Artikel (http://www.heise.de/open/artikel/Kernel-Log-Was-3-17-bringt-1-Storage-Netzwerk-2399706.html)

Quelle : www.heise.de
Titel: Kernel-Log – Was 3.17 bringt (2): Infrastruktur
Beitrag von: SiLæncer am 23 September, 2014, 18:21
Der Kernel bietet nun Funktionen zur effizienteren Interprozess-Kommunikation. Ein neuer Mechanismus zur Abfrage von Zufallszahlen beseitigt zwei Probleme, die zu schwacher Kryptographie führen können.

Ab Version 3.17 unterstützt der Linux-Kernel den Funktionsaufruf memfd_create(). Programme können über diesen Syscall einen File Descriptor anlegen, der nicht auf eine Datei im Dateisystem, sondern auf einen anonymen Arbeitsspeicherbereich (anonymous memory) verweist. Durch das ebenfalls neue File Sealing und kann der Kernel einen so erstellten File Descriptor versiegeln, um Änderungen an den darüber referenzierten Speicherbereichen zu unterbinden.

Diese Funktionen wurden vornehmlich für den designierten D-Bus-Nachfolger Kdbus entwickelt. Der neue Dienst zur Interprozesskommunikation (IPC) will sie nutzen, wenn Programme größerer Datenmengen via Kdbus weitergeben. Bislang haben IPC-Dienste die ausgetauschten Daten typischerweise vom Adressraum des sendenden Programms in den des empfangenden Programms kopiert; damit stellen sie sicher, dass der Sender die Daten nicht noch verändert, während der Empfänger sie verarbeitet.

Der ganze Artikel (http://www.heise.de/open/artikel/Kernel-Log-Was-3-17-bringt-2-Infrastruktur-2401713.html)

Quelle : www.heise.de
Titel: Kernel-Log – Was 3.17 bringt (3): Treiber
Beitrag von: SiLæncer am 30 September, 2014, 13:45
Der Linux-Kernel unterstützt 4K-Monitore und moderne Radeon-Chips besser. Thunderbolt soll nun auch bei Apple-Systemen funktionieren. Durch den Rauswurf von mehr als einem Dutzend Treibern ist 3.17 vermutlich kleiner als sein Vorgänger.

Der Kernel stellt nun standardmäßig die bei Linux 3.12 eingeführten Render Nodes bereit – Gerätedateien, über die Programme die Rechenfunktionen von Grafikkernen ansprechen können, ohne Root-Rechte zu benötigen oder die Bildschirmausgabe zu beeinflussen.

Linux unterstützt nun auch den bei DisplayPort 1.2 spezifizierten Multi-Stream Transport (MST) – eine Technik, mit der Grafikchips über eine DisplayPort-Verbindung mehrere Monitore ansprechen können. Sie ist zur besseren Unterstützung von 4K-Monitoren nötig, denn manche von ihnen gaukeln Betriebssystemen vor, sie seien zwei per MST angesprochene Displays. MST-Support ist auch für Docking-Stationen wichtig, in denen ein per DisplayPort angesprochener Chip die DVI-, HDMI- oder VGA-Ausgänge stellt.

Der ganze Artikel (http://www.heise.de/open/artikel/Kernel-Log-Was-3-17-bringt-3-Treiber-2404210.html)

Quelle : www.heise.de
Titel: Linux 3.17 freigegeben: Bessere Zufallszahlen und 4k-Monitore
Beitrag von: SiLæncer am 06 Oktober, 2014, 14:09
Die Linux-Entwickler legen Grundlagen für die Interprozess-Kommunikation mit dem designierten D-Bus-Nachfolger Kdbus. 4K-Monitore und Apples Thunderbolt-Implementation werden nun besser unterstützt.

Der jetzt erhältliche Linux-Kernel 3.17 schafft zwei Probleme aus der Welt, die zu schwacher Kryptographie führen können. Zwei neue Techniken ermöglichen eine effizientere Interprozess-Kommunikation, wie sie der designierte, aber noch nicht verwendete D-Bus-Nachfolger Kdbus benötigt.

Neue und überarbeitete Treiber verbessern zudem die Hardware-Unterstützung. Dadurch sollen 4K-Monitore und Thunderbolt-Hardware an Apple-Rechnern besser funktionieren. Der USB/IP-Stack kann USB-Geräte per TCP/IP für andere Rechner freigeben.

Einen Überblick zu diesen und anderen Neuerungen des Linux-Kernels 3.17 liefert ein Artikel auf heise open:

    Die Neuerungen von Linux 3.17 (http://www.heise.de/open/artikel/Die-Neuerungen-von-Linux-3-17-2404284.html)

Quelle : www.heise.de
Titel: Kernel 3.18-rc1: Linux steigert Netzwerk-Sendeleistung
Beitrag von: SiLæncer am 20 Oktober, 2014, 13:07
Der nächste Linux-Kernel kann Netzwerkpakete schneller verschicken als bisher. Ferner soll nach vielen Jahren der Entwicklung vielleicht eine Dateisystem-Funktion einziehen, die Live-Medien vieler Linux-Distributionen benötigen.

Linux 3.18 soll beim Senden von Daten über Ethernet-Verbindungen eine Geschwindigkeit erreichen können, die nahe am theoretischen Maximum der jeweiligen Hardware liegt. Das ist einer Reihe eher kleinerer Änderungen zu verdanken, die den Overhead beim Versenden von Netzwerkpaketen reduzieren, wenn sehr viele Daten versendet werden. Das gelingt aber nur mit einigen Netzwerktreibern, denn die mussten angepasst werden, um die effizienteren Sende-Mechanismen zu unterstützen.

Der Radeon-Treiber des Kernels bietet nun Schnittstellen, durch die AMDs Mesa-Video-Treiber den Video-Beschleuniger UVD nutzen können, den einige ältere Radeon-GPUs enthalten; darunter die Grafikkerne RV6xx, RS[78]80 und RV7[79]0, die unter den Radeon-HD-Modellbezeichnungen 2400 bis 4290 vermarktet wurden. Ferner beherrscht der Radeon-Treiber nun auch die User Pointer, mit denen Grafiktreiber seit Linux 3.16 den Overhead reduzieren können, wenn der Grafikkern auf Speicherbereiche von Userspace-Prozessen zugreifen muss.

Der ganze Artikel (http://www.heise.de/open/meldung/Kernel-3-18-rc1-Linux-steigert-Netzwerk-Sendeleistung-2427980.html)

Quelle : www.heise.de
Titel: Linux-Kernel 3.16 wird bis 2016 gepflegt
Beitrag von: SiLæncer am 04 November, 2014, 15:55
Die Ubuntu-Entwickler wollen Support für den Kernel 3.16 bis April 2016 liefern – und darüber hinaus.

Die Kernel-Entwickler pflegen neue Versionen des Linux-Kernels normalerweise nur bis kurz nach Erscheinen des Nachfolgers. Lediglich einige ausgewählte Versionen werden als "Stable"- und "Longterm-Kernel" über mehrere Monate bis Jahre mit Sicherheitspatches und Bugfixes versorgt.

Jetzt haben die Ubuntu-Entwickler angekündigt, den Linux-Kernel 3.16 bis April 2016 im Git-Repository des Ubuntu Kernel Team zu pflegen. Ausgangspunkt der Entwicklung ist der Stable-Kernel 3.16.7, mit dessen Veröffentlichung vor wenigen Tagen der verantwortliche Maintainer Greg Kroah-Hartman die Arbeit an dieser Version eingestellt hat.

Der Linux-Kernel 3.16 kommt unter anderem in der aktuellen Ubuntu-Version 14.10 Utopic Unicorn und dem neuen Opensuse 13.2 zum Einsatz. Ubuntu 14.04, die aktuelle LTS-Version der Linux-Distribution mit fünf Jahren Support, verwendet den Kernel 3.13, den Canonical ebenfalls bis zum April 2016 pflegen will.

Auch die kommende Debian-Version 8 (Jessy) wird voraussichtlich den Kernel 3.16 verwenden. Luís Henriques vom Ubuntu Kernel Team hat darauf hingewiesen, dass der Support für Debian 8 über den April 2016 hinausreichen wird; daher werde er oder Ben Hutchings vom Debian-Team die Pflege des Kernels 3.16 über diesen Termin hinaus sicherstellen.

Quelle : www.heise.de
Titel: Linux 3.18 freigegeben: Schlanker, schneller und mit Overlay-Filesystem
Beitrag von: SiLæncer am 08 Dezember, 2014, 13:56
Der Kernel bringt nun endlich Code mit, um ein Dateisystem mit einem anderen zu verknüpfen. Die Entwickler haben zudem die Netzwerk-Sendeleistung enorm gesteigert und mit Arbeiten begonnen, die den Kernel entschlacken sollen.

Der jetzt erhältliche Linux-Kernel 3.18 bringt das Overlay-Filesystem mit, das ein Dateisystem über ein anderes legen kann; diese vom offiziellen Linux-Kernel bislang nicht gebotene Funktion wird bei Live-Linuxen oder der Container-Software Docker oft genutzt.

Einige vergleichsweise kleinere Anpassungen sollen den Datendurchsatz beim Versenden von Netzwerkpaketen enorm steigern und nahe an das theoretische Maximum bringen. Ferner gewährt der Kernel nun auch Zugang zu den Video-Beschleunigern älterer Radeon-GPUs.

Einige Kernel-Entwickler haben zudem einen ersten Schwung an Änderungen eingebracht, durch die sich Linux wieder besser für leistungsschwache Systeme eignen soll.

Einen Überblick zu diesen und anderen Neuerungen des Linux-Kernels 3.18 liefert ein Artikel auf heise open:

Die Neuerungen von Linux 3.18 (http://www.heise.de/newsticker/meldung/Linux-3-18-freigegeben-Schlanker-schneller-und-mit-Overlay-Filesystem-2482241.html), Bericht auf heise open.

Quelle : www.heise.de
Titel: Linux-Kernel 3.19 tritt in die Testphase ein
Beitrag von: SiLæncer am 22 Dezember, 2014, 09:11
Linux-Initiator Linus Torvalds hat die Kernel-Version 3.19-rc1 als erste Testversion für Linux 3.19 freigegeben. Unter anderem wird Linux 3.19 »Binder«, einen für Android spezifischen Mechanismus der Interprozess-Kommunikation, offiziell unterstützen.

Zwei Wochen nach Linux 3.18 ist die erste Testversion von Linux 3.19 erschienen. Die kommenden sechs oder mehr Wochen dienen zum Testen der Änderungen und Korrigieren der gefundenen Probleme.
Die zweiwöchige Integrationsphase wurde von Linus Torvalds dieses Mal überraschend um einen Tag gekürzt. Torvalds zeigte sich in seiner Mitteilung etwas verärgert, dass viele Entwickler ihre Änderungen erst in den letzten Tagen der Integrationsphase gesendet haben. Da die bisher vorliegenden Änderungen zu den drei umfangreichsten in den letzten Jahren gehören, genügte es Torvalds für diesen Zyklus. Falls es Entwickler gibt, die ihre Änderungen absichtlich bis zum letzten Tag zurückgehalten haben (was Torvalds allerdings bezweifelt), müssen sie ihren Code weitere zwei Monate reifen lassen.

Zwei Drittel der Änderungen sind, wie in den meisten Versionen, neue oder verbesserte Treiber. Ein Sechstel sind Architektur-Änderungen und das verbleibende Sechstel umfasst den ganzen Rest. Die Architektur-Änderungen umfassen nicht nur die Unterstützung zahlreicher weiterer Einchip-Systeme, meist mit ARM-Prozessoren, sondern auch eine neue Prozessor-Architektur, Nios II von Altera (nios2). Es handelt sich dabei um eine Architektur für eingebettete 32 Bit-Prozessoren, die als Elemente auf FPGAs von Altera eingesetzt werden können. GCC wird ab Version 4.9 ebenfalls diese Architektur unterstützen. Für Linux kommen allerdings nur die Varianten des Prozessors in Frage, die eine Speicherverwaltungseinheit besitzen.

Neu in Linux 3.19 ist die Unterstützung der Intel MPX-Technologie, die in kommenden Prozessoren erscheinen wird. Sie soll die Bereichsprüfung von Speicheradressen in Hardware ermöglichen. Vorerst ermöglicht es der Kernel den Prozessen, diese Erweiterung zu nutzen, verwendet sie aber nicht selbst. Der Device Mapper erhielt Geschwindigkeitsverbesserungen für Thin Provisioning. Die arm64-Architektur kann jetzt ebenfalls das Secure Computing-Subsystem nutzen. Der Atmel AT91-Teil der Atmel-Architektur wurde auf Device Trees umgestellt, was es ermöglichte, Board-Beschreibungsdateien von 24.000 Zeilen Umfang zu löschen. Passend dazu gibt es jetzt Device Tree Overlays, mit denen mehrere Trees beim Booten kombiniert werden können.

Ein neues Netzwerk-Subsystem wurde implementiert, das Switch- und Routing-Funktionalität geeigneter Hardware überlässt. NFS unterstützt jetzt ALLOCATE und DEALLOCATE von NFS 4.2 auf Seiten des Clients und des Servers. Von Netzwerk-Sockets kann man jetzt die Information auslesen, welche CPU den Socket bearbeitet, womit Anwendungen ihre Aufgaben besser verteilen können, um Leistungssteigerungen zu erzielen. BPF-Filterprogramme können nun mit Sockets verbunden werden. Momentan kann man damit lediglich Statistiken ermitteln, aber weitere Funktionen sollen folgen.

Der neue Treiber ipvlan ermöglicht es, virtuelle Netzwerkgeräte zu erzeugen, mit denen Container untereinander kommunizieren können. Das Dateisystem Btrfs erweiterte die RAID5/6-Funktionalität um Scrubbing und Ersetzen von Festplatten. Das Dateisystem Squashfs kann nun mit LZ4 komprimieren. Auch einen neuen Systemaufruf gibt es zu vermelden. execveat führt ein Programm aus, das durch einen Dateideskriptor bezeichnet wird. Ist der Deskriptor ein Verzeichnis, so wird die Programmdatei in diesem gesucht. Andernfalls wird der Code direkt von dem Deskriptor gelesen.

Die Arbeit an der Lösung des Jahr 2038-Problems wurde fortgesetzt. Einige interne Funktionen erhielten 64 Bit-Pendants. Die Umstellung auf diese neuen Funktionen kann nun beginnen. Weitere Neuerungen sind die Unterstützung für hierarchische Interrupt-Controller und der Treiber »AMD KFD«, der zur Nutzung der Grafikprozessoren für Berechnungen dient. Der »Binder«-Code von Android wurde zu einem offiziell unterstützten Subsystem.

Auch intern gab es Änderungen zuhauf. So nutzt die Speicherverwaltung unter x86 verstärkt die Modi der Page Attribute Tables (PAT). Es ist nun auch möglich, Write-Through-Caching zu nutzen. Treiber können jetzt mit einem vereinheitlichten API Eigenschaften von ACPI oder Device Trees abfragen. Das Virtio-Subsystem wurde konform zum Virtio 1.0-Standard gemacht. Das I2C-Subsystem kann nun auch die Slave-Rolle übernehmen. Das API von GPIO wurde erweitert, so dass man mehrere Ausgänge gleichzeitig umschalten kann. Der Tracing-Mechanismus »Coresight« von ARM ist jetzt nutzbar. Nicht zuletzt erhielt das Direct Rendering-System eine Möglichkeit, mehrere Grafikmodus-Parameter in einer einzelnen, atomaren Operation zu setzen. Die zahlreichen weiteren Änderungen sind im Änderungslog von Git zu finden. Kernel und Patch-Dateien sind von zahlreichen Spiegelservern von kernel.org herunterzuladen.

Quelle : www.pro-linux.de/
Titel: Kernel-Log – Was 3.19 bringt (1): Dateisysteme und Storage
Beitrag von: SiLæncer am 19 Januar, 2015, 16:50
Die Kernel-Entwickler haben die RAID-5/6-Unterstützung von Btrfs verbessert. Der NVMe-Treiber nutzt jetzt eine noch junge Infrastruktur, die deutliche Leistungsgewinne bei PCIe-SSDs verspricht. Neu dabei sind auch zwei Treiber für steinalte SCSI-Controller.

Linus Torvalds hat am Wochenende die vierte Vorabversion von Linux 3.19 veröffentlicht. Sie enthält bereits alle wesentlichen Änderungen des Kernels 3.19; darunter etwa Änderungen an Btrfs, durch die sich nun auch Datenträger von Btrfs-Volumes austauschen lassen, die Daten mit den Dateisystem-eigenen RAID-5/6-Funktionen ablegen (u. a 1, 2, 3). Auch bei diesen RAID-Leveln unterstützt Btrfs nun Scrub-Läufe (u. a. 1, 2), bei denen Btrfs alle Daten liest und die Integrität über Checksummen prüft; eventuelle Fehler repariert es sogar automatisch, sofern die intakten Redundanz-Informationen dazu ausreichen. Vor der RAID-5/6-Unterstützung in Btrfs wird aber nach wie vor gewarnt, denn sie ist unvollständig und experimentell; Hintergründe erläutert das Btrfs-Wiki.

Der ganze Artikel (http://www.heise.de/open/artikel/Kernel-Log-Was-3-19-bringt-1-Dateisysteme-und-Storage-2516150.html)

Quelle : www.heise.de
Titel: Kernel-Log – Was 3.19 bringt (2): Netzwerk
Beitrag von: SiLæncer am 19 Januar, 2015, 17:24
Linux-Distributionen sollen mittelfristig ohne spezielle Anpassungen als Switch-Betriebssystem arbeiten können. Neu ist ein Treiber zum Vernetzen von Containern. Fehlgeschlagen ist hingegen der Versuch, die Wireless Extensions zu entfernen, denn Linus Torvalds ist Abwärtskompatibilität überaus wichtig.

Das Netzwerk-Subsystem des Linux-Kernels enthält nun eine Infrastruktur, mit denen Treiber viele Switching- und Routing-Aufgaben an Hardware-Bausteine delegieren können, die für solche Aufgaben geschaffen wurden (u. a. 1, 2). Dadurch sollen sich universelle Linux-Distributionen mittelfristig als Betriebssysteme für Switches eignen, wie sie in Rechenzentren stehen. Diese "Linux-Switches" könnte man mit bekannten Linux-Programmen wie den Iproute2-Werkzeugen, Nftables oder Open vSwitch transparent verwalten; sie wären flexibler und leichter zu handhaben als aktuelle Modelle, die häufig proprietäre Software einsetzen.

Der ganze Artikel (http://www.heise.de/open/artikel/Kernel-Log-Was-3-19-bringt-2-Netzwerk-2518522.html)

Quelle : www.heise.de
Titel: Kernel-Log – Was 3.19 bringt (3): Infrastruktur
Beitrag von: SiLæncer am 27 Januar, 2015, 17:49
Der Linux-Kernel kann eine der HSA-Techniken nutzen, mit denen AMD die Effizienz seiner Chips steigern will. Der IPC-Dienst von Android ist nun vollwertiger Bestandteil des Kernels. Linux kann nun Abwärtskompatibilität bieten, die sich ARM bei seinen CPU-Kernen spart.

Der Linux-Kernel enthält nun den Treiber "amdkfd" (1, 2, 3, 4), mit dem sich "Heterogeneous Queuing" (HQ) bei Prozessoren und Grafikchips von AMD nutzen lässt. Die Technik ist eine von mehreren der "Heterogeneous System Architecture" (HSA), mit denen AMD und andere Unternehmen die Effizienz bei der Zusammenarbeit verschiedener Chips eines Systems steigern wollen. Heterogeneous Queuing soll das leisten, indem es Arbeiten automatisch mit dem Chip ausführt, der dazu am besten geeignet ist.

Programme interagieren aber nicht direkt mit dem neuen Treiber, sondern übergeben Arbeitsaufgaben an eine "HSA Runtime"; die entscheidet dann anhand der vom Code durchgeführten Arbeiten und den gerade freien Rechenkapazitäten, ob sie die Arbeit etwa an Haupt- oder Grafikprozessor delegiert. Die HSA Runtime ist eine Userspace-Biliothek, die AMD selbst entwickelt und im November unter einer Open-Source-Lizenz veröffentlicht hat. Die HSA-Runtime interagiert nicht nur mit dem neuen Kernel-Treiber, sondern auch mit dem R600-Backend von LLVM, das auf CPU oder GPU ausgeführten Code erzeugt. Die dafür zuständigen Funktionen haben AMD-Entwickler zu LLVM beigetragen; sie werden Bestandteil der LLVM-Version 3.6, die noch im Frühjahr erscheinen soll. Zu den AMD-Chips, die Heterogeneous Queuing unterstützen, zählen die Prozessoren mit Kaveri-Kern, die AMD seit Anfang 2014 verkauft.

Der ganze Artikel (http://www.heise.de/open/artikel/Kernel-Log-Was-3-19-bringt-3-Infrastruktur-2529176.html)

Quelle : www.heise.de
Titel: Kernel-Log – Was 3.19 bringt (4): Treiber
Beitrag von: SiLæncer am 04 Februar, 2015, 13:12
Ab Linux 3.19 können neuere Intel-Prozessoren ihre Taktfrequenz selbst regeln. Einige Erweiterungen schaffen Grundlagen zur besseren Unterstützung von 4k-Monitoren und Mehrschirmkonfigurationen. Der Nouveau-Treiber bietet nun Basis-Support für Nvidias neueste Chips.

Die Kernel-Entwickler haben Grundlagen geschaffen, um die Ansteuerung von 4K-Monitoren sowie von Monitorausgängen in den Docking-Stationen moderner Notebooks zu verbessern – zwei Bereiche, in denen Linux-Distributionen derzeit immer mal wieder Probleme zeigen. Durch die Änderungen unterstützt Linux jetzt die Version 1.3 von DisplayID, über das Monitore Informationen ausgeben, um sie korrekt anzusteuern (1, 2). Ferner führt der Kernel nun Buch darüber, wenn der Bildschirm das Gesamtbild per "Tiling" zusammensetzt, weil etwa linke und rechte Hälfte wie eigenständige Monitore angesteuert werden (1, 2).

Diese Informationen verwendet der Kernel nicht nur selbst, sondern stellt sie auch Userspace-Programmen zum Abruf bereit. Das soll X-Server und Wayland Compositor in die Lage versetzen, 4K-Monitore und Docking-Stationen korrekt anzusteuern. Einige der Probleme, die bei den dazu nötigen Erweiterungen zu stemmen sind, erläutert X-Urgestein Keith Packard in einem Blog-Eintrag; noch viel mehr Hintergründe liefert Kernel-Entwickler Dave Airlie in der Video-Aufzeichung eines kürzlich gehaltenen Vortrags.

Der ganze Artikel (http://www.heise.de/open/artikel/Kernel-Log-Was-3-19-bringt-4-Treiber-2534708.html)

Quelle : www.heise.de
Titel: Linux 3.19 freigegeben: HSA-Support für AMD-Chips
Beitrag von: SiLæncer am 09 Februar, 2015, 13:42
Der Kernel kann nun eine AMD-Technik nutzen, die das Zusammenspiel von Haupt- und Grafikprozessor optimiert. Verbessert wurde die Unterstützung von 4k-Monitoren, RAID-5/6 mit Btrfs und PCIe-SSDs.

Der jetzt erhältliche Linux-Kernel 3.19 unterstützt Heterogeneous Queuing – eine von mehreren Techniken der Heterogeneous System Architecture (HSA), die die Verwendung von Grafikprozessoren für Rechenaufgaben erleichtern soll. Neu sind auch Grundlagen zur besseren Unterstützung von 4k-Monitoren und der Konfiguration des Mehrschirmbetriebs.

Die Kernel-Entwickler haben zudem die RAID-5/6-Unterstützung von Btrfs verbessert. Erstmals dabei ist eine Infrastruktur, durch die sich für Server gedachte Linux-Distributionen mittelfristig auch als Switch-Betriebssystem eignen sollen. Den NVMe-Treiber haben die Kernel-Entwickler auf eine neue Infrastruktur portiert, die deutliche Leistungsgewinne beim Zugriff auf PCIe-SSDs verspricht.

Einen Überblick zu diesen und weiteren Neuerungen des Linux-Kernels 3.19 liefert ein Artikel auf heise open:

Die Neuerungen von Linux 3.19 (http://www.heise.de/open/artikel/Die-Neuerungen-von-Linux-3-19-2541595.html), Bericht auf heise open.

Quelle : www.heise.de
Titel: Linus Torvalds lässt abstimmen: Linux 3.20 oder 4.0?
Beitrag von: SiLæncer am 17 Februar, 2015, 13:10
In einer Abstimmung auf Google+ sucht der Linux-Erfinder nach einem Stimmungsbild zur Frage, ob der Nachfolger des kürzlich erschienenen Linux-Kernels 3.19 die Versionsnummer 3.20 oder 4.0 bekommen soll.

Linus Torvalds hat am Wochenende eine Abstimmung auf Google+ gestartet, ob die letzte Nummer in der Versionsbezeichnung des Linux-Kernels zu groß wird; er sucht damit nach einem Stimmungsbild zur Frage, ob er dem Nachfolger des Anfang letzte Woche veröffentlichten Linux 3.19 die Versionsnummer 3.20 oder 4.0 geben soll.

Der ganze Artikel (http://www.heise.de/newsticker/meldung/Linus-Torvalds-laesst-abstimmen-Linux-3-20-oder-4-0-2550893.html)

Quelle : www.heise.de
Titel: Linux-Kernel macht Versionssprung auf 4.0
Beitrag von: SiLæncer am 23 Februar, 2015, 13:06
Die nächste, Mitte April erwartete Version des Linux-Kernels wird die Versionsnummer 4.0 tragen. Zu dessen wichtigsten Neuerungen zählt Kernel Live Patching, mit dem sich Sicherheitslücken des Kernels ohne Neustart beheben lassen.

Zwei Wochen nach der Freigabe von Linux 3.19 hat Linus Torvalds die erste Vorabversion des Nachfolgers veröffentlicht. Diese Version wird allerdings nicht die Bezeichnung 3.20 tragen, sondern 4.0; mitentscheidend für diesen Schritt war eine Umfrage, in der Torvalds kürzlich nach Meinungen zur nächsten Versionsbezeichnung gefragt hat. Genau wie beim Sprung von 2.6.39 auf 3.0 im Mai 2011 ist der Wechsel auf 4.0 aus technischer Sicht weitgehend bedeutungslos, denn auch die nächste Version wurde nicht anders als ihre direkten Vorgänger entwickelt und bringt daher Änderungen im gewohnten Maß.

Zu den wichtigsten Neuerungen des Mitte April erwarteten Linux 4.0 wird Kernel Live Patching zählen; eine Technik, mit der sich Sicherheitslücken des Kernels im Betrieb beheben lässt und so Neustarts vermeidet. Eine neue Gefahr für die Systemsicherheit stellt die Funktion nicht dar, denn zum Live-Patchen muss man Module laden. Angreifer, die sich diese Möglichkeit verschafft haben, können bereits mit aktuellen Kernel-Versionen beliebiges Unheil anrichten und auch Code modifizieren.

Die Kernel-Entwickler haben zudem die Unterstützung für die Lüftersteuerung und DisplayPort-Audio in den freien Radeon-Treiber verbessert. Das Ext4-Dateisystem wurde geändert, damit es sich für den Einsatz auf Arbeitsspeicher-ähnliche Storage-Hardware eignet, die die gespeicherten Informationen auch beim Ausschalten nicht verliert. Ferner wollen die Entwickler die Geschwindigkeit von Dm-Crypt verbessert haben, das bei der Verschlüsselung von Datenträgern verwendet wird. Details zu diesen und anderen Neuerungen werden Kernel-Logs auf heise open und in c't liefern.

Nach der Veröffentlichung der ersten Vorabversion beginnt jetzt die Stabilisierungsphase, in der Torvalds und seine Mitstreiter keine größeren Änderungen mehr vornehmen. Linux 4.0 wurde wie seine Vorgänger entwickelt, zählt mit lediglich 9000 Änderungen in der Hauptentwicklungsphase allerdings zu den eher kleineren Kernel-Releases, denn zuletzt waren es meist tausend oder zweitausend Änderungen mehr. An diesem leichten Rückgang dürften die Feiertage zum Jahresende eine Mitschuld tragen, denn sie fielen diesmal in den Zeitraum, in dem viele der für Linux 4.0 aufgenommenen Änderungen entwickelt wurden.

Quelle : www.heise.de
Titel: Linux-Kernel 4.0 freigegeben
Beitrag von: SiLæncer am 13 April, 2015, 13:17
Linux-Initiator Linus Torvalds hat Version 4.0 des Linux-Kernels freigegeben. Der neue Kernel enthält zahlreiche Verbesserungen in nahezu allen Komponenten, unter denen die Einführung des grundlegenden Mechanismus des Live-Patchings herausragt.

Gut zwei Monate nach Linux 3.19 ist nun Linux 4.0 fertiggestellt. Als Linux-Initiator Ima Sheep Linus Torvalds am 23. Februar die Kernel-Version 4.0-rc1 freigab, stand auch fest, dass die Versionsnummer des kommenden Kernels 4.0 statt 3.20 sein wird. Nach vier Jahren mit Linux 3.x fanden es Torvalds und die Mehrheit der Teilnehmer an einer Online-Umfrage an der Zeit, die kleine Versionsnummer wieder auf eine handliche Zahl zurückzusetzen. Am Funktionsumfang ändert das jedoch nichts und es sind auch keine Änderungen damit verbunden, die die Kompatibilität beeinträchtigen. Der neue Kernel erhielt den handlichen Codenamen »Hurr durr I'ma sheep«. Die zweiwöchige Integrationsphase für Linux 4.1, die unter anderem eine optionale Verschlüsselung für das Dateisystem Ext4 bringen könnte, ist damit wie üblich eröffnet.
Mit gut 10.000 Änderungen seit Linux 3.19 ist Linux 4.0 die Version mit den wenigsten Änderungen seit einiger Zeit. Für den generellen Trend zu immer mehr Änderungen hat dies allerdings keine Bedeutung, denn schon die kommende Version könnte nach derzeitigem Stand wieder deutlich größer ausfallen.

Linux 4.0 markiert, wie Torvalds feststellte, zudem das Erreichen einer halben Million Git-Commits insgesamt, und die Zahl der Objekte in Git überschritt die Marke von vier Millionen. Zufälligerweise wurden genau mit Linux 3.0 eine Viertel Million Commits und zwei Millionen Objekte in Git erreicht. Somit hat nicht weniger als die Hälfte der Linux-Entwicklung in den letzten vier Jahren stattgefunden.

Die schlagzeilenträchtigste Neuerung in Linux 4.0 ist wohl der grundlegende Mechanismus zum Patchen des Kernels im laufenden Betrieb. Gemeinsam von Suse und Red Hat vorangetrieben, ist der Mechanismus die Grundlage sowohl für kGraft als auch für kpatch sowie alternative Lösungen. Kontroversen gibt es noch über das zu verwendende Konsistenzmodell, das Thema kann daher noch nicht als abgeschlossen bezeichnet werden.

Threads, die die Fristen für RCU handhaben, können jetzt mit Echtzeit-Priorität laufen. Der Netzwerk-Stack kann nun je nach Host über die Routing-Tabelle unterschiedliche Stau-Verhinderungsalgorithmen anwenden. Die TIPC-Implementation berücksichtigt jetzt Namespaces. Außerdem unterstützt das Traffic-Control-Subsystem Filter, die in der virtuellen eBPF-Maschine laufen. Open vSwitch erhielt die Möglichkeit, eigene Flow-IDs zur Identifikation von Netzwerkströmen zu verwenden, was die Geschwindigkeit teils deutlich steigern soll.

Das Overlay-Dateisystem unterstützt jetzt mehrere darunterliegende Dateisysteme, die nicht änderbar sind. In Btrfs wurden zahlreiche Stellen verbessert, die bei Speichermangel Probleme machten, die Arbeit ist aber noch nicht beendet. Parallel NFS (pNFS) unterstützt bereits das FlexFile-Layout, das noch in Entwicklung ist. Es soll bewirken, dass die Datei-Metadaten an einer anderen Stelle als die Datei-Inhalte gespeichert werden. Das Subsystem für persistente Speicherung kann optional eine Gerätedatei bereitstellen, mit der Programme Daten in diesen Speicher schreiben können. Das Dateisystem ubifs wurde stärker parallelisiert und unterstützt nun auch Security-Labels in den erweiterten Attributen.

Die Dateisystem-Option lazytime, die bisher nur in ext4 unterstützt wird, steht jetzt als Alternative zu relatime bereit. Das Zugriffkontrollsystem Smack erhielt eine Schnittstelle zum Netfilter-System, was es möglich macht, Sicherheits-Labels an Netzwerkpakete zu vergeben. Der von Android stammende Binder-Code wurde erweitert, um mit Zugriffkontrollsystemen wie SELinux, Smack und AppArmor zusammenzuarbeiten. Verbesserungen gab es auch wieder beim Analysewerkzeug »perf«.

Das I2O-Bus-Subsystem wurde in das Staging-Verzeichnis verschoben und soll bald komplett entfernt werden. I2O war ein gescheiterter Versuch von Intel, ein neues Bussystem einzuführen, und wird wohl nirgends mehr genutzt. Neu ist die Unterstützung für nichtflüchtigen Speicher, vor allem um Dateisysteme darin zu konstruieren.

Die PA-RISC-Architektur kann jetzt keine Binärprogramme mehr ausführen, die für 32 Bit HP-UX-Systeme geschrieben wurden. Der Treiber für die I/O-Speicherverwaltungseinheit (IOMMU) für ARM erhielt ein neues generisches API für die Verwaltung von Seitentabellen. Im LED-Subsystem gibt es nun eine neue Geräteklasse für LEDs, die als Blitzlicht eingesetzt werden. Das virtio-Subsystem entspricht jetzt dem Virtio-Standard 1.0.

Für Kernel-Entwickler ist der neue Kernel Address Sanitizer (KASan) von Interesse, der dabei hilft, Probleme mit der Speicherallokation und Speicherzugriffen zu finden. Er ist zunächst nur für x86_64 verfügbar.

Darüber hinaus wurden zahlreiche Treiber aktualisiert, erweitert oder kamen neu hinzu. Eine Liste aller Änderungen kann man dem Git-Repositorium entnehmen. Die Seite Kernelnewbies.org wird in Kürze eine übersichtliche Zusammenfassung der Änderungen veröffentlichen. Die aktuelle Version von Linux kann von kernel.org und zahlreichen Spiegel-Servern in Form von Patches oder tar-Paketen heruntergeladen werden.

Quelle : www.pro-linux.de/
Titel: Linux-Kernel 4.1 tritt in die Testphase ein
Beitrag von: SiLæncer am 27 April, 2015, 14:04
Linux-Initiator Linus Torvalds hat die Kernel-Version 4.1-rc1 als erste Testversion für Linux 4.1 freigegeben. Unter anderem wird Linux 4.1 Kompression im Ext4-Dateisystem ermöglichen und ein spezielles Dateisystem für Tracing bieten.

Zwei Wochen nach Linux 4.0 ist die erste Testversion von Linux 4.1 erschienen. Die kommenden sechs oder mehr Wochen dienen zum Testen der Änderungen und Korrigieren der gefundenen Probleme. Wie Linus Torvalds vermeldete, sind die Änderungen im kommenden Kernel wieder deutlich umfangreicher als in 4.0, ohne jedoch Rekorde aufzustellen. Rund 60% der Änderungen betreffen Treiber, 20% die verschiedenen Architekturen und die restlichen 20% sind in allen Bereichen verteilt.
Entgegen der Pläne von Greg Kroah-Hartman wird Linux 4.1 nicht die Kernel-Implementation des D-Bus-Protokolls kdbus enthalten. Schon am Freitag war abzusehen, dass Linus Torvalds den vorgeschlagenen Patch nicht übernehmen würde. Stand der Dinge ist nun offenbar, dass sich Torvalds nicht grundsätzlich gegen kdbus stellt, sondern sich an einem Implementierungsdetail stört. Dabei handelt es sich um die Metadaten, die kdbus - anders als der bisherige D-Bus - mit jeder Nachricht mitsendet. Die Metadaten enthalten Informationen über die beiden an der Kommunikation beteiligten Prozesse, darunter deren Berechtigungen (Capabilities). Stein des Anstoßes sind aber nicht die Capabilities, die Torvalds als sinnvoll ansieht, sondern andere Dinge wie die Kommandozeilenargumente des Prozesses. Er fordert die Entfernung der überflüssigen Daten, die seiner Ansicht nach zu Sicherheitslücken führen könnten. Kroah-Hartman teilt diese Ansicht noch nicht, wird aber wohl entsprechende Änderungen vornehmen müssen, wenn kdbus eine neue Chance erhalten soll. Die von anderen Entwicklern vorgebrachten Vorbehalte, dass kdbus nicht wünschenswert sei, weil eine allgemeinere Interprozesskommunikationslösung nötig sei, teilt Torvalds nicht. Die Entwickler der Android-eigenen Interprozesskommunikation »Binder« beim Samsung haben zudem signalisiert, dass sie Binder künftig auf kdbus aufbauen wollen, womit eine duplizierte Funktionalität im Kernel vermieden wird.

In Linux 4.1 erhält das Dateisystem Ext4 eine transparente Verschlüsselung, bei der nach jetzigem Stand allerdings nur die Dateiinhalte verschlüsselt werden. Aufgenommen wurde auch das neue virtuelle Dateisystem tracefs, das dazu dient, Tracing zu steuern und die Daten auszulesen. Diese Funktionalität ist auch in debugfs enthalten, aber tracefs lässt sich mounten, ohne das ganze debugfs mounten zu müssen. Auch das Werkzeug perf, das die Trace-Funktionalität nutzt, erhielt viele Erweiterungen und Verbesserungen.

Ein neuer Treiber ermöglicht die effektive Nutzung von großen nichtflüchtigen Speichern als Blockgeräte. Der zram-Treiber dagegen erhielt die Möglichkeit, Datenblöcke zu komprimieren. Um Linux auf manchen Systemen noch kleiner machen zu können, wurde eine Option hinzugefügt, die Zahl der Benutzer auf 1 zu reduzieren, nämlich den Root-Benutzer.

Die MIPS-Architektur unterstützt jetzt XPA-Adressierung, was 40 Adress-Bits auf 32-Bit-Systemen ermöglicht und an den PAE-Modus von x86-Prozessoren erinnert. Der Device-Mapper kann nun als Blockgerät mit mehreren Warteschlangen agieren, und das DRM-System enthält jetzt »virtual GEM«, eine Speicherverwaltung für virtuelle Grafikgeräte.

Das HD-Audio-Subsystem wurde umstrukturiert zu einem »hdaudio-Bus«. Außerdem können GPIO-Pins jetzt ohne Treiberänderung konfiguriert werden. Die zahlreichen weiteren Änderungen sind im Änderungslog von Git zu finden. Kernel und Patch-Dateien sind von zahlreichen Spiegelservern von kernel.org herunterzuladen.

Quelle : www.pro-linux.de/
Titel: Linux-Kernel 4.1 bekommt zwei Jahre Pflege
Beitrag von: SiLæncer am 08 Juni, 2015, 13:51
Entwickler Greg Kroah-Hartman will den Linux-Kernel 4.1 bis Mitte 2017 pflegen. Derweil verzögert sich die Fertigstellung dieser Version allerdings noch um eine Woche.

Der Kernel-Entwickler Greg Kroah-Hartman will das in zwei Wochen erwartete Linux 4.1 als Longterm-Kernel pflegen. Er betreut solche Versionen mit Langzeit-Pflege typischerweise zwei Jahre, daher dürfte Kroah-Hartman sich bis mindestens Sommer 2017 um Linux 4.1 kümmern. Dabei veröffentlicht er je nach Dringlichkeit alle paar Tage oder Wochen neue Minor-Releases (4.1.n) mit Fehlerkorrekturen und kleinen, offensichtlich ungefährlichen Verbesserungen; strenge Regeln sollen dabei sicherstellen, dass die Änderungen keine Fehler einschleppen.

Der ganze Artikel (http://www.heise.de/newsticker/meldung/Linux-Kernel-4-1-bekommt-zwei-Jahre-Pflege-2681151.html)

Quelle : www.heise.de
Titel: Linux-Kernel 4.1 freigegeben
Beitrag von: SiLæncer am 22 Juni, 2015, 13:41
Linux-Initiator Linus Torvalds hat Version 4.1 des Linux-Kernels freigegeben. Der neue Kernel enthält zahlreiche Verbesserungen in nahezu allen Komponenten, unter denen die Verschlüsselungsoption im Ext4-Dateisystem und ein spezielles Dateisystem für Tracing herausragen.

Zehn Wochen nach Linux 4.0 ist nun Linux 4.1 fertiggestellt. Linux-Initiator Linus Torvalds hatte dieses Mal nicht viel anzumerken, außer dass die letzte Woche vor der Freigabe nur noch eine geringe Zahl von Korrekturen ergab. Damit könnte Linux 4.1 eine großartige Version sein, was angesichts der Tatsache, dass diese Ausgabe eine mit längerer Unterstützung wird, nicht schlecht sei. Insgesamt bringt Linux 4.1 mehr Änderungen als sein Vorgänger, nämlich über 11.660, und ist um über 200.000 Zeilen Code von knapp 1.500 Entwicklern gewachsen. Rund 60% der Änderungen betreffen Treiber, 20% die verschiedenen Architekturen und die restlichen 20% sind in allen Bereichen verteilt. Die zweiwöchige Integrationsphase für Linux 4.2 ist damit wie üblich eröffnet.

Das Dateisystem Ext4 bietet jetzt eine transparente Verschlüsselung, bei der nach jetzigem Stand allerdings nur die Dateiinhalte verschlüsselt werden. Aufgenommen wurde auch das neue virtuelle Dateisystem tracefs, das dazu dient, Tracing zu steuern und die Daten auszulesen. Diese Funktionalität ist auch in debugfs enthalten, aber tracefs lässt sich mounten, ohne das ganze debugfs mounten zu müssen. Auch das Werkzeug perf, das die Trace-Funktionalität nutzt, erhielt viele Erweiterungen und Verbesserungen.

Ein neuer Treiber ermöglicht die effektive Nutzung von großen nichtflüchtigen Speichern als Blockgeräte. Der zram-Treiber dagegen erhielt die Möglichkeit, Datenblöcke zu komprimieren. Um Linux auf manchen Systemen noch kleiner machen zu können, wurde eine Option hinzugefügt, die Zahl der Benutzer auf 1 zu reduzieren, nämlich den Root-Benutzer.

Die MIPS-Architektur unterstützt jetzt XPA-Adressierung, was 40 Adressbits auf 32-Bit-Systemen ermöglicht und an den PAE-Modus von x86-Prozessoren erinnert. Der Device-Mapper kann nun als Blockgerät mit mehreren Warteschlangen agieren, und das DRM-System enthält jetzt »virtual GEM«, eine Speicherverwaltung für virtuelle Grafikgeräte. Das HD-Audio-Subsystem wurde umstrukturiert zu einem »hdaudio-Bus«. Außerdem können GPIO-Pins jetzt ohne Treiberänderung konfiguriert werden.

Darüber hinaus wurden zahlreiche Treiber aktualisiert, erweitert oder kamen neu hinzu. Eine Liste aller Änderungen kann man dem Git-Repositorium entnehmen. Die Seite Kernelnewbies.org wird in Kürze eine übersichtliche Zusammenfassung der Änderungen veröffentlichen. Die aktuelle Version von Linux kann von kernel.org und zahlreichen Spiegel-Servern in Form von Patches oder tar-Paketen heruntergeladen werden.

Quelle : www.pro-linux.de/
Titel: Linux-Kernel durchbricht die 20-Millionen-Zeilen-Marke
Beitrag von: SiLæncer am 30 Juni, 2015, 17:29
In nur knapp sieben Jahren ist der Linux-Kernel von zehn auf zwanzig Millionen Codezeilen angewachsen. Geknackt wurde die Marke bei der Aufnahme eines Treibers für neue Radeon-Grafikprozessoren von AMD.

Knapp vierundzwanzig Jahre nach der Vorstellung des ersten Linux-Kernels besteht dieser jetzt erstmals aus mehr als 20 Millionen Zeilen Quellcode. Damit hat sich der Umfang der Linux-Quellen in knapp sieben Jahren verdoppelt, denn der Kernel besteht seit Oktober 2008 aus mehr als 10 Millionen Codezeilen.

Neuer Grafiktreiber

Die 20-Millionen-Marke haben die Quellen des Linux-Kernels in der Nacht von Freitag auf Samstag durchbrochen, als Linus Torvalds die Änderungen an den Grafiktreibern integriert hat. Die Treiber sind für knapp 450.000 neue Codezeilen verantwortlich. Der Großteil entfällt auf den Amdgpu-Treiber, der die neueste Generation der Radeon-Grafikprozessoren von AMD unterstützt. Dieser Kernel-Code stellt nicht nur den Unterbau für quelloffene 3D-Treiber von AMD, sondern bildet auch das Fundament für einen neuen proprietären 3D-Treiber von AMD.

Damit hat Linux die 20-Millionen-Grenze ungefähr auf halbem Weg zwischen dem Anfang vergangener Woche freigegeben Linux 4.1 und der ersten Vorabversion von Linux 4.2 genommen, die Anfang nächster Woche erscheinen dürfte. Laut dem Programm Diffstat hat Linus Torvalds bislang eine Million neue Codezeilen aufgenommen und knapp 250.000 entfernt; verschobene Codezeilen fließen in beide Werte ein. In all diese Zahlen gehen auch Leerzeichen und Dokumentation ein; ebenso verhält es sich mit dem Code von Testprogrammen und Userland-Werkzeugen, die eng mit dem Kernel verbunden sind und daher im Rahmen der Kernelquellen weiterentwickelt werden.

Kernel-Zuwachs

Damit wird Linux 4.2 zu einer der Kernel-Versionen mit den größten Codewachstum. Auch die Zahl der im Quellcodeverwaltungssystem vorgenommenen Änderungen ist mit bislang 10.751 Commits recht hoch. Linus Torvalds bezweifelt jedoch auf Google+, dass 4.2 einen neuen Rekord aufstellen wird. Die Kernel-Version mit den meisten Commits ist bisher Linux 3.15, das am Ende 13.772 Änderungen brachte; 12.034 davon erfolgten vor Freigabe der ersten Vorabversion.

Laut dem Code-Analyseprogramm SLOCCount bestehen die Kernel-Quellen aus netto 13,5 Millionen Zeilen Code; über 8 Millionen davon stecken im Verzeichnis für Treiber. Zirka 97,5 Prozent sind C-Code, 2 Prozent sind Assembler; das sind aber nur Näherungswerte, denn da Programm ordnet Quellcode manchmal falsch ein.

Quelle : www.heise.de
Titel: Kernel 4.1 LTS erhält eine vierte Aktualisierung
Beitrag von: SiLæncer am 04 August, 2015, 11:56
Greg-Kroah-Hartman (GKH), einer der Kernel-Entwickler, die Kernel mit Langzeitunterstützung pflegen, gab die Verfügbarkeit des vierten Maintainance-Release für den am 22. Juni erschienenen Kernel 4.1 bekannt.

Wie der Ankündigung von GKH zu entnehmen ist, aktualisiert Kernel 4.1.4 eine große Anzahl an Treibern. Die Updates gelten unter anderem Treibern für ACPI, ATA, Bluetooth, CLK, DMA, EDAC, DRM (hauptsächlich Radeon and Intel i915), I2C, hwmon, iiO, MD, MMC, Netzwerk (Ethernet und WLAN), NFC, PHY, PINCTRL, PNP, RTC, Staging, TTY und USB. Zudem werden Probleme und Fehler bei den Architekturen ARM, ARM64, m68k, OpenRISC und x86 behoben sowie Patches für die Dateisysteme EXT4, Btrfs, FUSE, HPFS, Jbd2, NFS, OverlayFS und XFS eingeführt.

Kernel mit Langzeitunterstützung gehen auf einen Vorschlag von Greg-Kroah-Hartman aus dem Jahr 2011 zurück, der zur Einrichtung der Long-Term Support Initiative (LTSI) bei der Linux Foundation führte. Derzeit werden sieben Kernel im Rahmen von LTSI gepflegt. Der älteste ist 2.6.32 und wird seit Dezember 2009 unterstützt. Im privaten Umfeld werden solch alte Kernel eher selten eingesetzt, im Unternehmensumfeld gibt es hierfür jedoch Bedarf. Die Unterstützung für diesen Kernel läuft Mitte des Jahres aus. Hartman selbst wählt pro Jahr einen Kernel aus, den er im Normalfall für zwei Jahre unterstützt. Derzeit betreut er neben 4.1.4 noch 3.10 aus 2013 und 3.14 aus 2014.

Wie üblich fordert GKH die Anwender ultimativ auf, jeder Nutzer von 4.1. LTS müsse seinen Kernel aktualisieren. Das kann entweder über die verwendete Distribution geschehen, falls diese LTS-Kernel unterstützt. Manuell kann die aktuelle Version wie immer von Kernel.org herunter geladen werden. Die Änderungen zu 4.1.4 sind im Detail im Kernel Git nachzulesen.

Quelle : www.pro-linux.de/
Titel: Die Neuerungen von Linux 4.2
Beitrag von: SiLæncer am 31 August, 2015, 04:36
Der neue Kernel bringt gleich zwei neue Grafiktreiber mit. Nach Ext4 bietet nun auch das F2FS eine Verschlüsselung direkt im Dateisystem. Über eine neue UEFI-Technik lässt sich bei der Systemaktualisierung auch die Firmware auf den neuesten Stand bringen.

Linus Torvalds hat den Linux-Kernel 4.2 freigegeben. Zu dessen größten Neuerungen zählt der Treiber Amdgpu, über den der Kernel jetzt die "Volcanic Islands"-Grafikprozessoren von AMD unterstützt. Zu dieser neuen Generation von Radeon-GPUs gehören unter anderem der Chip auf der Radeon R9 285 sowie der Grafikkern, der in AMDs im Juni eingeführten Notebook-APUs "Carrizo" steckt.

Der neue Kernel-Grafiktreiber beherrscht nicht nur die Bildschirmkonfiguration und Bildausgabe, sondern offeriert auch Basisfunktionen für andere Treiber. Mit ihnen wird der 3D-Treiber Radeonsi von Mesa 11.0 die 3D-Beschleunigung von Volcanic-Islands-GPUs verwenden können. Diese im September erwarteten Mesa-Version erfordert dazu allerdings LLVM 3.7, das dieser Tage erscheint.

Diese Komponenten und der neue Kernel sollen noch in einige der im Herbst erwarteten Linux-Distributionen einfließen, die so AMDs neue GPUs automatisch ansprechen werden. Der Amdgpu-Kernel-Treiber beherrscht bislang allerdings das Takt- und Power-Management einiger Volcanic-Islands-GPUs nicht, daher laufen sie nicht mit der höchstmöglichen Taktfrequenz und liefern nur einen Teil der möglichen 3D-Performance. Zudem unterstützt der Treiber die Volcanic-Islands-GPUs nicht, die bei AMDs im Hochsommer eingeführter Grafikkartenserie Radeon R9 Fury zum Einsatz kommen; das soll sich mit Linux 4.3 ändern.

Auf den Amdgpu-Kernel-Treiber soll in Zukunft auch ein neuer proprietärer 3D-Treiber von AMD zurückgreifen. Dadurch ist kein eigener Kernel-Treiber mehr nötig, wie ihn AMDs proprietärer Catalyst-Treiber bislang mitbringt. Das soll Inkompatibilitäten zwischen AMDs proprietären Treiber und neuen Kernel-Versionen vermeiden; solche gibt es bei beim Kernel-Treiber von Catalyst bislang immer mal wieder, daher lässt er sich oft nicht unter Distributionen einrichten, die besonders junge Kernel-Versionen einsetzen.

Grafiktreiber für KVM- und Xen-Virtualisierung

In Linux 4.2 eingeflossen ist auch der Grafiktreiber Virtio-GPU; er verspricht die Interaktion zwischen virtuellen Maschinen (VMs) und Linux-Host zu verbessern und soll dabei auch die Grafik-Performance steigern.

Dazu kann ein als Gastbetriebssystem laufendes Linux mit dem neuen Treiber einen Grafikprozessor ansprechen, den das Anfang August erschienene Qemu 2.4 auf Wunsch bereitstellt. Anders als viele der anderen von Qemu emulierten Grafikprozessoren unterstützt die neue Kombination den Mehrschirmbetrieb und hohe Bildschirmauflösungen. Der neue Grafiktreiber kann zudem die Auflösung automatisch an die Größe des Fensters anpassen, das die Bedienoberfläche der VM zeigt.

Das bei der KVM- oder Xen-Virtualisierung oft eingesetzte Qemu und der neue Kernel-Grafiktreiber kommunizieren über Virtio. Dieses I/O Virtualization Framework wird bereits häufig beim Zugriff auf Netzwerk- oder Storage-Hardware verwendet, weil es Paravirtualisierungs-Techniken nutzt, über die Wirt und Gast sehr effizient Daten austauschen können.

Der federführende Entwickler von Virtio-GPU vermutet allerdings, dass Virtio vorerst keinen spürbaren Geschwindigkeitszuwachs bringt. Größere Bedeutung bekommt die effizientere Kommunikation erst mit der nächsten Ausbaustufe, bei der ein 3D-Treiber im Gast über Virtio-GPU auf manche 3D-Treiber des Hosts zurückgreifen kann, um so im Gast indirekt die 3D-Beschleunigung der Host-Hardware verwenden zu können. Diese als "Virgil 3D" entwickelten Verbesserungen sollen vermutlich noch in diesem Jahr in Kernel, Qemu und Mesa einfließen.

BIOS-Updates ganz einfach

Der Linux-Kernel beherrscht jetzt UEFI-Techniken, um die Firmware des Mainboards und damit fest verbundenen Grafik-, Storage- oder Netzwerk-Prozessoren zu aktualisieren. Dazu unterstützt Linux 4.2 die EFI System Resource Table (ESRT) – eine kürzlich mit UEFI 2.5 spezifizierte Technik, über die Anwendungen die installierte Firmware-Version abfragen können. Zusammen mit dem schon älteren "UEFI Capsule Update" können Programme neuere Firmware-Versionen im UEFI-Speicher hinterlegen, die das UEFI-BIOS des Mainboards dann beim nächsten Systemstart einspielt. Das Ganze wird aber bislang von kaum einem Mainboard unterstützt.

Das Fedora-Projekt will solche Firmware-Updates beim für Oktober geplanten Fedora 23 unterstützen. Die Hauptarbeit soll dabei das Software-Verwaltungsprogramm von Gnome erledigen. Dazu hat dessen Entwickler einen noch als Beta eingestuften Webdienst "Linux Vendor Firmware Service" (LVFS) eingerichtet, bei dem Hardware-Hersteller ihre Firmware-Updates hinterlegen können; System-Aktualisierungsprogramme wie Gnome-Software sollen die Firmware-Updates dort finden und zur Installation anbieten.

Der ganze Artikel (http://www.heise.de/open/artikel/Die-Neuerungen-von-Linux-4-2-2789351.html)

Quelle : www.heise.de
Titel: Linux-Kernel 4.3 wird neue AMD- und Intel-Grafikprozessoren unterstützen
Beitrag von: SiLæncer am 05 September, 2015, 18:03
Linux 4.3 wird von Haus aus Skylake- und Fiji-GPUs unterstützen; dem Treiber für AMDs neue Grafikchip-Generation fehlt aber noch eine wichtige Funktion. Außerdem werden die Kernel-Entwickler den Ext3-Dateisystemcode entfernen.

Der Anfang November erwartete Linux-Kernel 4.3 wird Treiber für den Grafikprozessor in Intels kürzlich vorgestellter Prozessorgeneration "Skylake" mitbringen. Außerdem wird er Fiji-Chips unterstützen, die auf einigen der im Hochsommer eingeführten Radeon-Grafikkarten von AMD sitzen. Entfernt wird indes der Code für das Dateisystem Ext3, das vielen Linux-Distributionen jahrelang als Standard-Dateisystem diente, bevor es vor einigen Jahren durch Ext4 verdrängt wurde.

Skylake-Unterstützung komplett

Zu den Skylake-Prozessoren gehören unter anderem die Core-i-Modelle der 6000er-Reihe; diese im August mit einer kleinen Vorhut gestartete Prozessorserie hat Intel zum Start der IFA um einen ganzen Schwung von Desktop- und Notebook-Prozessoren erweitert. Der Treibercode für deren Grafikprozessoren steckt bereits in älteren Kernel-Versionen, gilt dort aber als unfertig und muss daher explizit aktiviert werden.

Zusätzlich zum Kernel müssen Linux-Distribution wie üblich auch neue oder aktualiserte 3D-, Video- und X-Server-Treiber einbauen, um die Fähigkeiten von Intels neue Intel-Grafikhardware adäquat zu nutzen – nocht ist daher nicht absehbar, wann Debian, Fedora, OpenSuse, Ubuntu und Co. die neuen Chips von Haus aus ansprechen können.

Fiji-Support noch unvollständig

Der erst bei Linux 4.2 integrierte Amdgpu-Treiber wird durch einige für Linux 4.3 aufgenommene Änderungen auch die AMD-Radeon-Grafikkarten wie die R9 Fury oder die R9 Fury X unterstützen. Der Treiber ermöglicht aber vorerst keine Änderungen der Geschwindigkeitsstufe – der Kernel kann die Grafikprozessoren daher weder in die schnellsten noch in die stromsparendsten Betriebsmodi schalten. Deshalb verbrauchen sie unnötig Strom und schöpfen das 3D-Leistungspotenzial nicht aus.

Bye bye Ext3-Code

Mit dem Rauswurf des Ext3-Dateisystemcodes wollen die Entwickler die Wartung des Linux-Kernels vereinfachen. Ext3-Dateisysteme lassen sich aber wie gewohnt nutzen, weil das aus Ext3 hervorgegangene Ext4 bereits eine Weile auch Ext2- und Ext3-Dateisysteme ansprechen kann. Für Anwender sollten dadurch keine Nachteile entstehen, was sich sich Linus Torvalds explizit bestätigen ließ, bevor er den Code entfernte. Der Ext2-Code verbleibt allerdings im Kernel, denn er unterscheidet sich stärker von Ext4 als der Ext3-Code; dadurch ist er simpler und arbeitet ressourcenschonender.

Große Änderungen

Diese Neuerungen von Linux 4.3 sind jetzt absehbar, da sie im Hauptentwicklungszweig des Linux-Kernels bereits umgesetzt wurden – direkt nach der Freigabe von Linux 4.2 vor einigen Tagen begann nämlich wie üblich das zweiwöchige "Merge Window". In diesem Zeitraum nehmen die Kernel-Entwickler das Gros der Änderungen für den Nachfolger vor, bevor sie sich dann einige Wochen auf Fehlerkorrekturen konzentrierten.

Quelle : www.heise.de
Titel: Linux 4.3 wird IPv6-Unterstützung standardmäßig nutzen
Beitrag von: SiLæncer am 14 September, 2015, 10:34
Die nächste größere Überarbeitung des Linux-Kernels wird die neuesten Grafikprozessoren von AMD und Intel unterstützen. Der Kernel weist nun Fork-Bomben in die Schranken. Zum Kompilieren kann jetzt die OpenSSL-Bibliothek erforderlich sein.

Der Anfang November erwartete Linux-Kernel 4.3 bringt alles mit, um von Haus aus alle wichtigen Funktionen in Intels Skylake-Prozessoren anzusprechen; zu denen gehören die kürzlich breit eingeführten Core-i-6000er-Prozessoren, die in vielen der dieser Tage neu vorgestellten PCs und Notebooks stecken.

Die nächste größere Überarbeitung des Linux-Kernels unterstützt zudem die Grafikprozessoren, die AMD auf seinen High-End-Karten der Radeon-R9-Fury-Reihe einsetzt. Zusammen mit dem seit kurzem erhältlichen Mesa 11.0 können Anwendungen über diesen Treiber sogar OpenGL 4.1 nutzen; die darüber erzielbare 3D-Leistung ist aber eher dürftig, weil der Kernel-Treiber die Grafikprozessoren bislang nicht in die schnellsten Modi schalten kann.

Der ganze Artikel (http://www.heise.de/open/meldung/Linux-4-3-wird-IPv6-Unterstuetzung-standardmaessig-nutzen-2811927.html)

Quelle : www.heise.de
Titel: Der Linux-Kernel 4.4 bekommt Langzeitpflege
Beitrag von: SiLæncer am 29 Oktober, 2015, 13:19
In Zukunft soll die jeweils im Januar aktuelle Linux-Version ein Kernel mit Langzeitpflege werden. Dieses Vorgehen soll Firmen eine bessere Planung ermöglichen und wurde offenbar recht spontan beim jährlichen Treffen der Kernel-Entwickler entschieden.

Greg Kroah-Hartman will zwei Jahre lang überarbeitete Versionen von Linux 4.4 veröffentlichen, die Sicherheitslücken und Fehler des Kernels beseitigen und kleine, ungefährliche Verbesserungen bringen. Das kündigte der Kernel-Entwickler in einem Google+-Beitrag an, in dem er von der Tatsache selbst ein wenig überrascht wirkt. Offenbar entstand der Entschluss spontan nach einer Diskussion auf dem am Mittwoch zu Ende gegangenen Kernel-Summit; einige der wichtigsten Kernel-Entwickler kommen dort einmal jährlich zusammen, um zusammen mit Linux-Erfinder Linus Torvalds über die weitere Entwicklung des Linux-Kernels zu sprechen.

Der ganze Artikel (http://www.heise.de/newsticker/meldung/Der-Linux-Kernel-4-4-bekommt-Langzeitpflege-2863275.html)

Quelle : www.heise.de
Titel: Linux 4.3 freigegeben: Neue Grafiktreiber und IPv6 für jeden
Beitrag von: SiLæncer am 02 November, 2015, 09:15
Der Linux-Kernel unterstützt jetzt die neuesten Grafikprozessoren von AMD und Intel. Neu ist auch eine Funktion, um Amok laufende Prozesse einzudämmen. Der Ext3-Dateisystemcode musste weichen und IPv6 wird jetzt standardmäßig eingebaut.

Der jetzt erhältliche Linux-Kernel 4.3 kann von Haus aus alle wichtigen Funktionen in Intels Core-i-Prozessoren der 6000er-Reihe ansprechen. Der neue Kernel unterstützt erstmals auch die Grafikprozessoren, die AMD auf seinen aktuellen High-End-Grafikkarten der Fury-Reihe einsetzt. Neu dabei sind Treiber für das Bus-System MOST, über das die Multimedia-Geräte moderner Autos vielfach miteinander kommunizieren.

Zum Bau eigener Kernel können nun die Entwicklerdateien der OpenSSL-Bibliothek erforderlich sein. Einige Änderungen am Netzwerk- und Speichermanagement-Code versprechen die Geschwindigkeit zu steigern. An Entwickler richten sich einige Anpassungen, die Performance-Analyse und Code-Ablaufverfolgung erleichtern.

Details zu diesen und weiteren Neuerungen des jetzt verfügbaren Linux-Kernels liefert ein Artikel auf heise open:

   
Die Neuerungen von Linux 4.3 (http://www.heise.de/open/artikel/Die-Neuerungen-von-Linux-4-3-2860564.html)

Quelle : www.heise.de
Titel: Linux 4.4 wird Storage- und Netzwerk-Performance verbessern
Beitrag von: SiLæncer am 16 November, 2015, 13:55
Linux 4.4 wird einen rudimentären Grafiktreiber für den RasPi enthalten. Durch einige Umbauten an Kernel, Mesa und Qemu sollen KVM-VMs in Zukunft die 3D-Beschleunigung des Hosts verwenden können.

Der im Januar erwartete Linux-Kernel 4.4 wird einen Grafiktreiber für den Broadcom-Prozessor mitbringen, der auf Raspberry Pi und Raspberry Pi 2 steckt. Dieser Treiber unterstützt viele Funktionen selbst, welche die auf dem Kleinstcomputern derzeit meist eingesetzten Treiber nur mit Hilfe der proprietären Firmware realisieren können. Vorerst beherrscht der neue Kernel-Treiber allerdings weder Stromspartechniken noch 3D-Beschleunigung.
Storage-Performance

Linux 4.4 bringt zudem zwei größere Sätze von Änderungen, die High-End-PCIe-SSDs mehr Leistung zu entlocken. Facebook-Entwickler haben den MD-Code erweitert, damit er bei einem Software-RAID-5 nun ein Journal führen kann. Fürs Erste steigert das nur die Datenintegrität, denn ähnlich wie ein Dateisystem-Journal kann der Software-RAID-Code so einen Speichervorgang zu Ende führen, falls dieser durch einen Systemabsturz unvollständig oder fehlerhaft ausgeführt wurde. Es sind aber bereits Verbesserungen angedacht, um mit Hilfe des Journals auch die Performance zu steigern.

Der ganze Artikel (http://www.heise.de/newsticker/meldung/Linux-4-4-wird-Storage-und-Netzwerk-Performance-verbessern-2921404.html)

Quelle : www.heise.de
Titel: Linux 4.4 freigegeben: Neue Grafiktreiber und Optimierungen für SSDs
Beitrag von: SiLæncer am 11 Januar, 2016, 13:11
Linux 4.4 bringt Grafiktreiber für den Raspi und die 3D-Beschleunigung in KVM mit. Performance-Verbesserungen im Netzwerksubsystem sollen DDoS-Attacken erschweren. Neue Ansätze versprechen High-End-SSDs mehr Leistung zu entlocken.

Der Linux-Kernel 4.4 kann TCP-Handshakes schneller verarbeiten. Das reduziert Wartezeiten beim Datenaustausch und erschwert nebenbei auch DDoS-Attacken. Dem neuen Kernel liegt erstmals ein Grafiktreiber für die verschiedenen Raspberry-Pi-Modelle bei. Er erledigt das meist selbst, statt die Hauptarbeit an einen Grafiktreiber in der proprietären Firmware zu delegieren, wie es die derzeit meist eingesetzten Treiber machen. Zusammen mit Mesa 11.1 und Qemu 2.5 wird Linux 4.4 zudem 3D-Unterstützung in virtuellen Maschinen ermöglichen, bei denen Linux unter KVM läuft.

Der Mdraid-Code kann Software-RAIDs der Level 4, 5 und 6 mit einem weiteren Datenträger koppeln, auf dem der Kernel ein Log führt, mit dem es RAID-Inkonsistenzen bei Systemabstürzen verhindert. Unterstützung für "Open-Channel SSDs" und Polling bei Datenträgerzugriffen sollen die Performance von Highend-SSDs für Server steigern.

Ferner gibt es wieder eine Reihe neuer und verbesserter Treiber. Die Treiber für die Grafikprozessoren von AMD und Intel unterstützten nun beispielsweise einen Scheduler, um die GPUs stärker auszulasten und ihnen so mehr Geschwindigkeit zu entlocken. Details zu diesen und weiteren Neuerungen des jetzt verfügbaren Linux 4.4 liefert ein Artikel auf heise open:

    Die Neuerungen von Linux 4.4 (http://www.heise.de/open/artikel/Die-Neuerungen-von-Linux-4-4-3053832.html)

Quelle : www.heise.de
Titel: Linux 4.5 soll neue und verbesserte Grafiktreiber bringen
Beitrag von: SiLæncer am 11 Januar, 2016, 16:30
Der Linux-Kernel soll bald von Haus aus den Raspberry Pi 2 ansprechen können und dabei sogar 3D-Unterstützung bieten. Für den AMD-Grafiktreiber liegen Änderungen bereit, die einen deutlichen Performance-Schub versprechen.

Mit der Freigabe von Linux 4.4 zum Wochenstart hat zugleich die zumeist zweiwöchige Phase begonnen, in der das Gros der Änderungen für Linux 4.5 vorgenommen wird. Das soll nun neue und verbesserte Grafiktreiber erhalten. Zudem liegen Verbesserungen für Btrfs und der Raspi-Unterstützung zur Aufnahme bereit.

AMD Radeon

In das Mitte März erwartete Linux 4.5 sollen Änderungen einziehen, durch die der Amdgpu-Treiber die PowerPlay-Funktion der neuesten Grafikprozessoren von AMD unterstützt. Das verbessert die Performance und die Effizienz, denn durch diese Änderungen wird der Kernel auch die neuesten Radeon-Grafikkarten in ihre schnellsten oder sparsamsten Betriebsmodi schalten können. Die Radeon R9 380 oder die Radeon-Modelle der R9-Fury-Reihe sollten dadurch deutlich mehr 3D-Leistung liefern können, denn bislang laufen diese mit einem Standardtakt, bei dem sich das Leistungspotenzial nicht ausschöpfen lässt. Derzeit sieht es aber so aus, dass die PowerPlay-Unterstützung vorerst nur bei Angabe des Kernel-Parameters amdgpu.powerplay=1 aktiv wird.

Raspberry Pi

Der erst in Linux 4.4 eingeflossene Grafiktreiber für die Grafikkerne der verschiedenen Raspberry-Pi-Modelle soll 3D-Unterstützung erhalten. Diese wird sich in Kombination mit dem 3D-Treiber "VC4" nutzen lassen, der den neuesten Mesa-Versionen bereits beiliegt.

Zur Aufnahme sind ferner einige Änderungen vorgesehen, durch die Linux mittelfristig den Raspberry Pi 2 von Haus aus besser unterstützt. Bislang sind für ordentlichen Unterstützung einige Patches nötig, die unabhängig vom offiziellen Kernel entwickelt werden.

Weitere Änderungen

In 4.5 soll auch ein Open-Source-Grafiktreiber Etnaviv einfließen, der Vivante-Grafikkerne von Freescale-Prozessoren unterstützt. Eine Änderung am Btrfs-Dateisystem verspricht Wartezeiten reduzieren, die sich gelegentlich bei großen Dateisystem zeigen.

Das sind nur einige von über 9500 Änderungen, die im "Linux-Next" genannten Entwicklerzweig zur Aufnahme in Linux 4.5 bereit liegen. Die meisten werden einfließen; hin und wieder zeigen sich noch Probleme oder Kritikpunkte bei einzelne Änderungen, woraufhin die Kernel-Entwickler die Integration überraschend vertagen.

Linux 4.5 am 14. März?

Die nächste größere Überarbeitung des Linux-Kernel dürfte am 14. März erscheinen, sofern Torvalds und seine Mitstreiter im gewohnten Tempo arbeiten. Größere Unterschiede beim Entwicklungsrhythmus sind in letzter Zeit seltener geworden: Die Hauptentwicklungsphase ("Merge Window") und die daran anschießende Stabilisierungsphase summieren sich zuletzt meist auf neun Wochen. In seltenen Fällen ist es mal eine Woche weniger, gelegentlich auch eine Woche mehr. Letzteres war auch bei 4.4 der Fall, weil sich dessen Entwicklung mit den Feiertagen rund um den Jahreswechsel überschnitten hat.

Quelle : www.heise.de
Titel: Linux-Kernel 4.6 tritt in die Testphase ein
Beitrag von: SiLæncer am 29 März, 2016, 16:35
Linux-Initiator Linus Torvalds hat die Kernel-Version 4.6-rc1 als erste Testversion für Linux 4.6 freigegeben. Die Verbesserungen ziehen sich durch alle Bereiche. Bei den Treibern dürfte die volle 3D-Unterstützung für Nvidias Grafikchips der GeForce 900-Reihe die wichtigste Neuerung darstellen.

Zwei Wochen nach Linux 4.5 ist die erste Testversion von Linux 4.6 erschienen. Die kommenden sieben Wochen (bei Bedarf auch mehr) dienen zum Testen der Änderungen und Korrigieren der gefundenen Probleme. Wie Linus Torvalds dazu schreibt, gehören die Änderungen dieses Mal zu den umfangreicheren in der Linux-Geschichte. Zwei Drittel der weit über 11.000 einzelnen Änderungen betreffen Treiber. Bei den Architektur-Updates befasst sich ein großer Teil der Änderungen mit ARM (32 und 64 Bit).

Mit OrangeFS ist dieses Mal wieder ein neues Dateisystem im Kernel zu verzeichnen. Das Dateisystem wartet schon seit letzten August auf die Kernel-Integration, musste jedoch auf Wunsch der Kernel-Entwickler noch an einigen Stellen überarbeitet werden. OrangeFS ist der Nachfolger des Parallel Virtual File Systems (PVFS), einem verteilten, parallelen Dateisystem für Hochleistungsrechner.

Neu sind in Linux 4.6 die Unterstützung für Memory Protection Keys auf Intel-Prozessoren, was es unter anderem ermöglicht, Code ausführ- aber nicht lesbar zu machen und damit Computerkriminellen das Leben zu erschweren. Control Groups sind nun an Namensräume angepasst. Die neuen Systemaufrufe preadv2() und pwritev2() erweitern die beiden bestehenden Aufrufe um ein zusätzliches Flags-Argument.

Speicherseiten können beim Freigeben mit vorgegebenen Werten oder Nullen überschrieben werden. Das ist eine Sicherheitsmaßnahme aus dem grsecurity-Projekt. Eine andere Sicherheitsmaßnahme nutzt eine neue Funktionalität in 64 Bit ARM-Prozessoren und ermöglicht dem Kernel, auf Speicher von Anwendungen mit unprivilegierten Instruktionen zuzugreifen, dabei aber die normalen Zugriffsrechte des Prozesses zu prüfen. Auch die randomisierte Anordnung des Kernel-Adressbereichs wird jetzt auch in ARM64 unterstützt. Ferner kann Kernel-Speicher nach der Initialisierung auf Nur-Lesen gesetzt werden, was ebenfalls vor bestimmten Angriffen schützt.

Neu ist auch der Kernel Connection Multiplexer, der es ermöglicht, einen Teil der Protokollbehandlung im Kernel vorzunehmen. Eine Reihe von Protokolleinstellungen sind nun für jeden Netzwerk-Namensraum individuell. Auch das Local Checksum Offload, das Implementationen von getunnelten Protokollen beschleunigen soll, kam neu hinzu.

Bei den Treibern dürfte die volle 3D-Unterstützung für Nvidias Grafikchips der GeForce 900-Reihe die wichtigste Neuerung darstellen. Möglich wurde das erst durch die kürzlich erfolgte Freigabe einer Firmware speziell für die Nutzung mit dem Nouveau-Treiber. Die spezielle Firmware ist nötig, weil Nvidia den Grafikprozessor mit Maßnahmen verriegelt, die nur autorisierter Software den Zugriff auf bestimmte Funktionen erlaubt.

Auch für Entwickler gab es einige Neuerungen, so wurden Stack-Traces zuverlässiger gemacht und Tests können mit dem Kernel-Code-Abdeckungs-Werkzeug kcov analysiert werden. Mit den neuen Simple Wait Queues kann man auf einfachere Weise als bisher Warteschlangen anlegen, wenn man nicht jede denkbare Funktionalität benötigt.

Die zahlreichen weiteren Änderungen sind im Änderungslog von Git zu finden. Kernel und Patch-Dateien sind von zahlreichen Spiegelservern von kernel.org herunterzuladen.

Quelle : www.pro-linux.de/
Titel: Linux 4.6 freigegeben: GeForce-900-Treiber und besseres Power-Management
Beitrag von: SiLæncer am 16 Mai, 2016, 09:18
Einige Anpassungen im Netzwerksubsystem versprechen höheren Netzwerkdurchsatz und geringere Latenzen. Gleich eine ganze Reihe von Änderungen sollen Sicherheit und Robustheit des Linux-Kernels verbessern.

Der jetzt erhältliche Linux-Kernel 4.6 dürfte die Akku-Laufzeit mancher Notebooks verlängern, denn die Entwickler haben die Unterstützung einiger Stromspartechniken verbessert. Neu dabei ist die Möglichkeit zum Zugriff auf das Orange File System, einem Cluster-Dateisystem, das unter anderem in Wissenschaft und Forschung eingesetzt wird.

Einige Anpassungen im Netzwerksubsystem versprechen höheren Netzwerkdurchsatz und geringere Latenzen. Gleich eine ganze Reihe von Änderungen sollen Sicherheit und Robustheit verbessern. Neu sind auch Verbesserungen zum Debugging. Damit wollen die Entwickler mittelfristig die Einsatzmöglichkeiten von Kernel Live Patching verbessern, mit dem sich Kernel-Fehler im Betrieb beheben lassen.

Zahlreiche neue und verbesserte Treiber bringen Unterstützung für die Grafikchips, die Nvidia bei GeForce-Grafik der 900er-Serie einsetzt. Der Grafiktreiber für den Raspberry Pi soll jetzt bessere 3D-Performance ermöglichen und der Xhci-Treiber beherrscht jetzt den mit USB 3.1 definierten Übertragungsmodus SuperSpeedPlus. Neu ist auch Unterstützung für den Realtek-USB-WLAN-Chip RTL8723BU oder die Force-Feedback-Funktion des Logitech-Racing-Lenkrads G920.

Details zu diesen und vielen weiteren Neuerungen von Linux 4.6 liefert ein Artikel auf c't online:

    Die Neuerungen von Linux 4.6 (http://www.heise.de/ct/artikel/Die-Neuerungen-von-Linux-4-6-3197968.html)

Quelle : www.heise.de
Titel: Linux 4.7 vermeidet Netzwerk-Latenzen und unterstützt SMR-Festplatten besser
Beitrag von: SiLæncer am 15 Juni, 2016, 13:14
Die Kernel-Entwickler haben einige Änderungen für 4.7 vorgenommen, um ein Schreibverfahren modernen Festplatten besser zu unterstützen. Einige andere Umbauten versprechen die Performance beim Tunneln des Netzwerkverkehrs zu steigern.

Das Mitte Juli erwartete Linux 4.7 verbessert die Unterstützung für Festplatten, die zur Steigerung des Datenvolumens Shingled Magnetic Recording (SMR) einsetzen. Einige andere Änderungen sollen kurze, außer der Reihe auftretende Wartezeiten (Latenzspitzen) vermeiden, die bislang gelegentlich entstehen, wenn der Kernel eine große Zahl von Netzwerkpaketen zu verarbeiten hat. Mit bestimmter Hardware soll Linux 4.7 den Netzwerkverkehr schneller tunneln können. Der NFS-Client der nächsten Linux-Version beherrscht eine Funktion, die das Kopieren von Daten erheblich beschleunigt.

Details zu diesen und anderen Neuerungen rund um Netzwerk, Storage-Support und Dateisystemen liefert das Kernel-Log zu Linux 4.7 auf c't online. Es handelt sich um einen in unregelmäßigen Abständen aktualisierten Artikel, der um eine Beschreibung der Änderungen der drei genannten Bereichen erweitert wurde:

    Die Neuerungen von Linux 4.7 auf c't online (http://www.heise.de/ct/artikel/Die-Neuerungen-von-Linux-4-7-3217845.html)

Quelle : www.heise.de
Titel: Linux 4.7 bringt neue Treiber und ist robuster gegen Angriffe
Beitrag von: SiLæncer am 06 Juli, 2016, 13:23
Der in eineinhalb oder zweieinhalb Wochen erwartete Kernel 4.7 implementiert weitere Sicherheitsfunktionen, um Angreifern und Schadsoftware ein Eindringen zu erschweren. Die neue Version verbessert zudem die Hardware-Unterstützung.

Der Mitte Juli erwartete Linux-Kernel 4.7 unterstützt rund 500 Hardware-Komponenten mehr als Linux 4.6. Das ist neuen und verbesserten Treibern zu verdanken; darunter sind welche für Audio-Codecs von Realtek oder WLAN-Module von Intel, die in neuen Notebooks zum Einsatz kommen dürften. Die Kernel-Entwickler haben zudem weitere Sicherheitstechniken implementiert, um den Kernel robuster gegen Angriffe zu machen.

Der ganze Artikel (http://www.heise.de/newsticker/meldung/Linux-4-7-bringt-neue-Treiber-und-ist-robuster-gegen-Angriffe-3257684.html)

Quelle : www.heise.de
Titel: Linux 4.8 bringt Treiber für neue ARM-, Intel- und Nvidia-Grafikprozessoren
Beitrag von: SiLæncer am 08 August, 2016, 10:39
Der in der zweiten Septemberhälfte erwartete Linux-Kernel 4.8 bringt neue Grafiktreiber mit. Der Amdgpu-Treiber ermöglicht jetzt Overclocking und Intels Treiber beherrscht eine neue GPU-Virtualisierungstechnik.

Der in sieben bis acht Wochen erwartete Linux-Kernel 4.8 wird den Raspberry Pi 3 besser unterstützen. Zudem gab es einen ganzen Schwung von Änderungen, um die Systemsicherheit zu verbessern.

Größere Umbauten an XFS schaffen Grundlagen, um das Dateisystem grundlegend zu modernisieren, damit es besser zu den heutigen Ansprüchen passt. Durch den Umbau soll das Dateisystem in Zukunft die Datenintegrität prüfen sowie Copy-On-Write (COW) beim Schreiben verwenden können und doppelt geschriebene Daten zusammenfassen (Deduplication). Sprich: XFS lernt einige der Funktionen, die das Btrfs-Dateisystem auszeichnen und dort geschätzt werden. Die erwähnten XFS-Funktionen befinden sich allerdings noch in der Entwicklungsphase und sind noch nicht ohne weiteres nutzbar, daher wird es noch eine Weile dauern, bis Distributionen diese anbieten.

Verbesserungen bei Grafiktreibern

Darüber hinaus gab es eine ganze Reihe von Änderungen an Grafiktreibern. Darunter ist unter anderem ein neuer Treiber, der drei Display-Prozessoren aus der Mali-Serie von ARM unterstützt. Ferner wurden existierende Treiber erweitert, um neue Grafikprozessoren von Intel und Nvidia zu unterstützen.

Diese und andere Neuerungen sind jetzt absehbar, denn Linus Torvalds hat die erste Vorabversion von Linux 4.8 freigegeben, was wie gewohnt die Aufnahme der größeren Neuerungen abschließt. Unter den Änderungen waren noch einige weitere Anpassungen bei Grafiktreibern, die ein Kernel-Log zu Linux 4.8 näher erläutert; darunter etwa eine Overclocking-Funktion für den Amdgpu-Treiber und Unterstützung für eine Grafikchip-Virtualisierungstechnik von Intel.

Dieses Kernel-Log von c't online wird in den kommenden Wochen noch mehrfach erweitert, um bis zur Freigabe von Linux 4.8 nach und nach alle wichtigen Verbesserungen von Linux 4.8 zu erläutern:

    Die Neuerungen von Linux 4.8 (http://www.heise.de/ct/artikel/Die-Neuerungen-von-Linux-4-8-3283402.html).

Quelle : www.heise.de
Titel: Linux Kernel 4.7.2 Stable
Beitrag von: SiLæncer am 20 August, 2016, 22:24
Changelog : https://cdn.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.7.2

https://www.kernel.org/
Titel: Linux 4.8: Vorboten neuer XFS-Funktionen und Schnellstraße im Netzwerk-Stack
Beitrag von: SiLæncer am 05 September, 2016, 13:58
Das XFS-Dateisystem soll einige Features lernen, die Anwender an Btrfs und ZFS schätzen. Der Netzwerk-Code bekommt einen Express-Pfad, um bestimmte Aufgaben erheblich effizienter erledigen zu können.

Das in zwei bis vier Wochen erwartete Linux 4.8 wird eine neue Infrastruktur in XFS enthalten, mit der das Dateisystem einen Schwung von Funktionen lernen soll, die bislang Btrfs und ZFS auszeichnen; darunter Deduplizierung, Reflink-Kopien und eine Integritätsprüfung für Daten. Der Netzwerkstack erhält mit dem "Express Data Path" (XDP) eine Schnellstraße für bestimmte Netzwerkpakete, um den Overhead bei deren Verarbeitung erheblich zu reduzieren; damit lassen sich beispielsweise Denial-of-Service-Angriffe besser abwehren und Forwarding effizienter realisieren.

Details zu diesen Neuerungen liefert das auf c't online publizierte Kernel-Log zu Linux 4.8. Dieser derzeit hin und wieder erweiterte Text beschreibt seit einigen Tagen auch eine Reihe anderer Neuerungen aus den Bereichen Dateisysteme, Storage-Support und Netzwerk; darunter Unterstützung für das jüngst spezifizierte NVM Express over Fabrics (NVMf), ein Treiber für "Software RDMA over Converged Ethernet" und eine neue Technik zum effizienten Datenaustausch zwischen virtuellen Maschinen und ihrem Host:

    Die Neuerungen von Linux 4.8 (http://www.heise.de/ct/artikel/Die-Neuerungen-von-Linux-4-8-3283402.html) auf c't online

Quelle : www.heise.de
Titel: Linux 4.8 freigegeben: Netzwerk-Schnellstraße & Vorboten eines verbesserten XFS
Beitrag von: SiLæncer am 03 Oktober, 2016, 10:00
Der neue Kernel bringt einen ganzen Schwung weiterer Sicherheitstechniken. Unter zahlreichen neuen und verbesserten Treiber sind welche für Grafikchips von ARM, Intel und Nvidia. Die Entwickler wollen WLAN-Übertragungen beschleunigt haben.

Zu den wichtigsten Neuerungen des jetzt erhältlichen Linux 4.8 zählt der "Express Data Path" (XDP), durch den der Kernel bestimmte Netzwerkpakete schneller verarbeiten kann. Die Entwickler haben zudem eine neue Infrastruktur in XFS geschaffen, mit der das Dateisystem in naher Zukunft einige Funktionen lernen soll, die bislang Btrfs und ZFS auszeichnen.

Neue und verbesserte Treiber

Ein ganzer Schwung von Änderungen verspricht die Angriffsfläche des Kernels zu reduzieren. Laut Linux Kernel Driver DataBase (LKDDb) unterstützt Linux 4.8 rund 175 weitere ACPI-, PCI-, USB- und Eingabegeräte; darunter beispielsweise einige Grafikprozessoren von ARM, Intel und Nvidia. Der Amdgpu-Treiber bietet nun eine Funktion zum Übertakten von Radeon-Karten. Neu ist auch Support für eine Intel-Technik, mit der in einer Virtual Maschine (VM) laufende Betriebssysteme die 3D- oder Video-Beschleunigung der Prozessorgrafik des Hosts nutzen können.

WLAN optimiert

Linux 4.8 soll ferner Latenzen bei WLAN-Übertragungen reduzieren und so Datentransfers beschleunigen. Die neue Kernel-Version bringt zudem Support für einen "Open-Source-Prozessor" mit SuperH-2-Design, das mit FPGAs verwendbar ist und frei von Patenten sein soll. Die neue Virtio-Vsock-Infrastruktur verspricht einen einfacheren und effizienteren Datenaustausch zwischen einem Linux-Host und darunter laufenden Linux-VMs. Über neue Treiber kann Linux jetzt per NVM Express over Fabrics (NVMf) effizienter auf NVMe-Datenträger von Storage-Servern zugreifen oder solche selbst als NVMf-Storage-Server im Netz bereitstellen.

Quelle : www.heise.de
Titel: Linux 4.9 wird Sicherheit verbessern und neue Treiber bringen
Beitrag von: SiLæncer am 17 Oktober, 2016, 13:14
Der in sieben oder acht Wochen erwartete Linux-Kernel schützt sich besser vor Stack Overflows. Das XFS-Dateisystem erhält eine von Btrfs bekannte Funktion und zahlreiche neue und verbesserte Treiber steigern die Hardware-Unterstützung.


Das in der ersten Dezemberhälfte erwartete Linux 4.9 wird den Zugriff auf vom Kernel selbst verwendete Speicherbereiche anders regeln und dadurch Stapelüberläufe (Stack Overflows) besser abfangen. Die "Virtually mapped kernel stack allocations" erschweren Angreifern und Schadsoftware so ein Einbrechen; nebenbei verbessert die Technik auch die Fehlerfindung und überholt einige alte, angestaubte Code-Bereiche.

Der ganze Artikel (https://www.heise.de/newsticker/meldung/Linux-4-9-wird-Sicherheit-verbessern-und-neue-Treiber-bringen-3351310.html)

Quelle : www.heise.de
Titel: Linux 4.9: Stack-Overflow-Schutz und Dtrace-ähnliche Analysefähigkeiten
Beitrag von: SiLæncer am 02 Dezember, 2016, 17:30
Linux 4.9 bringt weitere Verbesserung zur dynamischen Performance-Analyse. Die nächste Kernel-Version schützt sich zudem besser vor Stack Overflows, was Fehlverhalten vermeiden und Angreifern das Leben erschweren soll.

Linux hat jetzt grundlegende Performance-Analysefähigkeiten, die mit denen des bei Solaris geschätzten Dtrace vergleichbar sind. So umschreibt es der Performance-Experte Brendan Gregg; er tätigte diese Aussage im Bezug auf Linux 4.9, denn mit dessen Berkeley Packet Filter (BPF) ausgeführte Performance-Analyse-Programme können nun regelmäßige Messungen autark durchführen (Timed Sampling) und die erfassten Daten auch gleich zusammenfassen.

Der ganze Artikel (https://www.heise.de/newsticker/meldung/Linux-4-9-Stack-Overflow-Schutz-und-Dtrace-aehnliche-Analysefaehigkeiten-3538199.html)

Quelle : www.heise.de
Titel: Linux 4.10: Neuer Schlafzustand und Lenovo-Warnhinweis
Beitrag von: SiLæncer am 10 Februar, 2017, 18:52
Beim Mitte Februar erwarteten Linux 4.10 soll Firefox nicht mehr ins Stocken geraten, wenn der Kernel große Datenmengen wegschreibt. Neu dabei sind auch ein RAID-5-Cache und Unterstützung für einen Schlafzustand, den neuere Notebooks bieten.

Das am 13. oder 20. Februar erwartete Linux 4.10 weist darauf hin, wenn ein BIOS die Storage-Adapter eines Systems so konfiguriert hat, dass Linux NVMe-SSDs nicht ansprechen kann. Das ist eine Reaktion auf eine Eigenart im Standard-BIOS des Lenovo Yoga 900-13ISK2, die eine Installation von Linux verhindert.

Anders Schlafen

Über eine neue Konfigurationsdatei kann man den Kernel jetzt anweisen, beim Schlafenlegen das System nicht in den Suspend-to-RAM zu schicken, sondern in das modernere Suspend-to-Idle. Dieser bei neueren Notebooks nutzbare Schlafzustand zeichnet sich durch eine schnelle Aufwachzeit aus und wird in der Windows-Welt "Modern Standby" genannt; so richtig rund läuft das Ganze unter Linux aber noch nicht.

Der ganze Artikel (https://www.heise.de/newsticker/meldung/Linux-4-10-Neuer-Schlafzustand-und-Lenovo-Warnhinweis-3621446.html)

Quelle : www.heise.de
Titel: Linux-Kernel 4.11: Längere Akkulaufzeit durch NVMe-Stromspartechnik
Beitrag von: SiLæncer am 06 März, 2017, 13:49
Das in der zweiten Aprilhälfte erwartete Linux 4.11 wird selbstverschlüsselnde SSDs unterstützen. Außerdem bringt der nächste Kernel Performance-Verbesserungen für Software-RAID-1 und einen effizienteren Weg, um Dateieigenschaften abzufragen.

Linux 4.11 dürfte die Akkulaufzeit vieler Notebooks mit NVMe-SSD steigern, denn mit dieser Version lernt der Kernel die Stromspartechnik APST. Dieser Kernel wird zudem erstmals Opal beherrschen, über das sich die Verschlüsselungsfunktion von SSDs nutzen lässt, die selbst verschlüsseln (Self-Encrypting Drives/SED). Das Ext4-Dateisystem erhält eine für Wegwerfdateisysteme interessante Funktion. An Programmierer richtet sich der neue System-Funktionsaufruf statx(), der eine umfassendere und effizientere Abfrage von Datei- oder Verzeichniseigenschaften ermöglicht.

Der ganze Artikel (https://www.heise.de/newsticker/meldung/Linux-Kernel-4-11-Laengere-Akkulaufzeit-durch-NVMe-Stromspartechnik-3643585.html)

Quelle : www.heise.de
Titel: Linux 4.11 bringt GPU-Virtualisierungstechnik von AMD
Beitrag von: SiLæncer am 16 April, 2017, 10:27
Die nächste Kernel-Version bringt eine Technik, um die 3D-Beschleunigung von Radeon-GPUs in VMs nutzen zu können. Auch die Unterstützung für Ryzen-Mainboards oder Raspberry Pi wird besser.

Das in der zweiten Aprilhälfte erwartete Linux 4.11 beherrscht eine Technik, mit der sich bald Teilfunktionen von Radeon-Chips an virtuelle Maschinen überstellen lassen. Das dort laufenden Betriebssystem sollen so die Grafikbeschleunigung performant nutzen können und so bessere 3D-Performance liefern; bislang ist das Ganze aber noch nicht Alltagstauglich.

Der ganze Artikel (https://www.heise.de/newsticker/meldung/Linux-4-11-bringt-GPU-Virtualisierungstechnik-von-AMD-3683873.html)

Quelle : www.heise.de
Titel: Linux-Kernel 4.11 freigegeben: Stromsparender und mit neuen Treibern
Beitrag von: SiLæncer am 01 Mai, 2017, 10:11
Die neue Linux-Version verbessert die Hardware-Unterstützung und nutzt einige bislang ungenutzte Stromspartechniken. Das sind aber nur einige von über hunderten Neuerungen, die das Kernel-Log der c't näher erläutert.

Der jetzt erhältliche Linux-Kernel 4.11 kann die Akkulaufzeit von Notebooks steigern, denn er nutzt einige Stromspartechniken, die frühere Versionen links liegen lassen. Durch zahlreiche neue und erweiterte Treiber kann Linux jetzt hunderte weiterer Hardware-Komponenten ansprechen und unterstützt zahlreiche Geräte besser. Neu dabei ist auch der Support für selbst-verschlüsselte SSDs. Durch Fortschritte bei AppArmor sollen Snap-Pakete in Zukunft bei mehr Distributionen abgeschirmt vom Host laufen können. Die Entwickler haben zudem Grundlagen gelegt, um auf x86-64-Systemen bald bis zu 1 Petabyte Arbeitsspeicher ansprechen zu können.

Details zu diesen und über hundert weiteren Änderungen liefert das bei c't online publizierte Kernel-Log zu Linux 4.11:

    Die Neuerungen von Linux 4.11 (https://www.heise.de/ct/artikel/Die-Neuerungen-von-Linux-4-11-3641334.html) auf ct.de

Quelle : www.heise.de
Titel: Linux 4.12: Neue I/O-Scheduler entlocken Festplatten und SSDs mehr Leistung
Beitrag von: SiLæncer am 15 Mai, 2017, 13:18
Der im Juli erwartete Kernel erhält einen I/O-Scheduler, der die Leistung von Systemen mit Festplatten zu steigern verspricht. Neben Optimierungen an Ext4 ist auch eine Funktion neu dabei, um bei Abstürzen die Datenintegrität von RAID 5 zu gewährleisten.

Linux 4.12 wird den I/O-Scheduler BFQ mitbringen. Dieser hat in Tuning-Kreisen einen guten Ruf, weil er Systeme mit Magnetfestplatten beschleunigt. Mehr Reaktionsfreude und damit einen gefühlten Geschwindigkeitsgewinn verspricht auch der ebenfalls neue I/O-Scheduler Kyber, der allerdings voll auf den Einsatz mit schnellen SSDs ausgelegt ist. Neu dabei ist auch eine Technik, die Datenverfälschungen verhindert, die beim Absturz von Systemen mit RAID 5 auftreten können. Der Device Mapper kann dank Authenticated Encryption (AE) jetzt erkennen, wenn Blöcke eines verschlüsselten Volumes manipuliert wurden – also ohne den passenden Schlüssel von außen modifiziert wurden. Bei Btrfs und Ext4 gibt es einige Optimierungen und Fehlerkorrekturen.

Der ganze Artikel (https://www.heise.de/newsticker/meldung/Linux-4-12-Neue-I-O-Scheduler-entlocken-Festplatten-und-SSDs-mehr-Leistung-3713868.html)

Quelle : www.heise.de
Titel: Linux 4.12: Netzwerk-Schnellstraße für alle und neues für UEFI Secure Boot
Beitrag von: SiLæncer am 14 Juni, 2017, 13:17
Beim im Juli erwarteten Kernel lässt sich der Express Data Path (XDP) mit beliebigen Netzwerk-Treiber nutzen. Die Sicherheitstechnik Kernel Address Space Layout Randomization (KASLR) gilt nun als ausgereift.

Dank "Generic XDP" lässt sich der Express Data Path (XDP) ab Linux 4.12 mit beliebigen Netzwerkschnittstellen nutzen. XDP ist grob gesagt ein Schnellverarbeitungsweg für bestimmte Netzwerk-Pakete, der die Verarbeitung durch den normalen Netzwerk-Stack umgeht und so manche Aufgaben deutlich schneller erledigt. Neu in 4.12 ist auch Container-Support für die Kommunikation via CAN.

Ferner gab es einige Umbauten rund um die Sicherheits-Infrastruktur. Einige Änderungen werden die Unterstützung für UEFI Secure Boot verbessern. Das neue "Generic TEE Subsystem" ermöglicht einen Austausch mit dem Mini-Betriebssystem, das bei manchen ARM-SoCs mithilfe von TrustZone im Hintergrund läuft, wie es ähnlich bei der Management Engine von Intel-Chips der Fall ist.

Quelle : www.heise.de
Titel: Linux 4.14 soll nächster LTS-Kernel werden
Beitrag von: SiLæncer am 19 Juni, 2017, 12:45
Greg Kroah-Hartman verkündete kürzlich seine Pläne, Kernel 4.14 zum nächsten LTS-Kernel zu machen.

Während Linus Torvalds kürzlich Kernel 4.12-rc5 veröffentlicht hat, plant Greg Kroah-Hartman voraus und hat Kernel 4.14 als nächsten Kernel mit mindestens zwei Jahren Langzeitunterstützung auserkoren. Auf Google+ fragte Kroah-Hartman jetzt nach, ob es dagegen Einwände gebe. Wenn er an dem Plan festhält und die Entwicklung von 4.12 und 4.13 zeitlich planmäßig abläuft und diese mit jeweils sieben Veröffentlichungskandidaten auskommen, könnte Kernel 4.14 LTS Anfang November 2017 erscheinen.

Der derzeitige LTS-Kernel ist 4.9, den Debian am Wochenende zur Grundlage der Veröffentlichung von Debian 9 »Stretch« gemacht hat. Das Debian-Release-Team hatte sich mit der Wahl des Kernels für Debian 9 leicht verspekuliert. Die Entwickler hatten mit Kernel 4.10 als nächstem LTS-Kernel gerechnet und den Beginn des Freeze als letzte Entwicklungsphase für Debian 9 aus diesem Grund um zwei Monate hinausgeschoben.

Zu der falschen Spekulation trug bei, dass Kroah-Hartman Kernel 4.9 als LTS-Kernel bereits im September 2016 ankündigte, diesen Status aber erst mehr als einen Monat nach Erscheinen von 4.9 im Januar 2017 bestätigte. Der Grund hierfür sind schlechte Erfahrungen mit der frühen Bestätigung der Langzeitpflege eines Kernels. Es soll damit verhindert werden, dass Entwickler Patches mit heißer Nadel stricken, um ihre Arbeit in einen LTS-Kernel zu bekommen.

Außer Kernel 4.9, der noch mindestens bis Dezember 2018 gepflegt wird, sind derzeit noch die Kernel 4.4, 4.1, 3.16, 3.10, 3.4, und 3.2 in der Langzeitpflege. Nicht immer endet die Pflege aber nach zwei Jahren. Ein Beispiel hierfür ist Kernel 3.18, dem Hartman im April 2017 noch eine Verlängerung erteilte. Eigentlich sollte die Reihe im Februar eingestellt werden. In seiner Begründung schrieb Kroah-Hartman »unglücklicherweise« laufe 3.18 noch auf Millionen von Geräten.

Nicht nur Kroah-Hartman, sondern auch andere Entwickler und Unternehmen unterstützen die Langzeitpflege des Kernels. Diese gibt es bereits seit Kernel 2.6.16, der im März 2006 veröffentlicht wurde. Adrian Bunk hatte damals sowohl 2.6.16 als auch 2.6.27 lange unterstützt. Kernel 2.6.32, der im Dezember 2009 veröffentlicht wurde, erfuhr von Willy Tarreau Unterstützung bis zum Januar 2016 und endete mit Version 2.6.32.70. Ab 2011 werden LTS-Kernel auch von der Linux Foundation in Form der Arbeitsgruppe LTSI unterstützt.

Quelle : www.pro-linux.de/
Titel: Linux 4.12: Treiber für AMDs Vega und 3D-Support bei GeForce-1000-Serie
Beitrag von: SiLæncer am 29 Juni, 2017, 14:05
Das Anfang Juli erwartete Linux 4.12 bringt einen Treiber für AMDs neue Grafikchips, der allerdings noch keine Monitore ansteuern kann. Neu ist auch 3D-Support für Nvidias aktuelle GPUs. Das früher viel genutzte Open Sound System soll bald rausfliegen.

Der Linux-Kernel 4.12, der vermutlich schon am Montag, den 3. Juli, erscheint, bringt Treiber-Support für AMDs Grafikprozessoren der "Vega"-Generation, die auf der seit kurzem erhältlichen AMD Radeon Vega Frontier Edition sitzt. Bislang gelingt aber nur ein "Headless"-Betrieb; wann der Treiber über Vega-Grafikarten auch Monitore ansteuern kann, ist ungewiss.

Der Nouveau-Treiber des Kernels unterstützt jetzt 3D-Beschleunigung bei Grafikchips aus Nvidias Pascal-Reihe, die bei der GeForce-1000er-Serie zum Einsatz sitzen. Die Entwickler haben außerdem Vorbereitungen getroffen, um das früher vom Audio-Treiber genutzte Open Sound System (OSS) rauszuwerfen – dreizehn Jahre, nachdem die Advanced Linux Sound Architecture (ALSA) mit Linux 2.6 zum Standard-Audio-Interface von Linux wurde.

Quelle : www.heise.de
Titel: Linux 4.12 freigegeben: Verbesserungen für Live-Patching, AMDs Vega ...
Beitrag von: SiLæncer am 03 Juli, 2017, 13:16
Der neue Kernel meistert Live Patching besser und unterstützt AMDs neue High-End-Grafikchips. Zwei neue I/O Scheduler versprechen die Reaktionsfreude von Desktops und Servern zu steigern. Eine Netzwerk-Schnellstraße lässt sich jetzt universell nutzen.

Der jetzt erhältliche Linux-Kernel 4.12 bringt Basis-Support für AMDs neue Grafikprozessoren und unterstützt die Hardware-Beschleunigung von GeForce-1000-GPUs. Durch Verbesserungen am Kernel Live Patching (KLP) sollen sich in Zukunft alle Lücken des Linux-Kernels beheben lassen, ohne das System neu starten zu müssen. Den Netzwerk-Schnellverarbeitungsweg Express Data Path (XDP) lässt sich jetzt mit beliebigen Netzwerkschnittstellen nutzen. Zwei neue Storage-I/O Scheduler versprechen die Datenträger-Performance zu steigern und Systeme reaktionsfreudiger zu machen. Der Device Mapper kann dank Authenticated Encryption (AE) jetzt erkennen, wenn ein verschlüsseltes Volume manipuliert wurde.

Quelle : www.heise.de
Titel: Linux 4.13: Ext4-Verbesserungen und Kategorisierung von Daten
Beitrag von: SiLæncer am 16 Juli, 2017, 10:27
Der Anfang September erwarte Linux-Kernel 4.13 erweitert das Ext4-Dateisystem und macht es schneller. Außerdem kann Linux kurz- und langlebige Daten jetzt unterschiedlich handhaben und besser mit neuen Spielarten von SMR-Festplatten umgehen.

Linux 4.13 bringt eine Erweiterung, durch die Verzeichnisse auf Ext4-Dateisystemen in Zukunft bis zu 2 Milliarden Dateien aufnehmen können. Außerdem kann es erweiterte Attribute anders ablegen, um Speicherplatz zu sparen und die Performance zu verbessern. Neu sind auch die "Lifetime Hints", durch die der Kernel kurz- und langlebige Daten an unterschiedlichen Plätzen speichern kann, um Performance und Lebensdauer von NVMe-SSDs zu steigern. Ein neues Device-Mapper-Target verbessert die Unterstützung einiger für Rechenzentren gedachter Festplatten mit SMR (Shingled Magnetic Recording). Durch eine ganze Reihe von Verbesserungen sollen Kernel und Programme nun Fehler besser handhaben könne, die bei I/O-Operationen auftreten.

Der ganze Artikel (https://www.heise.de/newsticker/meldung/Linux-4-13-Ext4-Verbesserungen-und-Kategorisierung-von-Daten-3771665.html)

Quelle : www.heise.de
Titel: Linux-Kernel 4.15 freigegeben
Beitrag von: SiLæncer am 29 Januar, 2018, 13:23
Linux-Initiator Linus Torvalds hat Version 4.15 des Linux-Kernels freigegeben. Die wichtigste Neuerung besteht in den Gegenmaßnahmen gegen die Prozessorfehler Meltdown und Spectre. Andere größere Neuerungen sind die Komplettierung der Control Groups v2 und ThunderboltIP (Netzwerke über Thunderbolt-Kabel).

Elf Wochen nach Linux 4.14 ist nun Linux 4.15 fertiggestellt. Als vor neun Wochen der erste Veröffentlichungskandidat erschien, sah alles nach einem ruhigen Entwicklungszyklus aus. Denn Linux 4.14 war als Kernel mit langfristiger Unterstützung deklariert, was viele Entwickler veranlasste, ihren Code möglichst noch in dieser Version unterzubringen. Doch entgegen den Erwartungen war die Zahl der Änderungen schon in Linux 4.15-rc1 höher als in Linux 4.14-rc1.

Als dann am 3. Januar die Meltdown- und Spectre-Katastrope hereinbrach, führte das dazu, dass spät in der Testphase noch Gegenmaßnahmen integriert wurden, die teilweise recht tiefgreifend sind. Normalerweise müssen solche Änderungen vor dem ersten Veröffentlichungskandidaten integriert sein, aber seit 4.15-rc5 herrschte der Ausnahmezustand. So übertrifft Linux 4.15 wahrscheinlich sogar die Zahl der Änderungen von Linux 4.12 und dürfte mit mehr als 14.570 Änderungen den zweiten Platz in der Linux-Historie erreichen.

Mit neun Veröffentlichungskandidaten hatte Linux 4.15 zudem den längsten Entwicklungszyklus seit Linux 3.1 vor fast sieben Jahren. Die zwei zusätzlichen Veröffentlichungskandidaten waren die offensichtliche Folge der eiligen Integration der Meltdown- und Spectre-Gegenmaßnahmen. Laut Linux-Initiator Linus Torvalds hat sich in der letzten Testwoche allerdings nicht mehr viel getan, so dass der Kernel auch eine Woche früher hätte veröffentlicht werden können. Nach diesem hektischen Zyklus wünscht sich Torvalds für 4.16 allerdings einen »langweiligen« Zyklus, denn langweilig sei gut.

Linux 4.15 behebt die Meltdown-Lücke mit der Kernel Page-Table Isolation (KPTI). Das kostet, wie inzwischen von mehreren Seiten bestätigt wurde, zwischen 5 und 30 Prozent an Leistung je nach Anwendung. Für Prozessoren, die nicht anfällig sind, beispielsweise die AMD-CPUs, bleibt KPTI deaktiviert, und wer kein Risiko für sich sieht, kann es mit einer Kernel-Option abschalten.

Spectre dagegen kann nur teilweise im Kernel behandelt werden. Variante 2 von Spectre wird mit dem »Retpoline«-Patch erledigt, allerdings ist dazu eine aktualisierte Version von GCC nötig. Benutzer, die den Kernel ihrer Distribution nutzen, müssen sich darum allerdings nicht kümmern. Ohne aktualisierten Compiler wird nur ein kleiner Teil des Kernels, der in Assembler geschrieben ist, abgesichert.

Gegen die Variante 1 von Spectre, die vermutlich das größte Problem darstellt, enthält Linux 4.15 dagegen noch keine Abwehr. Für Linux 4.16 bleibt demnach noch einiges zu tun. Es existiert bereits ein trickreicher und recht effizienter Patch, der mit einem neuen Makro die Grundlagen schafft, die Lücke zu schließen; das eigentliche Problem ist, die zahllosen Stellen im Kernel zu finden, die verwundbar sind und das neue Makro verwenden sollten. Weitere Arbeit ist bei den restlichen Prozessorarchitekturen zu tun, darunter ARM, und die Abwägung zwischen Kernel-Workarounds und Microcode-Updates steht ebenfalls auf dem Plan. Bei KPTI wird in der näheren Zukunft noch die Möglichkeit hinzukommen, es für spezifische Prozesse abzuschalten, bei denen die Leistung kritisch ist.

Trotz des Medienrummels um Meltdown und Spectre waren die weitaus meisten Änderungen in Linux 4.15 anderer Natur und verteilten sich wie üblich über alle Subsysteme. Dominiert wurden die Änderungen vom Umfang her allerdings von AMD-Grafiktreiber-Code sowie dem AMD Core-Display-Code. Die zweite Version des Control Group-Subsystems ist mit der Aufnahme eines CPU-Controllers jetzt endlich vollständig. Aus Kompatibilitätsgründen muss aber die erste Version der Control Groups wohl noch für sehr lange Zeit beibehalten werden. Eine wichtige Verbesserung gab es auch beim Live-Patching. Dank des »Shadow Variables«-Mechanismus können jetzt Felder zu Datenstrukturen hinzugefügt werden. Ferner wurde ein neuer Callback geschaffen, der den Kernel aufruft, wenn ein Objekt gepatcht wurde.

Die Openrisc-Architektur unterstützt jetzt SMP, die RISC-V-Architektur dagegen ist neu, aber noch nicht wirklich funktional, da sie noch keine Treiber enthält. Eine Funktionalität der neueren AMD-Prozessoren, sichere verschlüsselte Virtualisierung, wird jetzt unterstützt. Es setzt die in Linux 4.14 eingeführte Unterstützung für Speicherverschlüsselung voraus. Bei neueren Intel-Prozessoren kam dagegen die Unterstützung für »User-Mode Instruction Prevention (UMIP)« hinzu, die verhindern kann, dass Anwendungen bestimmte sicherheitsrelevante Befehle ausführen. Bei der ARM64-Architektur kam Unterstützung für die Scalable Vector Extension hinzu.

Das Sicherheitsmodul Smack wurde erweitert, so dass es auch mit dem Dateisystem Overlayfs funktioniert. Das Dateisystem XFS erhielt erste Änderungen für Online-Dateisystem-Checks, die aber noch nicht vollständig sind. Das komprimierte Dateisystem cramfs unterstützt nun execute-in-place und andere Erweiterungen. Außerdem wurde der Blocktreiber für NVMe um Multipath erweitert, was die Geschwindigkeit nochmals erheblich steigern kann.

Mit der Unterstützung für »ThunderboltIP« ist jetzt auch eine Vernetzung über Thunderbolt-Kabel möglich. Das Protokoll SCTP erhielt drei unterschiedliche Stream-Scheduler, die drei unterschiedliche Strategien verwirklichen: FCFS (was wohl unveränderte Reihenfolge bedeutet), Sortierung nach Priorität und abwechselnde Bedienung der verschiedenen Quellen (Round-Robin). Die meisten TCP-Einstellungen gelten jetzt nur noch für den aktuellen Netzwerk-Namensraum, und das Netzwerk-Traffic-Shaping wurde um einen »Credit-based Shaper« erweitert.

Zum Kernel gehört jetzt auch ein neues Programm für Anwender, bpftool, das zum Untersuchen und Ändern von Berkeley Packet Filter (BPF)-Programmen und BPF-Abbildungen dient. Sicherheitsmodule können künftig den Zugriff auf BPF-Objekte einschränken. Eine weitere Neuerung im BPF-Bereich ist ein Device Controller, der auf die Control Groups in Version 2 aufbaut. Offenbar kann man damit BPF-Programme schreiben, die den Zugriff auf Geräte blockieren oder freigeben, wie aus einem Beispielprogramm hervorgeht.

Darüber hinaus wurden zahlreiche Treiber aktualisiert, erweitert oder kamen neu hinzu. Entfernt wurde das lange obsolete Open Sound System (OSS). Wer OSS immer noch gegenüber ALSA bevorzugt, kann die aktuelle Version 4.2 von opensound.com herunterladen. Eine Liste aller Änderungen kann man dem Git-Repositorium entnehmen. Die Seite Kernelnewbies.org hat eine übersichtliche Zusammenfassung der Änderungen veröffentlicht. Die aktuelle Version von Linux kann von kernel.org und zahlreichen Spiegel-Servern in Form von Patches oder tar-Paketen heruntergeladen werden.

Quelle : www.pro-linux.de/
Titel: Linux-Kernel 4.16 freigegeben
Beitrag von: SiLæncer am 02 April, 2018, 10:23
Linux-Initiator Linus Torvalds hat Version 4.16 des Linux-Kernels freigegeben. Neben weiteren Maßnahmen gegen Meltdown und Spectre flossen zahlreiche Optimierungen und Erweiterungen ein.

Neun Wochen nach Linux 4.15 ist nun Linux 4.16 fertiggestellt. Mit über 13.400 gehört Linux 4.16 von der Zahl der Änderungen her zu den kleineren Ausgeben der letzten Zeit. Wie üblich verteilen sich die Änderungen über alle Subsysteme. Laut Torvalds verliefen dieses Mal, anders als in 4.15, die Integration und die anschließende Testphase sehr ruhig.

Die Maßnahmen gegen die katastrophalen Prozessorfehler Meltdown und Spectre wurden in dieser Version verbessert und auf andere betroffene Architekturen ausgedehnt. Abgeschlossen sind sie wohl noch lange nicht. Die Fehler werden von den Chip-Herstellern teilweise durch Microcode-Updates behoben, die aber erst nach und nach kommen. Dementsprechend muss der Kernel angepasst werden, um diese Updates zu erkennen, und in jedem Einzelfall muss abgewogen werden, ob die Nutzung der neuen Microcode-Features oder ein Workaround in Software die bessere Leistung verspricht.

Die Behandlung des i_version-Feldes in der Inode-Struktur wurde geändert, was viele Schreibvorgänge auf den Datenspeicher eliminieren kann. Die praktische Auswirkung dieser Änderung muss noch konkret ermittelt werden, ist aber potentiell sehr groß. Ebenfalls spürbare Auswirkungen könnte die automatische Nutzung von weiteren Energiespar-Modi für Intel-Prozessoren in Laptops bringen. Die Akkulaufzeit eines Laptops könnte damit je nach Gerät um rund eine Stunde steigen. Dabei beschränkt sich die Nutzung der Optionen auf diejenigen, die bisher als für das System gefahrlos gelten.

Auch dieses Mal trugen Header-Dateien mit Definitionen für AMD-Grafikchips besonders stark zu den Änderungen bei. Dieses Mal handelte es sich aber mehr um die Entfernung von Definitionen durch die Bereinigung von Code. Der AMDGPU-Treiber erhielt auch Unterstützung für die Synchronisation mehrerer Displays. Anfängliche Unterstützung für den Hypervisor Jailhouse hielt bei x86-64 Einzug. Damit kann Linux in einer Nicht-Root-Zelle unter Jailhouse laufen. Auch KVM erhielt eine Erweiterung: Es unterstützt jetzt die Secure Encrypted Virtualization (SEV).

Die ARM-Architektur kann auf den leistungsstärksten Chips jetzt physische Adressen mit 52 Bit (4 Petabyte) nutzen, vier Bit mehr als bisher. Die PowerPC-Architektur erhielt hingegen Unterstützung für Speicherschutzschlüssel.

Der Systemaufruf membarrier wurde um die Optionen MEMBARRIER_CMD_REGISTER_GLOBAL_EXPEDITE und MEMBARRIER_CMD_GLOBAL_EXPEDITED erweitert. Der Deadline-Scheduler kann nun die Frequenz- und Spannungs-Skalierung der Prozessoren nutzen, so dass die Energiesparfunktionen nicht mehr deaktiviert werden müssen, wenn er genutzt werden soll. Außerdem wurde der Berkeley Packet Filter (BPF) mit der Möglichkeit ausgestattet, Funktionen zu definieren und aufzurufen.

Im Dateisystem XFS wurde eine neue Funktion, die bisher als experimentell markiert war, für stabil erklärt: Der Reverse-Mapping-B-Tree. Darüber hinaus gab es weitere Verbesserungen. Das MultiMediaCard-Subsystem benutzt jetzt die Multiqueue-Block-Schnittstelle. Die I/O-Scheduler unterstützen jetzt gesperrte Zonen, die das Umsortieren von Schreibvorgängen verbieten, die in der originalen Reihenfolge ausgeführt werden müssen. Das CIFS-Dateisystem erhielt Unterstützung für SMB Direct, das RDMA zur Übertragung von SMB-Paketen nutzen kann, allerdings noch experimentell.

Bei Btrfs kamen die Operation FALLOCATE_FL_ZERO_RANGE des Aufrufs fallocate hinzu und der NFS-Client kann jetzt anhand der Flags im Aufruf statx unter Umständen einen Aufruf des Servers einsparen. Darüber hinaus wurde pwritev2 um ein Flag RWF_APPEND erweitert, das bewirkt, dass die Daten unabhängig vom aktuellen Offset an die Datei angehängt werden.

Das Overlay-Dateisystem kann jetzt per NFS exportiert werden. Dabei ist allerdings zu beachten, dass das das Verhalten ändert und ein Dateisystem erzeugen kann, das nicht mehr rückwärtskompatibel ist.

Das Format der printk-Kernel-Ausgaben kann jetzt mit einer Option beeinflusst werden. Zur Erhöhung der Sicherheit wurde das Usercopy Whitelisting implementiert. Der Parser für das Kernel-Konfigurationssystem wird jetzt mit den Werkzeugen Flex und Bison erzeugt, weshalb diese beiden Programme jetzt auch Voraussetzungen für die Kernel-Compilierung sind. Dies dürfte keine nennenswerte Einschränkung darstellen, da sie überall verfügbar sind und oft schon installiert werden, wenn man GCC installiert. Außerdem erhielt das Kernel-Bau-System die Option, aus dem Kernel ein Snap-Paket zu erstellen.

Darüber hinaus wurden zahlreiche Treiber aktualisiert, erweitert oder kamen neu hinzu. Eine Liste aller Änderungen kann man dem Git-Repositorium entnehmen. Die Seite Kernelnewbies.org wird in Kürze eine übersichtliche Zusammenfassung der Änderungen veröffentlichen. Die aktuelle Version von Linux kann von kernel.org und zahlreichen Spiegel-Servern in Form von Patches oder tar-Paketen heruntergeladen werden.

Quelle : www.pro-linux.de/
Titel: Die Neuerungen von Linux 4.17
Beitrag von: SiLæncer am 04 Juni, 2018, 13:25
Spectre-v4-Schutz, Kernel-seitige TLS-Entschlüsselung, HDCP-Support und Grafiktreiber für neue AMD- und Intel-GPUs sind einige der Highlights von Linux 4.17. Außerdem sollen AMD- und Intel-Prozessoren im Leerlauf weniger Strom verbrauchen.

In der Nacht zum ersten Juni-Montag hat Linus Torvalds den Linux-Kernel 4.17 freigegeben. Wie jede neue Version der Hauptentwicklungslinie von Linux bringt auch die neueste weit über zehntausend Änderungen. Einige rüsten neue Features nach, andere verbessern existierende.

Die wichtigsten Änderungen in Kurzform:

    Der Kernel kann sich nun selbst um die Schwerarbeit beim Entschlüsseln einer per TLS (Transport Layer Security) geschützten Datenübertragung kümmern.

    Untätige AMD- und Intel-Prozessoren sollen mit 4.17 weniger Strom verbrauchen.

    Die Kernel-Entwickler haben nochmal Finetuning am Schutz von den Prozessorlücken Spectre v1 und v2 vorgenommen; die gegen Meltdown eingeführten Technik weist auf älteren Systemen jetzt weniger Overhead auf. Außerdem stieß eine Maßnahme gegen die im Mai bekannt gewordene Lücke Spectre v4 zum Kernel.

Der ganze Artikel (https://www.heise.de/ct/artikel/Die-Neuerungen-von-Linux-4-17-4061166.html)

Quelle : www.heise.de
Titel: Linux-Kernel 4.18 freigegeben
Beitrag von: SiLæncer am 13 August, 2018, 12:40
Linux-Initiator Linus Torvalds hat Version 4.18 des Linux-Kernels freigegeben. Die neue Version bringt zahlreiche Optimierungen, systemweite Energiesparzustände, Unterstützung für Nvidia Volta und viele Erweiterungen von BPF.

Zehn Wochen nach Linux 4.17 ist nun Linux 4.18 fertiggestellt. Linus Torvalds hatte die Freigabe um eine Woche verschoben, nachdem es vorletzte Woche noch einige kritische Fehler zu korrigieren gab. Im Nachhinein wäre seiner Meinung nach die Verschiebung nicht nötig gewesen, doch kamen dadurch noch einige Korrekturen an anderen Stellen hinzu.

Die Zahl der Änderungen in Linux 4.18 liegt mit knapp 13.000 etwa 500 niedriger als in Linux 4.17, womit auch 4.18 zu den kleinsten Kerneln seit zwei Jahren gehört. Die Änderungen verteilen sich wie immer, eine bemerkenswerte Ausnahme war allerdings, dass der Kernel unter dem Strich wiederum kleiner wurde. Rund 553.000 hinzugekommenen Zeilen Code stehen 652.000 entfernte gegenüber. Der hauptsächliche Grund dafür ist, dass das Cluster-Dateisystem Lustre aus dem Kernel entfernt wurde. Das bedeutet freilich nicht, dass Lustre nicht mehr verwendet oder entwickelt wird. Vielmehr wird Lustre separat vom Kernel entwickelt. Der Code von Lustre war bisher für die Aufnahme in den offiziellen Kernel ungeeignet und im Kernel befand sich Lustre daher nur im Staging-Bereich, wurde dort aber nicht gepflegt. Lustre besitzt tausende von Benutzern und die Entwickler werden vermutlich zu einem späteren Zeitpunkt das Dateisystem zur Aufnahme in den Kernel vorschlagen, nachdem sie den Code konsolidiert haben.

Zu den zahlreichen Änderungen in Linux 4.18 zählt, dass die 32 Bit ARM-Architektur Abwehrmaßnahmen gegen Spectre 1 und 2 erhielt, 64 Bit-ARM dagegen solche gegen die Spectre-Variante 4. 32 Bit x86-Systeme verfügen nun über einen Just-in-Time-Compiler für eBPF-Programme. Für asynchrone Ein- und Ausgabe wurde eine neue Polling-Schnittstelle geschaffen. Die Energieverwaltung wurde mit den Power Domain Performance Levels erheblich erweitert. Damit kann das gesamte System einschließlich aller Peripheriegeräte in der Leistung und damit auch der Energieaufnahme an den aktuellen Bedarf angepasst werden. Ferner können Trace-Marker eingesetzt werden, um Trigger für Aktionen wie die Histogrammerzeugung auszulösen. Nach jahrelanger Diskussion wurden außerdem die sogenannten Restartable Sequences integriert, die es ermöglichen, ein Stück Code, das unterbrochen wurde, erneut auszuführen.

Im Dateisystem Btrfs lassen sich leere Subvolumes jetzt einfach mit rmdir löschen. Zwei neue ioctls, FS_IOC_FSGETXATTR und FS_IOC_FSSETXATTR, dienen zum Ändern von Dateiattributen. Weitere neue ioctls erlauben es unprivilegierten Benutzern, Informationen über Subvolumes zu erhalten. Benutzer, die in einem Benutzer-Namensraum Root-Rechte haben, können nun Dateisysteme mounten. Zuvor war dies nicht möglich, da damit Sicherheitsrisiken einhergehen. Aus diesem Grund sind auch nur bestimmte Dateisystemtypen für diese Operation zugelassen, aktuell neben den Pseudo-Dateisystemen proc, sysfs, tmpfs, ramfs, devpts und mqueue nur FUSE, das weitgehend außerhalb des Kernels agiert.

Der in Linux 4.17 integrierte Kryptografie-Algorithmus Speck (mit 128 oder 256 Bit) kann nun auch zum Verschlüsseln von F2FS- und ext4-Dateisystemen eingesetzt werden. Der Algorithmus ist in Kryptografenkreisen weitgehend verpönt, da er von der NSA entwickelt wurde, seine Parameter aber völlig unzureichend begründet wurden. Inzwischen wurde die Standardisierung von Speck von der ISO abgelehnt und die Kernel-Entwickler erwägen bereits, Speck wieder zu entfernen, zumal auch Google den Algorithmus in Android anders als geplant nicht verwenden will. Derweil erhielt das Krypto-Subsystem Unterstützung für die Zstandard-Kompression sowie zwei weitere Verschlüsselungsalgorithen: AEGIS und MORUS.

Das TCP-Protokoll unterstützt jetzt Zero Copy-Empfang unter bestimmten Voraussetzungen. Neu ist außerdem AF_XDP, das Zero-Copy-Netzwerkübertragungen unter der Kontrolle von BPF-Programmen ermöglicht. Ebenfalls ganz neu, aber noch nicht komplett, ist bpfilter, ein Paketfilter auf BPF-Basis. Noch ist unklar, ob es eine Kompatibilität zu iptables oder nftables geben wird. Klar ist jedoch, dass das seit Linux 3.13 existierende nftables für manche Benutzer nicht genug Leistung bringt. bpfilter könnte der bessere Ersatz dafür werden.

BPF kann jetzt ferner Infrarot-Protokolle dekodieren. Mit dieser Fähigkeit kann, sobald passende Werkzeuge bereitstehen, der Daemon lircd abgeschaltet werden. Die jüngst eingeführte TLS-Unterstützung im Kernel kann nun auch von Hardware übernommen werden, die entsprechende Funktionen anbietet. Der erste Treiber, der dies nutzt, ist der für Mellanox mlx5. Eine weitere Verbesserung ist die »Selective Acknowledgment (SACK)-Kompression«, die die Anzahl der SACK-Pakete reduzieren soll. Ferner kann ein BPF-Programm einem Socket zugewiesen werden und beim Aufruf von sendmsg ausgeführt werden.

Die Einführung von Jahr-2038-sicheren Systemaufrufen ist wieder ein Stück näher gekommen. Kernel-intern wurde eine neue Datenstruktur für Zeitstempel mit zwei 64-Bit-Feldern definiert und an einigen Stellen verwendet. Außerdem wurden die SysV-Prozesskommunikationsaufrufe 2038-fest gemacht. Die zentrale Datenstruktur struct page erhielt einige Optimierungen und die Kernel-Konfigurationssprache kann nun Makros definieren.

Der Grafiktreiber Nouveau unterstützt jetzt Nvidias Volta-Chips. Auch AMD Vega 20 wird offenbar bereits unterstützt, noch bevor entsprechende Hardware erhältlich ist. Mit teilweiser Unterstützung des Qualcomm Snapdragon 845 ist zum ersten Mal Code für einen aktuellen Soc der höchsten Leistungsklasse im offiziellen Kernel vorhanden. Darüber hinaus wurden zahlreiche Treiber aktualisiert, erweitert oder kamen neu hinzu. Neben Lustre wurden ferner noch einige andere Treiber entfernt, die offenbar keine Benutzer hatten. Darunter befinden sich sogar Treiber für Hardware, die nie die Marktreife erreichte.

Eine Liste aller Änderungen kann man dem Git-Repositorium entnehmen. Die Seite Kernelnewbies.org wird in Kürze eine übersichtliche Zusammenfassung der Änderungen veröffentlichen. Die aktuelle Version von Linux kann von kernel.org und zahlreichen Spiegel-Servern in Form von Patches oder tar-Paketen heruntergeladen werden.

Quelle : www.pro-linux.de/
Titel: Linux 4.19 bringt bessere Datenträger-Regulierung und SMB-Snapshot-Support
Beitrag von: SiLæncer am 27 August, 2018, 09:22
Ein neuer I/O-Controller hält unwichtige Programme besser im Zaum. Der im Oktober erwartete Kernel kann nun auch Snapshots von Windows-Freigaben einbinden.

Support für den neuen WLAN-Standard IEEE 802.11ax und Treiber die USB-WLAN-Sticks AVM FRITZ! AC 430 und 860 sind Highlights des Mitte Oktober erwarteten Linux 4.19. Außerdem wird der neue Kernel auch 32-Bit-x86-Systeme vor der Anfang Januar bekanntgewordenen Prozessor-Sicherheitslücke Meltdown schützen. Neu dabei ist auch ein Treiber für den Grafikchip einiger mit Windows ausgelieferten ARM-Notebooks, die bei Linus Torvalds die Hoffnung auf ein alltagstaugliches und halbwegs leistungsstarkes ARM-Notebook geweckt haben.

Der ganze Artikel (https://www.heise.de/ct/artikel/Linux-4-19-bringt-bessere-Datentraeger-Regulierung-und-SMB-Snapshot-Support-4144037.html)

Quelle : www.heise.de
Titel: Linux-Kernel 4.20 freigegeben
Beitrag von: SiLæncer am 24 Dezember, 2018, 10:37
Linux-Initiator Linus Torvalds hat Version 4.20 des Linux-Kernels freigegeben. Die neue Version enthält eine überarbeitete Signalverarbeitung, den »earliest departure time«-Algorithmus beim Senden von TCP-Paketen sowie zahlreiche interne Optimierungen wie die Datenstruktur XArray und eine RCU-Vereinfachung.

Neun Wochen nach Linux 4.19 ist nun Linux 4.20 fertiggestellt. Die Zahl der Änderungen in Linux 4.20 liegt mit 14.000 im höheren Bereich, etwa gleichauf mit der vorigen Version. Die Änderungen verteilen sich wie fast immer: Knapp zwei Drittel fallen in den Treiberbereich, wobei Grafik- und Netzwerktreiber den größten Teil ausmachen. Der Rest verteilt sich vor allem auf Architektur-Updates, Dateisysteme, den Kern des Kernels, Netzwerk, Dokumentation und Werkzeuge.

Zu den zahlreichen Änderungen in Linux 4.20 gehören zwei neue Typen von BPF Maps, die die Datenstrukturen Queue und Stack implementieren. Der Ausbau des Berkeley Packet Filter (BPF) im Kernel geht somit weiter. Die Signalbehandlung wurde überarbeitet und soll nun einfacher und robuster sein. Dabei wurden auch einige bisher unerkannte Fehler behoben. Für Anwendungsprogramme sichtbar ist die Vergrößerung einer Datenstruktur in diesem Zusammenhang. Es scheint aber kein Programm zu geben, bei dem das von Bedeutung wäre.

Zahlreiche Blocktreiber wurden auf das Multiqueue-API umgestellt. Die alte Schnittstelle wird wahrscheinlich schon in der nächsten Version entfernt, trotz des in Linux 4.19 eingeschleppten Fehlers, der zu Dateisystemkorruption in bestimmten Konfigurationen führen konnte und der erst nach wochenlanger Suche behoben werden konnte. Der Fehler in der Multiqueue-Implementation war laut Jens Axboe der schwerwiegendste »seit Dekaden«. Damit ist gemeint, dass solche Fehler extrem selten sind und nicht mit weiteren zu rechnen ist. Das sei nur ein Grund mehr, die alte Implementation loszuwerden, denn die neue Implementation sei die besser gewartete.

Auf Systemen mit asymmetrischen CPUs kann der Scheduler Prozesse identifizieren, die einen schnelleren Prozessor benötigen, und diese verschieben. Die ARM64-Architektur verfügt nun dank des neuen SSBS-Zustandsbits der Hardware über einen Schutz gegen die Spectre-Variante 4 und auf RISC-V steht jetzt der Systemaufruf futex zur Verfügung. Außerdem gibt es jetzt kexec in der MIPS-Architektur. Ganz neu ist die C-SKY-Architektur, nach Meinung einiger Beobachter die letzte, die für längere Zeit zum Kernel hinzukommen wird. Denn kein Hersteller kann mehr mit der Kosteneffizienz von ARM und RISC-V mithalten. Auch C-SKY stammt noch aus einer Zeit, in der ARM noch nicht so dominant und RISC-V noch nicht existent waren. Die chinesische Entwicklung ist über 15 Jahre alt und umfasst 32-Bit-Prozessoren mit niedrigem Energiebedarf bei ausreichender Geschwindigkeit für eingebettete Systeme.

TCP-Netzwerkpakete werden mit einem neuen Algorithmus von Van Jacobson auf die Reise geschickt. Dies soll Skalierungsprobleme lösen. Die Traffic-Analyse kann nun mit BPF-Programmen vorgenommen werden, was nicht nur sicherer, sondern auch schneller sein soll. Der neue Traffic-Scheduler »taprio« ermöglicht es, Pakete zu festgelegten Zeitpunkten abzuschicken. Ferner erhielt das rtnetlink-Protokoll eine Option, die es Programmen ermöglicht, sicherzustellen, dass sie genau die Information erhalten, die sie anfordern.

Der Systemaufruf fanotify_mark wurde um den Typ FAN_MARK_FILESYSTEM erweitert, womit alle Ereignisse in einem Dateisystem beobachtet werden können. Die Server-Seite des asynchronen Kopierprotokolls von NFS 4.2 wird jetzt unterstützt. Der Schutz gegen die Spectre-Variante 2 wurde verstärkt, indem mehr Barrieren eingesetzt werden. Dies dürfte wiederum etwas Leistung kosten, allerdings sollten diese Kosten gering sein. Der fragwürdige Verschlüsselungsalgorithmus Speck wurde entfernt. dafür wurde das Stackleak-GCC-Plugin nach einigem Hin und Her aufgenommen. Wenn es aktiviert wird, erhöht es die Robustheit gegen Stack-Überläufe und Auslesen von Kernel-Daten. Diese erhöhte Sicherheit kostet aber ungefähr zwischen einem und vier Prozent an Leistung.

Das RCU-Subsystem wurde vereinfacht. Es gibt jetzt nur noch zwei Varianten, eine für Kernels mit Präemption und eine ohne. Ferner wurden Peer-to-Peer DMA-Operationen ins PCI-Subsystem eingebracht. Die Datenstruktur XArray, eine verbesserte Variante der Radix-Baumstruktur, wurde aufgenommen und wird bereits vom Seiten-Cache verwendet. Alle Arrays mit variabler Länge sind jetzt entfernt und beim Compilieren gibt es künftig eine Warnung, wenn ein solches Array definiert wird.

Darüber hinaus kamen auch wieder Treiber für zahlreiche Chips aller Art hinzu. Bemerkenswert ist dabei der LED Pattern-Treiber, der es ermöglicht, LEDs mit wechselnder Helligkeit leuchten zu lassen. Ebenso bemerkenswert ist ein neuer Treiber für mehr als 20 Jahre alte DEC FDDI-Controller-Karten, die Vorläufer der (immer noch unterstützten) FDDI-Controller mit Camel-Chip sind. Möglicherweise ist diese TurboChannel-Karte nur in einigen alten MIPS-Rechnern nutzbar.

Eine Liste aller Änderungen kann man dem Git-Repositorium entnehmen. Die Seite Kernelnewbies.org wird in Kürze eine übersichtliche Zusammenfassung der Änderungen veröffentlichen. Die aktuelle Version von Linux kann von kernel.org und zahlreichen Spiegel-Servern in Form von Patches oder tar-Paketen heruntergeladen werden.

Quelle : www.pro-linux.de/
Titel: Linux-Kernel 5.4 freigegeben
Beitrag von: SiLæncer am 25 November, 2019, 13:33
Linux-Initiator Linus Torvalds hat Version 5.4 des Linux-Kernels freigegeben. Die neue Version bringt exFAT, virtiofs, einen neuen Entropie-Generator, ein neues »Kernel-Lockdown«-Sicherheitsmodul und viele weitere Optimierungen und Verbesserungen.

Zehn Wochen nach Linux 5.3 ist nun Linux 5.4 fertiggestellt. Mit etwas über 14.600 Änderungen entspricht die Zahl der Änderungen fast genau der Vorversion. Die Zahl der Entwickler, die laut einer Statistik von LWN am neuen Kernel beteiligt waren, blieb dagegen mit 1802 etwas unter dem Rekord von Linux 5.3. Wegen einer größeren Zahl von spät eintreffenden Korrekturen hatte sich Torvalds entschieden, auch dieses Mal die Testphase um eine Woche auf acht Wochen zu verlängern. Im Endeffekt war dies nicht unbedingt nötig, da die letzte Woche sehr ruhig verlief und nur noch relativ wenige Korrekturen eingebracht wurden.

Neu in Linux 5.4 ist der exFAT-Treiber, der ursprünglich von Samsung stammte. Er wurde vorerst nur in den Staging-Bereich aufgenommen, wo er auf Verbesserungen wartet, die bereits begonnen haben. Jedoch dürfte sich das als Provisorium erweisen: Samsung hat überraschend angekündigt, seinen verbesserten Treiber, sdfat genannt, freizugeben, womit dieser die offizielle exFAT-Implementation des Kernels werden könnte. Demnach will Samsung zunächst Version 2.2.0 bereinigen und dann freigeben. Da dieser Vorgang noch Zeit benötigt, gibt es noch keinen Termin dafür.

Ein weiteres neues Dateisystem ist EROFS, das trotz einiger Kritik vom Staging-Bereich in den Hauptbereich des Kernels verschoben wurde. EROFS ist ein nur lesbares Dateisystem, das Daten komprimiert, sehr schnell sein soll und auf Huaweis Smartphones zum Einsatz kommt. Die Kritik war hauptsächlich, dass EROFS im Falle einer Datenkorruption leicht abstürzen kann. Neu im Dateisystembereich ist auch der Integritätsmechanismus fs-verity. CIFS-Dateisysteme können jetzt, analog zu NFS-Root, als Root-Dateisystem gemountet werden. Der neue I/O-Controller iocost soll die Leistung der Disks steigern, zumindest bei bestimmten Anforderungen.

Damit ist der Reigen der Neuerungen im Dateisystembereich noch nicht beendet. F2FS kann nun Groß- und Kleinschreibung ignorieren. Der Device Mapper wurde um das Target dm-clone erweitert, das es ermöglicht, eine schreibbare Kopie einer nur lesbaren Quelle zu erzeugen. Die Kopie wird im Hintergrund erstellt und ist sofort nutzbar. Die hauptsächliche Anwendung besteht darin, eine Partition eines langsamen Mediums, auch von einem anderen Rechner, auf eine schnelle Disk zu kopieren. Zudem gibt es das neue Dateisystem virtiofs, das Dateisysteme in virtuellen Maschinen beschleunigen soll. Eine andere Neuerung ist die Erweiterung des Systemaufrufs madvise um zwei Flags MADV_COLD und MADV_PAGEOUT, mit denen Programme genauer steuern können, wie ihr Speicher im Falle von Speicherknappheit behandelt wird.

Die ARM64-Architektur kann jetzt 52-Bit-Adressen verwenden, wenn die Hardware das unterstützt. Ferner können auf dieser Architektur getaggte Zeiger als Argumente von Systemaufrufen verwendet werden. In der PA-RISC-Architektur wurden der Systemaufruf kexec_file_load und kprobes implementiert. Dagegen wurde die Unterstützung von Intels MPX entfernt, da es keine Compiler-Unterstützung dafür gibt. Auf PowerPC wurde ein Ultravisor implementiert, eine hochprivilegierte Software-Schicht, die den Hypervisor kontrolliert.

Der Systemaufruf waitid wurde um die Möglichkeit erweitert, auf Prozesse zu warten, die mit einem Dateideskriptor referenziert werden. Bisher war nur die Angabe einer Prozess-ID möglich. Ferner kam ein neuer CPU Idle Governor hinzu. CPU Idle Governors steuern, ob und wie eine CPU, die im Leerlauf ist, in einen Energiesparmodus versetzt wird. Der neue haltpoll wartet eine Weile, bevor er eine CPU anhält. Dies soll die Leistung von virtuellen Maschinen verbessern. Im Netzwerkbereich kam das Protokoll SAE J1939 hinzu, das in Fahrzeugnetzwerken eingesetzt wird. BPF-Programme werden jetzt verschiebbar, so dass sie nicht mehr für einen spezifischen Kernel compiliert werden müssen.

Umfangreich waren wiederum die Änderungen, die die Unterstützung von Grafikchips erweitern. Die neuesten Produkte von AMD (Navi 12/14), Arcturus und Renoir APU werden nun unterstützt und Vorbereitungen für die kommende Intel Tiger Lake-GPU wurden getroffen. Das PrivacyGuard-Feature von Lenovo-ThinkPads wird jetzt unterstützt. Im Integrity Measurement (IMA)-Subsystem wurde die Verifikation von Signaturen implementiert. Außerdem wurden die seit Jahren kontroversen Kernel Lockdown-Features implementiert, und zwar in Form eines Linux Security Modules (LSM). Darüber hinaus kamen auch wieder Treiber für zahlreiche Chips aller Art hinzu.

Eine Liste aller Änderungen in Linux 5.4 kann man dem Git-Repositorium entnehmen. Die Seite Kernelnewbies.org hat eine übersichtliche Zusammenfassung der Änderungen veröffentlicht. Die aktuelle Version von Linux kann von kernel.org und zahlreichen Spiegel-Servern in Form von Patches oder tar-Paketen heruntergeladen werden.

Quelle : www.pro-linux.de/
Titel: Linux-Kernel 5.6 freigegeben
Beitrag von: SiLæncer am 30 März, 2020, 16:07
Linux-Initiator Linus Torvalds hat Version 5.6 des Linux-Kernels freigegeben. Die neue Version bringt WireGuard, USB4 und viele weitere Optimierungen und Verbesserungen.

Neun Wochen nach Linux 5.5 ist nun Linux 5.6 fertiggestellt. Mit über 12.650 Änderungen fällt Linux 5.6 fast 2.000 Änderungen kleiner aus als die Vorversion. Torvalds vermutet, dass das eine verspätete Auswirkung von Weihnachten und Neujahr ist. Die COVID-19-Pandemie hat seiner Ansicht nach keine großen Auswirkungen auf die Kernel-Entwicklung, obgleich es möglich ist, dass einige Änderungen zu spät für die nächste Version kommen.

Selten dürften sich Anwender so auf eine neue Kernel-Version gefreut haben wie auf 5.6. Denn die Änderungen haben es in sich. So wird nun USB4 unterstützt und der lange Weg von WireGuard in den Kernel ist abgeschlossen. WireGuard ist ein VPN-Tunnel, der für sich in Anspruch nimmt, schneller, einfacher und nützlicher als IPsec zu sein. Doch WireGuard brachte anfänglich seine eigenen kryptografischen Funktionen mit, die die Funktionalität im Kernel duplizierten. Eine lange Auseinandersetzung resultierte, da die Kernel-Entwickler keine duplizierte Funktionalität akzeptieren wollten. Dabei erkannten sie aber an, dass die von WireGuard mitgebrachten Funktionen die bessere Schnittstelle aufwiesen, die Schnittstellen im Kernel dagegen suboptimal sind und die korrekte Nutzung der Kryptografie erschweren. Daher wurden die neuen Schnittstellen mit Linux 5.5 in den Kernel übernommen, was die nun erfolgte Aufnahme von WireGuard ermöglichte.

Die MPX-Funktionalität der neueren Intel_CPUs wird jetzt nicht mehr unterstützt, da sie sich als Rohrkrepierer erwies. Auch die Compiler GCC und Clang unterstützen MPX nicht mehr. In der ARM64-Architektur wird jetzt E0PD unterstützt, was die Vorteile der Kernel Page Table Isolation bringt, aber keine Geschwindigkeitseinbußen verursacht. Die RNG-Instruktion, die ab ARMv8.5 vorhanden ist, wird zur Initialisierung des Zufallsgenerators verwendet.

Zu den Namensräumen im Kernel kam jetzt auch noch ein Zeit-Namensraum hinzu. Eine der ersten Anwendungen ist eine korrekte Behandlung der Zeit, wenn ein Container zwischen Hosts migriert wird. Auch BPF erhielt neue Funktionalität, darunter einen Dispatcher und zusammengefasste Map-Operationen sowie dynamische Programmerweiterungen, die es ermöglichen, globale Funktionen zu laden oder gar zur Laufzeit zu ersetzen. Ebenfalls recht weitreichend ist der neue BPF-Programmtyp BPF_PROG_TYPE_STRUCT_OPS, der es ermöglicht, bestimmte Kernel-Funktionen durch BPF-Programme zu ersetzen. Die erste Anwendung dieser Funktionalität ist die Implementierung eines TCP-Stauvermeidungsalgorithmus in BPF.

Die neue Idle Injection kann eine CPU, die zu überhitzen droht, zwangsweise für kurze Zeit anhalten. Ferner wurde der Systemaufruf openat2 hinzugefügt. Dieser verfügt über neue Flags, die definieren, wie das System Pfade behandelt. So kann man verbieten, symbolischen Links oder »magischen« Links zu folgen, in andere (gemountete) Dateisysteme zu wechseln oder außerhalb eines Unterverzeichnisses zu suchen.

Im Netzwerkbereich kam die Queue-Disziplin enhanced transmission selection scheduler hinzu, die Teil der 802.1Qaz-Spezifikation ist. Neu ist auch der Paket-Scheduler Flow Queue PIE, der vor allem für Kabelmodems gedacht ist und das Problem der zu großen Puffer bekämpfen soll. Multipath TCP, eine seit langem nur außerhalb des Kernels gepflegte Funktionalität, wird nun in den Kernel kommen, in Linux 5.6 wird aber nur die Basis dafür gelegt.

Das Dateisystem Btrfs erhielt eine asynchronous discard-Option und F2FS unterstützt jetzt Kompression. Das Dateisystem vboxfs, das den Zugriff auf gemeinsame Ordner in VirtualBox ermöglicht, wurde nun aufgenommen. Neu ist auch Zonefs, ein simples System, das es ermöglicht, jede Zone eines in Zonen aufgeteilten Gerätes als Datei zu exportieren. Die Kernel-Funktionen ioremap_nocache und devm_ioremap_nocache wurden entfernt, da ioremap nun dafür ausreicht.

Ferner löst Linux 5.6 das Jahr-2038-Problem für 32-Bit-Systeme. Darüber hinaus kamen auch wieder Treiber für zahlreiche Chips aller Art hinzu. Die zahlreichen weiteren Änderungen sind im Änderungslog von Git zu finden. Die Seite Kernelnewbies.org wird in Kürze eine übersichtliche Zusammenfassung der Änderungen veröffentlichen. Die aktuelle Version von Linux kann von kernel.org und zahlreichen Spiegel-Servern in Form von Patches oder tar-Paketen heruntergeladen werden.

Quelle : www.pro-linux.de/