Lista para version 6.14

Linux 6.14 was released

Summary: This release includes a NT synchronization primitive driver, which allows for faster games. It also includes new different read balancing methods for Btrfs RAID1 setups; support for uncached buffered I/O; fsnotify file pre-access notification event; a new dmem cgroup for better control of GPU memory resources; FUSE support for io_uring based communication; an amdxdna driver for AMD NPUs; XFS reflink and reverse-mapping support for the realtime devices; NFSv4.2+ attribute delegation; and x86 TLB flushing scalability optimizations. As always, there are many other features, new drivers, improvements and fixes. Also, you might be interested in the LWN merge window report: part 1

NT synchronization primitive driver for faster games

The Windows NT operating systems offer some synchronization primitives that are too different to the ones present on Unix system. This creates performance problems when trying to emulate this behavior for software like Wine. This release adds a driver that allows to model NT's primitives and spend less time trying to emulate it, which can improve performance massively in some cases (particularly, games)

Documentation: NT synchronization primitive driver

Recommended LWN article: Windows NT synchronization primitives for Linux

Btrfs RAID1 read balancing

Btrfs uses a PID-based approach to distribute reads to the devices that are part of a RAID1 setup: this is optimal for many configurations, but not all. This release adds three new RAID1 read balancing methods that help to distribute reads I/O across devices: rotation (keeps all devices active - for now, it's preferable as the default), latency (smarter with failing/unstable block layer transport), and devid (manual control). They are enabled under the `CONFIG_BTRFS_EXPERIMENTAL` config option and are on top of the previously added `/sys/fs/btrfs//read_policy` interface to configure the desired RAID1 read balancing method.

Support for uncached buffered I/O

This release adds support for optionally sending buffered I/O whose pages will be dropped from the page cache once the data is read/written. The reason for this feature are fast storage devices that can fill the RAM with too much page cache that will not be needed, with this feature it is possible to read/write data and drop it from the cache without facing the disadvantages and complexity of dealing with Direct I/O.

Recommended LWN article: The return of RWF_UNCACHED

fsnotify file pre-access notification event

This release adds a new fsnotify event ({{{FS_PRE_ACCESS}}}) that gets generated before a file contents is accessed. The event is synchronous so if there is listener for this event, the kernel waits for reply. On success the execution continues as usual, on failure we propagate the error to userspace. This even allows userspace to fill in file content on demand from slow storage.

dmem cgroup for better control of GPU memory resources

It is desirable to prevent GPU workloads from being terminated. This release uses cgroups to prevent eviction. Both GPU and driver-allocated CPU memory will be accounted to the correct cgroup, and eviction would be made cgroup aware. This allows the GPU to be partitioned into cgroups, that will allow jobs to run next to each other without interference.

Documentation: DMEM

FUSE support for io_uring-based communication

This release adds FUSE support for io-uring communication between kernel and userspace, with the purpose of increasing FUSE performance (reducing context switches, etc)

Documentation: FUSE-over-io-uring design documentation

Recommended LWN article: FUSE and io_uring

Add amdxdna driver for AMD NPUs

This driver adds support for AMD NPUs (Neural Processing Unit), an AI inference accelerator integrated into AMD client CPUs. It enables efficient execution of Machine Learning applications like CNNs, LLMs, etc. It is based on AMD XDNA architecture.

Documentation: AMD XDNA™ Architecture

XFS reflink and reverse-mapping support for the realtime device

The XFS realtime device

NFSv4.2+ attribute delegation

This release implements NFSv4.2+ attribute delegation. An attribute delegation permits an NFS client to manage a file's mtime, rather than flushing dirty data to the NFS server so that the file's mtime reflects the last write, which is considerably slower.

IETF draft: Extending the Opening of Files in NFSv4.2

x86 TLB flushing scalability optimizations

This release includes some TLB flushing scalability optimizations to update some data structures lazily during context switches. This improves performance in some microbenchmarks