|
|
Subscribe / Log in / New account

3.6 merge window part 1

By Jonathan Corbet
July 25, 2012
Linus traditionally waits for a day or so after a major release before beginning to merge patches for the next cycle, but, with 3.6, he started right in. As of this writing, some 4,300 non-merge changesets have been pulled into the mainline; much of the activity thus far has been from the networking and ARM subsystems. Significant user-visible changes include:

  • The perf events subsystem now has support for the "uncore" performance measurement unit on Intel Nehalem and Sandy Bridge CPUs.

  • The x86 architecture now supports the reboot=bios and reboot-cpu command-line options on 64-bit processors (as well as on 32-bit, which has been supported for a long time)

  • "Suspend to both" support allows the system to be suspended after writing a hibernation image to disk. Then, should power run out before the suspended system is resumed, it can be restarted from the disk image instead.

  • The CANFD extension to the controller area network (CAN) protocol is now supported.

  • Numerous netfilter modules have gained proper namespace support. The netfilter user-space connection tracking helper infrastructure has also been merged.

  • The Bluetooth layer now has "three-wire UART" support, enabling Bluetooth operations over serial port connections.

  • The TCP small queues patch set, another piece of the solution to the bufferbloat problem, has been merged.

  • The TCP fast open protocol extension has been merged. TCP fast open is a patch out of Google that reduces the overhead of TCP connection setup, hopefully making protocols like HTTP go faster.

  • A long effort to remove the IPv4 routing cache from the networking subsystem has come to its conclusion. David Miller wrote:

    The ipv4 routing cache is non-deterministic, performance wise, and is subject to reasonably easy to launch denial of service attacks. The routing cache works great for well behaved traffic, and the world was a much friendlier place when the tradeoffs that led to the routing cache's design were considered.

    What it boils down to is that the performance of the routing cache is a product of the traffic patterns seen by a system rather than being a product of the contents of the routing tables.

    The replacement code simplifies the networking subsystem and, hopefully, gives better performance on high-volume systems.

  • New hardware support includes:

    • Processors and systems: Freescale BSC9131RDB reference boards, Altera SOCFPGA Cyclone V systems, Marvell Armada 370 and Armada XP boards, TI OMAP5 processors, TI EVMC6678LE evaluation boards, and Freescale (Motorola) Coldfire 5251/5253 and 5441x processors.

    • Audio: TI Isabelle audio ICs, ST-Ericsson AB8500 codecs, Dialog DA732x audio codecs Wolfson Micro WM5102 and WM5110 audio controllers, and ST STA529 audio amplifiers.

    • Input: Lenovo ThinkPad USB keyboards with trackpoint and Roccat Savu gaming mice.

    • Miscellaneous: Samsung S2MPS11 voltage regulators, Maxim 77686 voltage regulators, TI/National Semiconductor LP8720/LP8725 voltage regulators, Dialog Semiconductor DA9052 PMICs, Honeywell Humidicon HIH-6130/HIH-6131 humidity sensors, Wolfson Micro WM831x and WM832x PMICs, and NVIDIA Tegra20 APB DMA controllers.

    • Networking: RealTek rt3290 WiFi controllers, Sony PaSoRi contactless reader NFC controllers, Atmel RF230/231 radio transceivers, Broadcom BCM8706 and BCM8727 PHYs, and Asix AX88172A USB 2.0 Ethernet interfaces.

Changes visible to kernel developers include:

  • The obsolete static_branch() interface has been removed in favor of static_key_true() and static_key_false(). Some information on this interface can be found in this article.

  • Some initial work has been done to separate the dynamic tick code from the idle task, setting the ground for stopping the timer tick on non-idle CPUs.

  • The power domains subsystem has seen some integration with the cpuidle code to handle situations where devices share power lines with CPU cores.

  • The VFS layer has seen some significant changes. There is a new atomic_open() inode operation that combines the process of looking up, possibly creating, and opening a file into a single, atomic operation. The whole "open intents" mechanism has been removed. Numerous other operations have had prototype changes. The deferred fput() changes have been merged, simplifying the process of cleaning up file structures.

  • The PowerPC architecture now supports the jump label mechanism.

  • The NLMSG_NEW() and NLMSG_PUT() macros have been removed from the netlink interface.

  • The input subsystem has a new interface for the creation of user-space drivers; see Documentation/hid/uhid.txt for details.

  • There is a new grouping mechanism for I/O memory management units intended to help enable safe device access to virtualized guests.

This merge window can be expected to last until sometime around August 4, so there is quite a bit of code that can be expected to find its way into the mainline before the -rc1 release happens. See next week's Kernel Page for coverage of the continuation of the 3.6 merge window.

Index entries for this article
KernelReleases/3.6


to post comments

3.6 merge window part 1

Posted Jul 26, 2012 22:54 UTC (Thu) by broonie (subscriber, #7078) [Link]

The wm831x and wm832x support has been there since 2.6.31 or something like that. Perhaps confusion with the MFD bits of the Arizona devices?

3.6 merge window part 1

Posted Jul 27, 2012 7:45 UTC (Fri) by ras (subscriber, #33059) [Link]

The suspend to both sounds like a useful addition. But for me suspend has always worked well. Now if they could make it to wake up reliably, then I'd be overjoyed.


Copyright © 2012, 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