日期范围
134
全部讨论数
Bugfix分析 success作者:Qiurong Fang2026/08/13 03:203 封邮件

[PATCH] sched_ext: Gate cid kfuncs behind the SCX struct_ops check

scx_bpf_cid_to_cpu/cpu_to_cid/cid_topo 三个 kfunc 归在 scx_kfunc_ids_cid 里,但 scx_kfunc_context_filter() 漏检这个集合,导致任意 struct_ops 程序(包括 TCP 拥塞控制)都能调用它们。补丁把 scx_kfunc_ids_cid 加入 filter 的已知集合,与 in_any / in_idle 并列处理。Tejun 已 apply 到 sched_ext/for-7.3。

lore
其它分析 success作者:Ziyang Men2026/08/12 15:0315 封邮件

[PATCH v2 0/4] selftests: shared lib.bpf.mk for building BPF progs and skeletons

Ziyang Men 提出的4 patch 系列把 selftests/{bpf,sched_ext,hid}/ 中重复的 libbpf+bpftool+vmlinux.h+skeleton 工具链抽到共享片段 tools/testing/selftests/lib.bpf.mk,并新增 selftests/cgroup/test_memcg_stat_cross_cpu 验证 memcg BPF kfunc 与 rstat flush 在跨 CPU 场景下的正确性。维护者主要在 EXTRA_CFLAGS/OPT_FLAGS 透传、cgroup 测试选址与 bot CI 上提出反馈,作者承诺 ...

lore
Bugfix分析 success作者:luoliang2026/08/11 03:512 封邮件

[PATCH] selftests/sched_ext: Check skeleton open failure in exit test

sched_ext selftest 中 exit.c 没有像其它兄弟 selftest 那样在 exit__open() 返回 NULL 时立刻失败,导致下一行 SCX_ENUM_INIT 通过 skel->rodata 解引用空指针。本 patch 增加一行 SCX_FAIL_IF(!skel, "Failed to open") 与其他 selftest 风格对齐,已被 Tejun Heo 合入 sched_ext/for-7.3。

lore
其它重要分析 success作者:Andrea Righi2026/08/11 00:0620 封邮件

[PATCHSET v11 sched_ext/for-7.3] sched: Make proxy execution compatible with sched_ext

v11 系列通过新增 SCX_OPS_ENQ_BLOCKED 与 SCX_ENQ_BLOCKED 让 BPF 调度器可选地接收被阻塞的 proxy donor,并把 sched_ext 的回调、kfunc 视角由 rq->curr 拆分为 rq->donor,从而解开 SCHED_PROXY_EXEC 与 SCHED_CLASS_EXT 的构建时互斥。同时给出 kselftest 与 scx_qmap -X 演示选项,并修复 NOHZ 带宽与 running/stopping 配对的若干边角问题。

lore
Bugfix分析 success作者:Cui Jian2026/08/07 20:573 封邮件

[PATCH] sched_ext: Fix NULL dereference in find_parent_sched()

Cui Jian 提交补丁为 find_parent_sched() 增加 parent 的 NULL 检查,声称 BPF 传入 cgroup v1 ID 可触发内核崩溃。Zhan Xusheng 逐层论证该路径不可达:cgroup_get_from_id() 只在 v2 默认层级 kernfs root 查找,且 cgroup_is_descendant() 会因 root 不同而拒绝,v1 cgroup 从不设置 scx_sched。作者接受意见后重发,代码完全不变,仅把标题从 Fix NULL dereference 改为 Add NULL check、changelog 改为防御性加固...

lore
其它重要分析 success作者:Andrea Righi2026/08/06 17:0732 封邮件

[PATCHSET v10 sched_ext/for-7.3] sched: Make proxy execution compatible with sched_ext

Andrea Righi 提交的 v10 系列把 SCHED_PROXY_EXEC 与 SCHED_CLASS_EXT 由编译期互斥改为可同时开启。核心做法是引入 SCX_OPS_ENQ_BLOCKED capability,把 blocked donor 的入队决策交给 BPF 调度器,并在 rq->donor 与 rq->curr 之间严格区分调度上下文与执行上下文。Tejun Heo 关注代码移动与 PI 跨类切换等细节,sashiko-bot 指出 reject DSQ 锁路径与文档不一致。

lore
Bugfix重要分析 success作者:Tejun Heo2026/08/04 05:3717 封邮件

[PATCHSET v2 sched_ext/for-7.3] sched_ext: Bandwidth-limited rescue execution for stranded tasks

本系列为 sched_ext 子调度器新增 SCX_ENQ_RESCUE 救援执行路径:当任务可运行 cpu 全部落在调度器未持有的 cid 上时,kernel 在每 CPU 限定的带宽(默认 2% CPU 时间)下直接驱动任务,并按救援消耗驱逐真正过载的 sub-sched。同时重构 slice/dsq_vtime 写入协议,引入 SCX_TASK_PROTECTED 防止 kernel 授权的 slice 被 BPF 改写,并修复内部 enq_flags 校验、pinned 任务直派等并发与正确性问题。scx_qmap 作为示范调度器接入救援路径,提供 -B/-q 旋钮与统计。

lore
Bugfix重要分析 success作者:Tejun Heo2026/08/04 02:432 封邮件

[GIT PULL] sched_ext: Fixes for v7.2-rc6

sched_ext 为 v7.2-rc6 提交了四类 bugfix:子调度器 enable 失败路径的 use-after-free、cgroup/kernfs 锁序死锁、WAKE_SYNC 场景下 waker CPU 空闲标记错误,以及 numa 自测对睡眠任务 affinity 变化的处理。这些修复已由 pr-tracker-bot 合并进 torvalds/linux.git。

lore
Bugfix重要分析 success作者:Andrea Righi2026/08/04 01:015 封邮件

[PATCHSET v4 sched_ext/for-7.3] sched_ext: Fix idle CPU state initialization and validation

sched_ext 内置 idle mask 在 scheduler 启用时将所有 online CPU 标记为 idle,导致 busy CPU 被误报。v4 改为空初始化,依赖 bypass re-notification 路径填充真正 idle 的 CPU。同时重构 allowed_cpus selftest,用稳定的本地不变量替代竞态的远端 CPU 检查。已合入 for-7.3。

lore
Bugfix重要分析 success作者:Andrea Righi2026/08/03 13:475 封邮件

[PATCHSET v3 sched_ext/for-7.3] sched_ext: Fix idle CPU state initialization and validation

sched_ext 内置 idle mask 在调度器完全启用前将所有 online CPU 标记为 idle,导致 ops.init() 看到错误状态。本系列在 ops.init() 之前启用 idle 追踪并逐 CPU 刷新真实状态,同时将 allowed_cpus 自测从竞态的远程检查改为稳定的本地不变量验证。Tejun 提出了更简洁的替代方案(清空而非设置 idle bit),值得后续跟进。

lore
每页
上一页8 / 14下一页