Kernel Log: Coming in 2.6.34 (Part 4) - Architecture and Virtualisation
by Thorsten Leemhuis
Faster suspend and resume, better utilisation of power saving mechanisms for I/O devices and a range of performance enhancements are just some of the kernel infrastructure changes in Linux 2.6.34.
On Sunday, Linus Torvalds released the seventh pre-release version of Linux 2.6.34. The release announcement indicates that he expects it to be the last release candidate, suggesting that the next kernel version from the main development tree is likely to see the light of day late this or early next week. It is not, however, uncommon for Torvalds to slip out another version despite pronouncements to the contrary, pushing back the final kernel release by several days.
Kernel Log is taking the opportunity to continue its reporting on the changes in Linux 2.6.34. This fourth and penultimate article in the "Coming in 2.6.34" series deals with changes relating to code for the various processor architectures, tracing, virtualisation and other facets of kernel infrastructure. Parts one, two and three of this series were devoted to the major changes in the network support, file system and graphics hardware fields.
PCI and power management
Following Torvald's rejection of asynchronous suspend and resume patches in 2.6.33, he has now merged a revised version into 2.6.34 without fuss. These patches cause the kernel to suspend certain system components in parallel and wake them simultaneously. This should reduce sleep and wake times when using ACPI S3 / suspend-to-ram and hibernate / suspend-to-disk modes. More information on this can be found in the LWN.net article "Redesigning asynchronous suspend/resume".
The kernel has previously offered only rudimentary support for utilising power saving technologies on I/O devices at runtime. In Linux 2.6.34 this has been significantly revamped and expanded (e. g. 1, 2, 3). The code which performs this task, which has long been in the USB subsystem, now makes use of the new generic functions. The new energy saving functions are, however, deactivated by default.
In addition, the PCI subsystem also sees changes affecting resource allocation. In his main git pull request subsystem maintainer Jesse Barnes was optimistic that this would not lead to any problems.
Memory management, virtualisation and tracing
A change developed primarily by Yinghai Lu means that the kernel no longer relies on the 'bootmem allocator' previously used when booting on x86 systems, with the result that x86 kernels can now start with three, rather than four, memory allocation mechanisms. There have also been a number of other enhancements to memory management aimed at improving performance and scalability (e.g. 1, 2). Some of these changes gave rise to problems elsewhere, tracing their causes required several days of painstaking work by Torvalds and other developers, delaying the release of RC3 by a week. More detailed information and an in-depth look at the memory subsystem can be found in the LWN.net article "The case of the overly anonymous anon_vma".
The vmware_balloon driver was merged into the kernel well after the merge window closed. It allows the amount of memory VMware makes available to guest systems to be adjusted at runtime. Vhost-Net and Macvtap, technologies for increasing network performance in virtualisation solutions such as KVM and Lguest, are new in 2.6.34 and have already been dealt with in the first part of the "Coming in 2.6.34" series. The first parts of a Hyper-V emulator have also been added to the KVM code.
As in previous kernel versions, 2.6.34 sees dozens of enhancements in the tracing code and performance events which can be used for analysing kernel processes at runtime. 'Jump optimisation' (1, 2, 3, documentation), for example, should, according to Ingo Molnar's git pull request, significantly accelerate kprobes code. He lists other important tracing-related changes in a second merger request for a collection of patches he has put together. The perf code now includes a Python scripting engine (1, documentation) – background information can be found in the LWN.net article "Scripting support for perf". The perf code also now supports recently launched processors containing Westmere cores, including Intel's dual-core i3 and i5 core series processors.
In brief
- Kernel hackers have significantly extended support for the recently released Moorestown platform, Intel's attempt to establish a foothold in areas dominated by ARM processors, such as the smartphone and tablet markets.
- A change in Lkdtm now allows kernel crashes to be provoked for purposes such as simulating behaviour during a system crash.
- The relatively new Devtmpfs is no longer considered experimental.
- Kernel developers have removed the x86-32 emulation for Itanium processors, as, despite not having worked since May 2008, no complaints have been received.
- A change which fixes the recently disclosed performance problem on AMD's recently introduced Turbo Core processors has also been merged. Full support for the technology, which increases processor speed at low utilisations, is expected to find its way into 2.6.35.
Minor gems
Many further minor, but by no means insignificant, changes can be found in the list below, which contains the commit headers referring to the respective change. Like many of the references in the text above, the links point to the relevant commit in the web front end of the Git branch for the kernel sources maintained by Linus Torvalds at kernel.org. The commit comments and the patches themselves provide further extensive information on the respective changes.
Architecture-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
Various other architectures
- 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 controllersProzess-Scheduler
- 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
Virtualisation
- 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
Miscellaneous
- 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
For other articles on 2.6.34 and links to the rest of the "Coming in 2.6.34" series, see The H's Kernel Log - 2.6.34 Tracking page. New editions of Kernel Logs are also mentioned on Identi.ca and Twitter via "@kernellog2". The Kernel Log author also posts updates about various topics on Identi.ca and Twitter via "@kernellogauthor".
(crve)