惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

WordPress大学
WordPress大学
Engineering at Meta
Engineering at Meta
D
DataBreaches.Net
月光博客
月光博客
Recent Announcements
Recent Announcements
Google DeepMind News
Google DeepMind News
U
Unit 42
腾讯CDC
爱范儿
爱范儿
J
Java Code Geeks
有赞技术团队
有赞技术团队
Blog — PlanetScale
Blog — PlanetScale
N
Netflix TechBlog - Medium
B
Blog
Stack Overflow Blog
Stack Overflow Blog
GbyAI
GbyAI
T
The Blog of Author Tim Ferriss
小众软件
小众软件
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Y
Y Combinator Blog
大猫的无限游戏
大猫的无限游戏
Microsoft Azure Blog
Microsoft Azure Blog
T
Tailwind CSS Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知

LWN.net comments

tcmalloc's weird hack [LWN.net] Fixed? [LWN.net] mpd [LWN.net] Userspace AX.25 [LWN.net] RIP [LWN.net] My two cents... [LWN.net] pipx [LWN.net] Tragedy [LWN.net] A young man destined for glory [LWN.net] And 'less' won't let you search [LWN.net] A great loss [LWN.net] Sad and shocking news [LWN.net] Easy migration from Clementine [LWN.net] Sad coincidence [LWN.net] GNOME is actually usable thanks to Seth et al [LWN.net] Sad news :( [LWN.net] armhf supports preempt_rt [LWN.net] MusicBrainz accurracy [LWN.net] On open source maintainership [LWN.net] Let's stop here [LWN.net] Not a new thing [LWN.net] uv is indeed great pgmoneta Some comments on this on a Postgres blog feed [LWN.net] uv [LWN.net] going to Debian [LWN.net] Upgrading 64-bit-capable systems to 64-bit kernels? [LWN.net] Free Software foundations Maintainers can wait for code review but not for publish review? A reasonably extreme point of view [LWN.net]
Some clarifications... [LWN.net]
jlayton · 2026-06-27 · via LWN.net comments

As always, Jake did a great writeup, but this is a complex topic. A couple of small clarifications/corrections:

> In the last few months, Layton began, some new ioctl() commands were added...

You don't use ioctl() to set the io_cache_read/write modes. You just write() to them. Unfortunately, they take an integer, and not a string, so you have to peek at the source code to figure out the right values.

> The basic problem is that immediately performing the write from the thread that receives the client request blocks the thread until the write completes,

Not technically true. With the old DONTCACHE code, writes are written to the pagecache, and then the kernel immediately did a filemap_fdatawrite_range() on the range written. That submits them to the device, but doesn't wait for the I/O to complete. With multiple writing threads, they all compete to submit to the device queues, and that makes them perform terribly in aggregate.

With the new model, we just kick the flusher thread and have it do a proportional amount of writeback to what was written. The writers can get back to doing other stuff more quickly, and the writeback side of things is handled by the dedicated thread (or eventually, a set of threads), so there is less contention.