Kernel-Log – Was 2.6.34 bringt (4): Architektur und Virtualisierung
Schnelleres Suspend und Resume, bessere Nutzung der Stromsparmechanismen von I/O-Geräten und verschiedene Optimierungen, die die Performance oder Skalierbarkeit verbessern, sind nur einige der für Linux 2.6.34 vorgenommenen Änderungen an der Infrastruktur des Kernels.
- Thorsten Leemhuis
Schnelleres Suspend und Resume, bessere Nutzung der Stromsparmechanismen von I/O-Geräten sowie verschiedene Optimierungen in Hinblick auf Performance und Skalierbarkeit sind nur einige für Linux 2.6.34 vorgenommenen Änderungen an der Infrastruktur des Kernels.
Am vergangenen Sonntag hat Linus Torvalds mit die siebte Vorabversion von Linux 2.6.34 freigegeben. Laut Freigabe-Mail soll dies der letzte RC sein, was auf die Freigabe der nächsten Kernel-Version aus dem Hauptentwicklungszweig Ende dieser oder Anfang nächster Woche hindeutet. Es wäre aber auch nicht das erste Mal, dass Torvalds nach solch einer Aussage doch noch eine weitere Version einschiebt und den Kernel erst einige Tage später veröffentlicht.
In diesem vierten (und vorletzten) Teil der Mini-Serie "Was 2.6.34 bringt" geht es um Neuheiten rund um den Code für die verschiedenen Prozessor-Architekturen, Tracing, Virtualisierung und andere Bereiche der Infrastruktur des Kernels. Die bedeutsamsten Änderungen rund um Netzwerkunterstützung, Dateisysteme und Grafik-Hardware waren Thema der ersten dreiTeile der Serie.
PCI und Power-Management
Nachdem Torvalds die "Asynchronous Suspend And Resume"-Patches bei 2.6.33 noch zurückgewiesen hatte, nahm er deren überarbeite Fassung für 2.6.34 ohne Murren auf. Durch sie legt der Kernel bestimmte Systemkomponenten parallel schlafen oder weckt sie simultan; das soll die Einschlaf- und Aufwachzeiten bei der Nutzung des Bereitschaftsmodus (ACPI S3/Suspend-to-RAM) und des Ruhezustands (Hibernate/Suspend-to-Disk) reduzieren. Weitere Hintergründe dazu liefert der LWN.net-Aritkel "Redesigning asynchronous suspend/resume".
Nachdem der Kernel bislang nur rudimentäre Unterstützung zur Nutzung der Stromspartechniken von I/O-Geräten zur Laufzeit bot, wurde diese bei Linux 2.6.34 erheblich überarbeitet und erweitert (u. a. 1, 2, 3); zudem setzt der für solche Aufgaben schon länger im USB-Subsystem enthaltene Code nun auf neuen generischen Funktionen auf. Die neuen Stromsparfunktionen sind in der Standardeinstellung aber deaktiviert.
Neben diesen Änderungen gab es im PCI-Subsystem noch einige andere Änderungen, die die Ressourcen-Zuordnung beeinflussen – der zuständige Subsystem-Maintainer Jesse Barnes gab sich im Haupt-Git-Pull-Request aber optimistisch, dass diese keine Probleme nach sich ziehen wird.
Speichermanagement, Virtualisierung und Tracing
Durch einige maßgeblich von Yinghai Lu entwickelte Änderungen ist der Kernel auf x86-Systemen nicht mehr auf den bislang beim Systemstarts genutzten "bootmem allocator" angewiesen, sodass der x86-Kernel zum Start nur noch drei statt vier verschiedenen Speicher-Zuteilmechanismen benötigt. Verschiedene andere Optimierungen an der Speicherverwaltung sollen Performance und Skalierbarkeit steigern (u. a. 1, 2). Einige dieser Änderungen haben indirekt Probleme verursacht, deren Ursache Torvalds und einige andere Entwickler mehrere Tage in mühevoller Kleinarbeit nachgespürt haben, was die Freigabe des RC3 um eine Woche verzögert hatte; Details zu den Vorgängen und einen tiefen Einblick ins Speichersubsystem liefert der LWN.net-Artikel "The case of the overly anonymous anon_vma".
Erst weit nach Ende des Merge Window stieß der Treiber vmware_balloon zum Kernel, mit dessen Hilfe sich die Menge des Arbeitsspeichers zur Laufzeit anpassen lässt, die VMware-Gastsystemen zur Verfügung steht. Zur Steigerung der Netzwerk-Performance in den Virtualisierungslösungen KVM und Lguest sind die mit 2.6.34 neuen Techniken Vhost-Net und Macvtap interessant, die bereits Thema im ersten Teil der Artikelserie "Was 2.6.34 bringt" waren. Zum KVM-Code stießen ferner erste Teile einer Hyper-V-Emulation.
Wie bereits bei den vorangegangenen Kernel-Versionen gab es auch für 2.6.34 Dutzende Verbesserungen am Tracing Code und den Performance Events, mit denen sich die Vorgänge im Kernel zu Laufzeit analysieren lassen. Die "jump optimization" (1, 2, 3, Dokumentation) etwa soll Kprobes-Code signifikant beschleunigen, wie Ingo Molnar im einem Git-Pull-Request schreibt. In seiner zweiten Bitte um Aufnahme der von ihm gesammelten Patches listet er weitere wichtige Änderungen im Tracing-Bereich. So bietet der Perf-Code nun eine Python-Scripting-Engine (1, Dokumentation) – Hintergründe dazu liefert der LWN.net-Artikel "Scripting support for perf". Zudem unterstützt der Perf-Code nun auch die Anfang des Jahres eingeführten Prozessoren mit Westmere-Kern – zu denen zählen unter anderem die Dual-Core-Prozessoren aus Intels Core-Baureihen i3 und i5.
Staccato
- Erheblich erweitert haben die Kernel-Hacker die Unterstützung für die kürzlich vorgestellte Moorestown-Plattform, mit der Intel verstärkt im von ARM-Prozessoren dominierten Bereichen – etwa Smartphones und Slates – Fuß zu fassen versucht.
- Über eine Änderung an Lkdtm lässt sich nun ein Kernel-Crash erzeugen – etwa um das Verhalten bei einem Systemabsturz zu simulieren.
- Das noch junge Devtmpfs gilt nicht mehr als experimentell.
- Die x86-32-Emulation für Itanium-Prozessoren haben die Kernel-Entwickler entfernt, denn sie habe seit Mai 2008 nicht mehr funktioniert, ohne dass sich jemand darüber beschwert habe.
- Integriert wurde auch eine Änderung, die das kürzlich bekannt gewordenen Performance-Problem bei AMD jüngst eingeführten Prozessoren mit Turbo Core beseitigt; volle Unterstützung für diese den Prozessor bei Teilauslastung hochtaktende Technik soll in 2.6.35 einfließen.
Die kleinen Perlen
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 Kernel-Quellen auf Kernel.org. Im Webfrontend liefern normalerweise der Commit-Kommentar und der Patch selbst zahlreiche weitere Informationen zur jeweiligen Änderungen.
Architektur-Code
x86
- perf_events, x86: AMD event scheduling
- perf_event: x86: Optimize the constraint searching bits
- powernow-k8: Fix frequency reporting
- x86_64: Print modules like i386 does
- x86-64: support native xadd rwsem implementation
- x86: Add iMac9,1 to pci_reboot_dmi_table
- x86/amd-iommu: Remove obsolete parameter documentation
- x86, apbt: Moorestown APB system timer driver
- x86, cpu: Print AMD virtualization features in /proc/cpuinfo
- x86: Disable large pages on CPUs with Atom erratum AAE44
- x86: Increase CONFIG_NODES_SHIFT max to 10
- x86: Make 32bit support NO_BOOTMEM
- x86: Make 64 bit use early_res instead of bootmem before slab
- x86, mm: Allow highmem user page tables to be disabled at boot time
- x86: Move pci init function to x86_init
- x86, mrst: Add Kconfig dependencies for Moorestown
- x86, mrst: Fill in PCI functions in x86_init layer
- x86, mrst: Platform clock setup code
- x86, numa: Add fixed node size option for numa emulation
- x86, numa: Remove configurable node size support for numa emulation
- x86/pci: Enable pci root res read out for 32bit too
- x86/PCI: Moorestown PCI support
- x86: Print out RAM buffer information
- x86, ptrace: regset extensions to support xstate
- x86: Put 'nopat' in kernel-parameters
ARM
- Add minimal support for DevKit8000
- AM3517: Enable basic I2C Support
- AM3517: Enable I2C-GPIO Expander driver support for AM3517EVM
- AM3517: Enable RTC driver support for AM3517EVM
- AM3517 EVM: Enable I2C support
- AM35xx: Add clock support for new modules on AM35xx
- ARM: 5850/1: [AT91] AT572D940HF processor support
- ARM: 5851/1: [AT91] AT572D940HF-EK board support
- ARM: 5859/1: Add nuc93x platform support
- ARM: 5892/1: ep93xx: Add support for Simplemachines Sim.One board
- ARM: 5899/2: arm: provide a mechanism to reserve performance counters
- ARM: 5900/2: arm: enable support for software perf events
- ARM: 5902/4: arm/perfevents: implement perf event support for ARMv6
- ARM: 5903/1: arm/perfevents: add support for ARMv7
- ARM: 5917/1: OMAP4: Add L2 Cache support
- ARM: 5919/1: ARM: L2 : Errata 588369: Clean & Invalidate do not invalidate clean lines
- ARM: 5930/1: Add PKMAP area description to memory.txt.
- ARM: 5937/1: Add support for EP9315 based Snapper CL15 board
- ARM: 5952/1: ARM: MM: Add ARM_L1_CACHE_SHIFT_6 for handle inside each ARCH Kconfig
- ARM: 5989/1: ARM: KGDB: add support for SMP platforms
- ARM: Add final piece to fix XIP decompressor in read-only memory ARM: Add L2 cache handling to smp boot support
- ARM: eSATA SheevaPlug basic board support
- ARM: Kirkwood: add LaCie Internet Space v2 support
- ARM: mach-shmobile: Add sh7372 pinmux support
- ARM: mach-shmobile: sh7367 and G3EVM pinmux support
- ARM: mach-shmobile: sh7377 and G4EVM pinmux support
- ARM: mach-shmobile: SH-Mobile AP4 support.
- ARM: mach-shmobile: SH-Mobile G3 support.
- ARM: mach-shmobile: SH-Mobile G4 support.
- ARM: mmp2: add support for board IRQs
- ARM: mmp: add support for Marvell MMP2
- ARM: MV78xx0: Support for Buffalo WXL (Terastation Duo)
- ARM: OMAP4: PM: Add the Autogenerated OMAP4 specific clock domain framework.
- ARM: OMAP4: PM: Add the Autogenerated OMAP4 specific power domain framework.
- ARM: OMAP4: PM: Make OMAP3 Clock-domain framework compatible for OMAP4.
- ARM: Orion: Add Buffalo Linkstation LS-HGL support
- ARM: pxa: add support for Embedian MXM-8x10
- ARM: pxa: add the missing AC97 pin configurations
- ARM: pxa: introduce PXA_SSP_LEGACY for legacy SSP API
- ARM: pxa/raumfeld: add platform support
- ARM: pxa/zeus: Add support for mcp2515 CAN bus
- ARM: S3C64XX: Add AC97 platform resources
- ARM: S3C64XX: Add S3C64XX support to the generic Samsung ADC driver
- ARM: S5P6440: Add Board support file
- ARM: S5P6440: Add Clock and PLL support
- ARM: S5P6440: Add IRQ support
- ARM: S5P6440: Add new CPU initialization support
- ARM: S5P6440: Add new Kconfig and Makefiles
- ARM: S5P6440: Add S5P6440 GPIO support
- ARM: S5P6442: Add clock support for S5P6442
- ARM: S5P6442: Add IRQ support
- ARM: S5P6442: Add Samsung S5P6442 CPU support
- ARM: S5P6442: Add SMDK6442 board support file
- ARM: S5P6442: Update Kconfig and Makefiles
- ARM: S5PV210: Add clock support for S5PV210
- ARM: S5PV210: Add IRQ support
- ARM: S5PV210: Add Samsung S5PV210 CPU support
- ARM: S5PV210: Add SMDKC110 board support file
- ARM: S5PV210: Add SMDKV210 board support file
- ARM: S5PV210: Update Kconfig and Makefiles
- ARM: SAMSUNG: Add suspend/resume support for S3C PWM driver
- ARM: SAMSUNG: Add core clock implementation for clksrc based clocks
- ARM: SAMSUNG: Add initial documentation directory and overview
- ARM: SAMSUNG: Add script to change old clksrc_clk to new register defs
- ARM: SMDK6410: Add initial support for WM1192-EV1 PMIC board
- ASoC: OMAP4: Add support for McPDM
- ASoC: Remove old i.MX driver code
- broadsheetfb: add MMIO hooks
- broadsheetfb: add multiple panel type support
- davinci: add CDCE949 support on DM6467 EVM
- DaVinci - Adding platform and board changes for vpfe capture on DM365
- davinci: add power management support
- davinci: add support for CDCE949 clock synthesizer
- davinci: add support for DM6467T EVM
- davinci: da850/omap-l138: add support for SoC suspend
- davinci: da8xx/omapl1: add support for the second sysconfig module
- DaVinci DM365: Adding DM365 SPI support
- IGEPv2: Added WIFI support
- i.MX27 pca100: Add USB support
- i.MX27 pca100: Add USB support
- i.MX27 pcm038: Add USB support
- i.MX31 pcm037: Add USB support
- imxfb: add support for i.MX25
- i.MX pcm043: Add AC97 sound support
- MAINTAINERS: Add entry for ARM-based SH-Mobile architecture.
- MAINTAINERS: add maintainers for Marvell MMP2 (aka ARMADA610) support
- McBSP: OMAP3: Add sidetone feature
- MTD: remove no longer used OMAP flash map
- mx25: add NAND support
- mx25pdk: add NAND device support
- mxc: Add support for the Babbage board (i.MX5)
- mxc: Core support for Freescale i.MX5 series
- MXC: mach_armadillo5x0: Add USB Host support.
- MXC: mach-mx31_3ds: Add SPI1 device support.
- MXC: mach-mx31_3ds: add support for freescale mc13783 power management device.
- MXC: mach-mx31_3ds: Add support for on board NAND Flash.
- omap2/3/4: Replace orred CONFIG_ARCH_OMAP2/3/4 with CONFIG_ARCH_OMAP2PLUS
- omap2: Convert ARCH_OMAP24XX to ARCH_OMAP2
- omap3: Add platform data for the twl4030_codec MFD on IGEP v2
- omap3: Add platform init code for EHCI driver on IGEP v2
- omap3: Add support for flash on 3430SDP board
- omap3: Add support for flash on IGEP v2 board
- OMAP3: cpuidle: Add valid field into C-state parameter passing
- OMAP3: PM: Added support for L2 aux ctrl register save and restore
- OMAP3: PM: add scratchpad locking function
- omap3: Replace ARCH_OMAP34XX with ARCH_OMAP3
- OMAP3: RX-51: support sleep indicator LEDs
- omap4: Add auto-generated irq and dma headers
- OMAP4: IRQ: Add McPDM IRQ definition
- OMAP: DSS2: Add Sharp LQ043T1DG01 panel driver
- OMAP: DSS2: add Toppoly TDO35S panel
- OMAP: DSS2: OMAPFB: Remove FB_OMAP2_FORCE_AUTO_UPDATE
- omapfb: lcd_ams_delta: add support for contrast control
- OMAP: hwmod: add API for slave idlemode setting
- OMAP hwmod: add hwmod class support
- omap: musb: Add USB support to 4430 SDP board file
- OMAP: pandora: add DSS2 support and related regulators
- omap: zoom3: enable ehci support pca100: add sound support
Power
- powerpc/40x: Add support for PPC40x boards with > 512MB SDRAM
- powerpc/44x: Add MTD support (NOR FLASH) to Katmai dts
- powerpc/44x: Add MTD support to katmai defconfig
- powerpc/85xx: Add NOR, LEDs and PIB support for MPC8568E-MDS boards
- powerpc/86xx: Basic flash support for GE SBC610
- powerpc: Add last sysfs file and dump of ftrace buffer to oops printout
- powerpc: Add timer, performance monitor and machine check counts to /proc/interrupts
- powerpc/booke: Add definitions for advanced debug registers
- powerpc/booke: Add support for advanced debug registers
- powerpc/booke: Introduce new CONFIG options for advanced debug registers
- powerpc: doc/dts-bindings: document mpc5121 psc uart dts-bindings
- powerpc: doc/dts-bindings: update doc of FSL I2C bindings
- powerpc: Extended ptrace interface
- powerpc: Increase NR_IRQS Kconfig maximum to 32768
- powerpc/mpc5121: Add machine restart support
- powerpc/of: added documentation for spi chipselects
- powerpc/perf: e500 support
- powerpc/pseries: Pass more accurate number of supported cores to firmware
- powerpc: Remove IOMMU_VMERGE config option
- powerpc: Use lwsync for acquire barrier if CPU supports it
- rtc: Add MPC5121 Real time clock driver
Verschiedene andere Architekturen
- Blackfin: add support for cpufreq on SMP systems
- Blackfin: add support for irqflags tracing
- Blackfin: add support for the on-chip MAC status interrupts
- Blackfin: bf527-ezkit: add support for V2.1 boards
- Blackfin: initial tracehook support
- Blackfin: initial XIP support
- Blackfin: SMP: add PM/CPU hotplug support
- Blackfin: SMP: add support for IRQ affinity
- Blackfin: support new ftrace frame pointer semantics
- Blackfin: tcm-bf518: new board port
- dmaengine: shdma: add runtime PM support.
- dmaengine: shdma: separate DMA headers.
- m68k: Add NPTL support
- m68knommu: NPTL support for uClinux
- microblaze: Add support for Xilinx PCI host bridge
- microblaze: Add support from PREEMPT
- microblaze: Enable PCI, missing files
- microblaze: Preliminary support for dma drivers
- microblaze: Preliminary support for dma drivers
- microblaze: Support DMA
- MIPS: Alchemy: Add au1000-eth platform device
- MIPS: Alchemy: devboards: wire up new PCMCIA driver.
- MIPS: Alchemy: Extended DB1200 board support.
- MIPS: Alchemy: XXS1500 PCMCIA driver rewrite
- MIPS: Crazy spinlock speed test.
- MIPS: I2C: Add driver for Cavium OCTEON I2C ports.
- MIPS: Implement Read Inhibit/eXecute Inhibit
- MIPS: Octeon: Add I2C platform device.
- MIPS: Octeon: Use optimized memory barrier primitives.
- MIPS: Optimize spinlocks.
- MIPS: PCMCIA: new socket driver for Au1000 demoboards.
- MIPS: Preliminary VDSO
- MIPS/SOUND: Alchemy: DB1200 AC97+I2S audio support.
- MIPS: Support 36-bit iomem on 32-bit Au1x00
- MIPS: Two-level pagetables for 64-bit kernels with 64KB pages.
- omap2: add USB initialization for tusb6010
- pmac-zilog: add platform driver
- S390: add support for compressed kernels
- S390: add z9-ec/z10 instruction to kernel disassembler
- S390: cio: introduce cio_settle
- S390: dasd: automatic recognition of read-only devices
- S390: smsgiucv_app: deliver z/VM CP special messages (SMSG) as uevents
- serial: sh-sci: Add DMA support.
- sh: Add support for LZO-compressed kernels.
- sh: audio support for the sh7722 Migo-R board
- sh: default to extended TLB support.
- sh: Definitions for 3-level page table layout
- sh: enable sparseirq for highlander and r2d.
- sh: implement DMA_SLAVE capability in SH dmaengine driver
- sh: Improved multi-resource handling for SH7780 PCI.
- sh: kmemleak support.
- sh: Move over to dynamically allocated FPU context.
- sh: Optimise FDE/CIE lookup by using red-black trees
- sh: Preliminary SDK7786 board support.
- sh: reworked dynamic PMB mapping.
- sh: support PCI domains.
- sparc64: Add function graph tracer support.
- sparc64: If 'slot-names' property exist, create sysfs PCI slot information.
- sparc64: Support kmemleak. sunxvr500: Additional PCI id for sunxvr500 driver
ACPI
- ACPI: Battery: Add bit flags
- ACPI: Battery: Add support for _BIX extended info method
- ACPI dock: support multiple ACPI dock devices
- ACPI: plan to delete "acpi=ht" boot option
- ACPI / PM: Move ACPI video resume to a PM notifier
- ACPI: processor: add internal processor_physically_present()
- ACPI: processor: mv processor_core.c processor_driver.c
- ACPI: processor: remove early _PDC optin quirks
- ACPI: remove "acpi=ht" DMI blacklist
- ACPI: Use GPE reference counting to support shared GPEs POWER: Add support for cycle_count
Memory Management
- cgroups: add simple listener of cgroup events to documentation
- Documentation/vm/: split txt and source files
- failslab: add ability to filter slab caches
- memcg: add interface to move charge at task migration
- memcg: fix typos in memcg_test.txt
- memcg: handle panic_on_oom=always case
- memcg: implement memory thresholds
- memcg: move charges of anonymous swap
- memcg: update memcg_test.txt
- memcg: update memcg_test.txt to describe memory thresholds
- memory-hotplug: create /sys/firmware/memmap entry for new memory
- mm: add coherence API for DMA to vmalloc/vmap areas
- mm: avoid false sharing of mm_counter
- mm: count swap usage
- mm: document /proc/pagetypeinfo
- mm: document /sys/devices/system/node/nodeX
- MM: Pass a PTE pointer to update_mmu_cache() rather than the PTE itself
- SLUB: Use this_cpu operations in slub vmscan: detect mapped file pages used only once
PCI
- ACPI / PM: Add more run-time wake-up fields
- agp/intel: Add a new Sandybridge HB/IG PCI ID combo.
- agp/intel: Add support for Sandybridge.
- pci: Add SR-IOV convenience functions and macros
- PCI: Add support for reporting PCIe 3.0 speeds
- PCI: for address space collisions, show conflicting resource
- PCI PM: Make it possible to force using INTx for PCIe PME signaling
- PCI/PM Runtime: Make runtime PM of PCI devices inactive by default
- PCI quirk: RS780/RS880: disable MSI behind the PCI bridge
- PCI quirk: RS780/RS880: work around missing MSI initialization
- pcmcia: add locking documentation
- pcmcia: assert locking to struct pcmcia_device
- pcmcia: disable pcmcia ioctl for !ARM, prepare for removal
- pcmcia: use ops_mutex for rsrc_{mgr,nonstatic} locking
- pcmcia/yenta: add module parameter for O2 speedups
- PNPACPI: add bus number support
- PNPACPI: add window support
- resource: add bus number support
- resource: add window support
- x86/PCI: irq and pci_ids patch for Intel Cougar Point DeviceIDs
- x86/PCI: use host bridge _CRS info by default on 2008 and newer machines
Power Management
- [CPUFREQ] Processor Clocking Control interface driver
- cpuidle: Fix incorrect optimization
- PM: Add a switch for disabling/enabling asynchronous suspend/resume
- PM: Add facility for advanced testing of async suspend/resume
- PM: Allow PCI devices to suspend/resume asynchronously
- PM: Allow SCSI devices to suspend/resume asynchronously
- PM: Allow USB devices to suspend/resume asynchronously
- PM: Document device power attributes in sysfs
- PM / Hibernate: Really deprecate deprecated user ioctls
- PM: Provide generic subsystem-level callbacks
- PM / Runtime: Add sysfs switch for disabling device run-time PM
- PM / Runtime: Document power.runtime_auto and related functions
- PM: Start asynchronous resume threads upfront
- USB: implement non-tree resume ordering constraints for PCI host controllers
- sched: Fix sched_mv_power_savings for !SMT
- sched: Fix SMT scheduler regression in find_busiest_queue()
- sched: Remove USER_SCHED
Security
- crypto: md5 - Add export support
- crypto: pcrypt - Add pcrypt crypto parallelization wrapper
- hwrng: nomadik - Add hardware RNG driver
- hwrng: nomadik - Add platform device for rng in cpu-8815
- padata: Generic parallelization/serialization interface
- Security: add static to security_ops and default_security_ops variable
- selinux: allow MLS->non-MLS and vice versa upon policy reload TOMOYO: Add garbage collector.
Tracing
- ftrace: Add function names to dangling } in function graph tracer
- function-graph: Add tracing_thresh support to function_graph tracer
- kprobetrace, doc: Add the explanation to remove probe points
- kprobetrace, doc: Shell needs single quote to use $ character
- oprofile: remove EXPERIMENTAL from the config option description
- oprofile: remove tracing build dependency
- oprofile/x86: remove OPROFILE_IBS config option
- perf archive: Add documentation
- perf archive: Add helper script to package files needed to do analysis
- perf buildid-cache: Add new command to manage build-id cache
- perf buildid-list: Introduce --with-hits option
- perf diff: Fix support for all --sort combinations
- perf events: Remove CONFIG_EVENT_PROFILE
- perf_events, x86: Implement intel core solo/duo support
- perf_events, x86: Implement Intel Westmere support
- perf_events, x86: Improve x86 event scheduling
- perf lock: Fix and add misc documentally things
- perf lock: Introduce new tool "perf lock", for analyzing lock statistics
- perf: Make the install relative to DESTDIR if specified
- perf probe: Add lazy line matching support
- perf probe: Support --line option to show probable source-code lines
- perf probe: Update perf probe document
- perf probe: Use elfutils-libdw for analyzing debuginfo
- perf record: Add ID and to recorded event data when recording multiple events
- perf record: Introduce a symtab cache
- perf report: Add --hide-unresolved/-U command line option
- perf report: Add multiple event support
- perf/scripts: Add syscall tracing scripts
- perf/scripts: Fix supported language listing option
- perf/scripts: Tag syscall_name helper as not yet available
- perf session: Add storage for seperating event types in report
- perf tools: Cross platform perf.data analysis support
- perf tools: Do a few more directory handling optimizations
- perf tools: Handle relocatable kernels
- perf tools: Support tracepoint glob matching
- perf top: Teach it to autolocate vmlinux
- perf trace: Add -i option for choosing input file
- perf, x86: Enable Nehalem-EX support
- s390: Add pt_regs register and stack access API
- tracing: Add correct/incorrect to sort keys for branch annotation output
- tracing/kprobe: Drop function argument access syntax
- tracing/kprobes: Add short documentation for HAVE_REGS_AND_STACK_ACCESS_API
- tracing/kprobe: Update example output in documentation
- tracing: Remove CONFIG_TRACE_POWER from kernel config tracing: Unify arch_syscall_addr() implementations
Virtualisierung
- KVM: Add HYPER-V apic access MSRs
- KVM: enable PCI multiple-segments for pass-through device
- KVM: Implement bare minimum of HYPER-V MSRs
- KVM: MMU: Add tracepoint for guest page aging
- KVM: Plan obsolescence of kernel allocated slots, paravirt mmu
- KVM: powerpc: Change maintainer
- KVM: PPC: Add support for FPU/Altivec/VSX
- KVM: VMX: Add instruction rdtscp support for guest
- KVM: VMX: Enable EPT 1GB page support
- KVM: x86 emulator: Add Virtual-8086 mode of emulation
- virtio: Add memory statistics reporting to the balloon driver (V4)
- virtio_blk: add block topology support
- virtio: console: Add a new MULTIPORT feature, support for generic ports
- virtio: console: Add file operations to ports for open/read/write/poll
- virtio: console: Associate each port with a char device
- virtio: set pci bus master enable bit
- xen: add kconfig menu
Verschiedenes
- Add generic sys_ipc wrapper
- cgroup: implement eventfd-based generic API for notifications
- cgroup: introduce cancel_attach()
- cgroups: blkio subsystem as module
- cgroups: fix CONTENTS in cgroups documentation
- cgroups: fix procs documentation
- cgroups: subsystem module loading interface
- cgroups: subsystem module unloading
- checkpatch.pl: add union and struct to the exceptions list
- coredump: unify dump_seek() implementations for each binfmt_*.c
- DMA-API.txt: add dma_sync_single/sg API description
- DMA-API.txt: remove dma_sync_single_range description
- dma-mapping: dma-mapping.h: add dma_set_coherent_mask
- dma-mapping.h: add the dma_unmap state API
- doc: cpuset: Update the cpuset flag file
- Documentation: convert PCI-DMA-mapping.txt to use the generic DMA API
- Documentation/DMA-API.txt: remove deprecated function descriptions
- Documentation/email-clients.txt: update gmail information
- Documentation: remove the PCI DMA API description in DMA-API.txt
- Documentation: rename PCI-DMA-mapping.txt to DMA-API-HOWTO.txt
- Documentation: -stable rules: upstream commit ID requirement reworded
- Documentation/SubmitChecklist: add rule #1
- Documentation/timers/: split txt and source files
- Documentation/volatile-considered-harmful.txt: correct cpu_relax() documentation
- Document Linux's circular buffering capabilities
- driver-core: Add attribute argument to class_attribute show/store
- Driver core: Constify struct sysfs_ops in struct kobj_type
- Driver core: create lock/unlock functions for struct device
- Driver-Core: disable /sbin/hotplug by default
- elf coredump: add extended numbering support
- HOWTO: Updates on subsystem trees, patchwork, -next (vs. -mm)
- init/main.c: improve usability in case of init binary failure
- init: Open /dev/console from rootfs
- kconfig: Add LSMOD=file to override the lsmod for localmodconfig
- kconfig: Look in both /bin and /sbin for lsmod in streamline_config.pl
- kobject: documentation: Fix erroneous example in kobject doc.
- kobject: documentation: Update to refer to kset-example.c.
- lib: more scalable list_sort()
- MAINTAINERS: document and add "Q" patchwork queue entries
- Memory-mapped dw_spi driver
- rcu: 1Q2010 update for RCU documentation
- rcu: Accelerate grace period if last non-dynticked CPU
- rcu: Add RCU_CPU_STALL_VERBOSE to dump detailed per-task information
- rcu: Documentation update for CONFIG_PROVE_RCU
- rcu: Introduce lockdep-based checking to RCU read-side primitives
- rcu: Update docs for rcu_access_pointer and rcu_dereference_protected
- Revert "tty: Add a new VT mode which is like VT_PROCESS but doesn't require a VT_RELDISP ioctl call"
- scripts/checkpatch.pl: add WARN on sizeof(andfoo)
- scripts/get_maintainer.pl: add ability to read from STDIN
- scripts/get_maintainer.pl: add --file-emails, find embedded email addresses
- scripts/get_maintainer.pl: add --sections, print entire matched subsystem
- scripts/get_maintainer.pl: change --sections to print in the same style as MAINTAINERS
- spi: Add Freescale/Motorola Coldfire QSPI driver
- spi: Add SPI master driver for DaVinci/DA8xx
- sysdev: Pass attribute in sysdev_class attributes show/store
- sysfs: Cache the last sysfs_dirent to improve readdir scalability v2
- sysfs: Remove sysfs_get/put_active_two this_cpu: Page allocator conversion
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)