The rest of the 5.2 merge window
Architecture-specific
- The PowerPC architecture can now take advantage of hardware support to prevent the kernel from accessing user-space data in unintended ways.
- 32-Bit PowerPC now has support for KASAN.
- Mitigations for the Intel microarchitectural data sampling vulnerabilities have been merged. See this page from the kernel documentation for a fairly detailed description of the problem, and this page for mitigation information.
Core kernel
- There is finally a freezer for the control-group version-2 implementation. It differs from the v1 freezer in that it puts each affected process into a stopped state rather than an uninterruptible sleep; that allows those processes to be operated on (killed, traced, moved to another group) while the group is frozen. See this commit for the documentation update.
- The new vm.unprivileged_userfaultfd sysctl knob controls whether unprivileged users can use the userfaultfd() system call. The default is to allow unprivileged access (which is consistent with current kernels).
- Pressure stall monitors, which allow user space to detect and respond quickly to memory pressure, have been added. See this commit for documentation and a sample program.
- The tracing subsystem exports a new virtual file, tracing/error_log, where the more complex tracing operations can place error messages when things go wrong.
- The /proc/slab_allocators file turned out to have yet another set of bugs. Since it clearly hasn't worked correctly for years and nobody has complained, this file has been removed.
Filesystems and block layer
- The handling of soft mounts in NFS v4.0 has been improved, with more accurate timeout handling, faster failover, and a new softerr mount option that can change the error code for timed-out operations to ETIMEDOUT.
- The old nfsdcld (NFS client-tracking daemon) API has been resurrected as a way of allowing NFS servers to properly track client state over a reboot. If a daemon is running, it takes over the role of the nfsdcltrack helper; the intent is to create a solution that works better in a namespaced environment.
- There is a new device-mapper target called dm-dust; it can be used to simulate bad blocks in the underlying device. See Documentation/device-mapper/dm-dust.txt for details.
Hardware support
- Clock: ASPEED realtime clocks, MediaTek MT8183 and MT8516 clocks, Qualcomm QCS404 Turing clock controllers, Cirrus Logic Lochnagar clock controllers, and SiFive FU540 SoC power reset clock interfaces.
- Input: generic GPIO-controllable vibrators, Azoteq IQS550/572/525 trackpad/touchscreen controllers, and Microchip AT42QT1050 touch sensors.
- Miscellaneous: AMD MP2 PCIe I2C adapters, Marvell Armada 37xx rWTM BIU mailbox controllers, NXP i.MX TPM pulse-width modulators, Mellanox BlueField SoC GPIO controllers, ROHM BD70528 PMIC watchdog timers, NXP IMX SC watchdog timers, Maxim MAX77650/77651 power-management ICs, STMicroelectronics multi-function eXpanders, Ingenic JZ47xx SoCs battery monitors, Microchip UCS1002 USB port power controllers, and Xilinx ZynqMP FPGA managers.
Internal kernel changes
- The FOLL_LONGTERM flag has been added to get_user_pages(); this is a part of the bigger effort to solve the problems with that interface and long-term mappings.
- Two new functions have been added to ease the task of mapping kernel memory into a user-space address range. vm_map_pages() and vm_map_pages_zero() will map a set of pages into a VMA; they differ in that the latter function ignores the vm_pgoff offset in the VMA.
- Code coverage analysis with gcov is now supported on Clang-compiled kernels.
- There have been significant changes to the implementation of vmalloc() that improve performance considerably; see this commit for details.
Barring surprises (and there have not been many surprises in recent years), the
5.2 kernel will be released on July 7 or 14.
Index entries for this article | |
---|---|
Kernel | Releases/5.2 |
Posted May 20, 2019 18:15 UTC (Mon)
by flussence (guest, #85566)
[Link]
Posted May 21, 2019 7:23 UTC (Tue)
by meuh (guest, #22042)
[Link]
The rest of the 5.2 merge window
According to commit 68ad4a330433:
vmalloc() improvement
That's an improvement !
Another example of accidentally quadratic algorithm.
# i5-3320M
<default> vs <patched>
real 101m22.813s real 0m56.805s
user 0m0.011s user 0m0.015s
sys 0m5.076s sys 0m0.023s