KernelNewbies:

Changes done in each Linux kernel release. Other places to get news about the Linux kernel are LWN kernel status or the Linux Kernel mailing list (there is a web interface in www.lkml.org or lore.kernel.org/lkml). The lore.kernel.org/lkml/ archive is also available via NTTP if you prefer to use a newsreader: use nntp://nntp.lore.kernel.org/org.kernel.vger.linux-kernel for that. List of changes of older releases can be found at LinuxVersions. If you're going to add something here look first at LinuxChangesRules!

You can discuss the latest Linux kernel changes on the New Linux Kernel Features Forum.

Linux 7.2 changelog.

Summary: Linux 7.2 modifies the task scheduler to be more cache-aware and is able to co-locate tasks that share data within the same Last Level Cache domain. It also adds a fairer GPU scheduler for better scheduling of GPU jobs; better memory reclaiming that can provides large performance increases in some situations; more performant and leaner swapping implementation; support for USB4STREAM, which allows to send data streams through USB4 cables; performance improvements in Btrfs; a new dm-inlinecrypt storage target for inline block device encryption: new flags for the openat(2) system calls; faster reading of /proc/filesystems and /proc/interrupts; and preparations for the introduction of sub-schedulers in sched_ext. As always, there are many other features, new drivers, improvements and fixes.

You might also be interested in the list of changes done by LWN: part 1, part 2

1. Prominent features

1.1. Faster performance and less cache misses with cache-aware task scheduling

This release introduces cache-aware load balancing of tasks, with the goal of co-locating tasks that share data (ie. threads of the same process) within the same Last Level Cache domain. By improving cache locality, the scheduler can reduce cache bouncing and cache misses, ultimately improving data access efficiency.

Recommended LWN article: Cache awareness for the CPU scheduler

1.2. Fair(er) GPU scheduler

The Linux kernel has a task scheduler that schedules processes, but this is not the only scheduler in the kernel. Processes that use graphic card resources do submit jobs that are executed inside the GPU, and there is a GPU scheduler that decides which job will be executed next when the GPU has processing power available. The algorithm used by the GPU scheduler can impact the fairness and latency seen by the processes submitting these jobs, and right now the algorithm used is based around the "First In, First Out" principle, which has a number of disadvantages.

This release implements a "Fair(er)" GPU scheduler modeled after the ideas of the original Linux CFS task scheduler. There are improvements in fairness and scheduling of interactive clients when running in parallel with a heavy GPU load, and so far no scheduling regressions have been found relative to FIFO.

Recommended blog post: Fair(er) DRM GPU scheduler

1.3. Better memory reclaiming, for better performance

Memory reclaiming, which is the part of the kernel that decides which parts of the memory should be sent to the swap or evicted from memory, has been improved. This release cleans up and slightly improve MGLRU's reclaim loop and dirty writeback handling. As a result, we can see an up to ~30% increase in some workloads like MongoDB with YCSB and a huge decrease in file refault, no swap involved. Other common benchmarks have no regression, and LOC is reduced, with less unexpected OOM, too.

1.4. Swap table phase IV

Phase IV of the swap table work (phase I, II, III)

This release unifies the allocation and charging of anonymous and shmem swap in folios, provides better synchronization, consolidates the metadata management, hence dropping the static array and map, and improves the performance. The static metadata overhead is now close to zero, and workload performance is slightly improved. For example, mounting a 1TB swap device saves about 512MB of memory.

Recommended LWN article: Swap tables, flash-friendly swap, swap_ops, and more

1.5. USB4STREAM for streaming data with USB4

In addition to Thunderbolt networking, which was already supported, this release adds support for streaming data directly over a cable as well (USB4STREAM). It is very simple and basically just transfers raw packets from one host to another. The driver exposes /dev/tbstreamX devices on each side of the link that can be used to transfer data using regular filesystem operations such as read(2) and write(2):

host1 # cat /dev/tbstream0
host2 # echo hello > /dev/tbstream0

This can be useful in cases where network tooling is not available or just for existing applications like dd and cat that do not support sockets. This feature can be used at the same time with thunderbolt_net so they don't rule each other out, and it allows multiple streams to be created.

1.6. Various Btrfs improvements

This release brings various improvements for the Btrfs file system:

  • Enable large folios by default (they were experimental since 6.17), with no feature limitations
  • Experimental support for huge folios (up to 2M)
  • New GET_CSUMS ioctl to return raw checksums to userspace, can be used for mkfs and deduplication optimizations

  • Performance improvements on sequential writes and direct IO

1.7. New dm-inlinecrypt target for inline block device encryption

This release introduces a new dm target, dm-inlinecrypt, to support inline block-device encryption. The implementation builds on the work previously done in Android’s dm-default-key, but intentionally drops passthrough support, as that functionality does not appear likely to be accepted upstream in the near future. With this limitation, dm-inlinecrypt is positioned as a practical replacement for dm-crypt, rather than a general passthrough mechanism.

1.8. openat(2) extensions

This release adds a couple of flags to the openat(2) system calls:

  • OPENAT2_REGULAR flag, which refuses to open anything but regular files, protecting services from being redirected to fifos, device nodes, and friends

  • Add O_EMPTYPATH flag to openat(2)/openat2(2). If passed, an empty path string is accepted and LOOKUP_EMPTY is set at path resolution time, allowing to reopen the file behind the file descriptor directly

1.9. Speedup reading /proc/filesystems and /proc/interrupts

Performance when reading these two procfs files is not relevant for most applications, however some extreme users benefit from optimizing these files as much as possible, or are even used more often that you would expect (/proc/filesystems is read by libselinux and is linked into numerous frequently used programs, even simple ones like sed). This release optimizes the generation of these files.

1.10. Preparations for the introduction of sched_ext sub-schedulers

This release adds infrastructure that will be used to support sub-schedulers in sched_ext. These will be used for use cases like, for example, using different sched_ext schedulers in different cgroups

Recommended LWN article: Sub-schedulers for sched_ext

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

  • atmel-isc: Remove driver commit

12.5. Networking

12.6. Audio

12.7. Tablets, touch screens, keyboards, mouses

12.8. TV tuners, webcams, video capturers

12.9. Serial

12.10. Universal Serial Bus

12.11. Serial Peripheral Interface (SPI)

12.12. Watchdog

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. Memory Technology Devices (MTD)

12.19. Industrial I/O (iio)

12.20. Multi Function Devices (MFD)

12.21. Pulse-Width Modulation (PWM)

12.22. Inter-Integrated Circuit (I2C + I3C)

12.23. Hardware monitoring (hwmon)

12.24. General Purpose I/O (gpio)

12.25. Leds

  • Introduce the multi_max_intensity sysfs attribute (cover), commit

  • Add support for ti lp5860 led driver chip commit

12.26. DMA engines

12.27. Cryptography hardware acceleration

12.28. PCI

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: LinuxChanges (last edited 2026-07-26 10:18:09 by diegocalleja)