|
|
Subscribe / Log in / New account

3.1 merge window part 1

By Jonathan Corbet
July 27, 2011
As of this writing, almost 5,400 non-merge changesets have been pulled into the mainline repository for the 3.1 development cycle. It's a wide-ranging set of changes, but many of them are cleanups - almost 600 of those changes have the word "remove" in the title, and the total growth of the kernel is less than 5,000 lines. A number of trees remain unpulled, though, so there is plenty of scope for the kernel to grow yet.

User-visible changes merged for 3.1 include:

  • Xen has gained a couple of new guest memory management techniques called "self-ballooning" and "frontswap-selfshrinking." Both use transcendent memory to try to improve memory performance and smooth out usage spikes.

  • The Xen PCI backend driver - allowing the kernel to export PCI devices to guests - has been merged.

  • The Xen balloon driver now supports memory hotplug.

  • There are a number of enhancements to the IPset including a mechanism to store network addresses and interface names together as named pairs, adjustable timeouts for SET targets, and more.

  • The BATMAN-adv protocol (covered here in February) has gained a better roaming mechanism, improved client announcement, and some performance improvements.

  • The networking layer has a new "fanout" feature; using setsockopt(), packets captured from an AF_PACKET socket can be divided among multiple processes. A number of policies describing how packets are "fanned out" are supported.

  • The BPF JIT compiler now supports the PowerPC architecture.

  • The ptrace() system call has been augmented with some new commands, starting with PTRACE_SEIZE, which is like PTRACE_ATTACH but does not trap the traced process or change its signal state. PTRACE_INTERRUPT will stop a traced process without creating confusion with signals. PTRACE_LISTEN allows the traced process to receive certain events even though it is in a stopped state. All of these options are considered to be under development; a special PTRACE_SEIZE_DEVEL flag must be provided by user space to acknowledge an understanding that things might change.

  • The lseek() system call now implements SEEK_HOLE and SEEK_DATA; these operations can be used to locate extended blocks of zeroes within files.

  • Architecture support for the OpenRISC CPU has been added.

  • A number of writeback-improvement changes have gone in, including dynamic estimation of backing store bandwidth and a determined attempt to make use of most of that bandwidth.

  • The iwlagn driver now has WoWLAN (wakeup on wireless LAN) support.

  • New drivers:

    • Processors and systems: CSR SiRFSoC PRIMA2 ARM Cortex A9 boards, Xilinx Zynq ARM Cortex A9 boards, Wolfson Cragganmore 6410 CPU modules, and Marvell PXA168 GuruPlug Display (gplugD) boards. Also, low-level support for the OLPC XO-1 laptop has finally been merged.

    • Audio: Analog Devices ADAU1701 SigmaDSP codecs, Analog Devices ADAV801 and ADAV803 audio codecs, ST STA32x 2.1-channel digital audio systems, Wolfson WM8983 codecs, and Creative CA0132 codecs.

    • Block: Brocade-1860 fabric adapters.

    • Input: Speedlink VAD Cezanne mice.

    • Miscellaneous: Cirrus Logic EP93xx M2P/M2M DMA controllers, SMSC SCH5636 Super I/O hardware monitor chips, AMS369FG06 AMOLED LCD controllers, FSA9480 micro USB switches, Microwire 93XX46 EEPROM controllers, Qualcomm PMIC8XXX realtime clock modules, Analog Devices AD5686R/AD5685R/AD5684R digital to analog converters, and Analog Devices AD7792 and AD7793 analog to digital converters.

    • Network: Low-level CAIF-over-HSI network devices, Faraday FTGMAC100 Gigabit Ethernet adapters, and NXP PN533 near-field communication adapters.

    • USB: PLX NET2272 controllers.

Changes visible to kernel developers include:

  • A general-purpose CRC8 generation library has been added.

  • The networking layer has gained generic support for near-field communication (NFC) devices. See Documentation/networking/nfc.txt for details.

  • The power management callbacks found in struct dev_pm_ops have been augmented with a whole set of "noirq" versions. The power domains subsystem uses these callbacks for system-wide power transitions.

  • The cleanup of the ARM tree continues, with a lot of code duplication resolved and the removal of some unused machine types.

  • The check_acl() inode operation has been replaced by get_acl(), whose job is to simply fetch the access control list from disk. Actual checking of ACLs is now done in the core VFS code.

  • The checkpatch.pl script has a new --ignore option to turn off various types of messages.

It is not clear when this merge window will close; Linus is about to go on vacation, and, as he has noted, connectivity tends to be poor when one is under water in scuba gear. If he is unable to get everything merged while he is traveling, the merge window may be extended a little past the normal two weeks. Or he could decide he has pulled enough and close things early. Stay tuned for an update next week.

Index entries for this article
KernelReleases/3.1


to post comments

3.1 merge window part 1

Posted Jul 30, 2011 11:24 UTC (Sat) by rjw@sisk.pl (subscriber, #39252) [Link]

> The power management callbacks found in struct dev_pm_ops have been
> augmented with a whole set of "noirq" versions. The power domains
> subsystem uses these callbacks for system-wide power transitions.

To be precise, what happened was that generic implementations of the
"noirq" callbacks were introduced and added to generic_subsys_pm_ops.
The "noirq" callback pointers have always been there in struct dev_pm_ops.

More importantly, however, a new framework for representing and handling
generic power management domains have been added (the headers are located
in include/linux/pm_domain.h and the code is in driver/base/power/domain.c).
It does use the new generic "noirq" routines, but that's not the most
important part of it. :-)


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