返回资讯中心
外部精选
软件工程
#开发者实时流

Linux_7.3 – Linux Kernel Newbies

Linux 7.3 changelog. Summary: Linux 7.3 improves gaming performance on low-end GPUs by improving VRAM management; it also adds completed support for assigning individual BPF task schedulers for each individual cgroup an…

Hacker News 最新abdelhousni2026/10/21 · 24 天前30 分钟阅读

以下正文同步自 Hacker News 最新,版权归原站所有,已转换为易读排版。

Kernel Hacking Frontpage

Kernel Hacking

Kernel Documentation

Kernel Glossary

FAQ

Found a bug?

Kernel Changelog

Upstream Merge Guide

Projects KernelTasklists

KernelJanitors

KernelMentors

KernelProjects

Community Why a community?

Regional Kernelnewbies

Personal Pages

Upcoming Events

References Mailing Lists

Related Sites

Programming Links

Wiki Recent Changes

Site Editors

Side Bar

Tips for Editors

Hosted by WikiWall

Navigation

RecentChanges

FindPage

HelpContents

KernelNewbies:

Linux_7.3

Last updated at 2026-10-11 14:35:41

Linux 7.3 changelog. Summary: Linux 7.3 improves gaming performance on low-end GPUs by improving VRAM management; it also adds completed support for assigning individual BPF task schedulers for each individual cgroup and more performant cgroup scheduling; better btrfs and ext4 performance; support for a new sandboxing technique using a new failfs pseudofilesystem + a new fchroot(2) system call; support for the RWF_DONTCACHE flag when opening block devices as an alternative to Direct I/O; a more powerful binfmt_misc for distros like NixOS, SMB server support for Apple Time Machine extensions and other improvements; userfaultfd(2) support for better tracking the working set of VM guest memory; and better performance for FUSE servers using io_uring. As always, there are many other features, new drivers, improvements and fixes. You might also be interested in the list of changes done by Linux Weekly News: part 1, part 2 Contents Prominent features Improved VRAM management for low-end GPUs

Support for cgroup sub-schedulers (sched_ext) has been completed

Improved cgroup scheduling and other task scheduling improvements

New sandboxing technique with failfs + fchroot(2)

Btrfs and Ext4 performance improvements

More powerful binfmt_misc for sophisticated distros

SMB server support for Apple Time Machine extensions

Better separation between kernel threads and PID 1

Add support userfaultfd: working set tracking for VM guest memory

Better FUSE io_uring performance

RWF_DONTCACHE for block devices, an alternative for Direct I/O

Core (various)

File systems

Memory management

Block layer

Tracing, perf and BPF

Virtualization

Security

Networking

Architectures

Drivers Graphics

Storage

Networking

Audio

Tablets, touch screens, keyboards, mouses

Serial and tty layer

TV tuners, webcams, video capturers

Universal Serial Bus

Serial Peripheral Interface (SPI)

Watchdog

CPU Frequency scaling

Voltage, current regulators, power capping, power supply

Memory Technology Devices (MTD)

Industrial I/O (iio)

IIO

Inter-Integrated Circuit (I2C + I3C)

Hardware monitoring (hwmon)

General Purpose I/O (gpio)

Cryptography

PCI

Common clock framework

DMA generic offload engine subsystem

DMA mapping

Interconnect api

Irqchip drivers

Pinctrl

Mailbox

PHY

Leds

RTC

Remoteproc

MMC

Various

pmdomain

List of Pull Requests

Other news sites

  1. Prominent features

1.1. Improved VRAM management for low-end GPUs

