|
|
Subscribe / Log in / New account

4.7 Merge window, part 2

By Jonathan Corbet
May 25, 2016
As of this writing, Linus has pulled almost 9,900 non-merge changesets into the mainline repository for the 4.7 kernel; that includes some 6,500 since last week's summary was written. After the near-record volume of changes that went into 4.6, the community has slowed down a little — but only a little.

Some of the more interesting, user-visible changes pulled this time around include:

  • The tracing subsystem has gained support for histogram triggers, which can perform some types of statistical accumulation in the kernel. This commit contains the documentation additions.

  • The event-filtering code for the tracing subsystem has long been able to follow a specific list of process IDs; in 4.7, there is a new event-fork option that will cause newly-created child processes to be automatically added to the list.

  • The LoadPin security module has been merged. If this module is enabled (not the default), all data loaded into the kernel (modules, firmware, etc.) must come from a single trusted device.

  • The MIPS architecture now supports kernel address-space layout randomization.

  • The PCI Express "downstream port containment" (DPC) feature is now supported. DPC allows the containment of uncorrectable errors in hardware attached via a specific port.

  • There is a new option to randomize the ordering of the free lists in the slab memory allocator; the hope is that more unpredictability will make attacks harder.

  • The out-of-memory detection patch set has been merged. These patches change how the kernel decides that the system is out of memory with an eye toward creating more deterministic and reliable behavior.

  • A process's current umask can now be read from a new field in /proc/PID/status.

  • The "device DAX" mechanism allows persistent memory to be presented as a character device (/dev/dax.X.Y) rather than system memory. This memory can then be accessed (and mapped into user space) without the need to place a filesystem on it.

  • New hardware support includes:

    • Systems and processors: ARM V2M-MPS2 Cortex-M prototyping systems, Oxford Semiconductor OXNAS Family systems-on-chip (SoCs), ASpeed baseboard management controller SoCs, LG Electronics LG1K SoCs, EZchip NPS-based systems, and Loongson-3A R2 MIPS CPUs. See also Arnd Bergmann's description of the new ARM systems for more information, including the fact that the ASpeed submission was evidently motivated by an LWN article.

    • Block: Shingled magnetic recording devices using the Zone ATA command mechanism.

    • Graphics: Analogix ANX78XX video bridges, ARC PGU display controllers, Allwinner A10 display engines, Hisilicon Kirin series frame buffers, and Mediatek MT8173 display subsystems. See also Daniel Vetter's summary for a definitive list of improvements to the Intel graphics drivers in this cycle.

    • Industrial I/O: NXP LPC18xx analog-to-digital and digital-to-analog converter (ADC/DAC) controllers, Analog Devices AD5592R/AD5593R ADC/DACs, Microchip MCP4xxx potentiometers, HOPERF HP206C barometer/altimeters, Maxim DS1803 digital potentiometers, Maxim MAX44000 ambient and infrared proximity sensors, Bosch BMI160 inertial measurement units, ROHM BH1780 ambient light sensors, Vishay VEML6070 UV-A light sensors, HopeRF HP03 digital pressure/temperature sensors, and Aosong AM2315 relative humidity and temperature sensors.

    • Miscellaneous: Samsung Exynos SROM memory controllers, NVIDIA Tegra XUSB pad controllers, NVIDIA Tegra xHCI host controllers, NVIDIA Tegra210 ADMA controllers, Oxford Semiconductor reset controllers, Intersil/Techwell TW686x-based frame grabber cards, Microchip PIC32 serial ports, Microchip PIC32 hardware watchdogs and deadman timers, Intel Broxton digital signal processors, Marvell Armada-8K PCIe controllers, Maxim Semiconductor MAX77620 and MAX20024 power-management ICs, HiSilicon Hi655X power-management ICs, Atmel AT91 SAMA5D2-compatible shutdown controllers, HiSilicon reset controllers, ARM MPS2 UART controllers, CoreSight system trace macrocells, Microchip PIC32 series SPI controllers, and Renesas watchdog timer controllers.

    • Pin control: Intel Baytrail pin controllers, Marvell PXA25x pin controllers, and Broadcom Northstar2 pin controllers.

    • USB: USB Type-C connector system software interfaces and Broadcom Northstar USB 2.0 PHYs.

Changes visible to kernel developers include:

  • The "SG pool" code, providing helpers for the allocation of chained scatter/gather lists, has been moved out of the SCSI code and made available to the rest of the kernel. No documentation exists, but the interface can be seen in lib/sg_pool.c.

  • The pin control subsystem now offers devm_pinctrl_register(), allowing drivers to drop a lot of cleanup code.

  • The KASan memory debugging tool will now "quarantine" freed memory, taking it out of use for some time. The idea is that isolating freed memory in this way will improve the detection of use-after-free errors. KASan has also gained the ability to monitor accesses to user-space memory.

  • The multi-order radix tree patches have been merged, allowing the radix tree to track address ranges greater than a single page.

At this point, the patch flow into the mainline has slowed considerably; just about all of the major trees have been pulled. The merge window has a few more days to run, though; come back next week for a closing summary for this development cycle.

Index entries for this article
KernelReleases/4.7


to post comments

4.7 Merge window, part 2

Posted May 26, 2016 17:13 UTC (Thu) by johannbg (guest, #65743) [Link] (1 responses)

Is the writer sure about the community slowing down and the fundamental cause of the slowdown is not Linus not being able to keep up with pull requests?

Are there any stats on how many pull requests Linus receives vs what he merges?

Scalability

Posted May 26, 2016 18:29 UTC (Thu) by corbet (editor, #1) [Link]

Yes, "the writer" is quite sure; there have been no signs of pull requests falling through the cracks. I was worried a bit about the scalability of the process some years ago, and wrote an article to that effect, but I have no such worries at the moment.

Remember, 4.6 just barely missed being the busiest cycle ever, and probably only missed it because we seem to need fewer post-merge-window fixes than we used to. This cycle will "only" be 11-12,000 changesets, but that's a far cry from saying that the community is slowing down.

4.7 Merge window, part 2

Posted May 28, 2016 20:25 UTC (Sat) by flussence (guest, #85566) [Link]

That i915 colour correction stuff sounds appealing. Up to now I've been using `sct 5000` to avoid the horrible blue tinge my laptop's cheap display emits.


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