sched-ext discussion
[PATCH] tools/sched_ext: scx_qmap: Fix stale API name in comment
LLM 分析
系列基线信息
- 标题:
[PATCH] tools/sched_ext: scx_qmap: Fix stale API name in comment - 作者: Liang Luo (luoliang@kylinos.cn)
- 版本: 单 patch,无版本号
- 规模: 1 file, 1 insertion, 1 deletion
- Message-ID:
20260714032051.1834822-1-luoliang@kylinos.cn - 来源: sched-ext 频道
- 维护者响应: Tejun Heo — 已合入
sched_ext/for-7.3
明确目的
在 v6.13 中,scx_bpf_dispatch[_vtime]_from_dsq*() 系列 API 被统一重命名为 scx_bpf_dsq_move[_vtime]*(),目的是减轻 "dispatch" 一词的语义过载。重命名后,scx_qmap.bpf.c 中 dispatch_highpri() 上方的注释仍写着旧名,而该函数的实际代码已使用新名。本 patch 将注释中的旧名同步更新为新名,消除文档与代码不一致。
遍历代码
改动仅涉及一行注释:
/* 旧(错误) */
* scx_bpf_dispatch[_vtime]_from_dsq() are allowed both from ops.dispatch() and
/* 新(正确) */
* scx_bpf_dsq_move[_vtime]() are allowed both from ops.dispatch() and
上下文:该注释位于 dispatch_highpri() 函数上方,说明哪些 BPF API 可以在非持有 rq-lock 的上下文中调用。函数体内部早已改用 scx_bpf_dsq_move() 等新名,注释是重命名时遗漏的残留。
概念类比
就像一栋楼改了门牌号——住户(代码)已经搬到新地址住了,但门口的指示牌(注释)还写着旧地址。访客按旧牌号找门,会发现牌子和实际不一致。本 patch 就是把指示牌上的旧地址更新成新地址,让文档与现实重新对齐。
ASCII 流程图
v6.13 rename commit
│
▼
scx_bpf_dispatch_from_dsq ──► scx_bpf_dsq_move
│ │
│ (code updated) │ (code updated)
▼ ▼
dispatch_highpri() dispatch_highpri()
body: NEW names ✓ body: NEW names ✓
comment: OLD names ✗ ─────────► comment: NEW names ✓ ← 本 patch
Highlight 窀出问题
- 重命名遗漏是常见问题: 内核大规模 API rename 时,注释、文档、printk、tracepoint 字符串等非执行路径的引用容易被遗漏。此类 "doc-vs-code 不一致" 不会触发编译警告,只能靠人工或静态分析发现。
Fixes标签指向 rename commit: 正确标注了引入不一致的原始 commit (5cbb302880f5),便于 git blame 和 stable tree 回溯。- 后续观察: sched_ext 子系统仍在快速迭代,API 名称可能继续调整;后续 rename 应配套脚本检查注释/文档,避免同类遗漏反复出现。
版本演进
无多版本演进,单次提交即被 maintainer 合入。
与其他相关 patch 系列的关联
- 本 patch 直接修补的遗漏源自 commit
5cbb302880f5(sched_ext: Rename scx_bpf_dispatch[_vtime]_from_dsq*() → scx_bpf_dsq_move[_vtime]*()),即 v6.13 的 API 重命名系列。 - 可能存在其他示例调度器(scx_flatcg、scx_central 等)中类似的注释遗漏,值得做一次 grep 扫描确认。
一句话总结
修正 scx_qmap 注释中对已重命名 API 的旧称引用,使文档与代码一致;已被 maintainer 合入 for-7.3。