[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。
北京时间全部历史数据
最近同步:2026/08/28 15:52
sched_ext 为 v7.2-rc6 提交了四类 bugfix:子调度器 enable 失败路径的 use-after-free、cgroup/kernfs 锁序死锁、WAKE_SYNC 场景下 waker CPU 空闲标记错误,以及 numa 自测对睡眠任务 affinity 变化的处理。这些修复已由 pr-tracker-bot 合并进 torvalds/linux.git。
sched_ext 内置 idle mask 在 scheduler 启用时将所有 online CPU 标记为 idle,导致 busy CPU 被误报。v4 改为空初始化,依赖 bypass re-notification 路径填充真正 idle 的 CPU。同时重构 allowed_cpus selftest,用稳定的本地不变量替代竞态的远端 CPU 检查。已合入 for-7.3。
sched_ext 内置 idle mask 在调度器完全启用前将所有 online CPU 标记为 idle,导致 ops.init() 看到错误状态。本系列在 ops.init() 之前启用 idle 追踪并逐 CPU 刷新真实状态,同时将 allowed_cpus 自测从竞态的远程检查改为稳定的本地不变量验证。Tejun 提出了更简洁的替代方案(清空而非设置 idle bit),值得后续跟进。
scx_root_enable_workfn() 在 ENABLING→ENABLED cmpxchg 失败时跳转 err_disable,但未设置 ret,导致错误日志输出 failed (0) 无意义。本 patch 在跳转前补设 ret=-EBUSY,与函数顶部其他状态守卫一致。已被 Tejun Heo 合入 sched_ext/for-7.3。
sched_ext_ops 结构体的成员 cgroup_id 已被重命名为 sub_cgroup_id,但 kernel-doc 注释未同步,导致两处文档警告。本 patch 将 @cgroup_id 更新为 @sub_cgroup_id,已被 Tejun Heo 合入 sched_ext/for-7.3。