KernelNewbies:

Linux 6.18 changelog.

Summary:

1. Prominent features

1.1. Process Namespaces as file handlers

The Linux kernel has supported "pidfds" (using file descriptors as stable handles to a process) since Linux 5.1. This has proven to be very useful.

In this release it is possible to encode and decode namespace file handles using the common name_to_handle_at() and open_by_handle_at() APIs. It has the same advantage as pidfds. It's possible to reliably and for the lifetime of the system refer to a namespace without pinning any resources and to compare them.

Cover letter: (cover)

1.2. Support for Accurate Explicit Congestion Notification in TCP

This release includes initial support for Accurate Explicit Congestion Notification (currently a draft, which will be RFC 9768).

Explicit Congestion Notification (ECN) is a mechanism where network nodes can mark IP packets, instead of dropping them, to indicate incipient congestion to the endpoints. Receivers with an ECN-capable transport protocol feed back this information to the sender. ECN was originally specified for TCP in such a way that only one feedback signal can be transmitted per Round-Trip Time (RTT). Recent new TCP mechanisms need more Accurate ECN feedback information whenever more than one marking is received in one RTT.

This release adds support for a scheme that provides more than one feedback signal per RTT in the TCP header. It allows feeding back the number of Congestion Experienced marks accurately to the sender. Congestion control algorithms can take advantage of the accurate ECN information to fine-tune their congestion response to avoid drastic rate reduction when only mild congestion is encountered.

1.3. UDP receive performance improvements

This releases optimizes the UDP stack on the receive side, especially when under one or several UDP sockets are receiving a DDOS attack. A 47 % increase of throughput has been measured when using IPv6 UDP packets with 120 bytes of payload, under DDOS.

1.4. Improved kernel memory allocation performance with slub sheaves

Operating system kernels often need to allocate small amounts of memory, there is a mechanism called slab that does that. The Linux implementation is called Slub.

This release adds a feature called "sheaves", which could be described in essence as a per-CPU cache, so that allocations can be done locally most of the time. Previously, synchronization primitives were required that involved other CPUs. As a result, there is a performance improvement in both the allocation and freeing paths. It also adds support for kfree_rcu() batching and recycling.

Recommended LWN article: https://lwn.net/Articles/1016001/Slab allocator: sheaves and any-context allocations

1.5. A device mapper target for persistent cache

This release adds a pcache target which provides a mechanism to use persistent memory (e.g., CXL persistent memory, DAX-enabled devices) as a high-performance cache layer in front of traditional block devices such as SSDs or HDDs.

Documentation: dm-pcache — Persistent Cache

2. Core (various)


/!\ Edit conflict - other version:



/!\ Edit conflict - your version:



/!\ End of edit conflict


3. File systems


/!\ Edit conflict - other version:



/!\ Edit conflict - your version:



/!\ End of edit conflict


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. Networking

12.5. Audio

12.6. Tablets, touch screens, keyboards, mouses

12.7. TV tuners, webcams, video capturers

12.8. Universal Serial Bus

12.9. Serial Peripheral Interface (SPI)

12.10. Watchdog

12.11. Serial

12.12. CPU Frequency scaling

12.13. Device Voltage and 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. Memory Technology Devices (MTD)

12.19. Industrial I/O (iio)

12.20. Multi Function Devices (MFD)

12.21. Inter-Integrated Circuit (I2C + I3C)

12.22. Hardware monitoring (hwmon)

12.23. General Purpose I/O (gpio)

12.24. Leds

12.25. DMA engines

12.26. Cryptography hardware acceleration

12.27. PCI

12.28. Non-Transparent Bridge (NTB)

12.29. Clock

12.30. PHY ("physical layer" framework)

12.31. EDAC (Error Detection And Correction)

12.32. Various

13. List of Pull Requests

14. Other news sites

KernelNewbies: Linux_6.18 (last edited 2025-11-18 21:23:29 by diegocalleja)