Kernel-Log – Was 2.6.39 bringt (3): Architektur und Infrastruktur
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.
- Thorsten Leemhuis
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 werden 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, Staccato
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
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
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
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)