Kernel-Log – Was 3.9 bringt (2): Infrastruktur
Experimentelle Kernel-Funktionen sind jetzt nur noch in den Hilfetexten der Konfigurationsoptionen gekennzeichnet. Linux 3.9 beherrscht "Suspend Freeze" und kann Intel-CPUs durch Kurzzeitschlaf drosseln. Der KVM-Hypervisor unterstützt jetzt ARM-Kerne.
- Thorsten Leemhuis
Die Linux-Entwickler haben wie geplant die Kernel-Konfigurations-Option CONFIG_EXPERIMENTAL entfernt (u. a. 1, 2). Ursprünglich sollten sich experimentelle Funktionen bei der Kernel-Erstellung nur aktivieren lassen, wenn diese Option gesetzt war. Nach dem Reifen von Funktionen haben die Kernel-Entwickler aber oftmals vergessen, die Abhängigkeit von CONFIG_EXPERIMENTAL zu entfernen, sodass man die Option so gut wie immer aktivieren muss, um einen Kernel für moderne Hardware und Distributionen zu bauen. Das ist auch den Kernel-Entwicklern aufgefallen, daher lassen sie den Ansatz jetzt fallen.
Auf tatsächlich experimentelle Funktionen weisen jetzt nur noch die bei der Konfiguration angezeigten Hilfetexte oder Angaben wie "(EXPERIMENTAL)" in der Kurzbeschreibung hin; das zeigt sich beispielsweise beim Konfigurations-Hilfetext des Btrfs-Dateisystems.
Schlummern
Entwicklungsstand
Am Montag den 8. April hat Linus Torvalds die sechste Vorabversion von Linux 3.9 freigegeben. Dabei erwähnte er, alles gehe seinen üblichen Gang; wenn nicht noch etwas unerwartetes auftauche, werde der RC7 daher die letzte Vorabversion sein.
Das deutet auf eine Freigabe von Linux 3.9 rund um Sonntag, den 21. April hin, da Torvalds neue Vorabversionen ungefähr im Wochenrhythmus veröffentlicht. Schon oft haben sich aber kurz vor der Fertigstellung einer neuen Version noch Probleme gezeigt, die die Freigabe um eine Woche oder zwei verzögert haben.
Linux 3.9 beherrscht einen "Lightweight Suspend" oder "Suspend Freeze" genannten Schlafmodus, bei dem der Kernel alle Hardware-Komponenten in ihren tiefsten Schlafzustand schickt. Anders als bei einem Suspend-to-RAM (ACPI S3) wird die Stromversorgung der Komponenten dabei nicht abgeklemmt, daher sind die Bauteile schneller wieder einsatzbereit. Dadurch ist aber auch die Leistungsaufnahme höher als beim Suspend-to-RAM; sie soll allerdings niedriger sein als im normalen Leerlauf, weil der Prozessor tiefer und länger schlafen kann.
Für PCs oder Notebooks ist der Freeze-Zustand eher uninteressant, abgesehen von Spezialfällen wie Systemen, die besonders schnell aus dem Schlaf erwachen müssen, auf Tastendruck oder Netzwerkverkehr reagieren sollen oder Suspend-to-RAM nicht beherrschen. Der Schlafzustand soll aber für manche Smartphones und Tablets interessant sein, die bei dieser Schlafmethode kaum mehr Leistung aufnehmen als bei Suspend-to-RAM.
Zum Kernel stieß auch Intels PowerClamp-Treiber. Ähnlich wie beim Throttling kann er die maximale Leistungsaufnahme bei Intel-Prozessoren begrenzen; der neue Treiber dreht dabei aber nicht am Taktsignal, sondern schickt die Prozessoren kurzzeitig zum Schlafen in einen tiefen C-State. Das Ganze ist aber nicht zum Stromsparen gedacht, sondern zum Begrenzen des Stromverbrauchs – etwa um die Wärmentwicklung von Prozessoren oder den Stromverbrauch von Servern zu drosseln.
Scheduler
Eine recht kleine Änderung am Prozess-Scheduler konnte den Festplattendurchsatz in einem bestimmten Test-Szenario mit Tbench von gut 15 auf rund 250 MByte pro Sekunde steigern, wie der Entwickler im Commit-Kommentar erläutert. Der Testaufbau war allerdings genau darauf ausgelegt, ein als "bouncing cow syndrome" bekanntes Problem auf einem System mit HyperThreading zu reproduzieren. Bei diesem Problem weist der Kernel Prozessen immer wieder anderen Prozessorkernen zu, wenn mehr Prozessorkerne bereit stehen als aktive Prozesse; dadurch "wandern" Prozesse und die Caches der Prozessoren kommen nicht recht zum Zuge.
Virtualisierung
Bessere Unterstützung für VMware verspricht die Aufnahme der Treiber für VMwares VMCI (Virtual Machine Communication Interface) und die darauf aufbauenden VMCI Sockets (u. a. 1, 2, 3). VMware-Produkte nutzen diese Techniken für die Kommunikation und den Datenaustausch zwischen Wirt und Gast – etwa bei den "Shared Folders". Durch die Treiber im Kernel lassen sich einige solcher Techniken in Zukunft nutzen, ohne dass der Anwender erst selbst Kernel-Treiber übersetzen muss.
Der Kernel-eigene Hypervisor KVM wird die Virtualisierungsfunktionen von Cortex-A15-Prozessoren unterstützen. Damit arbeitet KVM erstmals auch unter ARM-Kernen. Der Xen-Code des Kernels unterstützt ARM seit dem Kernel 3.7, wenn man Linux unter Entwicklerversionen des im Sommer erwarteten Xen-Hypervisors 4.3 einsetzt. Neu im ARM-Code ist auch die Unterstützung für eine "Dummy Virtual Machine Platform", die für Kernel gedacht ist, die als Gast unter KVM oder Xen laufen sollen.
Die Xen-Unterstützung erhielt Treiber, um Prozessoren und Speicher im Betrieb hinzuzufügen (1, 2, 3); ein Entfernen im Betrieb gelingt vorerst nicht. Das in Linux 3.6 aufgenommene und von Qemu 1.3 unterstützte VFIO (Virtual Function I/O) erhielt experimentelle Grundlagen, um Grafikkarten vom Host an Gäste durchzureichen. Der Hyper-V-Code beherrscht jetzt das verbesserte Interrupt-Modell, das Microsoft mit Windows 8 eingeführt hat.
Prozessor-Unterstützung
Der für das Komprimieren und Dekomprimieren von LZO zuständige Code wurde aktualisiert und soll dadurch deutlich schneller arbeiten; auf manchen Prozessoren sogar doppelt so schnell, wie es im Commit-Kommentar heißt.
Durch einige Erweiterungen soll der Kernel bereits jetzt die SGI Ultraviolet System 3 (UV3) unterstützen – die dritte, noch in Vorbereitung befindliche Generation von SGIs "Supercomputing Platform" UV. Der Kernel kann nun auch auf Nvidias Tegra 4 arbeiten und ARM-Multiplattformkernel können alles enthalten, um auf OMAP-Platformen zu laufen – etwa dem BeagleBoard. Die Liste der unterstützten CPU-Architekturen ist wieder um zwei Einträge länger geworden, denn Linux läuft jetzt auch auf den ARC-Prozessoren von Synopsys sowie den Prozessorkernen Meta ATP (Meta 1) und HTP (Meta 2) von Imagination.
Der x86-Code unterstützt jetzt die Goldfish Android Virtual Platform – die System-Plattform eines auf Qemu aufbauenden Android-Emulators von Google. Zahlreiche Treiber für diese Plattform stießen ebenfalls zum Kernel; einige von ihnen sind allerdings im Staging-Bereich gelandet, weil sie den Qualitätsansprüchen der Kernel-Entwickler nicht genügen.
Tracing
Das Tracing-Tools Perf enthält nun eine Testroutine, um die Speicherperformance von NUMA-Systemen zu prüfen. Die Kernel-Entwickler haben zudem bei Tracen verwendete Datenstrukturen geschrumpft, um den Overhead zu reduzieren. Die Änderung war schon zuvor einmal in den Kernel eingezogen, wurde dann aber recht schnell revidiert, weil sie Programme wie Powertop gestört hat; aktuelle Powertop-2-Versionen sollen mit der Änderung kein Problem mehr haben.
Userspace-Programme können Ftrace nun zum Anlegen eines Analyse-Snapshot auffordern, um diesen in Ruhe auslesen zu können. Weitere wichtige Änderungen an der Tracing-Infrastuktur des Kernels listet der Kommentar des Haupt-Git-Merge dieses Bereichs.
Die kleinen Perlen
Die kleinen Perlen
Die folgenden Links führen zu einigen kleineren, aber keineswegs unbedeutenden Änderungen:
Infrastructure
ACPI, PCI, & PM
- [
] ACPI: Add DMI entry for Sony VGN-FW41E_H - [
] ACPICA: Add header file support for the ACPI 5 TPM2 ACPI table. - [
] ACPICA: iASL/Disassembler: Add option to ignore NOOP opcodes/operators - [
] ACPICA: iASL: Finish support for CSRT table. - [
] ACPICA: iASL: Finish support for the TPM2 table. - [
D] ACPI / Documentation: refer to correct file for acpi_platform_device_ids[] table - [
D 1] acpi, memory-hotplug: support getting hotplug info from SRAT - [
C] ACPI: Overriding ACPI tables via initrd only works with an initrd and on X86 - [
C] ACPI / PCI: Make pci_slot built-in only, not a module - [
DN] ACPI / PM: Expose current status of ACPI power resources - [
DN] ACPI / PM: Expose lists of device power resources to user space - [
DN] ACPI / PM: Expose power states of ACPI devices to user space - [
DN1] ACPI / scan: Introduce struct acpi_scan_handler - [
N] aerdrv: Trace Event for PCI Express Advanced Error Reporting - [
C N1] cpufreq: add imx6q-cpufreq driver - [
C N] cpufreq / highbank: add support for highbank cpufreq - [
D] cpufreq / intel_pstate: Add kernel command line option disable intel_pstate. - [
C] cpufreq / intel_pstate: Change to disallow module build - [
C DN1] cpufreq: kirkwood: Add a cpufreq driver for Marvell Kirkwood SoCs - [
D] cpufreq: Update Documentation for cpus and related_cpus - [
C N2] cpufreq/x86: Add P-state driver for sandy bridge. - [
C] dmaengine: sirf: enable the driver support new SiRFmarco SoC - [
] dma: tegra: add support for Tegra114 SoC - [
] intel_idle: support Haswell - [
C N2] iommu/shmobile: Add iommu driver for Renesas IPMMU modules - [
C] NTB: disable x86_32 support - [
] PCI/ACPI: Reserve firmware-allocated resources for hot-added root buses - [
D] PCI: Document hpiosize= and hpmemsize= resource reservation parameters - [
D] PCI: Document MPS parameters pci=pcie_bus_safe, pci=pcie_bus_perf, etc - [
CI N8] PCI-Express Non-Transparent Bridge Support - [
D] PCI/MSI: Enable multiple MSIs with pci_enable_msi_block_auto() - [
D] PM / OPP: improve introductory documentation - [
D] PM / Runtime: Add new helper function: pm_runtime_active() - [
C D 1] PM / tracing: remove deprecated power trace API - [
C N] ssb: add place for serial flash driver - [
D] suspend: enable freeze timeout configuration through sys - [
] tools/power turbostat: support Haswell - [
D] x86 idle: remove 32-bit-only "no-hlt" parameter, hlt_works_ok flag
Crypto & security
- [
D] crypto: caam - Added property fsl,sec-era in SEC4.0 device tree binding. - [
D] crypto: caam - Added property fsl, sec-era in SEC4.0 device tree binding. - [
C N1] crypto: crc32 - add crc32 pclmulqdq implementation and wrappers for table implementation - [
2] crypto: omap-sham - Add OMAP4/AM33XX SHAM Support - [
D] ima: add policy support for file system uuid - [
C N] ima: digital signature verification using asymmetric keys - [
D] ima: rename FILE_MMAP to MMAP_CHECK - [
DN] tpm: add documentation for sysfs interfaces - [
C] TPM: STMicroelectronics ST33 I2C BUILD STUFF - [
N2] TPM: STMicroelectronics ST33 I2C KERNEL 3.x
Memory management (MM)
- [
D] bdi: allow block devices to say that they require stable page writes - [
D] Documentation: Memory barrier semantics of atomic_xchg() - [
D] ksm: add some comments - [
DN] ksm: add sysfs ABI Documentation - [
D 1] ksm: allow trees per NUMA node - [
] memcg: fast hierarchy-aware child test - [
1] memory-hotplug: common APIs to support page tables hot-remove - [
1] memory-hotplug: remove /sys/firmware/memmap/X sysfs - [
] mm: memcg: only evict file pages when we have plenty - [
] mm: only enforce stable page writes if the backing device requires it - [
D] page_alloc: add movable_memmap kernel parameter - [
2] swap: add per-partition lock for swapfile
Tracing
- [
C N1] kprobes/x86: Move ftrace-based kprobe code into kprobes-ftrace.c - [
DN] perf: Document the ABI of perf sysfs entries - [
] perf/POWER7: Make generic event translations available in sysfs - [
1] perf stat: Add interval printing - [
] perf stat: Add per processor socket count aggregation - [
N1] perf test: Add a test case for hists__{match,link} - [
N1] perf ui/gtk: Implement basic GTK2 annotation browser - [
1] perf/x86/amd: Enable northbridge performance counters on AMD family 15h - [
] profiling: Remove unused timer hook - [
D] tracing: Add documentation of snapshot utility - [
C 1] tracing: Make a snapshot feature available from userspace - [
C] tracing: Remove tracepoint sample code - [
D] tracing: update documentation of snapshot utility - [
] uprobes: Add exports for module use
Virtualisation
- [
] arm64: Add kvm_para.h and xor.h generic headers - [
] ARM: Add page table and page defines needed by KVM - [
] Drivers: hv: balloon: Add a parameter to delay pressure reporting - [
] Drivers: hv: Cleanup vmbus_set_event() to support win7 and beyond - [
] Drivers: hv: Enable protocol negotiation with win8 hosts - [
] Drivers: hv: Modify the interrupt handling code to support win8 and beyond - [
] Drivers: hv: Support handling multiple VMBUS versions - [
C N1] goldfish: add QEMU pipe driver - [
C N1] goldfish: audio support - [
C N1] goldfish: NAND flash driver - [
C N1] goldfish: tty driver - [
] ksm: enable KSM page migration - [
] KVM: ARM: Add maintainer entry for KVM/ARM - [
D] KVM: ARM: Demux CCSIDR in the userspace API - [
N3] KVM: ARM: Emulation framework and CP15 emulation - [
] KVM: ARM: Handle guest faults in KVM - [
N1] KVM: ARM: Handle I/O aborts - [
2] KVM: ARM: Hypervisor initialization - [
D] KVM: ARM: Inject IRQs and FIQs from userspace - [
C 1] KVM: ARM: Memory virtualization setup - [
DN1] KVM: ARM: Power State Coordination Interface implementation - [
D 1] KVM: ARM: User space API for getting/setting co-proc registers - [
D] KVM: ARM: VFP userspace interface - [
N3] KVM: ARM: World-switch implementation - [
D] KVM: PPC: BookE: Add EPR ONE_REG sync - [
D] KVM: PPC: BookE: Implement EPR exit - [
N7] KVM: PPC: E500: Split host and guest MMU parts - [
D] KVM: Remove unused slot_bitmap from kvm_mmu_page - [
N2] KVM: s390: Add a channel I/O based virtio transport driver. - [
D] KVM: s390: Base infrastructure for enabling capabilities. - [
D] KVM: s390: Support for I/O interrupts. - [
D] KVM: set_memory_region: Disallow changing read-only attribute later - [
] KVM: VMX: disable apicv by default - [
N3] VMCI: context implementation. - [
N1] VMCI: datagram implementation. - [
N] VMCI: device driver implementaton. - [
N1] VMCI: doorbell implementation. - [
N9] VMCI: queue pairs implementation. - [
N] VMCI: routing implementation. - [
C N3] VMCI: Some header and config files. - [
] x86, apicv: add APICv register virtualization support - [
2] x86, apicv: add virtual interrupt delivery support - [
1] x86, apicv: add virtual x2apic support
Various
- [
] cgroup: remove synchronize_rcu() from cgroup_attach_{task|proc}() - [
DN] cgroups: move cgroup_event_listener.c to tools/cgroup - [
D] coccicheck: Allow the user to give a V= (verbose) argument - [
1] cputime: Safely read cputime of full dynticks CPUs - [
2] cputime: Use accessors to read task cputime stats - [
D] DocBook: update EXPORT_SYMBOL entry to point at export.h - [
D] dynamic_debug: dynamic hex dump - [
C] efivars: Add module parameter to disable use as a pstore backend - [
C] efivars: Allow disabling use as a pstore backend - [
C] firmware: Make user-mode helper optional - [
C] Fixed dead ifdef block by adding missing Kconfig option. - [
] kconfig: add a function to get the CONFIG_ prefix - [
D] kconfig: document use of CONFIG_ environment variable - [
] kconfig: get CONFIG_ prefix from the environment - [
1] kconfig: nconf: rewrite help texts - [
] kconfig: nconf: rewrite labels of function keys line - [
] kconfig: remove CONFIG_ from string constants - [
N1] kernel: Replace timeconst.pl with a bc script - [
DN] lib: devres: Introduce devm_ioremap_resource() - [
C] lib/Kconfig.debug: unhide CONFIG_PANIC_ON_OOPS - [
D] lib/vsprintf.c: add %pa format specifier for phys_addr_t types - [
] menuconfig: Add Save/Load buttons - [
] menuconfig: fix extended colors ncurses support - [
] menuconfig: Get rid of the top-level entries for "Load an Alternate/Save an Alternate" - [
] menuconfig:inputbox: support navigate input position - [
] merge_config.sh: Add option to specify output dir - [
C] MODSIGN: Add option to not sign modules during modules_install - [
C] MODSIGN: Simplify Makefile with a Kconfig helper - [
] nconf: function keys line, change background color for better readability - [
] nohz: Add API to check tick state - [
C N] NTP: Add a CONFIG_RTC_SYSTOHC configuration - [
C] printk: Wake up klogd using irq_work - [
C] rcu: Allow TREE_PREEMPT_RCU on UP systems - [
C] rcu: Consolidate debugging Kconfig options - [
C 1] rcu: Provide RCU CPU stall warnings for tiny RCU - [
C] rcu: Reduce rcutorture tracing - [
] sched/rt: Add a tuning knob to allow changing SCHED_RR timeslice - [
] scripts/kconfig: ensure we use proper CONFIG_ prefix - [
N] selftests: add a simple doc - [
C] sysctl: Enable IA64 "ignore-unaligned-usertrap" to be used cross-arch - [
2] taint: add explicit flag to show whether lock dep is still OK. - [
C DN] userns: Recommend use of memory control groups. - [
] userns: Restrict when proc and sysfs can be mounted
CPU architectures
x86
- [
N] clk: x86: add support for Lynxpoint LPSS clocks - [
C] x86-32, mm: Rip out x86_32 NUMA remapping code - [
D 2] x86, ACPI, mm: Revert movablemem_map support - [
] X86: Add a check to catch Xen emulation of Hyper-V - [
D] x86: Add Crash kernel low reservation - [
C] x86: add support for Intel Low Power Subsystem - [
C DN1] x86: Add TS-5500 platform support - [
] x86, AMD, NB: Add multi-domain support - [
] x86, boot: Support loading bzImage, boot_params and ramdisk above 4G - [
D] x86, boot: Update comments about entries for 64bit image - [
C] x86: Default to ARCH=x86 to avoid overriding CONFIG_64BIT - [
D] x86, doc: Boot protocol 2.12 is in 3.8 - [
DN] x86, doc: Documentation for early microcode loading - [
C] x86: Enable ARCH_USE_BUILTIN_BSWAP - [
D] x86 idle: remove mwait_idle() and "idle=mwait" cmdline param - [
C] x86/Kconfig: Make early microcode loading a configuration feature - [
N] x86/microcode_core_early.c: Define interfaces for early loading ucode - [
N2] x86/microcode_intel_early.c: Early update ucode on Intel's CPU - [
N1] x86/microcode_intel.h: Define functions and macros for early loading ucode - [
N] x86/microcode_intel_lib.c: Early update ucode on Intel's CPU - [
1] x86/MSI: Support multiple MSIs in presense of IRQ remapping - [
9] x86, uv, uv3: Trim MMR register definitions after code changes for SGI UV3 - [
9] x86, uv, uv3: Update MMR register definitions for SGI Ultraviolet System 3 (UV3) - [
] x86, uv, uv3: Update Time Support for SGI UV3 - [
1] x86, uv, uv3: Update x2apic Support for SGI UV3 - [
] x86/xor: Add alternative SSE implementation only prefetching once per 64-byte line
ARM
- [
C DN1] arm64: Add simple earlyprintk support - [
C N1] arm64: move from arm_generic to arm_arch_timer - [
N] arm64: SMP: enable PSCI boot method - [
C] ARM: 7684/1: errata: Workaround for Cortex-A15 erratum 798181 (TLBI/DSB operations) - [
C] arm: Add generic timer broadcast support - [
C] ARM: add SCHED_HRTICK config option - [
C 1] ARM: at91: remove NEOCORE 926 board - [
C] ARM: davinci: da850: add pinctrl driver DT entries - [
9] ARM: delete struct sys_timer - [
C] ARM: disable virt_to_bus/virt_to_bus almost everywhere - [
C] ARM: dma-mapping: Add maximum alignment order for dma iommu buffers - [
C N] ARM: Dove: split legacy and DT setup - [
D] ARM: dts: fix compatible value for exynos pinctrl - [
N] ARM: dt: tegra114: Add new board, Dalmore - [
N] ARM: dt: tegra114: Add new board, Pluto - [
N] ARM: dt: tegra114: Add new SoC base, Tegra114 SoC - [
D] ARM: DT: tegra: Add board level compatible properties - [
DN1] ARM: DT: tegra: Add Tegra30 Beaver board support - [
C 2] ARM: EXYNOS: remove system mmu initialization from exynos tree - [
C N] ARM / highbank: add support for pl320 IPC - [
C] ARM: imx: Remove mach-mx51_3ds board - [
C 9] ARM: imx: Remove mx508 support - [
C N] ARM: imx: support DEBUG_LL uart port selection for all i.MX SoCs - [
C] ARM: imx: use separated debug uart symbol for imx31 and imx35 - [
C N] ARM: kirkwood: convert Guruplug Server Plus to use the device tree - [
C] ARM: KVM: Add VGIC configuration option - [
N1] ARM: KVM: arch_timers: Add guest timer core support - [
N1] ARM: KVM: Initial VGIC infrastructure code - [
D] ARM: KVM: VGIC accept vcpu and dist base addresses from user space - [
C N] ARM: mach-virt: add SMP support using PSCI - [
D] ARM: mvebu: correct gated clock documentation - [
N] arm: mvebu: support for the new Armada XP development board(DB-MV784MP-GP) - [
DN] ARM: mx31: Replace clk_register_clkdev with clock DT lookup - [
N] ARM: mxs: dt: Add Crystalfontz CFA-10037 device tree support - [
D] ARM: nomadik: add FSMC NAND - [
D] ARM: nomadik: convert SMSC91x ethernet to device tree - [
C 1] ARM: nomadik: delete old board files - [
DN] ARM: nomadik: initial devicetree support - [
D] ARM: nomadik: migrate MMC/SD card support to device tree - [
C] ARM: OMAP2+: Disable code that currently does not work with multiplaform - [
C] ARM: OMAP2+: Enable ARCH_MULTIPLATFORM support - [
D] ARM: OMAP2+: gpmc: Add device tree documentation for elm handle - [
DN] ARM: OMAP2+: gpmc: add DT bindings for OneNAND - [
C 1] ARM: OMAP2+: Remove apollon board support - [
DN1] ARM: OMAP: gpmc: add DT bindings for GPMC timings and NAND - [
2] ARM: pinctrl: sunxi: Add the pinctrl pin set for Allwinner A10 - [
DN2] ARM: PRIMA2: add CSR SiRFmarco device tree .dts - [
C N2] ARM: PRIMA2: add new SiRFmarco SMP SoC infrastructures - [
DN] ARM: psci: add devicetree binding for describing PSCI firmware - [
C N] ARM: psci: add support for PSCI invocations from the kernel - [
C 1] ARM: S3C24XX: Remove plat-s3c24xx directory in arch/arm/ - [
C 3] ARM: S3C24XX: transform irq handling into a declarative form - [
9] ARM: shmobile: r8a7740: Use driver-provided pinmux info - [
9] ARM: shmobile: r8a7779: Use driver-provided pinmux info - [
6] ARM: shmobile: sh7372: Use driver-provided pinmux info - [
N] ARM: shmobile: sh73a0: Add CPU sleep suspend - [
9] ARM: shmobile: sh73a0: Use driver-provided pinmux info - [
D] arm: socfpga: Add SMP support for actual socfpga harware - [
N] ARM: sunxi: Add device tree for Miniand Hackberry - [
C DN3] ARM: sunxi: Add pinctrl driver for Allwinner SoCs - [
C] ARM: tegra114: select PINCTRL for Tegra114 SoC - [
C 1] ARM: tegra20: cpuidle: apply coupled cpuidle for powered-down mode - [
DN1] ARM: tegra: Add Colibri T20 512MB COM device tree - [
DN] ARM: tegra: add DT nodes for Tegra USB PHY - [
D] ARM: tegra: Add new DT property to USB node. - [
D] ARM: tegra: Add reset GPIO information to PHY DT node - [
N] ARM: tegra: add Tegra114 ARM_CPUIDLE_WFI_STATE support - [
DN] ARM: tegra: Add Toradex Iris carrier board DT with T20 512MB COM - [
DN] ARM: tegra: define Tegra20 CAR binding - [
DN] ARM: tegra: define Tegra30 CAR binding - [
C] ARM: tegra: enable ARCH_REQUIRE_GPIOLIB for Tegra114 - [
C] ARM: tegra: sort Kconfig selects for Tegra114 - [
C] ARM: virt: hide CONFIG_ARM_VIRT_EXT from user - [
C D] arm: vt8500: Add support for Wondermedia WM8750/WM8850 - [
D] Documentation: Add ARMv8 to arch_timer devicetree - [
D] KVM: ARM: Introduce KVM_ARM_SET_DEVICE_ADDR ioctl - [
] MAINTAINERS: Add ARM/Zynq architecture entry
PPC
- [
C] cpuidle: kirkwood: Move out of mach directory - [
C N1] powerpc/44x: Support OCM(On Chip Memory) for APM821xx SoC and Bluestone board - [
C N] powerpc/85xx: Board support for ppa8548 - [
DN2] powerpc/85xx: describe the PAMU topology in the device tree - [
C N1] powerpc: Add a powerpc implementation of SHA-1 - [
C] powerpc: Add config option for transactional memory - [
3] powerpc: Add new transactional memory state to the signal context - [
C N] powerpc: Add support for CTS-1000 GPIO controlled system poweroff - [
DN] powerpc: Documentation for transactional memory on powerpc - [
C] powerpc: Hook up doorbells on server - [
C] powerpc: Update Kconfig + Makefile to prepare for server doorbells
Various
- [
C] ARC: Add support for ioremap_prot API - [
C N1] ARC: Boot #1: low-level, setup_arch(), /proc/cpuinfo, mem init - [
C N2] ARC: Build system: Makefiles, Kconfig, Linker script - [
C N1] ARC: [DeviceTree] Basic support - [
C] ARC: [DeviceTree] Convert some Kconfig items to runtime values - [
C N] ARC: Hostlink Pseudo-Driver for Metaware Debugger - [
N1] ARC: I/O and DMA Mappings - [
C N] ARC: kgdb support - [
C N] ARC: OProfile support - [
C N] ARC: perf support (software counters only) - [
C] ARC: [plat-arfpga] BVCI Latency Unit setup - [
C] ARC: ptrace support - [
C N1] ARC: Signal handling - [
C N3] ARC: SMP support - [
C] ARC: stacktracing APIs based on dw2 unwinder - [
C 1] ARC: Support for high priority interrupts in the in-core intc - [
C] ARC: Support for single cycle Close Coupled Mem (CCM) - [
C N] ARC: Syscall support (no-legacy-syscall ABI) - [
N1] ARC: Timers/counters/delay management - [
C N1] ARC: Unaligned access emulation - [
C 2] cputime: Generic on-demand virtual cputime accounting - [
D] doc, kernel-parameters: Document 'console=hvc<n>' - [
D] doc, xen: Mention 'earlyprintk=xen' in the documentation. - [
D 1] KVM: s390: Add support for channel I/O instructions. - [
D 1] KVM: s390: Add support for machine checks. - [
C N] metag: Add JTAG Debug Adapter (DA) support - [
DN1] metag: Basic documentation - [
C N3] metag: Build infrastructure - [
C N] metag: ftrace support - [
C N2] metag: Perf - [
C N] MIPS: Add new GIC clocksource. - [
C] MIPS: ath79: add PCI controller registration code for the QCA955X SoCs - [
C] MIPS: ath79: add SoC detection code for the QCA955X SoCs - [
C N] MIPS: ath79: add support for the Qualcomm Atheros AP136-010 board - [
C] MIPS: ath79: add WMAC registration code for the QCA955X SoCs - [
C N] MIPS: Octeon: Adding driver to measure interrupt latency on Octeon. - [
N] MIPS: ralink: adds early_printk support - [
C N] MIPS: ralink: adds Kbuild files - [
N] MIPS: ralink: adds OF code - [
N] MIPS: ralink: adds rt305x devicetree - [
N1] MIPS: ralink: adds support for RT305x SoC family - [
C N] MIPS: SEAD3: Implement OF support. - [
C] parisc: add CONFIG_MLONGCALLS option to enable linkage of huge vmlinux executables - [
2] s390/mm: implement software dirty bits - [
C] sysctl: Enable PARISC "unaligned-trap" to be used cross-arch - [
C N3] xtensa: Add config files for Diamond 233L - Rev C processor variant - [
C N] xtensa: add support for oprofile - [
C N1] xtensa: ISS: add host file-based simulated disk
Ein "C" im Bereich "[ ]" kennzeichnet Commits mit Änderungen an Kconfig-Dateien, welche die Konfigurationsoptionen samt der zugehörigen Hilfetexte enthalten. Mit "I" ausgezeichneten Patches rüsten neue PCI- oder USB-IDs nach; jene mit "D" verändern die dem Kernel beiliegende Dokumentation; Commits mit "N" legen neue Dateien an. Die Zahl vermittelt einen groben Eindruck zur Größe des Patches: Eine "1" kennzeichnet Patches, die inklusive Kommentar zwischen 10 und 20 KByte groß sind; Patches mit einer "9" sind 90 KByte oder größer.
Die "Was Linux 3.9 bringt"-Serie
Das Kernel-Log kann bereits jetzt einen Überblick über die wichtigsten Neuerungen der noch im April erwarteten Linux-Version 3.9 geben, da alle größeren Neuerungen bereits in den ersten beiden Entwicklungswochen integriert wurden; Linux 3.9 befindet sich seit dem in der Stabilisierungsphase, in der die Kernel-Hacker nur selten größeren Änderungen vornehmen.
Über einige der Neuerungen von Linux 3.9 hat das Kernel-Log bereits im Rahmen der Artikelserie "Was 3.9 bringt" berichtet:
In den kommenden Wochen wird noch ein Artikel zu den Änderungen an Treibern und Netzwerk-Techniken erscheinen.
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)