Autor Thema: Neuer Linux Kernel ....  (Gelesen 119385 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

Offline SiLæncer

  • Cheff-Cubie
  • *****
  • Beiträge: 191383
  • Ohne Input kein Output
    • DVB-Cube
Kernel-Log – Was 2.6.38 bringt (2): Dateisysteme
« Antwort #180 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

Arbeits.- Testrechner :

Intel® Core™ i7-6700 (4 x 3.40 GHz / 4.00 GHz)
16 GB (2 x 8 GB) DDR4 SDRAM 2133 MHz
250 GB SSD Samsung 750 EVO / 1 TB HDD
ZOTAC Geforce GTX 1080TI AMPExtreme Core Edition 11GB GDDR5
MSI Z170A PC Mate Mainboard
DVD-Brenner Laufwerk
Microsoft Windows 10 Home 64Bit

TT S2 3200 ( BDA Treiber 5.0.1.8 ) + Terratec Cinergy 1200 C ( BDA Treiber 4.8.3.1.8 )

Offline SiLæncer

  • Cheff-Cubie
  • *****
  • Beiträge: 191383
  • Ohne Input kein Output
    • DVB-Cube

Arbeits.- Testrechner :

Intel® Core™ i7-6700 (4 x 3.40 GHz / 4.00 GHz)
16 GB (2 x 8 GB) DDR4 SDRAM 2133 MHz
250 GB SSD Samsung 750 EVO / 1 TB HDD
ZOTAC Geforce GTX 1080TI AMPExtreme Core Edition 11GB GDDR5
MSI Z170A PC Mate Mainboard
DVD-Brenner Laufwerk
Microsoft Windows 10 Home 64Bit

TT S2 3200 ( BDA Treiber 5.0.1.8 ) + Terratec Cinergy 1200 C ( BDA Treiber 4.8.3.1.8 )

Offline SiLæncer

  • Cheff-Cubie
  • *****
  • Beiträge: 191383
  • Ohne Input kein Output
    • DVB-Cube
Kernel-Log – Was 2.6.38 bringt (3): Netzwerk
« Antwort #182 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

Arbeits.- Testrechner :

Intel® Core™ i7-6700 (4 x 3.40 GHz / 4.00 GHz)
16 GB (2 x 8 GB) DDR4 SDRAM 2133 MHz
250 GB SSD Samsung 750 EVO / 1 TB HDD
ZOTAC Geforce GTX 1080TI AMPExtreme Core Edition 11GB GDDR5
MSI Z170A PC Mate Mainboard
DVD-Brenner Laufwerk
Microsoft Windows 10 Home 64Bit

TT S2 3200 ( BDA Treiber 5.0.1.8 ) + Terratec Cinergy 1200 C ( BDA Treiber 4.8.3.1.8 )

Offline SiLæncer

  • Cheff-Cubie
  • *****
  • Beiträge: 191383
  • Ohne Input kein Output
    • DVB-Cube
Kernel-Log – Was 2.6.38 bringt (4): Storage
« Antwort #183 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

Arbeits.- Testrechner :

Intel® Core™ i7-6700 (4 x 3.40 GHz / 4.00 GHz)
16 GB (2 x 8 GB) DDR4 SDRAM 2133 MHz
250 GB SSD Samsung 750 EVO / 1 TB HDD
ZOTAC Geforce GTX 1080TI AMPExtreme Core Edition 11GB GDDR5
MSI Z170A PC Mate Mainboard
DVD-Brenner Laufwerk
Microsoft Windows 10 Home 64Bit

TT S2 3200 ( BDA Treiber 5.0.1.8 ) + Terratec Cinergy 1200 C ( BDA Treiber 4.8.3.1.8 )

Offline SiLæncer

  • Cheff-Cubie
  • *****
  • Beiträge: 191383
  • Ohne Input kein Output
    • DVB-Cube
Kernel-Log – Was 2.6.38 bringt (5): Architektur, Infrastruktur ....
« Antwort #184 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 ...

Quelle : www.heise.de

Arbeits.- Testrechner :

Intel® Core™ i7-6700 (4 x 3.40 GHz / 4.00 GHz)
16 GB (2 x 8 GB) DDR4 SDRAM 2133 MHz
250 GB SSD Samsung 750 EVO / 1 TB HDD
ZOTAC Geforce GTX 1080TI AMPExtreme Core Edition 11GB GDDR5
MSI Z170A PC Mate Mainboard
DVD-Brenner Laufwerk
Microsoft Windows 10 Home 64Bit

TT S2 3200 ( BDA Treiber 5.0.1.8 ) + Terratec Cinergy 1200 C ( BDA Treiber 4.8.3.1.8 )

Offline SiLæncer

  • Cheff-Cubie
  • *****
  • Beiträge: 191383
  • Ohne Input kein Output
    • DVB-Cube
Kernel-Log – Was 2.6.38 bringt (6): Treiber
« Antwort #185 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 ...

Quelle : www.heise.de

Arbeits.- Testrechner :

Intel® Core™ i7-6700 (4 x 3.40 GHz / 4.00 GHz)
16 GB (2 x 8 GB) DDR4 SDRAM 2133 MHz
250 GB SSD Samsung 750 EVO / 1 TB HDD
ZOTAC Geforce GTX 1080TI AMPExtreme Core Edition 11GB GDDR5
MSI Z170A PC Mate Mainboard
DVD-Brenner Laufwerk
Microsoft Windows 10 Home 64Bit

TT S2 3200 ( BDA Treiber 5.0.1.8 ) + Terratec Cinergy 1200 C ( BDA Treiber 4.8.3.1.8 )

Offline SiLæncer

  • Cheff-Cubie
  • *****
  • Beiträge: 191383
  • Ohne Input kein Output
    • DVB-Cube
Linux-Kernel 2.6.38 freigegeben
« Antwort #186 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

Quelle : www.heise.de

Arbeits.- Testrechner :

Intel® Core™ i7-6700 (4 x 3.40 GHz / 4.00 GHz)
16 GB (2 x 8 GB) DDR4 SDRAM 2133 MHz
250 GB SSD Samsung 750 EVO / 1 TB HDD
ZOTAC Geforce GTX 1080TI AMPExtreme Core Edition 11GB GDDR5
MSI Z170A PC Mate Mainboard
DVD-Brenner Laufwerk
Microsoft Windows 10 Home 64Bit

TT S2 3200 ( BDA Treiber 5.0.1.8 ) + Terratec Cinergy 1200 C ( BDA Treiber 4.8.3.1.8 )

Offline SiLæncer

  • Cheff-Cubie
  • *****
  • Beiträge: 191383
  • Ohne Input kein Output
    • DVB-Cube
Linux: Update für RT-Kernel 2.6.33
« Antwort #187 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

Arbeits.- Testrechner :

Intel® Core™ i7-6700 (4 x 3.40 GHz / 4.00 GHz)
16 GB (2 x 8 GB) DDR4 SDRAM 2133 MHz
250 GB SSD Samsung 750 EVO / 1 TB HDD
ZOTAC Geforce GTX 1080TI AMPExtreme Core Edition 11GB GDDR5
MSI Z170A PC Mate Mainboard
DVD-Brenner Laufwerk
Microsoft Windows 10 Home 64Bit

TT S2 3200 ( BDA Treiber 5.0.1.8 ) + Terratec Cinergy 1200 C ( BDA Treiber 4.8.3.1.8 )

Offline SiLæncer

  • Cheff-Cubie
  • *****
  • Beiträge: 191383
  • Ohne Input kein Output
    • DVB-Cube
Kernel-Log: 2.6.39er-Entwicklung läuft, 33er-Serie wiederbelebt
« Antwort #188 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. 

Das neue Programm cpupower liefert Inforamtionen zur Nutzung der Stromspar- und Übertaktungs-Funktionen moderner Prozessoren.

Quelle : www.heise.de

Arbeits.- Testrechner :

Intel® Core™ i7-6700 (4 x 3.40 GHz / 4.00 GHz)
16 GB (2 x 8 GB) DDR4 SDRAM 2133 MHz
250 GB SSD Samsung 750 EVO / 1 TB HDD
ZOTAC Geforce GTX 1080TI AMPExtreme Core Edition 11GB GDDR5
MSI Z170A PC Mate Mainboard
DVD-Brenner Laufwerk
Microsoft Windows 10 Home 64Bit

TT S2 3200 ( BDA Treiber 5.0.1.8 ) + Terratec Cinergy 1200 C ( BDA Treiber 4.8.3.1.8 )

Offline SiLæncer

  • Cheff-Cubie
  • *****
  • Beiträge: 191383
  • Ohne Input kein Output
    • DVB-Cube
Kernel-Log: Erster Release Candidate von Linux 2.6.39
« Antwort #189 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

Arbeits.- Testrechner :

Intel® Core™ i7-6700 (4 x 3.40 GHz / 4.00 GHz)
16 GB (2 x 8 GB) DDR4 SDRAM 2133 MHz
250 GB SSD Samsung 750 EVO / 1 TB HDD
ZOTAC Geforce GTX 1080TI AMPExtreme Core Edition 11GB GDDR5
MSI Z170A PC Mate Mainboard
DVD-Brenner Laufwerk
Microsoft Windows 10 Home 64Bit

TT S2 3200 ( BDA Treiber 5.0.1.8 ) + Terratec Cinergy 1200 C ( BDA Treiber 4.8.3.1.8 )

Offline SiLæncer

  • Cheff-Cubie
  • *****
  • Beiträge: 191383
  • Ohne Input kein Output
    • DVB-Cube
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

Arbeits.- Testrechner :

Intel® Core™ i7-6700 (4 x 3.40 GHz / 4.00 GHz)
16 GB (2 x 8 GB) DDR4 SDRAM 2133 MHz
250 GB SSD Samsung 750 EVO / 1 TB HDD
ZOTAC Geforce GTX 1080TI AMPExtreme Core Edition 11GB GDDR5
MSI Z170A PC Mate Mainboard
DVD-Brenner Laufwerk
Microsoft Windows 10 Home 64Bit

TT S2 3200 ( BDA Treiber 5.0.1.8 ) + Terratec Cinergy 1200 C ( BDA Treiber 4.8.3.1.8 )

Offline SiLæncer

  • Cheff-Cubie
  • *****
  • Beiträge: 191383
  • Ohne Input kein Output
    • DVB-Cube
Kernel-Log: Natives KVM-Tool, lauter neue Kernel
« Antwort #191 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

Arbeits.- Testrechner :

Intel® Core™ i7-6700 (4 x 3.40 GHz / 4.00 GHz)
16 GB (2 x 8 GB) DDR4 SDRAM 2133 MHz
250 GB SSD Samsung 750 EVO / 1 TB HDD
ZOTAC Geforce GTX 1080TI AMPExtreme Core Edition 11GB GDDR5
MSI Z170A PC Mate Mainboard
DVD-Brenner Laufwerk
Microsoft Windows 10 Home 64Bit

TT S2 3200 ( BDA Treiber 5.0.1.8 ) + Terratec Cinergy 1200 C ( BDA Treiber 4.8.3.1.8 )

Offline SiLæncer

  • Cheff-Cubie
  • *****
  • Beiträge: 191383
  • Ohne Input kein Output
    • DVB-Cube
Kernel-Log – Was 2.6.39 bringt (2): Storage und Dateisysteme
« Antwort #192 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

Arbeits.- Testrechner :

Intel® Core™ i7-6700 (4 x 3.40 GHz / 4.00 GHz)
16 GB (2 x 8 GB) DDR4 SDRAM 2133 MHz
250 GB SSD Samsung 750 EVO / 1 TB HDD
ZOTAC Geforce GTX 1080TI AMPExtreme Core Edition 11GB GDDR5
MSI Z170A PC Mate Mainboard
DVD-Brenner Laufwerk
Microsoft Windows 10 Home 64Bit

TT S2 3200 ( BDA Treiber 5.0.1.8 ) + Terratec Cinergy 1200 C ( BDA Treiber 4.8.3.1.8 )

Offline SiLæncer

  • Cheff-Cubie
  • *****
  • Beiträge: 191383
  • Ohne Input kein Output
    • DVB-Cube
Linux-Kernel: Updates für Long-Term-Zweige
« Antwort #193 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

Arbeits.- Testrechner :

Intel® Core™ i7-6700 (4 x 3.40 GHz / 4.00 GHz)
16 GB (2 x 8 GB) DDR4 SDRAM 2133 MHz
250 GB SSD Samsung 750 EVO / 1 TB HDD
ZOTAC Geforce GTX 1080TI AMPExtreme Core Edition 11GB GDDR5
MSI Z170A PC Mate Mainboard
DVD-Brenner Laufwerk
Microsoft Windows 10 Home 64Bit

TT S2 3200 ( BDA Treiber 5.0.1.8 ) + Terratec Cinergy 1200 C ( BDA Treiber 4.8.3.1.8 )

Offline SiLæncer

  • Cheff-Cubie
  • *****
  • Beiträge: 191383
  • Ohne Input kein Output
    • DVB-Cube
Kernel-Log – Was 2.6.39 bringt (3): Architektur und Infrastruktur
« Antwort #194 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

Arbeits.- Testrechner :

Intel® Core™ i7-6700 (4 x 3.40 GHz / 4.00 GHz)
16 GB (2 x 8 GB) DDR4 SDRAM 2133 MHz
250 GB SSD Samsung 750 EVO / 1 TB HDD
ZOTAC Geforce GTX 1080TI AMPExtreme Core Edition 11GB GDDR5
MSI Z170A PC Mate Mainboard
DVD-Brenner Laufwerk
Microsoft Windows 10 Home 64Bit

TT S2 3200 ( BDA Treiber 5.0.1.8 ) + Terratec Cinergy 1200 C ( BDA Treiber 4.8.3.1.8 )