KernelNewbies:

Linux 6.10 has been released on Sunday, 14 Jul 2024

Summary: This release includes the new mseal(2) system call to protect memory from unwanted modificatiosn; NT synchronization primitives that allow better compatibility and performance with Windows; a memory profiler for the kernel; support for integrity and security to TPM2 transactions; multi-size THP numa balancing; posted interrupts for faster high-end virtualization; zone write plugging for faster IO with zoned devices; and faster io_uring send zerocopy performance. As always, there are many other features, new drivers, improvements and fixes.

1. Prominent features

1.1. mseal(2) to protect memory from unwanted modificatinos

The mseal(2) system call protects a given virtual memory range against modifications, such as changes to their permission. This system call improves the security stance on memory corruption bugs, as an attacker cannot simply write to arbitrary memory and point the code to it.

Documentation: Introduction of mseal

Recommended LWN article: mseal() gets closer

1.2. memprofiling, a memory profiler for the kernel

This release includes a profiling infrastructure that provides a low overhead mechanism to make all kernel allocations in the system visible. It can be used to monitor memory usage, track memory hotspots, detect memory leaks, identify memory regressions. Not just for debug kernels, overhead is low enough to be deployed in production.

Documentation: Memory allocation profiling

1.3. NT synchronization primitives, for better compatibility with Windows

This release introduces a new optional char misc driver, /dev/ntsync, which is used to implement Windows NT synchronization primitives that are too expensive to implement in top of other existing Linux primitives. This is expected to be used by Wine to significantly speed up lots of applications like games.

Recommended LWN article: Windows NT synchronization primitives for Linux

1.4. Add integrity and security to TPM2 transactions

The interest in securing the TPM against interposers, both active and passive has risen to fever pitch with the demonstration of key recovery against windows bitlocker, and subsequently the same attack being successful against all the Linux TPM based security solutions. This release adds support for TPM bus encryption and integrity protection. The key pair on TPM side is generated from so called null random seed per power on of the machine. This supports the TPM encryption of the hard drive by adding layer of protection against bus interposer attacks.

Documentation: TPM Security

1.5. Multi-size THP numa balancing

The anonymous page allocation already supported multi-size transparent huge pages (mTHP) but the numa balancing still prohibits mTHP migration even though it is an exclusive mapping, which is unreasonable. This release supports mTHP numa balancing. The NUMA balancing algorithm for mTHP will follow the THP strategy as the basic support

1.6. Posted interrupts for faster high-end virtualization

This release adds support for posted interrupts, a virtualization feature which allows to inject interrupts directly into a guest without host interaction. This is only relevant for high end servers with multiple device queues per CPU attached where multiple devices, e.g. NVME storage, raise interrupts with a high frequency. In the default mode these interrupts are handles independently and therefore require a full roundtrip of interrupt entry/exit; utilizing posted interrupts this roundtrip overhead can be avoided by coalescing these interrupt entries to a single entry for the posted interrupt notification.

1.7. Zone write plugging for faster IO with zoned devices

This release introduces zone write plugging (ZWP) as the new mechanism to control the ordering of writes to zoned block devices. ZWP replaces zone write locking (ZWL) which was implemented only by mq-deadline. ZWP also allows emulating zone append operations using regular writes for zoned devices that do not natively support this operation (e.g. SMR HDDs). This significantly speeds up some operations on Zoned storage devices

1.8. Faster io_uring send zerocopy performance

This release greatly improves send zerocopy performance in io_uring, by enabling coalescing of sent buffers.

MSG_ZEROCOPY already does this with send(2) and sendmsg(2), but the io_uring side did not. In local testing, the crossover point for send zerocopy being faster is now around 3000 byte packets, and it performs better than the sync syscall variants as well.

2. Core (various)

3. File systems

4. Memory management

5. Block layer

6. Tracing, perf and BPF

7. Virtualization

8. Cryptography

9. Security

10. Networking

11. Architectures

12. Drivers

12.1. Graphics

12.2. Power Management

12.3. Storage

12.4. Drivers in the Staging area

12.5. Networking

12.6. Audio

12.7. Tablets, touch screens, keyboards, mouses

12.8. TV tuners, webcams, video capturers

12.9. Universal Serial Bus

12.10. Serial Peripheral Interface (SPI)

12.11. Watchdog

12.12. Serial

12.13. CPU Frequency scaling

12.14. Voltage, current regulators, power capping, power supply

12.15. Real Time Clock (RTC)

12.16. Pin Controllers (pinctrl)

12.17. Multi Media Card (MMC)

12.18. Industrial I/O (iio)

12.19. Multi Function Devices (MFD)

12.20. Inter-Integrated Circuit (I2C + I3C)

12.21. Hardware monitoring (hwmon)

12.22. General Purpose I/O (gpio)

12.23. Leds

12.24. DMA engines

12.25. Cryptography hardware acceleration

12.26. PCI

12.27. Clock

12.28. PHY ("physical layer" framework)

12.29. Various

13. List of Pull Requests

14. Other news sites

KernelNewbies: Linux_6.10 (last edited 2024-08-05 21:03:57 by diegocalleja)