Kernel-Log – Was 2.6.30 bringt (5): Architektur und Infrastruktur
Linux 2.6.30 lässt sich mit Bzip2 und LZMA komprimieren, bringt das Sicherheitsframework Tomoyo mit und soll schneller starten. Aber das sind nur einige der wichtigsten Neuerungen hinsichtlich Architektur-Unterstützung und Infrastruktur des Kernels.
- Thorsten Leemhuis
Linus Torvalds veröffentlichte kürzlich die achte Vorabversion von Linux 2.6.30. Sie ist aller Wahrscheinlichkeit nach die letzte, denn der Linux-Vater kündigte an, Linux 2.6.30 in Kürze – vermutlich dieses Wochenende – freizugeben. Er hält sich an solche Angaben nicht immer exakt, aber mehr als einige Tage dürften es bis zu Fertigstellung wohl trotzdem nicht mehr sein. Das Kernel-Log kommt daher mit dieser Übersicht über die Neuerungen in den Bereichen Architektur-Unterstützung und Infrastruktur zum Abschluss der Mini-Serie "Was 2.6.30 bringt".
Verdichtet
Entfernt haben die Entwickler bei Linux 2.6.30 die Unterstützung für das Build-Target "zImage" auf x86-System, da es schon lange nicht mehr genutzt wird. Neu ist indes eine Kernel-eigene Library zur Dekompression von Gzip, Bzip und Lzma. Der Kernel greift auf diese zurück, um Teile des Kernel-Images oder das Initramfs währen des Start-Vorgangs zu entpacken. Bisher konnte man lediglich mit Gzip komprimieren, ein mit Bzip2 gepacktes Kernel-Image soll allerdings zirka 10 Prozent kleiner sein, ein mit Lzma sogar 33 Prozent.
Am Prozess-Scheduler CFS gab es einige Änderungen, die den Code vereinfachen, die Abarbeitung beschleunigen und CFS für Echtzeitumgebungen optimieren. Insbesondere für Letztere sollen auch die optionalen Interrupt-Behandlung mit separaten Threads interessant werden, für die einige Grundlagen gelegt wurden (1, 2, 3). Auch am fürs Locking zuständigen Code gab es einige Verbesserungen. Eine etwas andere Herangehensweise beim Versuch, eine Sperre zu bekommen, soll die Performance ein wenig steigern – daran zeigten insbesondere die Btrfs-Entwickler Interesse.
Kernel-Log – Was 2.6.30 bringt
Weitere Teile aus der Kernel-Log-Mini-Serie "Was 2.6.30 bringt", die wichtigsten Neuerungen der kommenden Kernel-Version zusammenfasst:
1. Netzwerk – Neue Treiber für LAN und WLAN
2. Dateisysteme – Zwei neue Dateisysteme und massig Änderungen rund um Ext3 und Ext4
3. Storage – RAIDs umwandeln, CFQ-Scheduler optimiert, neue SAS-Treiber
4. Treiber – Neue Treiber für Audio-, Video- und USB-Hardware sowie Net- und Notebooks
Der Artikel "Stetes Wachstum – Die Neuerungen von Linux 2.6.29" bietet eine Übersicht über die Neuerungen der aktuellen Kernel-Version der Hauptentwicklungslinie. Weitere Geschehnisse rund um den Linux-Kernel und andere Hardware-nahe Linux-Software finden Sie in den regulären Kernel-Logs Erwähnung.
Sicherheit
Das Crypto-Subsystem arbeitet dank größerer Änderungen an cryptd nun besser mit mehreren Threads. Auf dem mit Core 2 Duo E6400 bestückten Testsystem des Entwicklers steigerte das den Datendurchsatz auf ein mit Hilfe des Device Mappers verschlüsselten Volume um 19 Prozent. Neu sind ferner die Unterstützung für Intels AES-NI (Advanced Encryption Standard) sowie der Treiber crypt4xx für die Crypto Accelerators aus der AMCC-Serie PPC4xx.
Zu SELinux und Smack gesellt sich mit Tomoyo ein weiteres Sicherheitsframework, das MAC (Mandatory Access Control) bietet. In einer Tabelle im Tomoyo-Wiki erklären dessen Entwickler, wie sich Tomoyo aus ihrer Sicht von den beiden anderen erwähnten Sicherheitsframework sowie AppArmor unterscheidet. Einer der für die Praxis wichtigen Unterschiede: SELinux und Smack arbeiteten mit erweiterten Attributen, während Tomoyo und AppArmor bei der Arbeit auf Pfade und Dateinamen zurückgreifen. Das war und ist nicht ganz unumstritten, aber einigen Entwicklern wohl gut genug – Details liefert der Artikel "Tomoyo Linux and pathname-based security" auf LWN.net.
Neu dabei ist auch die Integrity Management Architecture (IMA) (u. a. 1, 2, 3, 4). Mit Hilfe eines Trusted Platform Module (TPM) kann IMA sicher stellen, dass Programme nicht unabsichtlich oder böswillig verändert wurden – Details zu dieser von IBM-Mitarbeitern eingebrachten Techniken liefern die LWN.net-Artkel "System integrity in Linux" und "Integrity management in the kernel."
Power-Management und PCI, Tuz und Schnellstart
Power-Management und PCI
Im PCI-Subsystem gab gleich mehrere größere Änderungen, wie der PCI-Subsystem-Verwalter in seinem Git-Pull-Requests festhält. Er hebt unter anderem verbesserte Unterstützung für Hotplugging und MSI (Message Signaled Interrupts) hervor. Zudem bietet das PCI-Subsystem nun alles Nötige für Single Root I/O Virtualization (SR-IOV) – mit ihr lassen sich PCI-Geräte mit Unterstützung für SR-IOV in mehrere virtuelle Geräte aufteilen, die sich virtualisierten Gastsystemen zuweisen lassen.
Nach größeren Änderungen am Code für den Wechsel in und aus systemweiten Schlafzuständen (Suspend und Resume) bei 2.6.29 gab es nun noch weitere Anpassungen, die einige Ecken und Kanten des jungen Designs beseitigen. Speziell die Behandlung der Interrupts haben die Entwickler nochmal überarbeitet, um die Nutzung der Schlafzustände robuster zu machen.
Schnellstart, Tuz, Maintainers
Bereits bei Linux 2.6.28 und 2.6.29 gab es zahlreiche Änderungen am Kernel, die den Startvorgang beschleunigen sollten (Fastboot-Patches). Einige der vielversprechendsten Verbesserungen wurden jedoch aufgrund von Problemen vorübergehend nur genutzt, wenn man sie über einen Kernel-Parameter beim Start explizit aktivierte. Mit 2.6.30 soll der Code nun zum Einsatz kommen. Wie viel schneller das System durch die parallele Initialisierung einiger Kernel-Subsysteme startet, hängt allerdings stark von den jeweiligen Hardware-Komponenten und deren Konfiguration ab.
Tuz machte derweil wieder Platz und überlässt den Job des Linux-Maskottchens wieder dem Pinguin Tux. Erheblich unstrukturiert wurde die Datei Maintainers: Mit Hilfe einiger dort hinzugefügter Informationen ist ein neues Skript in der Lage auszugeben, welche Entwickler für einen bestimmten Bereich oder eine Datei des Kernels zuständig sind.
Architektur-Code und Virtualisierung
Größere Umbauarbeiten gab es für Linux 2.6.30 an der Struktur des Code für x86-Systeme, die nun keine "Sub-Architekturen" mehr unterstützen (1, 2). Im Zuge dieser Arbeit entfernten die Entwickler die Unterstützung für 32-Bit-Voyager-Systeme – der Code habe sich seit 2.6.27 ohnehin nicht mehr übersetzen lassen. Möglicherweise wird veränderter Code die Unterstützung für diese etwas spezielle x86-Architektur aber bald wieder nachrüsten. Neu ist die Unterstützung für die Microblaze-Architektur; der Code für die Xtensa-Architektur weiß nun mit den Chips der Stretch-S6000-Familie umzugehen (1, 2).
Im Virtualisierungsbereich ging es diesmal vergleichsweise ruhig zu. Zu einer der größeren Neuerung zählt die Unterstützung für Nested Virtualization bei neueren AMD-CPUs – also das Aufsetzen eines Gastsystems aus einem Gastsystem heraus. Zudem wurden die Debugging-Möglichkeiten von KVM verbessert. Und wie praktisch mit jeder neuen Version wollen die KVM-Entwickler die Performance sowie die Emulation allgemein verbessert haben ("better performance and improved emulation accuracy"). Der Xen-DomU-Code erhielt einige Änderungen. Draußen bleiben musste aber der Dom0-Code – derzeit sieht es auch nicht so aus, als würde er in naher Zukunft aufgenommen werden, denn Torvalds und einige anderen wichtige Kernel-Entwickler haben den zur Aufnahme vorgeschlagenen Code kürzlich nachhaltig kritisiert.
Genau hingeschaut
Durch einige Änderungen lassen sich in Zukunft mehr Informationen zum aktuellen Zustand moderner CPUs auslesen, was für Fehlerfindung und Performance-Optimierung nützlich ist (1, 2). Ferner nahmen die Entwickler Infrastruktur zum Debugging von DMA-Transfers auf (1, Dokumentation).
Das Tracing-Framework Ftrace arbeitet nun auch auf IA64-CPUs (Itanium). Neu sind die Trace-Plugins kmemtrace (Speicher), blktrace (Block-Geräte wie etwa Datenträger) und der Workqueue-Tracer. Zahlreiche andere Tracer und Ftrace selbst wurden erweitert und verbessert – Details finden sich im Git-Pull-Requests für die Tracing-Infrastruktur und über die Liste mit weiteren Commits am Ende des Artikels
Nachzügler und kleine Perlen
Nachzügler und kleine Perlen
In einigen Bereichen, über die das Kernel-Log im Rahmen der Mini-Serie "Was 2.6.30 bringt" bereits berichtet hat, gab es nochmal einige weitere Änderungen. So war die Stabilisierungsphase zwar schon recht weit fortgeschritten, dennoch nahm Torvalds im SCSI-Subsystem noch einen neuen Treiber namens fnic auf. Er eignet sich für PCI-Express FCoE (Fibre Channel over Ethernet) HBA (Host Bus Adapter) von Cisco. Und nach einem neuen ISA-Sound-Treiber bei 2.6.30 gab es noch eine weitere Änderung für Uralt-Hardware: Der Treiber 3c509 spricht nun auch einige 3com-Netzwerkchips an, die sich in EISA-Systemen finden. Weitere Nachzügler finden sich in der Liste ganz am Ende des Artikels.
Bei den bisher genannten Änderungen handelt es sich nur um die wichtigsten Neuerungen, die die Kernel-Hacker am Architektur-Code und der Infrastruktur vorgenommen haben. Zahlreiche weitere Änderungen finden sich in der folgenden Liste mit den Überschriften des jeweiligen Commits im Hauptentwicklungszweig; über die Links gelangt man direkt zur Änderungen im Webfrontend des Hauptentwicklungszweigs, wo der Commit-Kommentar und der Patch selbst zahlreiche weitere Informationen zu diesen vielleicht etwas weniger wichtigen, aber keineswegs unbedeutenden Änderungen vermitteln.
Architektur-Code
x86 (x86-32, x86-64)
- docs, x86: add nox2apic back to kernel-parameters.txt
- Documentation/x86/boot.txt: modify fieldname
- percpu: add optimized generic percpu accessors
- stackprotector: use canary at end of stack to indicate overruns at oops time
- x86: add linux kernel support for YMM state
- x86: allow more than 8 cpus to be used on 32-bit
- x86: cleanup, rename CONFIG_X86_NON_STANDARD to CONFIG_X86_EXTENDED_PLATFORM
- x86: convert to the new dynamic percpu allocator
- x86: disable X86_PTRACE_BTS for now
- x86: DMI match for the Sony VGN-Z540N as it needs BIOS reboot
- x86/doc: mini-howto for using earlyprintk=dbgp
- x86, documentation: kernel-parameters replace X86-32,X86-64 with X86
- x86: Fix performance regression caused by paravirt_ops on native kernels
- x86: fully honor "nolapic"
- x86: hpet: allow force enable on ICH10 HPET
- x86: implement x86_32 stack protector
- x86: improve the help text of X86_EXTENDED_PLATFORM
- x86: introduce noxsave boot parameter
- x86, kexec: x86_64: add kexec jump support for x86_64
- x86: make lazy %gs optional on x86_32
- x86: make Voyager use x86 per-cpu setup.
- x86, mce, cmci: add CMCI support
- x86, mce: implement dynamic machine check banks support
- x86: replace CONFIG_X86_SMP with CONFIG_SMP
- x86: set X86_FEATURE_TSC_RELIABLE
- x86: unify stackprotector features
- x86: update description for memtest boot parameter
ARM
- ARM: 5353/1: fbdev: add E-Ink Broadsheet controller support v3
- ARM: 5354/1: mach-pxa: add AM300 platform driver v3
- ARM: 5355/1: Adding support for the HTC Himalaya and its framebuffer
- ARM: 5372/1: ACS5K: Core board support for the ACS-5000
- ARM: 5412/1: XSCALE: add ice dcc support
- ARM: add CONFIG_HIGHMEM option
- ARM: Add Gemini architecture v3
- ARM: add i.MX35 build support
- ARM: Add support for FA526 v2
- ARM: Add Synertronixx scb9328 board support
- ARM: Kirkwood: Marvell SheevaPlug support
- ARM: mv78xx0: Add Marvell RD-78x00-mASA Reference Design support
- ARM: MX31/MX35: Add l2x0 cache support
- ARM: OMAP3: Add support for 3430 SDP, v4
- ARM OMAP3: Initial support for Nokia RX-51, v3
- ARM: pxa: add base support for Marvell's PXA168 processor line
- ARM: pxa: add base support for pxa910-based TavorEVB
- ARM: pxa: add base support for pxa910-based TTC_DKB
- ARM: pxa: add eXeda platform support
- ARM: pxa: Add support for suspend on PalmTX, T5 and LD
- ARM: pxa: PalmLD initial support
- ARM: pxa: PalmT5 initial support
- ARM: pxa: Palm Tungsten E2 basic support
- Gemini: Add support for Teltonika RUT100
- Gemini: gpiolib based GPIO support v2
- mx31ads: Initial support for Wolfson Microelectronics 1133-EV1 module
Power
- AMCC PPC 460SX redwood SoC platform initial framework
- powerpc/5200: Add support for the Media5200 board from Freescale
- powerpc/83xx: Add power management support for MPC837x boards
- powerpc/85xx: Add support for the "socrates" board (MPC8544).
- powerpc/amigaone: Add platform support for AmigaOne
- powerpc/device-tree: Document MTD nodes with multiple "reg" tuples
- powerpc: Hook up rtc-generic, and kill rtc-ppc
- powerpc/of-device-tree: Factor MTD physmap bindings out of booting-without-of
- powerpc/ps3: Add rtc-ps3
Various
- Add Merisc board support
- m68k: mac - Add SWIM floppy support
- Move dtc and libfdt sources from arch/powerpc/boot to scripts/dtc
- S390: dasd: add High Performance FICON support
- sh: Add in PCI bus for DMA API debugging.
- sh: Add support for DMA API debugging.
- sh: Add support for SH7786 CPU subtype.
- sh: add support for SMSC Polaris platform
- sh: dma-sh updates for multi IRQ and new SH-4A CPUs.
- sh: espt-giga board support
- sh: hibernation support
- sh: Plug in support for ARCH=sh64 using sh SRCARCH.
- sh: urquell: Add smc91x support and update defconfig accordingly.
- sh: Urquell board support.
- xtensa: beat Kconfig into shape
- xtensa: nommu support
- xtensa: platform: s6105
Virtualization
- KVM: Add support to disable MSI for assigned device
- KVM: New guest debug interface
- KVM: ppc: E500 core-specific code
- KVM: SVM: Add helper functions for nested SVM
- KVM: Userspace controlled irq routing
- lguest: use KVM hypercalls
- xen: mask XSAVE from cpuid
Infrastructure
bzip2/lzma
- bzip2/lzma: centralize format detection
- bzip2/lzma: clarify the meaning of the CONFIG_RD_ options
- bzip2/lzma: comprehensible error messages for missing decompressor
- bzip2/lzma: consistently capitalize LZMA in Kconfig
- bzip2/lzma: DECOMPRESS_GZIP should select ZLIB_INFLATE
- bzip2/lzma: don't ask for compression mode for the default initramfs
- bzip2/lzma: don't leave empty files around on failure
- bzip2/lzma: don't stop search at first unconfigured compression
- bzip2/lzma: fix built-in initramfs vs CONFIG_RD_GZIP
- bzip2/lzma: fix constant in decompress_inflate
- bzip2/lzma: fix decompress_inflate.c vs multi-block-with-embedded-filename
- bzip2/lzma: handle failures from bzip2 and lzma correctly
- bzip2/lzma: make config machinery an arch configurable
- bzip2/lzma: make flush_buffer() unconditional
- bzip2/lzma: make internal initramfs compression configurable
- bzip2/lzma: move CONFIG_RD_* options under CONFIG_EMBEDDED
- bzip2/lzma: move initrd/ramfs options out of BLK_DEV
- bzip2/lzma: proper Kconfig dependencies for the ramdisk options
- bzip2/lzma: update boot protocol specification
- bzip2/lzma: use a table to search for initramfs compression formats
Crypto
- crypto: aes - Export x86 AES encrypt/decrypt functions
- crypto: api - Use dedicated workqueue for crypto subsystem
- crypto: compress - Add pcomp interface
- crypto: zlib - New zlib crypto module, using pcomp
- hwrng: timeriomem - New driver
Fastboot
- ACPI: battery: asynchronous init
- async: remove the temporary (2.6.29) "async is off by default" code
- driver synchronization: make scsi_wait_scan more advanced
- fastboot: remove duplicate unpack_to_rootfs()
- ide/net: flip the order of SATA and network init
- PM/Hibernate: Wait for SCSI devices scan to complete during resume
MM
- memcg: fix documentation
- mm: add documentation describing what tsk->active_mm means vs tsk->mm
- mm: add /proc controls for pdflush threads
- mm: close page_mkwrite races
- mm: reformat the Unevictable-LRU documentation
- nommu: make the initial mmap allocation excess behaviour Kconfig configurable
- percpu: implement new dynamic percpu allocator
- percpu, module: implement reserved allocation and use it for module percpu variables
- slub: add Documentation/ABI/testing/sysfs-kernel-slab
- slub: add min_partial sysfs tunable
- writeback: double the dirty thresholds
- x86, percpu: setup reserved percpu area for x86_64
PCI and ACPI
- ACPI: acpi_enforce_resource=strict by default
- ACPI: add /sys/firmware/acpi/interrupts/sci_not counter
- ACPI: Adjust Kelvin offset to match local implementation
- ACPICA: Add function to handle PM1 control registers
- ACPICA: Add override for dynamic tables
- ACPICA: Allow OS override of all ACPI tables
- ACPICA: New: I/O port protection
- ACPI: cap off P-state transition latency from buggy BIOSes
- acpi: fix of pmtimer overflow that make Cx states time incorrect
- ACPI: Idle C-states disabled by max_cstate should not disable the TSC
- ACPI: move thermal trip handling to generic thermal layer
- ACPI processor: introduce module parameter processor.ignore_tpc
- ACPI processor: reset the throttling state once it's invalid
- ACPI: video: DMI workaround another broken Acer BIOS enabling display brightness
- Enable PNPACPI _PSx Support, v3
- genirq: add doc to struct irqaction
- genirq: deprecate __do_IRQ
- genirq: deprecate obsolete typedefs and defines
- intel-iommu: Enable DMAR on 32-bit kernel.
- intel-iommu: fix PCI device detach from virtual machine
- Intel IOMMU Suspend/Resume Support - DMAR
- Intel IOMMU Suspend/Resume Support - Interrupt Remapping
- Intel IOMMU Suspend/Resume Support - Queued Invalidation
- intel-iommu: VT-d page table to support snooping control bit
- I/O port protection: update for windows compatibility.
- PCI: add remove_id sysfs entry
- PCI: add SR-IOV API for Physical Function driver
- PCI: allow assignment of memory resources with a specified alignment
- PCI: document SR-IOV sysfs entries
- PCI: handle SR-IOV Virtual Function Migration
- PCI Hotplug: restore fakephp interface with complete reimplementation
- PCI Hotplug: schedule fakephp for feature removal
- PCI: initialize and release SR-IOV capability
- PCI: Introduce pci_rescan_bus()
- PCI: Introduce /sys/bus/pci/devices/.../remove
- PCI: Introduce /sys/bus/pci/devices/.../rescan
- PCI: Introduce /sys/bus/pci/rescan
- PCI: manual for SR-IOV user and driver developer
- PCI MSI: Add example request loop to MSI-HOWTO.txt
- PCI quirk: disable MSI on VIA VT3364 chipsets
- PCI: Setup disabled bridges even if buses are added
- PCI: SR-IOV quirk for Intel 82576 NIC
- PCI/x86: detect host bridge config space size w/o using quirks
- PCI/x86: document pci=earlydump argument
- Rewrite MSI-HOWTO
- ssb: Add PMU support
- thermal: support forcing support for passive cooling
- x86 ACPI: Add support for Always Running APIC timer
- x86, ACPI: add support for x2apic ACPI extensions
Powermanagement
- CPUFREQ: Change link order of x86 cpufreq modules
- CPUFREQ: Introduce /sys/devices/system/cpu/cpu*/cpufreq/cpuinfo_transition_latency
- CPUFREQ: ondemand/conservative: deprecate sampling_rate{min,max}
- CPUFREQ: ondemand/conservative: sanitize sampling_rate restrictions
- CPUFREQ: Prevent p4-clockmod from auto-binding to the ondemand governor.
- PCI PM: Make pci_set_power_state() handle devices with no PM support
- PCI PM: Put devices into low power states during late suspend (rev. 2)
- PCI PM: Restore config spaces of all devices during early resume
- PM: Change hibernation code ordering
- PM: Change suspend code ordering
- PM: Introduce functions for suspending and resuming device interrupts
- PM/Suspend: Introduce two new platform callbacks to avoid breakage
Scheduler
- sched: activate active load balancing in new idle cpus
- sched: add hierarchical accounting to cpu accounting controller
- sched: add SD_BALANCE_NEWIDLE at MC and CPU level for sched_mc>0
- sched: allow architectures to specify sched_clock_stable
- sched, documentation: update scheduler header file paths
- sched: favour lower logical cpu number for sched_mc balance
- sched: framework for sched_mc/smt_power_savings=N
- sched: improve preempt debugging
- sched, latencytop: incorporate review feedback from Andrew Morton
- sched: nominate preferred wakeup cpu
Security
- netlabel: Label incoming TCP connections correctly in SELinux
- proc: avoid information leaks to non-privileged processes
- TPM: sysfs functions consolidation
Tomoyo:
- Common functions for TOMOYO Linux.
- Domain transition handler.
- File operation restriction part.
- Kconfig and Makefile
- LSM adapter functions.
- MAINTAINERS info
- Memory and pathname management functions.
- tomoyo: add Documentation/tomoyo.txt
- tomoyo: version bump to 2.2.0.
Tracing
- blkftrace: binary tracing, synthesizing old format
- blktrace: print human-readable act_mask
- debug_objects: add boot-parameter toggle to turn object debugging off again
- doc: add trace_buf_size description to kernel-parameters.txt
- doc: mmiotrace.txt, buffer size control change
- Documentation/ftrace.txt: update
- ftrace: add pretty print function for traceon and traceoff hooks
- ftrace: add stack trace to function tracer
- ftrace: add traceon traceoff commands to enable/disable the buffers
- ftrace: event profile hooks
- ftrace: fix documentation typo s/trace_max_latency/tracing_max_latency/
- ftrace, ia64: IA64 dynamic ftrace support
- ftrace: trace different functions with a different tracer
- function-graph: add option for include sleep times
- function-graph: add proper initialization for init task
- function-graph: show binary events as comments
- kmemtrace: Additional documentation.
- kmemtrace: Fix typos in documentation.
- kmemtrace: remove config option for enabling tracing at boot
- kprobes: support kretprobe and jprobe per-probe disabling
- kprobes: support per-kprobe disabling
- sysrq: fix ftrace help msg Commit: 3871f2ffe53db3cef4fe0c18993ad9e6e0f69408 doc.
- trace: let boot trace be chosen by command line
- trace: mmiotrace to the tracer menu in Kconfig
- tracing: add binary buffer files for use with splice
- tracing: add event trace infrastructure
- tracing: add format files for ftrace default entries
- tracing: add global-clock option to provide cross CPU clock to traces
- tracing: add options directory and core option files
- tracing: add per-event filtering
- tracing: add per-subsystem filtering
- tracing: add run-time field descriptions for event filtering
- tracing: add schedule events to event trace
- tracing: add subsystem level to trace events
- tracing: consolidate documents
- tracing/core: drop the old trace_printk() implementation in favour of trace_bprintk()
- tracing: Documentation / sample code fixes for tracepoints
- tracing: Don't use tracing_record_cmdline() in workqueue tracer
- tracing: explain why stack tracer is empty
- tracing/ftrace: handle more than one stat file per tracer
- tracing/ftrace: provide the base infrastructure for histogram tracing
- tracing/ftrace: syscall tracing infrastructure, basics
- tracing/function-graph-tracer: provide documentation for the function graph tracer
- tracing/function-graph-tracer: various fixes and features
- tracing, genirq: add irq enter and exit trace events
- tracing: infrastructure for supporting binary record
- tracing/kmemtrace: normalize the raw tracer event to the unified tracing API
- tracing: make event directory structure
- tracing/syscalls: core infrastructure for syscalls tracing, enhancements
- tracing/x86: basic implementation of syscall tracing for x86
- Update /debug/tracing/README
- x86, ftrace, hw-branch-tracer: documentation
Various
- Add README.AddingFirmware file. Basically telling people not to.
- cgroup: CSS ID support
- cgroups: more documentation for remount and release_agent
- cpuacct: add per-cgroup utime/stime statistics
- dma-debug: add checks for kernel text and rodata
- dma-debug: add core checking functions
- dma-debug: add debugfs interface
- dma-debug: add header file and core data structures
- dma-debug: add Kconfig entry
- dma-debug: add kernel command line parameters
- dma-debug: Documentation update
- dma-debug: x86 architecture bindings
- dma-mapping: update the old macro DMA_nBIT_MASK related documentations
- dynamic debug: combine dprintk and dynamic printk
- dynamic debug: update docs
- init: make initrd/initramfs decompression failure a KERN_EMERG event
- kbuild: introduce destination-y for exported headers
- kbuild: introduce subdir-ccflags-y
- kbuild: make it possible for the linker to discard local symbols from vmlinux
- kbuild: support include/generated
- kexec: add dmesg log symbols to /proc/vmcoreinfo lists
- Ksplice: Add functions for walking kallsyms symbols
- LANANA: Change of management and resync
- memcg: fix OOM killer under memcg
- memcg: use CSS ID
- module: clarify the force-loading taint message.
- module: Export symbols needed for Ksplice
- printk: introduce printk_once()
- res_counter: update documentation
- UIO: Add name attributes for mappings and port regions
- uio: add the uio_aec driver
- vsprintf: add binary printf
- vsprintf: unify the format decoding layer for its 3 users
Late arrivals
File systems
- CIFS: Add new nostrictsync cifs mount option to avoid slow SMB flush
- CIFS: DFS no longer experimental
- cifs: vary timeout on writes past EOF based on offset (try #5)
- Enable dfs submounts to handle remote referrals.
Documentation
- doc: fix kernel-parameters.txt mistaken deletions
- kernel-doc: restrict syntax for private: and public:
- hwmon: Update documentation on fan_max
- Input: multitouch - augment event semantics documentation
Network
- Add reference to CAPI 2.0 standard
- ar9170: add Cace Airpcap NX usb_id
- at76c50x-usb: Add device ID for OQO model 01+
- ath1e: add new device id for asus hardware
- be2net: add two new pci device ids to pci device table
- Doc: fixed descriptions on /proc/sys/net/core/* and /proc/sys/net/unix/*
- Documentation/isdn/INTERFACE.CAPI
- iwlwifi: DMA fixes
- iwlwifi: fix device id registration for 6000 series 2x2 devices
- netfilter: revised locking for x_tables
- p54: deactivate broken powersave function
- p54usb: add Telsey 802.11g USB2.0 Adapter
- phylib: Basic support for the M88E1121R Marvell chip
- rt2x00: Add rt73usb USB IDs
- rtl8187: add USB ID for Linksys WUSB54GC-EU v2 USB wifi dongle
- smsc95xx: add support for LAN9512 and LAN9514
Storage
Weitere Hintergründe und Informationen rund um Entwicklungen im Linux-Kernel und dessen Umfeld finden sich in vorangegangen Ausgaben des Kernel-Logs auf heise open. (thl/c't) (thl)