3.1 merge window part 1
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
- 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.
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.
Brocade-1860 fabric adapters.
Speedlink VAD Cezanne mice.
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
Analog Devices AD7792 and AD7793 analog to digital converters.
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
- 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
- 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
- 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.
to post comments)