今日重点:💬 地道表达——今天不学单词,学「说法」。素材是 Jim Cromie 的 folio_pool 系列 cover letter(投 linux-mm),里面四个表达在英文技术写作里高频出现,读内核邮件 / 写补丁都用得上。先读真实原段,再逐条拆。
💬 地道表达:一个真实段落,四个说法
/ section★ 真实英文段(folio_pool cover letter)
英文原段 Transactional subsystems allocate bursts of hundreds or thousands of homogeneous or heterogeneous objects, only to tear them all down simultaneously at batch completion or error abort. Under SLUB: Each descriptor incurs freelist traversal, lock contention, and O(N) kfree() loops on teardown. Under Folio-Scratchpad: Allocations are straight-line pointer bumps, bulk teardown is O(1) folio_put(), and consecutive Netlink transactions reuse warm L1/L2 cachelines without buddy lock churn via folio_scratchpad_reset().
中文理解 「事务型子系统成批分配成百上千个同构或异构对象,结果却在批处理结束或出错中止时把它们同时全部销毁。在 SLUB 下:每个描述符都要承担 freelist 遍历、锁竞争和销毁时的 O(N) kfree() 循环。而在 folio_scratchpad 下:分配是直线推进指针,批量销毁是 O(1) 的 folio_put(),连续的 netlink 事务复用温热的 L1/L2 缓存行、没有 buddy 锁抖动。」
🔗 原文
💬 四个表达逐条拆
/ column★ ① backed by
真实原句 two light-weight bump allocators backed directly by compound folio pages
中文 两个轻量 bump 分配器,直接由 compound folio 页支撑。
用法 backed by = 由……作为后盾/基础。技术写作里高频:方案「由 X 支撑/依赖 X」就说 backed by X;也引申为「有……背书」(如 backed by benchmarks)。
★ ② only to + 动词
真实原句 allocate bursts of ... objects, only to tear them all down simultaneously
中文 分配一大堆对象,结果却要把它们同时全部销毁。
用法 only to do sth = 强调「白忙一场/出人意料」的结果,语气带点无奈或反讽。写成批分配完又全删,用 only to tear down 比 and then tear down 生动得多。
★ ③ churn
真实原句 without buddy lock churn
中文 没有 buddy 锁的反复竞争抖动。
用法 churn 本义「搅动、翻腾」,技术语境指「大量无谓的重复操作/波动」——lock churn(锁抖动)、page churn(页抖动)。说优化「消除了 churn」比「减少 overhead」更形象。
★ ④ bursty
真实原句 allocate bursts of hundreds or thousands of ... objects
中文 成批分配成百上千个对象(突发式分配)。
用法 bursty = 突发的、成批的(名词 burst + -y)。内核里形容「突发批量负载」就说 bursty workload / bursts of。和「稳态 steady-state」相对。
✨ 辅助彩蛋
/ section★ 一个「承担」的表达:incur
真实原句 Each descriptor incurs freelist traversal, lock contention, and O(N) kfree() loops on teardown.
可学点 incur = 招致、承担(cost/overhead/contention)。中文说「有开销」,英文技术写作说「incur overhead」——比 have/cause 正式,是内核邮件里的标准动词。
🔗 原文
✍️ 今日练习
/ section✍️ 仿写:用今天学的表达各写一句英文——① backed by(说某个优化「由数据支撑」)② only to(说「改了半天结果却更糟」)③ churn(说「消除了锁抖动」)④ incur(说「每帧都要承担一次拷贝开销」)。
💡 显示答案
参考(仿写示范,非原句):① The optimization is backed by real benchmarks on production traffic. ② He spent a week on the refactor, only to make the fast path slower. ③ Batching removes the per-packet lock churn on the hot path. ④ Every frame incurs one full buffer copy in the current design.
📖 原文:Transactional subsystems allocate bursts of hundreds or thousands of homogeneous or heterogeneous objects, only to tear them all down simultaneously at batch completion or error abort. Under SLUB: Each descriptor incurs freelist traversal, lock contention, and O(N) kfree() loops on teardown. Under Folio-Scratchpad: Allocations are straight-line pointer bumps, bulk teardown is O(1) folio_put(), and consecutive Netlink transactions reuse warm L1/L2 cachelines without buddy lock churn via folio_scratchpad_reset().
📎 原文引用 Backed by, only to, churn, bursty, incur — five ways to sound like a kernel maintainer.
内核英语 · 每日一篇
💬 评论
使用 GitHub 账号登录即可留言