news
LWN Articles About Kernel Space
-
More accurate congestion notification for TCP [LWN.net]
The "More Accurate Explicit Congestion Notification" (AccECN) mechanism is defined by this RFC draft. The Linux kernel has been gaining support for AccECN with TCP over the last few releases; the 7.0 release will enable it by default for general use. AccECN is a subtle change to how TCP works, but it has the potential to improve how traffic flows over both public and private networks.
TCP, from the beginning, has included a couple of window counters used by each side of a connection to specify how much data it is willing to accept from the other at any given time. The windows work well to prevent the endpoints from being overwhelmed with packets, but early TCP did not consider the problem of congestion in the routers between the endpoints. That shortcoming made itself known in the form of severe congestion problems in the mid-to-late 1980s.
Around that time, Van Jacobson and Mike Karels took on the problem of preventing congestion collapse. Their key insight was that dropped packets were almost never a result of corruption of the packets themselves. Instead, they were a signal that some system between the endpoints was experiencing congestion; indeed, dropped packets were the only way that a router could signal congestion. Jacobson implemented the first congestion-control algorithms that would slowly ramp up the transmission rate until packet loss was experienced, indicating the point where the capacity of the channel had been exceeded. Jacobson's classic paper describes this work in detail.
-
The first half of the 7.0 merge window [LWN.net]
The merge window for Linux 7.0 has opened, and with it comes a number of interesting improvements and enhancements. At the time of writing, there have been 7,695 non-merge commits accepted. The 7.0 release is not special, according to the kernel's versioning scheme — just the release that comes after 6.19. Humans love symbolism and round numbers, though, so it may feel like something of a milestone.
-
The reverting of revocable [LWN.net]
Transient devices pose a special challenge for an operating-system kernel. They can disappear at any time, leaving behind kernel data structures that no longer refer to an existing device, but which may still be in use by unknown kernel code. Managing the resulting lifecycle issues has frustrated kernel developers for years. In September 2025, the revocable resource-management patch series from Tzung-Bi Shih appeared to offer a partial solution to this problem. Since then, though, other problems have arisen, and the planned merging of this series into the 7.0 release has been called off.
The core idea behind this series is the careful management of references to data structures associated with transient devices. Kernel code needing access to one of those structures would attempt to obtain a short-lived reference; the attempt will succeed if the device is still present and functioning normally. That reference is protected by sleepable read-copy-update (SRCU), ensuring that the data structure in question will not disappear until after the next SRCU grace period.
If a device disappears from the system, the relevant driver will mark it as "gone" and deny any subsequent requests for references to its data structures. After an SRCU grace period has passed, the owner of the data structure, secure in the knowledge that no references to it can still exist, can safely free that structure. The uncertainty around the data's lifecycle has been replaced with a clear indication of when it is no longer in use.
-
Compact formats for debugging—and more [LWN.net]
At the 2025 Linux Plumbers Conference in Tokyo, Stephen Brennan gave a presentation on the debuginfo format, which contains the symbols and other information needed for debugging, along with some alternatives. Debuginfo files are large and, he believes, are a bit scary to customers because of the "debug" in their name. By rethinking debuginfo and the tools that use it, he hopes that free-software developers ""can add new, interesting capabilities to tools that we are already using or build new interesting tools"".
He works on the sustaining-engineering team at Oracle, which means that, unlike many in the room, he is mainly concerned with ""fixing bugs in old released products"" rather than adding new features to the latest kernel. Fixing bugs in customers' production kernels has ""its own set of challenges"". It has given him some insight into the needs of enterprise-kernel users, as well, which is what led him to conclude that debuginfo is not well-liked in that world.