When your GPU does not have (as it's usually the case) enough VRAM (Video RAM), different applications can end up competing for VRAM. Due to the way VRAM allocation worked, if two applications consumed a lot of VRAM, the one that arrived the latest, which could have more priority, could not get enough VRAM and end up allocation space from the GTT (system RAM accessible by the GPU). This release allows using the dmem cgroup to alleviate the situation: Instead of backing off immediately, the system will try evicting unprotected buffers from the domain to make space for the protected one. This ensures that applications can actually use all the memory protection awarded to them by the system, without being prone to ping-ponging. Recommended read: Fixing AMDGPU's VRAM management for low-end GPUs Cover letter: cgroup/dmem,drm/ttm: Improve protection in contended cases 1.2. Support for cgroup sub-schedulers (sched_ext) has been completed

After some work, this release has finally completed the implementation of sched_ext: this allows a cgroup have its processes be managed by its own BPF-based task scheduler. Different cgroups can have different BPF sub-schedulers and take different scheduling decisions. Recommended LWN article: Sched-ext: enqueue() for sub-schedulers and proxy-execution support Documentation: Extensible Scheduler Class Merge commit: Pull sched_ext updates 1.3. Improved cgroup scheduling and other task scheduling improvements

Cgroup scheduling has always been problematic and painful. Fair/cgroup isn't working for a number of people; typically the complaint is latencies and/or overhead. The problems starts with weight distribution and end with hierachical picks. This release improves cgroup scheduling in these fronts: It adds various cgroup weight distribution methods via cgroup_mode: 'up', 'max', 'concur' and 'tasks' - with the default being 'concur' which is the most precise (yet also most expensive version). Finally, change cgroup scheduling to a single runqueue. This release also improves the scheduling latency of tasks with shorter slice duration by mainly canceling, updating or minimizing the protection of the running tasks when appropriate. And cluster scheduling in the presence of asymmetric capacity has been fixed. Merge commit: Pull scheduler updates 1.4. New sandboxing technique with failfs + fchroot(2)

This release a new sandboxing mechanism, based on a new pseudo-file system, failfs, a counterpart of nullfs: where nullfs semantics are "there is nothing here", failfs semantics are "nothing is supported here. Because of these properties, nothing can ever be mounted on top of it, it cannot be mounted from userspace either, it cannot be cloned and it does not show up in statmount()/listmount(), /proc/<pid>/mountinfo, or /proc/filesystems. For a process with its root directory or working directory in failfs, absolute paths, absolute symlinks, and AT_FDCWD-relative lookups simply fail. A process can move its root directory into failfs via the new fchroot(2) system call, doing fchroot(FD_FAILFS_ROOT). From that point on every absolute path lookup and every absolute symlink fails with EOPNOTSUPP. Combined with fchdir(FD_FAILFS_ROOT), this leaves the process with lookups anchored at explicit directory file descriptors only. This allows taks to drop their filesystem state completely: the process must have anchored every path lookup at an explicit file descriptor before doing so, or is doomed to fail any lookup. The new fchroot(2) system call mentioned above is a new system call. It is a file descriptor based counterpart to chroot(2): it avoids re-resolving a path that the caller already holds a file descriptor to, no TOCTOU between resolving the target and changing the root. It composes with modern fd-based APIs meaning it works with O_PATH file descriptors and file descriptors to detached mount trees created via open_tree(OPEN_TREE_CLONE). Documentation: failfs Cover letter: fs: add failfs 1.5. Btrfs and Ext4 performance improvements

This release adds some performance improvements in Btrfs: Direct I/O performance has recovered the performance it lost in previous releases due to other unrelated work; and for non-SSD disks, the removal of an unnecesary 1 jiffy delay during logging workloads (eg. fsync) leads to decrease latency and 5x increased throughput. fsync with the no-holes feature enabled (default since btrfs-progs 5.15) is also 5x faster, and an xarray has been replaced with local LRU list for tracking inhibited extent buffers, restoring performance to pre-inhibition state (relatively ~3x). Ext4 has also got some performance improvements: Improve performance of direct I/O parallel writes, improve fallocate() performance, and a buffered-write regression has been fixed. 1.6. More powerful binfmt_misc for sophisticated distros

This release extends the binfmt_misc format registry so a binary type can be matched programmatically and its interpreter computed per exec instead of being a fixed string recorded at registration time. This allows Nix and others to e.g., implement relocatable binaries without patchelf tricks or wrapper scripts, because the interpreter/dynamic loader can be determined programatically, say found relative to the binary. The mechanism is flexible and can support other policies Recommended LWN article: Bringing BPF to binfmt_misc Documentation: bpf-backed handlers Cover letter: Pull binfmt updates 1.7. SMB server support for Apple Time Machine extensions

This release adds SMB server support for various features: opt-in Apple Time Machine support; implement the SMB2 command sequence window (which enforce the credit-based MessageId range for each connection, preventing invalid requests and same-channel replays), SMB3 request replay support, per-share SMB3 encryption support, and SMB Direct RDMA encryption support. Merge commit: Pull smb server updates 1.8. Better separation between kernel threads and PID 1

After the kernel starts PID 1 (eg. systemd), then starts kthreadd, which makes all kthreads (kernel threads) and PID 1 share the same filesystem state. This wierdly allows pivot_root() to rewrite the file system state of all kthreads. In this release PID 1 gets a completely separate fs_struct, while all kthreads are isolated in a separate nullfs mount. Recommended LWN article: Practical uses for a null filesystem Cover letter: fs,kthread: start all kthreads in nullfs 1.9. Add support userfaultfd: working set tracking for VM guest memory

This release adds userfaultfd(2) support for tracking the working set of VM guest memory. A new flag UFFDIO_REGISTER_MODE_RWP enables read-write protection tracking on a memory range. It is similar to (but faster than) mprotect(PROT_NONE) combined with a signal handler. It is designed for VM memory managers that need to track the working set of guest memory for cold page eviction to tiered or remote storage. Recommended LWN article: Working-set tracking for virtual-machine guest memory Documentation: Userfaultfd:Read-Write Protection Cover letter: userfaultfd: working set tracking for VM guest memory 1.10. Better FUSE io_uring performance

This release allows FUSE servers to pass in a buffer pool that the kernel will use as it wishes for servicing requests, in a way that reduces the memory usage requirements needed to use fuse-io-uring and lets the kernel do any optimizations for assigning payload memory to requests. This series additionally adds zero copy to fuse io-uring. The FUSE server can directly access client pages or page cache folios without copying data through an intermediary buffer. This requires CAP_SYS_ADMIN privileges and using buffer pools. Documentation: 3. FUSE-over-io-uring design documentation Cover letter: fuse: add io-uring buffer pools and zero-copy 1.11. RWF_DONTCACHE for block devices, an alternative for Direct I/O

This release allows using the RWF_DONTCACHE flag (used in preadv2(2), pwritev2(2), and io_uring read and write requests) when opening block devices. This allows databases open a raw block device and have the ability to keep data in the kernel's page cache when it benefits from it (not using the flag), and opt out per request for the data that does not (using it), without the downsides of direct I/O. Recommended read: RWF_DONTCACHE for Block Devices Cover letter: block: enable RWF_DONTCACHE for block devices 2. Core (various)

Add failfs: nullfs provides a permanently empty and immutable directory. Lookups fail with ENOENT. The directory can be opened, read, stat, mounted upon. It behaves like nothing is there. This release add its counterpart failfs, where the semantics are not "there is nothing here" but "nothing is supported here". Every operation that reaches the filesystem fails with EOPNOTSUPP. This is accompanied by a new fchroot() system call which makes chrooting via a file descriptor a first class concept. It's possible to chroot() int

正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。

打开原文
去社区讨论 →