[go: up one dir, main page]

|
|
Log in / Subscribe / Register

2.6.34 Merge window, part 1

By Jonathan Corbet
March 3, 2010
As of this writing, the 2.6.34 merge window is open, with 4480 non-merge changeset accepted so far. As usual, your long-suffering (i.e. slow learning) editor has read through all of them in order to produce this summary of the most interesting changes. Starting with user-visible changes:

  • The asynchronous suspend/resume patches have been merged, hopefully leading to better power usage. There is a new switch (/sys/power/pm_async) allowing this feature to be turned on or off globally; per-device switches have been added as well.

  • The new "perf lock" command can generate statistics of lock usage and contention.

  • Python scripting support has been added to the perf tool.

  • Dynamic probe points can now be placed based on source line numbers as well as on byte offsets.

  • The SuperH architecture has gained support for three-level page tables, LZO-compressed kernels, and improved hardware breakpoints.

  • Support for running 32-bit x86 binaries has been removed from the ia64 (Itanium) architecture code. It has, evidently, been broken for almost two years, and nobody noticed.

  • The "vhost_net" virtual device has been added. Like the once-proposed vringfd() system call, vhost_net allows for efficient network connections into virtualized environments.

  • The networking layer now supports the RFC5082 "Generalized TTL Security Mechanism," a denial-of-service protection for the BGP protocol.

  • The netfilter subsystem now supports connection tracking for TCP-based SIP connections.

  • The DECnet code has been orphaned, meaning that there is no longer a maintainer for it. The prevailing opinion seems to be that there are few or no users of this code left. If there are users interested in DECnet support on contemporary kernels, it might be good for them to make their existence known.

  • Support for IGMP snooping has been added to the network bridge code; this support enables the selective forwarding of multicast traffic.

  • There is the usual pile of new drivers:

    • Processors and systems: RTE SDK7786 SuperH boards, Bluewater Systems Snapper CL15 boards, Atmel AT572D940HF-EK development boards, Nuvoton NUC93X CPUs, Atmel AT572D940HF processors, and Timll DevKit8000 boards.

    • Input: Logitech Flight System G940 joysticks, Stantum multitouch panels, Quanta Optical Touch dual-touch panels, 3M PCT touchscreens, Ortek WKB-2000 wireless keyboard + mouse trackpads, MosArt dual-touch panels, Apple Wireless "Magic" mouse devices, IMX keypads, and NEXIO/iNexio USB touchscreens.

    • Media: Sonix SN9C2028 cameras, cpia CPiA (version 1)-based USB cameras, Micronas nGene PCIe bridges, AZUREWAVE DVB-S/S2 USB2.0 (AZ6027) receivers, Telegent tlg2300 based TV cards, Texas Instruments TVP7002 video decoders, Edirol UA-101 audio/MIDI interfaces, Media Vision Jazz16-based sound cards, Dialog Semiconductor DA7210 Soc codecs, Wolfson Micro WM8904, WM8978, WM8994, WM2000, and WM8955 codecs, and SH7722 Migo-R sound devices.

    • Network: Intel 82599 Virtual Function Ethernet devices, Qlogic QLE8240 and QLE8242 Converged Ethernet devices, PLX90xx PCI-bridge based CAN interfaces, Micrel KSZ8841/2 PCI Ethernet devices, Atheros AR8151 and AR8152 Ethernet devices, and Aeroflex Gaisler GRETH Ethernet MACs.

    • Miscellaneous: Coldfire QSPI controllers, DaVinci and DA8xx SPI modules, ST-Ericsson Nomadik Random Number Generators, Freescale MPC5121 built-in realtime clocks, TI CDCE949 clock synthesizers, and iMX21 onboard USB host adapters.

Changes visible to kernel developers include:

  • The virtio layer has gained a number of new features intended to improve performance and efficiency on virtualized systems. There is a new memory statistics mechanism allowing the hypervisor to make smarter adjustments to memory sizes. Block topology support has been added, enabling more efficient block I/O.

  • The human interface device layer has been extended to deal with devices with truly vast numbers of buttons.

  • The long-deprecated pci_find_device() function has been removed, along with the CONFIG_PCI_LEGACY configuration option.

  • Two new functions have been added - flush_kernel_vmap_range() and invalidate_kernel_vmap_range() - to enable the safe use of DMA to memory areas allocated with vmalloc(). See Documentation/cachetlb.txt for details.

  • The lockdep RCU patches have been merged, allowing the automated checking of read-side RCU locking.

  • The new function:

        list_rotate_left(struct list_head *head);
    
    Will rotate a list one element to the left.

  • The blk_queue_max_sectors() accessor function has been renamed to blk_queue_max_hw_sectors().

  • Perf events are now supported with the ARMv6 and ARMv7 processors.

  • Input devices can have a new filter() function which can be used to prevent specific events from reaching user space. There is also a new match() function to give drivers better control over the matching of devices to handlers.

  • The i2c layer has support for SMBus "alerts," whereby multiple slaves can share an interrupt pin but still communicate which slave is actually interrupting.

The merge window is normally open for two weeks, but Linus has suggested that it might be a little shorter this time around. So, by the time next week's edition comes out, chances are that the window will be closed and the feature set for 2.6.34 will be complete. Tune in then for a summary of the second half of this merge window.

Index entries for this article
KernelReleases/2.6.34


to post comments


Copyright © 2010, Eklektix, Inc.
This article may be redistributed under the terms of the Creative Commons CC BY-SA 4.0 license
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds