|
|
Subscribe / Log in / New account

4.11 Merge window part 2

By Jonathan Corbet
March 1, 2017
As of this writing, 10,132 non-merge changesets have been pulled into the mainline repository since the opening of the 4.11 merge window; about 5,700 of those were pulled after last week's summary was written. While much of that work was focused on internal cleanups and device support, there were a few interesting new features added as well. Among the user-visible changes are:

  • A set of swapping scalability patches has been merged. Swapping is becoming more interesting as the speed of persistent storage devices increases, but that speed is exposing some scalability issues in the swap code that were never worth fixing before. With 4.11, swapping to persistent-memory devices should perform significantly better.

  • The x86 architecture can now provide transparent huge page support for PUD-size (1GB) pages through the DAX direct-access interface. There is not support for regular anonymous pages at this time.

  • There is a new defragmentation policy available for use with transparent huge pages. If the administrator writes the new value defer+madvise to /sys/kernel/mm/transparent_hugepage/defrag, the default behavior will be to do defragmentation in the kcompactd kernel thread. A process that wants huge pages badly enough to be willing to wait for them, though, can call madvise(MADV_HUGEPAGE) to ask the memory-management system to go into direct reclaim if necessary to make huge pages available.

  • There are two new namespace-oriented ioctl() commands: NS_GET_NSTYPE returns the type of a namespace, while NS_GET_OWNER_UID returns the owner of a namespace.

  • There is a new control-group controller for access to RDMA resources and bandwidth. See this commit for documentation.

  • Security labels for NFS-exported filesystems are now off by default, a change from previous kernels. As NFS maintainer Bruce Fields put it: "But, having them on by default is a disaster, as it generally only makes sense if all your clients and servers have similar enough selinux policies".

  • New hardware support includes:

    • Audio Broadcom BCM2835 audio interfaces, Intel HDMI LPE Atom audio interfaces, Nuvoton NAU85L40 audio codecs, and Allwinner SUN8I audio codec.

    • Clock: HiSilicon Hi3660 clocks, IDT VersaClock5 programmable clock generators, Allwinner V3s and sun5i clock control units, and ST Microelectronics STM32 realtime clocks.

    • Crypto: MediaTek EIP97 cryptographic engines, Cavium cryptographic accelerators, and Broadcom symmetric crypto/hash accelerators.

    • GPIO: Cortina Systems Gemini GPIO controllers, Exar XR17V352/354/358 GPIO controllers, and ACCES PCI-IDIO-16 GPIO controllers.

    • Industrial I/O: Texas Instruments ADS7950 analog-to-digital converters (ADCs), Texas Instruments TLC4541 ADCs, AVIA HX711 ADCs, Maxim max11100 ADCs, Renesas R-Car gyro ADCs, Amlogic Meson SAR ADCs, Capella CM3605 ambient light and proximity sensors, TI TMP007 infrared thermopile sensors, STMicroelectronics LSM6DSx inertial modules, Maxim MAX5481-MAX5484 digital potentiometers, ChromeOS EC barometers, and Devantech SRF08 ultrasonic ranger sensors.

    • Miscellaneous: Intel INT3496 ACPI OTG ports, Maxim DS2405 addressable switches, Motorola CPCAP power-management ICs, Zeitec ZET6223 I2C touchscreen controllers, Samsung Exynos PCIe PHYs, MIPI display bus interface LCD controllers, STMicroelectronics STM32F4 I2C controllers, NVIDIA Tegra BPMP I2C controllers, Cortina systems Gemini (SL3516) SoC watchdogs, and ZTE zx2967 SoC watchdogs.

    • Networking: Broadcom NetXtreme-E 10/25/40/50G RDMA adapters.

    • USB: Qualcomm USB HS and HSIC ULPI PHY modules, Broadcom NorthStar plus USB3 PHYs, ChipIdea ULPI PHYs, Microchip USB251XB hub controllers, and Renesas uPD78F0730 USB serial ports.

Changes visible to kernel developers include:

  • The new VGACON_SOFT_SCROLLBACK_PERSISTENT configuration option will, when set, cause the VGA console code to retain scrollback information when switching between consoles.

  • The LZ4 compression module has been replaced with a newer, better-performing version.

  • Support for the %Z format-string directive has been removed. Lower-case %z should be used instead when printing size_t and ssize_t values.

  • The "TinyDRM" subsystem makes it easy to provide graphics support for small, simple displays. The hope is that it can replace a large number of framebuffer drivers over time.

  • The IDR and IDA mechanisms have been extensively rewritten and are now based on the kernel's radix tree implementation. See this commit for a brief description of what was done and why.

At this point, the flow of patches has slowed considerably, so it is probably safe to assume that almost all of the major changes for 4.11 have been merged. One exception might be the sched.h rework which, if it is merged in this cycle, will go in right at the end of the merge window.

Index entries for this article
KernelReleases/4.11


to post comments


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