|
|
Subscribe / Log in / New account

4.1 Merge window, part 2

By Jonathan Corbet
April 22, 2015
As of this writing, just over 9,800 non-merge changesets have been pulled into the mainline repository for the 4.1 development cycle; that's about 6,200 since last week's summary. Quite a few new features have been added as a result of all that merging; some of the most interesting, user-visible additions include:

  • The simple persistent-memory driver has been merged, improving the kernel's support for large, non-volatile RAM devices.

  • Support for file and directory encryption in the ext4 filesystem has been pulled into the mainline.

  • Multi-user operation is now optional: the patch set removing support for non-root users has been merged. This feature is mostly useful for those building dedicated kernels for tiny embedded systems.

  • The cls_bpf networking traffic-control classifier can now apply extended BPF (eBPF) programs to packets. As shown in this commit, this can allow the writing of arbitrary filter routines in C that are then translated to eBPF for execution in the kernel. The act_bpf module can run eBPF programs now as well. These programs can, with either module, make changes to packets via the new bpf_skb_store_bytes() function. The eBPF engine has also gained the ability to access selected fields from the socket buffer (SKB) data structure.

  • Basic packet routing using the multiprotocol label switching (MPLS) mechanism is now supported.

  • The kernel has gained support for RFC 7217 IPv6 "semantically opaque interface identifiers."

  • The maintainer of the Smack security module has reluctantly added a "bringup mode" that can be used to debug security configurations. "So, it's there, it's dangerous, but so many application developers seem incapable of living without it I have given in. I've tried to make it as safe as I can, but in the end it's still a chain saw."

  • User-mode Linux has seen its support for multiprocessing and highmem ripped out. Neither feature worked well (if at all) and both were maintenance burdens.

  • The kernel's "execution domain" support has been removed. The idea behind this feature was to allow the provision of non-Linux "personalities," but it has never seen much use or worked all that well.

  • The "zram" block device can now perform compression of block data. (See this article for details on zram).

  • The MIPS architecture has gained support for "XPA" addressing, allowing physical memory addresses up to 40 bits in length to be accessed on 32-bit systems.

  • The device mapper can now operate as a multiqueue block device, increasing its scalability. This feature is currently disabled by default, but can be turned on with the CONFIG_DM_MQ_DEFAULT configuration variable.

  • The "virtual GEM" graphics memory manager has been merged into the direct-rendering subsystem. It provides memory management for a virtual graphical device that can be useful for code doing rendering in software.

  • New hardware support includes:

    • Processors and systems: IMG Pistachio SoC-based boards, MIPS common device memory map buses, Marvell Armada 39x boards, Annapurna Labs Alpine platforms, and Xilinx ZynqMP SoCs.

    • Audio: Maxim max98925 codecs.

    • Clock: Marvell Armada 39x SoC clocks and Qualcomm MSM8916 global clock controllers.

    • Miscellaneous: Broadcom iProc RNG200 random-number generators, Broadcom BCM7038-style Level 1 interrupt controllers, Imagination Technologies hardware hash accelerators, STMicroelectronics ST33ZP24 TPM security chips, Qualcomm PM8941 LED controllers, Conexant Digicolor CX92755 realtime clocks, MIPS EJTAG fast debug channel TTY ports, Altera GPIO controllers, Parade DisplayPort-to-LVDS bridges, High-speed UARTs with DMA controllers, Ingenic JZ4780 SoC NAND/external memory controllers, Maxim MAX77843 micro USB interface controllers, and VMware virtual mice.

    • Networking: NXP Semiconductors NCI near-field communications controllers.

    • Video4Linux: LG Electronics LGDT3306A demodulators, Hauppauge HVR-955Q ATSC/QAM tuners, TechnoTrend TT-connect S2-4600 DVB-S/S2 tuners, Omnivision OV2659 sensors, and Xilinx video subsystems.

Changes visible to kernel developers include:

  • The aio_read() and aio_write() methods have been removed from the file_operations structure. The (relatively) new read_iter() and write_iter() methods should be used instead.

  • As usual, see Daniel Vetter's summary for a complete list of changes to the Intel i915 graphics driver.

  • The HD-audio subsystem has been reorganized around a new "hdaudio" bus that simplifies much of the device management and binding code.

  • There is a new "log writes" target for the device mapper that logs all write operations to a block device. It is meant for filesystem debugging; see Documentation/device-mapper/log-writes.txt for details.

  • The new GPIO "hogging" mechanism can be used to easily (and permanently) wire the state of a specific GPIO line without the need for driver code; see this documentation patch for details.

At this point, most of the major trees have been pulled and the merge window is drawing toward a close. If the usual schedule is followed, that closing will happen (and 4.1-rc1 will be released) on April 26.

Index entries for this article
KernelReleases/4.1


to post comments


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