Kernel-Log – Was 3.8 bringt (2): Infrastruktur
Anwender ohne Root-Rechte sollen künftig Container einrichten können, in denen Software läuft, die Root-Rechte benötigt. Linux 3.8 belegt in bestimmten Situationen weniger Speicher und bringt Verbesserungen für NUMA-Systeme; die Unterstützung für Intels 386er flog raus.
- Thorsten Leemhuis
Linux 3.8 schließt die größere Umbauarbeiten zur Unterstützung für User Namespaces weitgehend ab, die Eric W. Biederman in den letzten Monaten vorangetrieben hat. Durch diese Änderungen können nun auch unprivilegierte Anwender einen abgeschotteten Bereich aufsetzen, in dem sie Root-Rechte haben; der Anwender darf dort aber nichts tun, was privilegierte Aktionen außerhalb des Namespace erfordern würde.
Die Verbesserungen sind etwa für Container-Virtualisierung interessant, damit Anwender dort auf Software betreiben können, die Root-Rechte benötigen, ohne den Rest des Systems zu gefährden. Durch die Umbauten lässt die Technik jetzt sogar ein Verschachteln zu, sodass Anwender in einem Container einen abgeschotteten Bereich einrichten können – etwa in einem virtuellen Server, den der Web-Hoster mit Container-Techniken bereitstellt. Details zu den User Namespaces und anderen Namespace-Techniken erläutern LWN.net in einer Artikelserie, die bisher vier Teile umfasst (1, 2, 3, 4). Ganz abgeschlossen sind die Umbauarbeiten aber noch nicht, daher lassen sich die User Namespaces bei der Konfiguration von Linux 3.8 nur aktivieren, wenn diverse Dateisysteme (darunter Ceph, CIFS, GFS2, NFS, OCFS2 und XFS) außen vor bleiben.
Ressourcen-Kontrolle
Der Cgroup-Controller memory hat die Erweiterung kmem enthalten (u. a. 1, 2, Dokumentation). Über sie lässt sich der Speicher begrenzen, den der Kernel intern zur Verwaltung von Prozessen benötigt. Bei passend konfigurierten Limits soll der Kernel dadurch eine Fork-Bombe auch in Containern im Zaum halten können.
Nach langen, teilweise heftigen Streitigkeiten zwischen verschiedenen Kernel-Entwicklern wurden einige unter dem Schlagwort "Balancenuma" entwickelte Funktionen für Linux 3.8 aufgenommen (u. a. 1, 2, 3, 4, 5). Im Idealfall kann der Kernel durch sie automatisch Prozessor und Arbeitsspeicher eines Prozesses zusammenhalten. Solch eine Platzierung ist für optimale Performance auf den heute verbreiteten Multiprozessor-Systemen mit NUMA (Non-Uniform Memory Access) wichtig, denn ein Prozess kann dort auf den Arbeitsspeicher des Prozessors, auf dem er läuft, schneller zugreifen als auf den Speicher anderer Prozessoren. Bei Linux 3.9 und späteren Versionen sollen Verbesserungen für die automatische Platzierung folgen, die auf den jetzt integrierten Grundlagen aufbauen.
Bei Kernels mit Unterstützung für Transparent Huge Pages kann Linux 3.8 eine "Huge Zero Page" vorhalten, die als gemeinsamer, mit COW (Copy-on-Write) genutzter Ausgangspunkt für neue Huge Pages dient (u. a. 1, 2, 3, 4, 5). Das kann den Speicherverbrauch erheblich reduzieren, wenn diese Speicherbereiche nur angefordert, aber gar nicht beschrieben werden.
Entwicklungsstand
Anfang Februar hat Linus Torvalds die sechste Vorabversion von Linux 3.8 veröffentlicht. Dabei schärfte er seinen Zuarbeitern ein, sie sollen von nun an nur mehr Korrekturen für Fehler einsenden, die auch von Belang sind. Wie Torvalds erläutert, arbeitet er wie gewohnt darauf hin, dass der siebte RC möglichst der Letzte sei; er erwähnt aber auch, durchaus noch einen RC8 zu veröffentlichen, wenn ein solcher nötig sei.
Da neue Vorabversionen ungefähr im Wochenrhythmus erscheinen, dürfte Linux 3.8 zur Februarmitte oder ungefähr eine Woche später erscheinen, sofern Torvalds nicht noch weitere RCs ansetzt.
CPU- und Platform-Code
Das Kernel 3.8 beiliegende Diagnosewerkzeug Turbostat kann bei neueren Intel-Prozessoren auslesen, wie viel Watt die einzelnen Grafik- und Prozessorkerne und der Prozessor als Ganzes ungefähr verbrauchen.
Der Linux-Kernel erhielt einen Balloon Driver für Hyper-V. Bei Linux-Gästen mit diesem Treiber kann Microsofts Hypervisor zur Laufzeit einen Teil des Gast-Arbeitsspeichers vorübergehend an den Host überstellen und ihn später auch wieder zurückgeben; ein Vergrößern des Arbeitsspeichers oberhalb des beim VM-Starts festgelegten Wertes gelingt weiterhin nicht.
Über das neue UEFI Variable filesystem (efivars) lassen sich nun auch EFI-Variablen lesen und setzen, die größer als 1 KByte sind. Fedora nutzt das typischerweise unter /sys/firmware/efi/efivars/ ([Update 20130212-1245: an dieser Stelle stand zuvor fälschlicherweise /sys/firmware/efi/vars/ [/Update]) eingehängte Dateisystem bereits in Version 18 zum Datenaustausch mit der MOK-Unterstützung des Secure-Boot-Loaders Shim.
Bye-bye, 386er
Um Wartung und Weiterentwicklung von Linux zu erleichtern, haben die Kernel-Entwickler die Unterstützung für Intels 386er und andere CPUs entfernt, die diese vor über 20 Jahren verbreitete Prozessor-Architektur aufweisen; der 486er und modernere x86-32-Prozessoren werden weiterhin unterstützt. Auf einem 386er hatte Torvalds damals die Linux-Entwicklung begonnen. Er weint dem Code aber keine Träne nach und schrieb: "Ich bin nicht sentimental. Gut, dass wir das los sind."
Netzwerk
Der von Sniffer-Werkzeugen wie Tcpdump genutzte Berkeley Packet Filter (BPF) kann nun auch auf VLAN-Tags filtern. Durch die neue Unterstützung für "Hardware-offloaded encapsulation" können Treiber jetzt die Checksummen-Berechnung gekapselter Pakete an den Netzwerk-Chips delegieren, um die CPU zu entlasten. Der Netzwerkpaket-Scheduler QFQ (Quick Fair Queueing) wurde zu QFQ+ ausgebaut und soll jetzt schneller und fairer arbeiten; der Entwickler der Änderung erläutert Details in dem Fachbericht "Reducing the Execution Time of Fair-Queueing Schedulers."
Scheduler
Durch Umbauten am Scheduler fließen in die Lastberechnung nun weitere Aspekte ein, um die Kalkulation der Last eines Prozesses zu verbessern. Ein genauerer Wert kann ist für optimales Load-Balacing wichtig; das Ganze soll zudem die Arbeitsweise einiger Änderungen verbessern, durch die der Kernel viele kleine Prozesse auf einen Prozessorkern zu bündeln versucht, damit andere Kerne schlafen können. Details zu den Umbauten und deren Nutzen liefert ein Artikel bei LWN.net. Dort finden sich auch ein Beitrag zu Umbauten am Code für das Sperren per RCU (Read-Copy-Update), die Jitter und Latenzen beim Scheduling reduzieren sollen.
Verschiedenes
Einige für die Single Root I/O Virtualization (SR-IOV) wichtige PCI-Parameter lassen sich nun via Sysfs auslesen und setzen (u. a. 1, Dokumentation)
Sofern die Hardware das unterstützt und der Kernel passend konfiguriert wurde, kann man jetzt auch die CPU #0, auf der der Kernel gebootet hat, im laufenden Betrieb austauschen (u. a. 1, 2).
Der Kernel kann anstelle der ACPI-Tabellen der Firmware nun nicht mehr nur fest einkompilierte nutzen, sondern auch Tabellen, die im Initramfs hinterlegt wurden (u. a. 1, Dokumentation). Eine solche Funktion hatten sich einige Linux-Nutzer vor Jahren gewünscht, weil sich damals viele Notebooks nur mit modifizierten Tabellen vernünftig nutzen ließen. Die Funktion blieb aufgrund von Bedenken einiger Kernel-Entwickler außen vor; dieser Tage dürfte das Ganze deutlich weniger Nutzer finden, da der ACPI-Unterstützung bei neuerer Hardware deutlich seltener Probleme bereitetet.
Einen Überblick über die wichtigsten Verbesserungen am Tracing-Code listet der Haupt-Git-Merge für das Perf-Subsystem.
Nicht integriert hat Linus Torvalds die von Kees Cook eingereichten Änderungen, die die Konfigurationsoption "CONFIG_EXPERIMENTAL" unsichtbar machen, weil sie keine Bedeutung mehr habe. Zur Änderung gehörten auch Dutzende von Patches, die Abhängigkeit von dieser Option bei verschiedenen Konfigurationsoptionen entfernen. Mehr als drei Dutzend solcher Patches haben es aber dennoch in den Linux-Kernel 3.8 geschafft, da die Betreuer mancher Subsysteme die von Cooks entwickelten Änderungen aufgegriffen hatten. Einige experimentelle Kernel-Funktionen erkennt man daher von nun an nur mehr an den Hilfetexten oder Angaben wie "(EXPERIMENTAL)" in der Kurzbeschreibung.
Die kleinen Perlen: Infrastruktur
Die kleinen Perlen: Infrastuktur
Die folgenden Links führen zu einigen kleineren, aber keineswegs unbedeutenden Änderungen:
ACPI, PCI & PM
- [
] ACPI: Add ACPI CPU hot-remove support - [
DN] ACPI: add documentation about ACPI 5 enumeration - [
] ACPI: add SDHCI to ACPI platform devices - [
N1] ACPI: Add support for platform bus type - [
] ACPI: Add _UID support for ACPI devices. - [
] ACPI / battery: Correct battery capacity values on Thinkpads - [
] ACPICA: AcpiGetObjectInfo: Add support for ACPI 5 _SUB method - [
] ACPICA: Update support for ACPI 5 MPST table - [
] ACPICA: Update version to 20121018 - [
1] ACPI: Centralized processing of ACPI device resources - [
DN] ACPI: create _SUN sysfs file - [
] ACPI: Export functions for hot-remove - [
] ACPI: Implement physical address table override - [
] ACPI / memory-hotplug: add memory offline code to acpi_memory_device_remove() - [
N2] ACPI: Move device resources interpretation code from PNP to ACPI core - [
] ACPI / PM: Add Sony Vaio VPCEB1S1E to nonvs blacklist. - [
N] ACPI / PM: Move routines for adding/removing device wakeup notifiers - [
1] ACPI / PM: Provide ACPI PM callback routines for subsystems - [
] ACPI / Sleep: add acpi_sleep=nonvs_s3 parameter - [
] ACPI / video: Add "Asus UL30VT" to ACPI video detect blacklist - [
] ACPI / video: ignore BIOS initial backlight value for HP Folio 13-2000 - [
] cpufreq: Add module aliases for acpi-cpufreq - [
] cpufreq / Longhaul: Disable driver by default - [
C DN1] cpufreq: SPEAr: Add CPUFreq driver - [
C N] cpuidle: add Calxeda SOC idle support - [
C 1] cpuidle: support multiple drivers - [
] cpupower: IvyBridge (0x3a and 0x3e models) support - [
] cpupower: Provide -c param for cpupower monitor to schedule process on all cores - [
D] Documentation DMA-API-HOWTO.txt Add dma mapping error check usage examples - [
] driver core / ACPI: Move ACPI support to core device and driver types - [
C N] gpio / ACPI: add ACPI support - [
C N] i2c / ACPI: add ACPI enumeration support - [
] IOMMU, AMD Family15h Model10-1Fh erratum 746 Workaround - [
] PCI: Add PCIe Link Capability link speed and width names - [
] PCI: Allow pcie_aspm=force even when FADT indicates it is unsupported - [
] PCI/PM: Keep runtime PM enabled for unbound PCI devices - [
C] PCI: remove depends on CONFIG_EXPERIMENTAL - [
D] PM / devfreq: Add current freq callback in device profile - [
] PM / devfreq: Add suspend and resume apis - [
D] PM / devfreq: Add sysfs node for representing frequency transition information. - [
D] PM / devfreq: Add sysfs node to expose available frequencies - [
D] PM / devfreq: Add sysfs node to expose available governors - [
D] PM / devfreq: allow sysfs governor node to switch governor - [
D 2] PM / devfreq: Core updates to support devices which can idle - [
C] PM / devfreq: governors: add GPL module license and allow module build - [
D] PM: Move disabling/enabling runtime PM to late suspend/early resume - [
D 1] PM / QoS: Introduce PM QoS device flags support - [
D 1] PM / QoS: Make it possible to expose PM QoS device flags to user space - [
] Thermal: Add a notification API - [
] Thermal: Add a policy sysfs attribute - [
C] thermal: cpu cooling: allow module builds - [
C] Thermal: Provide option to choose default thermal governor
Crypto & Security
- [
C N5] crypto: camellia - add AES-NI/AVX/x86_64 assembler implementation of camellia cipher - [
C N2] crypto: crc32c - Optimize CRC32C calculation with PCLMULQDQ instruction - [
D] Documentation: kernel-parameters.txt remove capability.disable - [
D] ima: support new kernel module syscall - [
D 3] KEYS: Add payload preparsing opportunity prior to key instantiate or update - [
1] KEYS: Make the session and process keyrings per-thread - [
] KEYS: Reduce initial permissions on keys - [
D] KEYS: Use keyring_alloc() to create special keyrings - [
D 1] seccomp: Make syscall skipping and nr changes more consistent - [
] Smack: create a sysfs mount point for smackfs
Memory Management
- [
] bdi: add a user-tunable cpu_list for the bdi flusher threads - [
D] cpuset: use N_MEMORY instead N_HIGH_MEMORY - [
D] Documentation: ABI: /sys/devices/system/node/ - [
D] Documentation: Fix memory-barriers.txt example - [
D] Documentation/kernel-parameters.txt: update mem= option's spec according to its implementation - [
D] Documentation/sysctl/kernel.txt: document /proc/sys/shmall - [
D] hotplug: update nodemasks management - [
D] kmem: add slab-specific documentation about the kmem controller - [
C 1] memcg: infrastructure to match an allocation to the right cache - [
] memory_hotplug: allow online/offline memory to result movable node - [
C] memory-hotplug: document and enable CONFIG_MOVABLE_NODE - [
D 1] memory_hotplug: fix possible incorrect node_states[N_NORMAL_MEMORY] - [
] mm: adjust address_space_operations.migratepage() return code - [
C N2] mm: introduce a common interface for balloon pages mobility - [
] mm: introduce compaction and migration for ballooned pages - [
D 1] mm, memory-hotplug: dynamic configure movable memory and portion memory - [
] mm: mempolicy: Add MPOL_MF_LAZY - [
N] mm: migrate: Add a tracepoint for migrate_pages - [
C] mm: numa: pte_numa() and pmd_numa() - [
] mm/sl[aou]b: Common alignment code - [
D] res_counter: return amount of charges after res_counter_uncharge() - [
N] selftests: add a test program for variable huge page sizes in mmap/shmget - [
D] thp: change split_huge_page_pmd() interface - [
D] thp, vmstat: implement HZP_ALLOC and HZP_ALLOC_FAILED events
Tracing
- [
N] Documentation: add documentation on compiling for Android - [
] perf annotate browser: Integrate script browser into annotation browser - [
] perf diff: Add -b option for perf diff to display paired entries only - [
] perf diff: Add -F option to display formula for computation - [
] perf diff: Add option to sort entries based on diff computation - [
] perf diff: Add -p option to display period values for hist entries - [
] perf diff: Add ratio computation way to compare hist entries - [
] perf diff: Add weighted diff computation way to compare hist entries - [
N] perf scripts browser: Add a browser for perf script - [
] perf stat: Add --pre and --post command - [
] perf test: Add automated tests for pmu sysfs translated events - [
N] perf tests: Add attr record basic test - [
N] perf tests: Add attr record branch any test - [
N] perf tests: Add attr record branch filter tests - [
N] perf tests: Add attr record count test - [
N] perf tests: Add attr record data test - [
N] perf tests: Add attr record event syntax group test - [
N] perf tests: Add attr record freq test - [
N] perf tests: Add attr record graph test - [
N] perf tests: Add attr record group test - [
N] perf tests: Add attr record no delay test - [
N] perf tests: Add attr record no-inherit test - [
N] perf tests: Add attr record no samples test - [
N] perf tests: Add attr record period test - [
N] perf tests: Add attr record raw test - [
N1] perf tests: Add attr stat default test - [
N] perf tests: Add attr stat default test - [
N] perf tests: Add attr stat event syntax group test - [
N] perf tests: Add attr stat group test - [
N] perf tests: Add attr stat no-inherit test - [
N] perf tests: Add documentation for attr tests - [
N1] perf tests: Add framework for automated perf_event_attr tests - [
N] perf tests: Add missing attr stat basic test - [
] perf tools: Add on_exit implementation - [
] perf tools: Add support to specify hw event as PMU event term - [
] perf tools: Try to build Documentation when installing - [
] perf trace: Add duration filter - [
] perf trace: Add support for tracing workload given by command line - [
1] perf trace: Support interrupted syscalls - [
1] perf trace: Use sched:sched_stat_runtime to provide a thread summary - [
] perf/x86: Add hardware events translations for AMD cpus - [
] perf/x86: Add hardware events translations for Intel cpus - [
] perf/x86: Add hardware events translations for Intel P6 cpus - [
] perf/x86: Enable Intel Lincroft/Penwell/Cloverview Atom support - [
] perf/x86: Make hardware event translations available in sysfs - [
] tracing: Format non-nanosec times from tsc clock without a decimal point. - [
N1] tracing,x86: Add a TSC trace_clock - [
] x86/perf: Add IvyBridge EP support
Virtualisation
- [
D] Document IACx/DACx registers access using ONE_REG API - [
] kvm: deliver msi interrupts from irq handler - [
D] KVM: Documentation: Fix reentry-to-be-consistent paragraph - [
D] KVM: PPC: Add support for ePAPR idle hcall in host kernel - [
D] KVM: PPC: Book3S: Get/set guest FP regs using the GET/SET_ONE_REG interface - [
D 1] KVM: PPC: Book3S: Get/set guest SPRs using the GET/SET_ONE_REG interface - [
D 1] KVM: PPC: Book3S HV: Provide a method for userspace to read and write the HPT - [
D] KVM: PPC: Book3S HV: Provide a way for userspace to get/set per-vCPU areas - [
C] KVM: PPC: Book3s: PR: Add (dumb) MMU Notifier support - [
D] KVM: PPC: booke: Get/set guest EPCR register using ONE_REG interface - [
] KVM: PPC: bookehv64: Add support for interrupt handling - [
C] KVM: PPC: E500: Implement MMU notifiers - [
C] KVM: PPC: Support eventfd - [
] KVM: x86: Emulate IA32_TSC_ADJUST MSR - [
] MAINTAINERS: Add git tree link for PPC KVM - [
1] virtio_balloon: introduce migration primitives to balloon pages - [
1] virtio_console: Add support for remoteproc serial - [
N] xen/acpi: ACPI PAD driver
Various
- [
D] cgroup, cpuset: remove cgroup_subsys->post_clone() - [
D 1] cgroup_freezer: implement proper hierarchy support - [
D 2] cgroup: rename ->create/post_create/pre_destroy/destroy() to ->css_alloc/online/offline/free() - [
D] cgroup: s/CGRP_CLONE_CHILDREN/CGRP_CPUSET_CLONE_CHILDREN/ - [
] checkpatch: extend line continuation test - [
] checkpatch: warn about using CONFIG_EXPERIMENTAL - [
N] Coccinelle: add api/d_find_alias.cocci - [
C N1] context_tracking: New context tracking susbsystem - [
] /dev/mem: use phys_addr_t for physical addresses - [
D] Documentation/cgroups/memory.txt: s/mem_cgroup_charge/mem_cgroup_change_common/ - [
DN1] Documentation: Chinese translation of Documentation/arm/kernel_user_helpers.txt - [
D] firmware loader: document firmware cache mechanism - [
D] firmware loader: introduce module parameter to customize(v4) fw search path - [
C] generic sys_fork / sys_vfork / sys_clone - [
] ipc: introduce message queue copy feature - [
D] Kernel-doc: Convention: Use a "Return" section to describe return values - [
D] Kernel-doc: Convention: Use a "Return" section to describe return values - [
D] kref: Add kref_get_unless_zero documentation - [
D] kstrto*: add documentation - [
] ktest: Add native support for syslinux boot loader - [
] ktest: Add support for grub2 - [
N] lib: Add early cpio decoder - [
N] MODSIGN: Add modules_sign make target - [
1] module: add syscall to load module from fd - [
] module, async: async_synchronize_full() on module init iff async is used - [
] net: Allow the userns root to control vlans. - [
] net: Allow userns root control of the core of the network stack. - [
1] net: Allow userns root to control ipv4 - [
1] net: Allow userns root to control ipv6 - [
] net: Allow userns root to control llc, netfilter, netlink, packet, and xfrm - [
] net: Allow userns root to control the network bridge code. - [
] net: Allow userns root to control tun and tap devices - [
] net: Allow userns root to force the scm creds - [
D] netprio_cgroup: allow nesting and inherit config on cgroup creation - [
C] percpu_rw_semaphore: introduce CONFIG_PERCPU_RWSEM - [
] pidns: Add setns support - [
] pidns: Support unsharing the pid namespace. - [
] printk: boot_delay should only affect output - [
D] rcu: Add documentation for the new rcuexp debugfs trace file - [
D] rcu: Correct the name of a reference in list of RCU papers - [
D] rcu: Document alternative RCU/reference-count algorithms - [
D] rcu: Make rcu_nocb_poll an early_param instead of module_param - [
C D] rcu: Reduce default RCU CPU stall warning timeout - [
D] rcu: Remove list_for_each_continue_rcu() - [
D] rcu: Update docs to include kfree_rcu() - [
D 2] rcu: Update documentation for TREE_RCU debugfs tracing - [
C] rcu: Update RCU_FAST_NO_HZ help text - [
] README: document "make olddefconfig" - [
] sched: Describe CFS load-balancer - [
N] selftests: IPC message queue copy feature test - [
C] Tell the world we gave up on pushing CC_OPTIMIZE_FOR_SIZE - [
] tick: Conditionally build nohz specific code in tick handler - [
D] tracing: Add trace_options kernel command line parameter - [
] userns: Allow unprivilged mounts of proc and sysfs - [
] userns: Implement unshare of the user namespace - [
] userns: Implent proc namespace operations - [
] userns: Kill task_user_ns - [
] userns: Require CAP_SYS_ADMIN for most uses of setns. - [
C] userns: Support autofs4 interacing with multiple user namespaces - [
C] userns: Support fuse interacting with multiple user namespaces
Die kleinen Perlen: Platform-Code
Die kleinen Perlen: Platform-Code
x86
- [
C] introduce generic sys_sigaltstack(), switch x86 and um to it - [
N9] UAPI: (Scripted) Disintegrate arch/x86/include/asm - [
C] x86, 386 removal: Document Nx586 as a 386 and thus unsupported - [
C] x86, 386 removal: Remove CONFIG_BSWAP - [
C] x86, 386 removal: Remove CONFIG_CMPXCHG - [
C] x86, 386 removal: Remove CONFIG_INVLPG - [
C] x86, 386 removal: Remove CONFIG_M386 from Kconfig - [
C] x86, 386 removal: Remove CONFIG_X86_POPAD_OK - [
C] x86, 386 removal: Remove CONFIG_X86_WP_WORKS_OK - [
C] x86, 386 removal: Remove CONFIG_XADD - [
] x86, 8042: Enable A20 using KBC to fix S3 resume on some MSI laptops - [
I] x86,AMD: Power driver support for AMD's family 16h processors - [
D] x86: apic: Use tsc deadline for oneshot when available - [
D 1] x86, boot: Define the 2.12 bzImage boot protocol - [
D] x86/boot/doc: Fix grammar and typo in boot.txt - [
D] x86, doc: Add a formal bootloader ID for kexec-tools - [
D] x86, doc: Boot protocol 2.12 is in 3.8 - [
D] x86, doc: Document that bootloader ID 4 is used also by iPXE - [
C N] x86/PCI: Add NumaChip remote PCI support - [
] x86 power: define RAPL MSRs - [
C] x86, topology: Debug CPU0 hotplug
ARM
- [
DN2] ab8500: Add devicetree support for fuelgauge - [
C DN1] Add support for generic BCM SoC chipsets - [
N] arm64: Add dtbs target for building all the enabled dtb files - [
N] arm64: add hypervisor stub - [
N] arm64: use new common dtc rule - [
N] ARM: 7587/1: implement optimized percpu variable access - [
N] ARM: AT91: Add AT91RM9200 device tree - [
C N] ARM: AT91: Add AT91RM9200 DT board - [
N] ARM: AT91: Add AT91RM9200EK board device tree - [
D] ARM: AT91: Add DT support to AT91RM9200 System Timer - [
C DN5] ARM: at91: add pinctrl support - [
N] ARM: at91: add Ronetix pm9g45 board support - [
N] ARM: at91: add Somfy Animeo IP board support - [
D] arm: at91: at91sam9x5: fix gpio number per bank - [
DN1] ARM: at91: atmel-ssc: add device tree support - [
C N] ARM: bcm2835: enable GPIO/pinctrl - [
DN] ARM: bcm2835: implement machine restart hook - [
C] ARM: clps711x: convert to clockevents - [
DN] ARM: davinci: add support for am1808 based EnBW CMC board - [
C DN] ARM: davinci: da850: add DT boot support - [
DN] ARM: davinci: da850 evm: add DT data - [
C] ARM: dove: switch to DT clock providers - [
N] ARM: dts: Add board dts file for Snow board (ARM Chromebook) - [
DN1] ARM: dts: Add Calxeda ECX-2000 support - [
DN] ARM: dts: add device tree support for exynos5 hdmi - [
DN] ARM: dts: add device tree support for exynos5 hdmiddc - [
DN] ARM: dts: add device tree support for exynos5 hdmiphy - [
DN] ARM: dts: add device tree support for exynos5 mixer - [
N] ARM: dts: add initial dts file for EXYNOS5440, SSDK5440 - [
] ARM: dts: Add pin controller node for Samsung EXYNOS5440 SoC - [
N] ARM: dts: Add support for EXYNOS4X12 SoCs - [
DN] ARM: dts: imx6q-sabreauto: Add basic support - [
D] ARM: dts: OMAP4: add *reg* property for ocp2scp - [
DN] ARM: dts: OMAP: Add counter-32k nodes - [
DN1] ARM: dts: OMAP: Add timer nodes - [
C DN] ARM: EXYNOS: Add MFC device tree support - [
C 1] ARM: EXYNOS: add support for EXYNOS5440 SoC - [
D] ARM: EXYNOS: Bind devices to power domains using DT - [
D] ARM: EXYNOS: Detect power domain state on registration from DT - [
DN] ARM: EXYNOS: DT Support for SATA and SATA PHY - [
C] ARM: highbank: Add initial ECX-2000 support - [
DN1] ARM i.MX25: Add devicetree - [
C N] ARM i.MX25: Add devicetree support - [
D] ARM i.MX6: Fix ethernet PLL clocks - [
D] ARM i.MX6: rename PLLs according to datasheet - [
N] ARM i.MX: Add Ka-Ro TX25 devicetree - [
C] ARM: imx: enable cpufreq for imx6q - [
C] ARM: imx: enable multi-platform build - [
C 1] ARM: imx: merge plat-mxc into mach-imx - [
C 3] ARM: imx: move iomux drivers and headers into mach-imx - [
C 2] ARM: imx: move platform device code into mach-imx - [
C D] ARM: integrator: hook the CP into the SoC bus - [
DN] ARM: kernel: add device tree init map function - [
C N] ARM: kirkwood: Add Plat'Home OpenBlocks A6 support - [
C N1] arm: kirkwood: add support for ZyXEL NSA310 - [
C N] ARM: kirkwood: DT board setup for Network Space Lite v2 - [
C N] ARM: kirkwood: DT board setup for Network Space Mini v2 - [
C N1] ARM: kirkwood: DT board setup for Network Space v2 and parents - [
DN] ARM: Kirkwood: ehci-orion: Add device tree binding - [
C N] ARM: Kirkwood: new board USI Topkick - [
DN4] ARM: Kirkwood: support 98DX412x kirkwoods with pinctrl - [
C] ARM: Kirkwood: switch to DT clock providers - [
D] arm: l2cc: doc: fix device tree example typo - [
D] arm: l2x0: add aurora related properties to OF binding - [
C] arm: mm: Add support for PJ4B cpu and init routines - [
D] arm: mvebu: Add hardware I/O Coherency support - [
DN] arm: mvebu: Add initial support for power managmement service unit - [
D] arm: mvebu: Add IPI support via doorbells - [
C] arm: mvebu: add L2 cache support - [
C N] arm: mvebu: Add SMP support for Armada XP - [
DN] arm: mvebu: Add support for coherency fabric in mach-mvebu - [
N] arm: mvebu: support for the Globalscale Mirabox board - [
DN2] ARM: mx5: Replace clk_register_clkdev with clock DT lookup - [
N] ARM: mxs: Add support for the Armadeus Systems APF28Dev docking board - [
N] ARM: mxs: Add support for the Armadeus Systems APF28 module - [
] ARM: nomadik: switch over to using the FSMC driver - [
1] ARM: OMAP2: clock: Convert to common clk - [
DN2] ARM: OMAP2+: gpmc: generic timing calculation - [
1] ARM: OMAP2+: hwmod: Add support for per hwmod/module context lost count - [
N9] ARM: OMAP3: clock: Add 3xxx data using common struct clk - [
4] ARM: OMAP4: clock: Convert to common clk - [
1] ARM: OMAP4: Enhance support for DPLLs with 4X multiplier - [
1] ARM: OMAP: Add DT support for timer driver - [
C N] arm: orion5x: basic Device Tree support - [
C N] arm: orion5x: convert 'LaCie Ethernet Disk mini v2' to Device Tree - [
C 2] ARM: pxa: remove pxa95x support - [
C] ARM: shmobile: marzen: add USB EHCI driver support - [
C] ARM: shmobile: marzen: add USB OHCI driver support - [
C 1] ARM: shmobile: Remove G4EVM machine support - [
C 9] ARM: shmobile: Remove SH7367 support - [
C 9] ARM: shmobile: Remove SH7377 support - [
C DN1] ARM: socfpga: Enable SMP for socfpga - [
N] ARM: SPEAr320: DT: Add SPEAr 320 HMI board support - [
DN3] ARM: SPEAr3xx: shirq: simplify and move the shared irq multiplexor to DT - [
C DN] ARM: sunxi: Add basic support for Allwinner A1x SoCs - [
C N] ARM: sunxi: Add earlyprintk support - [
C] ARM: sunxi: Add earlyprintk support for UART0 (sun4i) - [
DN] ARM: sunxi: Add sunxi restart function via onchip watchdog - [
N1] ARM: tegra30: cpuidle: add powered-down state for secondary CPUs - [
N] ARM: tegra: Add speedo-based process identification - [
N] ARM: tegra: cpuidle: separate cpuidle driver for different chips - [
DN] ARM: tegra: define DT bindings for and instantiate RTC - [
DN] ARM: tegra: define DT bindings for and instantiate timer - [
D] ARM: tegra: dts: cardhu: enable SLINK4 - [
N1] ARM: tegra: Tegra30 speedo-based process identification - [
D] ARM: vexpress: Remove motherboard dependencies in the DTS files - [
C 2] ARM: vexpress: Start using new Versatile Express infrastructure - [
C N] ARM: vt8500: Convert arch-vt8500 to multiplatform - [
C] arm: vt8500: Convert irq.c for multiplatform integration - [
C N] ARM: zynq: add support for ARCH_MULTIPLATFORM - [
C DN2] clk: mvebu: add mvebu core clocks.
Power
- [
D] Documentation: Fixes a word in Documentation/arm64/memory.txt - [
D] Documentation:Update Documentation/zh_CN/arm64/memory.txt - [
] mtd: nand/docg4: add support for writing in reliable mode - [
] powerpc: Add POWER8 architected mode to cputable - [
] powerpc: Add POWER8 setup code - [
DN] powerpc/dma/raidengine: add raidengine device - [
] powerpc/fsl-pci: Add PCI controller ATMU PM support - [
D] powerpc/hw-breakpoint: Use generic hw-breakpoint interfaces for new PPC ptrace flags - [
N] powerpc: mpc5200: Add a3m071 board support - [
] powerpc+of: Add /proc device tree updating to of node add/remove - [
C] powerpc+of: Rename and fix OF reconfig notifier error inject module
Various
- [[/code]] alpha: switch to generic sigaltstack
- [
C 2] Bury the conditionals from kernel_thread/kernel_execve series - [
C] byteorder: allow arch to opt to use GCC intrinsics for byteswapping - [
C] m68knommu: allow for configuration of true 68000 based systems - [
1] m68knommu: merge ColdFire 5249 and 525x definitions - [
N2] m68knommu: platform code merge for 68000 core cpus - [
C 1] MIPS: BCM47XX: remove GPIO driver - [
C N2] MIPS: Cavium: Add EDAC support. - [
C] MIPS: Control huge tlb support via Kconfig symbol MIPS_HUGE_TLB_SUPPORT - [
C] MIPS: Kconfig: Rename several firmware related config symbols. - [
C N1] MIPS: kdump: Add support - [
C] MIPS: Loongson1B: use common clock infrastructure instead of private APIs - [
C N] MIPS: Netlogic: Make number of nodes configurable - [
1] MIPS: Netlogic: Support for multi-chip configuration - [
N3] MIPS: Netlogic: Support for XLR/XLS Fast Message Network - [
N9] MIPS: OCTEON: Add definitions for OCTEON memory contoller registers. - [
1] MIPS: Octeon: Add kexec and kdump support - [
C] MIPS: perf: Add XLP support for hardware perf. - [
C 9] MIPS: PMC-Sierra Yosemite: Remove support. - [
C 1] MIPS: Transparent Huge Pages support - [
] parisc: optimizations in copy_thread() and friends - [
C] s390: add zEC12 code generation support - [
D] s390/kvm: Add documentation for KVM_S390_INTERRUPT - [
I N3] s390/pci: base support - [
N1] s390/pci: CHSC PCI support for error and availability events - [
N1] s390/pci: CLP interface - [
N2] s390/pci: DMA support - [
I N2] s390/pci: PCI adapter interrupts for MSI/MSI-X - [
C N1] s390/pci: PCI hotplug support via SCLP - [
N1] s390/pci: performance statistics and debug infrastructure - [
N] s390/pci: s390 specific PCI sysfs attributes - [
C] xtensa: add config option to disable linker relaxation - [
C N1] xtensa: add device trees support - [
C] xtensa: add IRQ domains support - [
C] xtensa: add s32c1i sanity check - [
C N1] xtensa: add support for the XTFPGA boards - [
N] xtensa: add U-Boot image support (uImage). - [
N] xtensa: add XTFPGA DTS - [
DN] xtensa: initialize atomctl SR - [
1] xtensa: provide proper assembler function boundaries with ENDPROC()
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.8 bringt"-Serie
Das Kernel-Log kann bereits jetzt einen Überblick über die wichtigsten Neuerungen der noch im Februar erwarteten Linux-Version 3.8 geben, da alle größeren Neuerungen bereits in den ersten beiden Entwicklungswochen integriert wurden; Linux 3.8 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.8 hat das Kernel-Log bereits im Rahmen der Artikelserie "Was 3.8 bringt" berichtet:
In den kommenden Wochen wird noch ein Artikel zu Treibern 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)