|
|
Subscribe / Log in / New account

3.8 Merge window part 2

By Jonathan Corbet
December 19, 2012
Linus has been busy in the last week; as of this writing, some 6200 changesets have been pulled into the mainline repository since last week's summary. As a result, just over 10,000 changes have been merged overall, making 3.8 the busiest merge window ever and the first to exceed 10,000 patches. And the merging process is not done yet.

Quite a few significant changes have been merged. Among other things, we have seen a decision made on how the development of better NUMA balancing will proceed. Without further ado, the most significant user-visible changes merged in the last week include:

  • The disagreement over how the kernel's NUMA performance problems should be addressed was partially resolved when Ingo Molnar agreed that Mel Gorman's "balancenuma" patch set should be merged as a base for future development. Balancenuma is intended to get the fundamental infrastructure in place to allow experimentation with placement and migration policies; it adds little in the way of such policies itself. That base code has been merged for 3.8; expect policy-oriented code to be pushed for the 3.9 development cycle.

  • The huge zero page feature has been merged, greatly reducing memory usage for some use cases.

  • The kernel memory usage accounting infrastructure has been merged, allowing the placement of limitations on kernel memory use by any specific control group. See the updated Documentation/cgroups/memory.txt file for details on how to use this feature.

  • The inline data patch set has been merged into the ext4 filesystem. Ext4 can now store data for small files directly in the inode, improving performance and space efficiency. Ext4 also now supports the SEEK_HOLE and SEEK_DATA lseek() operations.

  • The Btrfs filesystem has a new "replace" operation to allow the efficient replacement of a single drive in a volume.

  • The tmpfs filesystem now supports the SEEK_HOLE and SEEK_DATA lseek() operations.

  • The user namespace completion patch set has been pulled. Eric Biederman says: "This set of changes adds support for unprivileged users to create user namespaces and as a user namespace root to create other namespaces. The tyranny of supporting suid root preventing unprivileged users from using cool new kernel features is broken."

  • The new system call:

        int finit_module(int fd, const char *args, int flags);
    

    can be used to load a kernel module from the given file descriptor. This call was added by the ChromeOS developers so that they can accept or reject a module depending on where it is stored in the filesystem.

  • The batman-adv mesh networking subsystem has gained distributed ARP table support.

  • The tun/tap network driver and the virtio net driver both now support multiple queues per device.

  • The QFQ packet scheduler has been upgraded to "QFQ+", which is said to be faster and more capable; see this paper [PDF] for details.

  • The s390 architecture has gained support for attached PCI buses.

  • UEFI boot-time variables are now accessible via the new "efivars" virtual filesystem.

  • The ptrace() system call has a new option flag, PTRACE_O_EXITKILL, which causes all traced processes to receive a SIGKILL signal if the tracing process exits unexpectedly.

  • New hardware support includes:

    • Audio: Wolfson Microelectronics WM8766 and WM8776 codecs, Philips PSC724 Ultimate Edge sound cards, Freescale / iVeia P1022 RDK boards, Maxim max98090 codecs, and Silicon Laboratories 476x AM/FM radio chips.

    • Block: LSI MPT Fusion SAS 3.0 host adapters, and Chelsio T4-based 10Gb adapters (FCoE offload support).

    • Graphics: NVIDIA Tegra20 display controllers and HDMI outputs.

    • Input: ION iCade arcade controllers, Wolfson Microelectronics "Arizona" haptics controllers, Roccat Lua gaming mice, TI ADC/touchscreen controllers, and Dialog Semiconductor DA9055 ONKEY controllers. The kernel has also gained support for human input devices connected via i²c as described in this document downloadable from Microsoft.

    • Miscellaneous: TI TPS51632 power regulators, TI TPS80031/TPS80032 power regulators, Versatile Express power regulators, Versatile Express hardware monitoring controllers, Maxim MAX8973 voltage regulators, Dialog Semiconductor DA9055 regulators, NXP Semiconductor PCF8523 realtime clocks (RTCs), Dialog Semiconductor DA9055 RTCs, CLPS711X host SPI controllers, Nvidia Tegra20/Tegra30 SLINK controllers, Nvidia Tegra20 serial flash controllers, Nokia RX-51 (N900) battery controllers, Solomon SSD1307 OLED controllers, Nano River Technologies Viperboard multifunction controllers, Nokia "Retu" multifunction controllers, AMS AS3711 power management chips, and Nokia CBUS-attached devices.

    • Network: CDC mobile broadband interface model USB-attached adapters, Atheros AR5523-based wireless adapters, Realtek RTL8723AE wireless adapters, Aeroflex Gaisler GRCAN and GRHCAN CAN controllers, and Kvaser CAN/USB interfaces.

    • Video4Linux: Samsung S3C24XX/S3C64XX SoC camera interfaces (full-memory write access not required).

In contrast with the large number of new features, the number of significant internal changes has been relatively small. Changes visible to kernel developers include:

  • The Video4Linux2 layer now supports the use of shared DMA buffers for frame I/O. See the DocBook documentation for details on how to use this feature. Also: the videobuf2 subsystem now supports the use of scatterlists with user-space buffers in the "contiguous" DMA mode.

  • The input subsystem supports the use of "managed" devices via the new devm_input_allocate_device() function.

One feature that has not been merged is RAID5/6 support for the Btrfs filesystem. Those patches are being prepared for the mainline, though, and can be expected in the 3.9 cycle. Meanwhile, the merge window could stay open until as late as December 24, though Linus has threatened to close it early. The final changes to be merged for 3.8 will be summarized once that closure has happened.

Index entries for this article
KernelReleases/3.8


to post comments

3.8 Merge window part 2

Posted Dec 23, 2012 14:53 UTC (Sun) by paravoid (subscriber, #32869) [Link]

It's funny how there is a lwn.net link for Documentation/cgroups/memory.txt that in turn references an LWN article as an explanation of what memory cgroups are. Reminds me of http://xkcd.com/978/ :-)


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