今日重点:🔖 标题解析——今天拆一个 50 帖巨型系列(fd 的安装与回滚改到系统调用出口,Christian Brauner 提、Linus 当场反对)。重点看两样:方括号里藏了什么信息,以及一个系列怎么靠两种固定句式让 50 篇标题读起来整齐。
🔖 标题解析
/ section[PATCH RFC POC 00/50] file: handle files on syscall exit
① 外壳 [PATCH RFC POC 00/50] 方括号里三个词全是信号:
PATCH = 这是补丁邮件;RFC = Request For Comments(求意见、别急着合);POC = Proof Of Concept(概念验证、不是成品);00/50 = 50 篇系列的第 0 篇(cover)。三个词一起,等于作者先说「这是个大改动、探索性的、欢迎拍砖」—— 非常诚实的自我定位。 ② 前缀 file: 子系统前缀。
file: 说明改的是 VFS 的 file 子系统(文件描述符的安装/回滚),而不是某个驱动。读标题先看冒号前,一秒定位归属。 ③ 主词 handle 动词「处理」。内核标题偏爱祈使句 / 动名词起手:handle files 直译「处理文件」,但结合系列名(work-fd-reserve-unify)可知实际是「把 fd 的安装与回滚推迟到系统调用出口统一处理」。标题故意写得宽,细节留给 cover。
④ 术语 syscall exit
syscall exit = 系统调用返回值那一刻。这个系列的争议点正在此:作者想把 fd 的安装/回滚推迟到「系统调用出口」,Linus 与 Jann Horn 反对(主张用 task_work 或干脆忽略 put_user 失败)。读懂标题里的 syscall exit,就抓住了这场争论的靶心。 一句话点评 一句话读懂:一个 50 篇的探索性(RFC POC)VFS 系列,主张把 fd 的安装与回滚统一推迟到系统调用出口处理——标题先把「有多大、多激进」讲清楚了
🔗 原文
✨ 辅助彩蛋(两种句式)
/ section★ 50 篇标题怎么保持整齐:两种固定句式
句式 A:install X when the ioctl returns 真实标题:
tpm: vtpm_proxy: install the server descriptor when the ioctl returns / iio: buffer: install the buffer descriptor when the ioctl returns。句式 = install the <什么> descriptor when the ioctl returns(当 ioctl 返回时安装……描述符)—— 描述新行为(推迟安装),50 篇里同一句式反复出现。 句式 B:stop putting X back on failure / stop unwinding X by hand 真实标题:
KVM: stop putting descriptors back on failure / drm: stop unwinding descriptors by hand。stop + 动名词(停止做某事)= 删除旧的手工清理代码,因为新机制统一接管了回滚。句式 A 讲「加什么」,句式 B 讲「删什么」,两种句式一正一反把 50 篇串成一条线。 可学点 大系列写作技巧:给每篇标题定一个可复用的句式模板,换个子系统前缀就能套。读者翻标题列表时,一眼看出「这批是安装、那批是删除」,比每篇各写各的清楚得多。
🔗 原文
✍️ 今日练习
/ section✍️ 拆标题:把下面这个真实标题拆成「①外壳 ②subsystem ③主词/句式 ④改动性质(加还是删)」,并翻译成一句中文。
💡 显示答案
参考:① [PATCH RFC POC 40/50] = 探索性概念验证系列的 40/50 篇;② KVM: = 内核虚拟化子系统;③ 句式 = stop + putting ... back(停止把……放回去,属'删旧代码'类);④ 性质 = 删除:不再在失败路径上把描述符手工「放回」,因为新机制会统一回滚。整句:KVM 去掉失败时手工放回描述符的代码。
📖 原文:[PATCH RFC POC 40/50] KVM: stop putting descriptors back on failure
📎 原文引用 Read the brackets first — RFC, POC, 00/50 tell you how big and how bold before you read a single line of code.
内核英语 · 每日一篇
💬 评论
使用 GitHub 账号登录即可留言