A tiny read, a bigger bottleneck
A Linux experiment targets a surprisingly small bottleneck: many threads reading the same file keep contending over reference-counting bookkeeping. Phoronix reported on October 11 that it had discovered a newly appeared branch in Linus Torvalds’ repository. Torvalds says he used Claude Code under his direction for the work. [1] [2]
For a business whose software really hits this bottleneck, the prize could be more work from existing hardware. Less computing time spent on bookkeeping might free capacity for useful tasks. But a faster read is only one part of the bill. If the change leaves memory waiting longer to be reused or creates extra work elsewhere, an apparent saving could become a different operating cost.
Less bookkeeping, later memory reuse
The proposal reads from the page cache—file data kept in memory—without taking the usual references. Instead, removed memory returns to the allocator only after an RCU grace period, a waiting interval intended to protect ongoing readers. The trade-off is repeated bookkeeping during reads versus delayed memory reuse. [1] [2]
In Torvalds’ eight-thread test of tiny, 16-byte reads from one cached file, the reported kernel CPU cycles per read fell from 2,937–2,975 to 725–726. These were his laptop measurements, not an independent replication. He used the ext4 filesystem with CPU mitigations and hardened user-copy protection disabled. [2]
That result makes the mechanism worth examining; it does not price a production service. Read-path cycles are not total workload time, energy use or cloud spending. A hypothetical operator would need to compare completed application work on the same hardware, including memory management and background workers. Otherwise, moving work out of the measured path could look like removing it.
The unfinished side of the bill
Torvalds’ cover message identifies costs and failures alongside the gains. The allocator cannot see pages waiting to be reused. He describes a regression affecting contiguous memory allocation and says costs outside the read path have not been measured. Reads into missing destination pages also incur an extra failed exception. [2]
The AI-assisted workflow is interesting for engineering teams, but the record does not measure hours saved. Producing code, tests and a review under an experienced developer’s direction is different from proving that an assistant reduces the total work of maintenance. Debugging, broader testing and deciding whether a risky change belongs in a release still matter.
The cover-message commit is dated October 10. Phoronix’s discovery report appeared on October 11. Its account describes an experimental branch and a possible future merge, not a released improvement. The earlier authorship date and the later discovery report describe different stages of the same work. [2] [1]
Test the whole job
The strongest rival explanation is that this is a genuine narrow optimization, but its benefit disappears once deferred freeing, memory pressure and less favorable reads are included. The positive interpretation would strengthen if independent, representative tests showed more completed work with acceptable memory use. It would weaken if the whole workload slowed, failures increased or extra memory erased the capacity gain.
Watch the next revision’s treatment of waiting-page accounting and contiguous allocation, then independent whole-workload tests with protections enabled. Useful measurements would pair computing time per completed job with peak waiting memory and failures under pressure. Those tests could distinguish a smaller bill from one shifted between reads, memory and background work. A merge would be a separate adoption milestone, not proof of savings.
What could change the picture
- Torvalds says costs outside the read path are unmeasured and identifies a contiguous-memory-allocation regression.
- The allocator cannot see waiting pages. Reads into absent destination pages add a failed exception before returning to the old path.
What remains uncertain
- Delayed memory reuse can raise memory demand and interfere with allocation; the author identifies unresolved accounting and contiguous-allocation problems.
- Author measurements are narrow laptop tests with mitigations and hardened usercopy disabled; general performance, safety, energy and cost savings are not established.
- A discovered branch is not a verified merged or released improvement, and coding-assistant use does not measure engineering hours saved.
Watch the brief
51 seconds · AI-generated narration and artwork. The article and sources provide the full context.
Read the video transcript
Faster file reads can hide a bill somewhere else. Linus Torvalds' Linux experiment is a useful example. Phoronix found a new experimental branch. Torvalds says Claude Code helped under his direction. The proposal reduces repeated bookkeeping by delaying when removed memory can be reused. His laptop tests improved one small-read workload, with some security protections disabled. For businesses with that bottleneck, less computing work could mean more capacity from existing hardware. But faster reads aren't the whole job. He reports extra costs for faulting reads and a memory-allocation regression. Costs outside the read path weren't measured, so total savings remain unproven. Don't treat a branch as a released improvement. Watch whole-workload tests: computing time, waiting memory, and failures with protections enabled. The question is whether the bill shrinks, or moves.
Sources
- Linus Torvalds Working On A Hefty Linux Kernel Improvement With Claude Code Phoronix reporting · accessed 12 Oct 2026
Supporting excerpt
small reads of one file from many threads contend on the folio reference counting.
Supporting excerpt
I was surprised to find a new kernel branch appear.
Supporting excerpt
read from the page cache without folio references.
Supporting excerpt
We'll see if he merges his branch for the upcoming Linux 7.4 merge window.
- mm: read from the page cache without folio references - kernel/git/torvalds/linux.git - Linux kernel source tree Linus Torvalds Linux repository · accessed 12 Oct 2026
Supporting excerpt
(Claude Code) under my direction.
Supporting excerpt
only after an RCU grace period.
Supporting excerpt
16-byte pread() at offset 0 of a one-page file, one fd per thread:
Supporting excerpt
kernel cycles reads/s per read
Supporting excerpt
base, 8 threads 988-989 2937-2975 9.9-10.4 M
Supporting excerpt
series, 8 threads 864 725-726 30-33 M
Supporting excerpt
ext4, mitigations off, CONFIG_HARDENED_USERCOPY off.
Supporting excerpt
allocator cannot see the waiting pages.
Supporting excerpt
regression for CMA as the series stands.
Supporting excerpt
Cost outside the read path is not measured.
Supporting excerpt
one extra failed exception per read();
Supporting excerpt
2026-10-10 07:05:38 +0200
This article distinguishes sourced information from interpretation and scenarios. It may contain errors and is not individual investment, legal or tax advice. No return is guaranteed. Corrections: hello@priag.com.