The 4.6 merge window opens
That said, we have already seen some interesting new features merged, including:
- The code implementing shared futexes in anonymous memory has seen some
serious optimization, eliminating a bottleneck that made these
futexes significantly slower than the private variety.
- The perf subsystem has seen the usual set of improvements; see the
pull request for details.
- Address-space layout randomization, which aims to thwart exploits by
making things harder to find in a process's address space, has been
fully extended to 32-bit programs running on 64-bit systems. In
particular, the locations for libraries, the vDSO virtual system call
area, and areas allocated with mmap() are now randomized.
- The post-init read-only memory patches
have been merged, hopefully hardening the kernel against certain
data-overwrite exploits.
- The new irqaffinity= command-line option allows an
administrator to limit the CPUs to which interrupts will be directed;
this feature is expected to be useful for CPU-isolation users who want
to ensure that no interrupts will be delivered to the isolated
processors.
- New hardware support includes:
- Miscellaneous:
Broadcom BCM6345 interrupt controllers,
Alpine MSIX interrupt controllers,
Analog Devices AXI SPI Engine controllers,
Active-Semi ACT8945A voltage regulators,
Hisilicon HI655X PMIC regulators,
Maxim 77620/MAX20024 voltage regulators,
Linear Technology LTC2990 I2C system monitors,
ZyXEL NSA320 fan-speed and temperature sensors, and
ISSI IS31FL32XX I2C LED controllers.
- Pin control:
ST Microelectronics STM32F429 pin controllers,
Microchip PIC32 pin controllers,
Mediatek MT2701 pin controllers,
Qualcomm IPQ4019 pin controllers, and
Mediatek MT7623 pin controllers.
- Realtime clocks: Epson RX-6110 realtime clocks, Alphascale asm9260 realtime clocks, and Microchip PIC32 realtime clocks.
- Miscellaneous:
Broadcom BCM6345 interrupt controllers,
Alpine MSIX interrupt controllers,
Analog Devices AXI SPI Engine controllers,
Active-Semi ACT8945A voltage regulators,
Hisilicon HI655X PMIC regulators,
Maxim 77620/MAX20024 voltage regulators,
Linear Technology LTC2990 I2C system monitors,
ZyXEL NSA320 fan-speed and temperature sensors, and
ISSI IS31FL32XX I2C LED controllers.
Changes visible to kernel developers include:
- The project to rework the CPU hotplug
mechanism stalled for a couple of years, but it is now back,
partly as a result of the Linux Foundation's funding of the realtime
project. This work replaces a tangled set of notifiers with a more
straightforward state machine that, one hopes, is easier to follow and
make work correctly. The initial state machine has been merged for
4.6; see this
pull request text for a description of what has been merged so
far.
- The low-level resource-management code understands a new resource
type: IORESOURCE_SYSRAM, meant to indicate system RAM. This
makes it easier for kernel code to distinguish system memory from
other resource types without having to use strcmp() on the
resource name.
- The new function memcpy_mcsafe() will copy a block of memory;
unlike memcpy(), it will not crash the system if the copy
causes a machine-check error. It is intended for use with persistent
memory, where the possibility of memory errors is higher and the
system should recover when they happen.
- Simple wait queues have been merged,
making life easier for code that just needs to wait without the fancy
features that ordinary wait queues have accumulated over the years.
- The new function get_device_system_crosststamp() allows the simultaneous acquisition of timestamps from the core system clock and a peripheral device. Its purpose is to enable tight synchronization of events across a system; see this commit changelog for more information. In 4.6, the e1000e network driver will use this capability.
This merge window is likely to remain open until March 27, with the most
likely date for the 4.6 release being May 15.
Index entries for this article | |
---|---|
Kernel | Releases/4.6 |