Kernel-Log – Was 3.0 bringt (3): Architektur, Infrastruktur und Virtualisierung
Sechs Jahre später als ursprünglich erwartet enthält der Kernel nun alles Wichtige zum Betrieb als Xen Dom0. Bei Linux 3.0 gehen die Entwickler einige Probleme im ARM-, Reboot- und UEFI-Code an. Das Optimieren auf kleinen Code per Compiler-Schalter gibt Torvalds etwas enttäuscht auf.
- Thorsten Leemhuis
In der Nacht von Montag auf Dienstag hat Linus Torvalds eine weitere Vorabversion von Linux 3.0 veröffentlicht. In der Freigabe-Mail zum RC6 hebt er die Aufnahme des Isci-Treibers (u. a. 1) für den SAS-Controller in Intels Server- und Workstation-Chipsatz C600 hervor, der in den kommenden Monaten erscheinen soll. Da der Treiber vergleichsweise groß ist, war sich Torvalds unsicher, ob er so spät im Entwicklungszyklus noch aufgenommen werden soll. Da der Treiber-Code aber für sich alleine stehe, könne er keine Fehler auslösen, die frühere Kernel nicht gezeigt haben.
Von dem Treiber abgesehen hat es vorwiegend kleine Korrekturen an verschiedenen Stellen gegeben. Torvalds deutete an, dem Punkt näher zu kommen, wo er über eine Freigabe von Linux 3.0 nachdenkt, weil es ziemlich ruhig und die Änderungen nicht sonderlich aufregend seien. Das Kernel-Log will daher seine Berichterstattung über die Neuerungen von Linux 3.0 mit einer Beschreibung der Änderungen rund um Architektur, Infrastruktur und Virtualisierung fortsetzen. In den nächsten Tagen folgt der vierte und letzte Teil der "Was 3.0 bringt"-Mini-Serie, der sich Treibern widmen wird; der erste Teil hatte sich mit Netzwerk-Treibern und -Infrastruktur beschäftigt, der zweite mit Dateisystemen.
Virtualisierung
Unter den für Linux 3.0 aufgenommenen Änderungen findet sich das Storage-Backend für Xen (u. a. 1, 2, 3). Damit enthält der Kernel nun endlich alle essentielle Komponenten, um als Dom0 mit dem Xen-Hypervisor zusammen Gastsysteme zu hosten. Und nicht nur das: Auch der Entwicklerzweig von Qemu enthält seit Mitte Mai alles nötige, um die Hardware für Xen-Gäste zu emulieren, die mit Hilfe der Virtualisierungsfunktionen moderner Prozessoren laufen (HVM/Hardware-assisted Virtualization).
Hintergründe zu diesen beiden lange vorbereiteten Änderungen finden sich in einigen Blog-Einträgen (1, 2, 3, 4, 5, 6). Bei dem in Kernel und Qemu integrierten Code handelt es sich allerdings um eine erheblich zusammengestrichene und überarbeitete Variante des Codes, den kommerzielle Xen-Produkte wie Citrix XenServer derzeit einsetzen. Der Funktionsumfang ist daher kleiner; es lassen sich beispielsweise keine USB-Geräte an Gäste durchreichen und Suspend-to-RAM funktioniert nicht. Die Xen-Entwickler haben daher noch einige Arbeit vor sich, aber die Aufnahme der Hauptkomponenten jetzt endlich geschafft, nachdem die schon 2005 schon zum Greifen nahe schien.
Die Verzögerung bei Xen hat sicher auch zum Erfolg des von KVM (Kernel-based Virtual Machine) beigetragen (siehe auch: Die Woche: Xen hat KVM vorbeiziehen lassen). Der Kernel-eigene Hypervisor unterstützt mit Linux 3.0 nun VIA-Prozessoren und die virtuelle Time Stamp Counter (TSC) Rate neuerer AMD-Prozessoren. Ferner wollen die Kernel-Hacker die Genauigkeit des Emulators und die Performance verbessert haben, wie aus dem Haupt-Git-Pull-Request von KVM-Betreuer Avi Kivity hervor geht. Ferner soll die "Event Index"-Unterstützung in den häufig mit KVM genutzten Virtualisierungsschnittstellen Virtio und Vhost den Overhead beim Datenaustausch zwischen Gast und Host reduzieren.
Architektur-Code
Neu ist auch Unterstützung für die Supervisor Mode Execution Protection (SMEP) kommender Intel-Prozessoren. Sie versucht zu verhindern, dass Ring-0-Treiber direkt Usermode-Code anspringen können; einige Hintergründe dazu erläutert Dan Rosenberg in einem Blog-Eintrag.
Der Kernel 3.0 wird erstmals die 64-bittige Tilera-Architektur (TILE-Gx) unterstützen – ein Multi-Core-Design der Prozessorfirma Tilera. Der Code für Power-Prozessoren spricht nun die CPUs der Familie PowerEN (Power Edge of Network) an, die auch unter ihrem Codenamen "Wirespeed Pro" (wsp) bekannt sind; einige weitere Power-Neuerungen finden sich im Haupt-Git-Pull-Request für den PPC-Code. Die SMP- und Highmem-Unterstützung für ARM gilt nicht mehr als experimentell (1, 2).
Größenoptimierung, MM, Problemfelder
Problemfelder
Am ARM-Code gab es erste Aufräumarbeiten, nachdem Torvalds in den vergangenen Monaten die Code-Qualität und die Arbeitsweise der zuständigen Entwickler ziemlich deutlich kritisiert hatte. Ein Kritikpunk waren Dopplungen – im Code für verschiedene SOCs (System-on-a-chip) mit ARM-Kern fand sich teilweise ganz ähnlicher oder eng verwandter Code (etwa Treiber für Funktionseinheiten, die sich in mehreren SOCs finden), zwischen denen kein oder kaum Austausch erfolgte – dadurch traten an einer Stelle korrigierte Fehler an anderen weiter auf. Einige Hintergründe zu diesen und anderen Schwierigkeiten mit dem ARM-Code sowie den teilweise bereits angegangenen Arbeiten zum Beseitigen dieser Probleme liefern einige LWN.net-Artikel, Blog-Einträge und LKML-Diskussionen (1, 2, 3, 4, 5, 6, 7, 8). Ein Baustein zur Verbesserungen ist die in Linux 3.0 eingezogene Unterstützung für Device Trees bei der ARM-Architektur (u. a. 1, 2), was die Portierung auf neue Plattformen und die Wartung des ARM-Codes vereinfachen soll; weitere Verbesserungen in dieser Richtung soll Linux 3.1 bringen.
Einige Änderungen gab es am Code zum Neustarten von PCs; durch sie löst Linux den Reboot nun ähnlich wie neuere Windows-Versionen aus (u. a. 1). Das soll Neustart-Probleme auf einigen Rechnern beseitigen, darunter einige Apple-Systeme und Thinkpad-Notebooks.
Viel mehr Systeme dürften einige Verbesserungen und Fehlerkorrekturen an der Unterstützung des (Universial) Extensible Firmware Interface (U)EFI betreffen, das bei neueren Mainboards BIOS-Funktionen übernimmt (u. a. 1). UEFI ist für die Windows-Welt wichtig, weil die aktuellen Microsoft-Systeme auf UEFI angewiesen sind, um von Datenträgern mit mehr als 2 Terabyte Speicherplatz zu booten. Zur sauberen Parallelinstallation von Linux muss dieses daher auch UEFI nutzen, was bei aktuellen Distributionen aber mehr schlecht als recht der Fall ist. Das könnte mit den jetzt integrierten Kernel-Änderungen etwas besser werden; es gibt im (U)EFI-Umfeld aber noch mehr Probleme, die gelöst werden wollen. Hintergründe dazu finden sich über zwei Kernel-Logs, von denen eines auch auf die Reboot-Probleme näher eingeht (1, 2).
Optimierungen
Die Option CC_OPTIMIZE_FOR_SIZE wird nun nicht mehr standardmäßig eingeschaltet. Sie weist den Compiler an, den Code auf Größe zu Optimieren (-Os) – das kann die Performance in bestimmten Situationen verbessern, weil der Prozessor-Cache für Instruktionen effizienter genutzt wird. Das ganze klappt aber nicht ganz so gut wie ursprünglich erhofft, wie Torvalds im Commit-Kommentar zu der von ihm vorgenommenen Änderung etwas enttäuscht anmerkt.
An einigen Stellen des Kernels haben die Kernel-Hacker das Prefetching entfernt (u. a. 1, 2, 3); also das explizite Anfordern von Daten, kurz bevor diese genutzt werden. Das soll eigentlich die Performance verbessern, weil die Daten so vor der Nutzung in den CPU-Cache wandern. Es stellte sich allerdings heraus, dass manche modernen Prozessoren das in bestimmten Situationen selber so gut beherrschen, dass Prefetching durch den Kernel die Performance verschlechtert. Details hierzu liefert LWN.net im Artikel "The problem with prefetch".
Memory Management
Neu ist Cleancache (u. a. Core, FS, Btrfs, Ext3, Ext4): Bei Speicherknappheit kann der Kernel diesem Cache Speicherseiten übergeben, die verzichtbar sind, weil sich der Inhalt durch Nachladen vom Datenträger wieder beschaffen lässt. Da das allerdings langsam ist, versucht Clearcache die Daten im Speicher zu halten – etwa mit Hilfe des bei 2.6.39 integrierten Zcache, das als Cleancache-Backend fungiert und die Daten komprimiert. Beim Zusammenspiel mit dem Xen-Hypervisor kann Cleancache auch den Xen Transcendent Memory als Backend zum Ablegen von Daten nutzen. Der steht auch anderen Gästen zur Verfügung und kann doppelt gespeicherte Daten zusammenführen – das kann die Performance verbessern, wie eine im Commit-Kommentar verlinkte Präsentation erläutert. Weitere Hintergründe liefern die gute Cleancache-Dokumentation und der schon etwas ältere LWN.net-Artikel "Cleancache and Frontswap"
Zum Memory-Management-Code stießen die lange vorbereiteten Patches, die Peter Zijlstra unter dem Schlagwort "MM preemptibility" entwickelt hat und die die Funktion mmu_gather unterbrechbar machen, was Skalierbarkeit, Performance und Echtzeit-Eigenschaften verbessern kann (u. a. 1, 2, 3, 4, 5).
Staccato
- Der unter anderem beim Ein- und Ausschalten von Tracepoints oder Dynamic Debugging involvierte Code für Jump Label wurde umgebaut, um den Overhead durch solche Label zu verringern und diese einfacher nutzen zu können – Details liefert LWN.net im Artikel "Jump label reworked".
- Verschiedene Anwender können beim Einsatz des Function Tracers (Ftrace) nun jeweils unterschiedliche Funktionen filtern.
- Der Perf-Probe-Code zum Suchen nach Funktionsnamen bietet nun einen Fastpath; der kann diese Aufgabe erheblich beschleunigen, wie Messergebnisse im Commit-Kommentar zeigen.
- Eine schon in einige Stable-Kernel eingezogene Änderung am Cpufreq-Code beseitigt einen Fehler, der auf manchen Systemen zu einer leicht höheren Leistungsaufnahme geführt hat.
- Der Intel-IOMMU-Treiber unterstützt jetzt auch Super Pages mit Größen wie 2 MiB oder 1 GiB.
- Sysfs legt für SELinux jetzt den Pfad /sys/fs/selinux/ an, der langfristig den bisher für SELinux genutzten Mount-Punkt /selinux/ ersetzen soll.
- Durch einige Änderungen am Capabilites-Framework kann dieses nun Usermode-Helfern bestimmte Funktionen untersagen – etwa damit Anwender über die Capability CAP_NET_ADMIN keine Kernel-Module mehr laden können.
- Der Kernel bietet nun eine Reihe von mit "kstrtol_" beginnende Funktionen, um von Userland angelieferte Strings in Zahlenwerte zu verwandeln; die neue Funktion "strtobool" verwandelt Zeichenketten aus dem Userland in Boolean-Werte.
- Über den neuen Kbuild-Parameter "W=" lässt sich vorgeben, welche Art von Compiler-Warnungen beim Übersetzen ausgegeben werden. Es gibt drei Stufen; um alle zu aktivieren, muss man "W=123" angeben, was zu rund 90.000 Warnungen führen soll.
- Der Kernel bietet nun "Alarm-Timers". Ähnlich wie Hrtimers stoßen sie zu einem bestimmten Zeitpunkt eine Aufgabe an; die Alarm-Timer sorgen aber zusätzlich dafür, dass das System nötigenfalls auch dem Bereitschaftsmodus aufwacht. Aus dem Userspace lassen sie sich über das POSIX-Time-Interface nutzen. Die Android-Entwickler hatten eine ähnliche, Android Alarm Driver genannte Lösung mit einem anderen Userspace-Interface schon vor längerer Zeit entwickelt, damit beispielsweise Smartphones aus dem Suspend aufwachen, um an Termine zu erinnern. Einige Hintergründe zum Konzept liefert der Hauptautor der Alarm-Timers in einem LWN.net-Artikel.
- TREE_PREEMPT_RCU – eine von mehreren Kernel-Varianten für RCU (Read-copy-update), das den Datenzugriff auf Multi-Processor-Systemen synchronisiert – beherrscht jetzt das für den Echtzeiteinsatz wichtige Priority Boosting. Die Nutzung von RCU wurde weiter ausgebaut – auch die POSIX-Timer nutzen sie, wodurch laut Commit-Kommentar ein Micro-Benchmark erheblich flotter arbeitet. Der RCU-Code wurde zudem an vielen Stellen optimiert (siehe "Die kleinen Perlen"); eine der Änderungen führte zu einer größere Performance-Einbuße in einem Test, welche die Kernel-Hacker aber zum RC4 wieder aus der Welt geschafft haben.
- Einige Änderungen am Module-Loader (u. a. 1, 2, 3, 4) sollen das Laden von Modulen ein wenig beschleunigen.
- Die Dokumentation weist darauf hin, dass der Kernel alle Meldungen mit Zeitstempeln versieht, wenn man den Parameter "printk.time=1" übergibt.
Die kleinen Perlen: Infrastruktur
Die kleinen Perlen: Infrastruktur
Viele kleinere, aber keineswegs unbedeutende Neuerungen finden sich in der folgenden Liste mit den englischen Commit-Überschriften der jeweiligen Änderung. Die Einträge verlinken genau wie viele der Verweise im vorangegangenen Text auf das Webfrontend des von Linus Torvalds gepflegten Git-Zweigs mit den "offiziellen" Kernel-Quellen auf Kernel.org. Der über diese Links angezeigte Commit-Kommentar und der darunter ausgegebene Patch liefern nähere Informationen zur jeweiligen Änderungen.
Vor jedem Link finden sich in eckigen Klammern einige Buchstaben und Zahlen. Ein "C" kennzeichnet Patches mit Änderungen an Kconfig-Dateien, welche die Konfigurationsoptionen samt der zugehörigen Hilfetexte enthalten, die bei der Kernel-Konfiguration über "make menuconfig" oder "make xconfig" angezeigt werden. Ein "D" steht bei Patches, die die Dokumentation verändern, die im Kernel-Zweig unterhalb von Documentation/ liegt. Ein "N" weist Änderungen aus, die eine neue Datei anlegen. Die Zahl vermittelt einen groben Eindruck zur Größe des Patches: eine "1" kennzeichnet Änderungen, die inklusive Kommentar zwischen 10 und 20 KByte groß sind, eine "2" für solche, die zwischen 20 und 30 KByte Umfang haben; Änderungen ohne Zahl sind kleiner als 10 KByte, Patches mit einer "9" hingegen 90 KByte oder größer.
ACPI
- [
- [
- [
- [
CD
] ACPI: Split out custom_method functionality into an own driver
Crypto & Security
- [
- [
C
] crypto: aesni-intel - Merge with fpu.ko - [
- [
CDN9
] crypto: caam - Add support for the Freescale SEC4/CAAM - [
D 1
] crypto: caam - de-CHIP-ify device tree compatibles - [
D 1
] crypto: caam - standardize device tree naming convention to utilize '-vX.Y' - [
- [
- [
C 1
] crypto: s390 - add System z hardware support for CTR mode - [
C N
] crypto: s390 - add System z hardware support for GHASH - [
C 1
] crypto: s390 - add System z hardware support for XTS mode - [
C
] crypto: s390 - cleanup s390 Kconfig options - [
C N2
] crypto: s5p-sss - add S5PV210 advanced crypto engine support - [
- [
C
] hwrng: amd - enable AMD hw rnd driver for Maple PPC boards - [
1
] KEYS: Improve /proc/keys - [
MM
- [
D
] memcg: add documentation for the memory.numastat API - [
D
] memsw: remove noswapaccount kernel parameter - [
- [
- [
- [
D
] mm: convert mm->cpu_vm_cpumask into cpumask_var_t - [
- [
- [
- [
- [
PCI
- [
- [
- [
- [
- [
- [
D
] PCI: add rescan to /sys/.../pci_bus/.../ - [
- [
Power Management
- [
C 1
] [CPUFREQ] Move x86 drivers to drivers/cpufreq/ - [
C 9
] [CPUFREQ] use dynamic debug instead of custom infrastructure - [
D
] PM / ACPI: Remove acpi_sleep=s4_nonvs - [
D 1
] PM: Allow drivers to allocate memory from .prepare() callbacks safely - [
D
] PM: Documentation: fix typo: pm_runtime_idle_sync() doesn't exist. - [
D
] PM / Domains: Update documentation - [
D
] PM / Hibernate: Add sysfs knob to control size of memory for drivers - [
- [
- [
C
] PM: Remove CONFIG_PM_VERBOSE - [
C 1
] PM: Remove sysdev suspend, resume and shutdown operations - [
C N1
] PM / Runtime: Generic clock manipulation rountines for runtime PM (v6) - [
- [
D
] PM / Runtime: Update doc: usage count no longer incremented across system PM - [
D
] PM / Runtime: Update documentation regarding driver removal - [
D
] PM: Update documentation regarding sysdevs - [
- [
Scheduler
- [
2
] sched: Dynamically allocate sched_domain/sched_group data-structures - [
- [
D
] sched: Get rid of lock_depth - [
- [
- [
C
] sched: Move the second half of ttwu() to the remote cpu - [
Tracing
- [
C N
] jump label: Add s390 support - [
- [
- [
- [
- [
- [
1
] perf stat: Add -d -d and -d -d -d options to show more CPU events - [
- [
- [
- [
- [
- [
- [
- [
- [
- [
- [
- [
- [
N1
] perf tools: Makefile: PYTHON{,_CONFIG} to bandage Python 3 incompatibility - [
Virtualization
- [
- [
D
] KVM: Add documentation for KVM_CAP_NR_VCPUS - [
- [
D 2
] KVM: PPC: booke: add sregs support - [
- [
- [
- [
- [
- [
- [
- [
- [
- [
- [
- [
- [
- [
- [
- [
- [
D
] KVM: X86: Implement userspace interface to set virtual_tsc_khz - [
D
] lguest: remove support for VIRTIO_F_NOTIFY_ON_EMPTY. - [
- [
1
] virtio: add full three-clause BSD text to headers. - [
- [
N1
] xen: cleancache shim to Xen Transcendent Memory - [
- [
Various
- [
- [
D 1
] bitmap, irq: add smp_affinity_list interface to /proc/irq - [
CD 1
] cgroup: remove the ns_cgroup - [
D 1
] cgroups: add per-thread subsystem callbacks - [
D 1
] cgroups: make procs file writable - [
D
] coredump: add support for exe_file in core name - [
DN1
] Create Documentation/security/, - [
D
] Documentation: Add statistics about nested locks - [
D
] Documentation/atomic_ops.txt: avoid volatile in sample code - [
D
] Documentation/feature-removal-schedule.txt: remove ns_cgroup from feature-removal-schedule.txt - [
D
] Documentation: fix cgroup typos and formatting - [
D 2
] Documentation: update cgroupfs mount point - [
D
] Documentation: update dontdiff file - [
D
] Documentation: update kmemleak supported archs - [
D
] Documentation: update printk-formats.txt - [
- [
- [
D
] genirq: Update DocBook comments - [
D
] getdelays: show average CPU/IO/SWAP/RECLAIM delays - [
D
] initramfs: Use KBUILD_BUILD_TIMESTAMP for generated entries - [
- [
- [
D
] kbuild: Allow to override LINUX_COMPILE_BY and LINUX_COMPILE_HOST macros - [
DN
] kbuild: asm-generic support - [
D
] kbuild: Fix build with binutils <= 2.19 - [
- [
D
] kbuild: Fix passing -Wno-* options to gcc 4.4+ - [
- [
C
] kbuild: move KALLSYMS_EXTRA_PASS from Kconfig to Makefile - [
D
] kbuild: move scripts/basic/docproc.c to scripts/docproc.c - [
- [
D
] kconfig: Document the new "visible if" syntax - [
C
] Kconfig: improve KALLSYMS_ALL documentation - [
D
] kconfig-language: add to hints - [
- [
- [
- [
- [
C
] lib: consolidate DEBUG_PER_CPU_MAPS - [
C 1
] lib: consolidate DEBUG_STACK_USAGE option - [
- [
- [
CDN5
] ptp: Added a brand new class driver for ptp clocks. - [
- [
D
] rcu: add callback-queue information to rcudata output - [
D
] rcu: Add forward-progress diagnostic for per-CPU kthreads - [
D
] rcu: add grace-period age and more kthread state to tracing - [
- [
- [
D 1
] rcu: Decrease memory-barrier usage based on semi-formal proof - [
- [
D 1
] rcu: merge TREE_PREEPT_RCU blocked_tasks[] lists - [
D 1
] rcu: move TREE_RCU from softirq to kthread - [
- [
CD 1
] rcu: Remove conditional compilation for RCU CPU stall warnings - [
D
] rcu: Update RCU's trace.txt documentation for new format - [
D 1
] rcu: update tracing documentation for new rcutorture and rcuboost - [
1
] rcu: use softirq instead of kthreads except when RCU_BOOST=y - [
1
] timerfd: Allow timers to be cancelled when clock was set - [
1
] timerfd: Manage cancelable timers in timerfd - [
- [
C
] uts: make default hostname configurable, rather than always using "(none)"
Die kleinen Perlen: Architektur
Die kleinen Perlen: Architektur-Code
x86
- [
- [
- [
- [
- [
- [
- [
- [
- [
C
] x86/amd-iommu: Select PCI_IOV with AMD IOMMU driver - [
- [
- [
- [
C
] x86, cpu: Move AMD Elan Kconfig under "Processor family" - [
D
] x86 idle APM: deprecate CONFIG_APM_CPU_IDLE - [
D
] x86 idle: deprecate mwait_idle() and "idle=mwait" cmdline param - [
D
] x86 idle: deprecate "no-hlt" cmdline param - [
D
] x86 idle floppy: deprecate disable_hlt() - [
N
] x86: Introduce pci_map_biosrom() - [
- [
- [
- [
- [
- [
- [
C
] x86, mm: Allow ZONE_DMA to be configurable - [
- [
C
] x86, olpc: Use device tree for platform identification [8
] x86, UV: Add support for SGI UV2 hub chip
ARM
- [
- [
C
] ARM: 6863/1: allow hotplug on msm - [
C 7
] ARM: 6888/1: remove ns9xxx port - [
C
] ARM: 6893/1: Allow for kernel command line concatenation - [
C
] ARM: 6913/1: sparsemem: allow pfn_valid to be overridden when using SPARSEMEM - [
C
] ARM: 6931/1: SPEAr3xx: Rework KConfig to allow all boards to be compiled in - [
- [
N
] ARM: configs: add defconfig for mach-mxs - [
1
] ARM: consolidate SMP cross call implementation - [
C
] ARM: EXYNOS4: Add Atmel mXT touchscreen device to the NURI board - [
N1
] ARM: EXYNOS4: Add usb host phy control - [
N
] ARM: EXYNOS4: CPUIDLE Support - [
C N5
] ARM: imx: move mx3 support to mach-imx - [
C N
] ARM: mach-mxs: add stmp378x-devb - [
- [
N
] ARM: mach-shmobile: CPUIdle support - [
- [
- [
N1
] ARM: mach-shmobile: sh7372 Core Standby Suspend-to-RAM - [
1
] ARM: mach-shmobile: sh73a0 DMA Engine support for SY-DMAC - [
N
] ARM: mach-shmobile: Suspend-to-RAM support - [
C 9
] ARM: mach-stmp378x: remove mach - [
C 9
] ARM: mach-stmp37xx: remove mach - [
C
] ARM: Moving Marvell Dove platform defaults to ARMv7 - [
C N3
] ARM: mx3: dynamically allocate "ipu-core" devices - [
C
] ARM: mx5/mx53_smd: Add esdhc support - [
3
] ARM: orion: Consolidate ethernet platform data - [
N2
] ARM: orion: Consolidate the creation of the uart platform data. - [
2
] ARM: orion: Consolidate the XOR platform setup code. - [
1
] ARM: orion: Consolidate USB platform setup code. - [
C 9
] ARM: plat-stmp: remove plat - [
C 8
] ARM: remove support for mxc91231 - [
- [
- [
- [
CD 7
] ARM: S5P6442: Removing ARCH_S5P6442 - [
- [
C 7
] at91: drop at572d940hf support - [
C N
] MX1: Add ARMadeus Systems APF9328 board support - [
- [
- [
N2
] omap: consolidate touch screen initialization among different boards - [
C 1
] omap: drop board-igep0030.c - [
1
] OMAP: DSS2: Add support for NV12 format - [
- [
- [
- [
1
] omap: musb: introduce default board config - [
C 1
] omap: Remove support for omap2evm
PPC
- [
C N1
] powerpc/4xx: Adding PCIe MSI support - [
N
] powerpc/85xx: Create dts of each core in CAMP mode for P1020RDB - [
- [
C N1
] powerpc: Add A2 cpu support - [
C
] powerpc: Add early debug for WSP platforms - [
DN
] powerpc: Add fsl mpic timer binding - [
DN
] powerpc: Adding bindings for flexcan controller - [
C 1
] powerpc: Add Initiate Coprocessor Store Word (icswx) support - [
- [
C
] powerpc: Add kconfig for muxed smp ipi support - [
- [
- [
C N
] powerpc: Add NAP mode support on Power7 in HV mode - [
C N1
] powerpc: Add SCOM infrastructure - [
- [
1
] powerpc: Base support for exceptions using HSRR0/1 - [
C N
] powerpc/boot: Add an ePAPR compliant boot wrapper - [
2
] powerpc: Consolidate ipi message mux and demux - [
N
] powerpc: Define CPU feature for Architected 2.06 HV mode - [
- [
C
] powerpc/ftrace: Implement raw syscall tracepoints on PowerPC - [
- [
DN
] powerpc: Integrated Flash controller device tree bindings - [
- [
- [
- [
1
] powerpc/pseries: Add page coalescing support - [
C N1
] powerpc/pseries: Add support for IO event interrupts - [
- [
- [
- [
C N6
] powerpc/xics: Rewrite XICS driver
Various
- [
C 1
] arch/tile: improve support for PCI hotplug - [
C N1
] arch/tile: more /proc and /sys file support - [
1
] arch/tile: support signal "exception-trace" hook - [
1
] arch/tile: support TIF_NOTIFY_RESUME - [
N
] asm-generic/ptrace.h: start a common low level ptrace helper - [
- [
1
] Blackfin: boards: update ASoC resources after machine driver overhaul - [
C N4
] Blackfin: first pass at debug mmr support - [
C N1
] Blackfin: initial perf_event support - [
N2
] Blackfin: unify core IRQ definitions - [
C
] m68knommu: create config options for CPU classes - [
N1
] MIPS: Add default configuration for XLR/XLS processors - [
C
] MIPS: Enable kmemleak for MIPS - [
C N
] MIPS: Kconfig and Makefile update for Netlogic XLR/XLS - [
N1
] MIPS: Lantiq: Add DMA support - [
C N2
] MIPS: Lantiq: Add ethernet driver - [
- [
C N2
] MIPS: Lantiq: Add initial support for Lantiq SoCs - [
C N
] MIPS: Lantiq: Add machtypes for lantiq eval kits - [
C N
] MIPS: Lantiq: Add mips_machine support - [
N
] MIPS: Lantiq: Add more gpio drivers - [
C N
] MIPS: Lantiq: Add NOR flash support - [
N1
] MIPS: Lantiq: Add PCI controller support. - [
N
] MIPS: Lantiq: Add platform device support - [
C N3
] MIPS: Lantiq: add SoC specific code for XWAY family - [
C N
] MIPS: Lantiq: Add watchdog support - [
- [
N
] MIPS: Netlogic: mach-netlogic include files - [
- [
N5
] MIPS: Platform files for XLR/XLS processor support - [
N1
] MIPS: XLR, XLS: Add PCI support. - [
C
] S390: ap: skip device registration on type probe failure - [
C 2
] S390: Remove data execution protection - [
C 1
] S390: Remove tape block device driver. - [
- [
- [
C
] sparc32: added CONFIG_PCIC_PCI Kconfig setting - [
C 6
] sparc32: genirq support - [
C N1
] sparc32,leon: added LEON-common low-level PCI routines - [
C N2
] sparc32,leon: add GRPCI2 PCI Host driver - [
- [
C N
] tile: add an RTC driver for the Tilera hypervisor - [
C N
] um: add earlyprintk support - [
DN2
] um: add ucast ethernet transport
Weitere Hintergründe und Informationen rund um Entwicklungen im Linux-Kernel und dessen Umfeld finden sich in den vorangegangenen Kernel-Logs auf heise open. Neue Ausgaben des Kernel-Logs werden auf den Identi.ca- und Twitter-Konten "@kernellog" erwähnt; die englischen, bei den Kollegen von "The H" erscheinenden Übersetzungen auf den Identi.ca- und Twitter-Konten "@kernellog2". Gelegentlich zwitschert der Autor des Kernel-Logs unabhängig davon über einige Kernel-Log-Themen bei Identi.ca und Twitter als "@kernellogauthor". (thl). (thl)