[PATCH] selftests/sched_ext: Handle CPU hotplug write failures
selftests/sched_ext/hotplug.c 中 toggle_online_status() 只打印错误不返回错误码,导致 CPU 状态写入失败时测试无限挂死。patch 把函数改为返回 int,调用点通过 goto 跳出并在失败时清理 BPF 资源,同时把 status 默认值从 PASS 改为 FAIL,保证任何未走完的路径都被报告为失败。
北京时间 2026-08-25 至 2026-09-07
最近同步:2026/09/07 18:31
selftests/sched_ext/hotplug.c 中 toggle_online_status() 只打印错误不返回错误码,导致 CPU 状态写入失败时测试无限挂死。patch 把函数改为返回 int,调用点通过 goto 跳出并在失败时清理 BPF 资源,同时把 status 默认值从 PASS 改为 FAIL,保证任何未走完的路径都被报告为失败。
sched_ext: Fix keep-last for sub-scheduler tasks and two scx_qmap placement loops。Claude 分析失败,当前使用规则 fallback:该讨论被归为 bugfix,共 11 封邮件。
Andrea Righi 发布的 18 patch 系列让 CONFIG_SCHED_PROXY_EXEC 与 CONFIG_SCHED_CLASS_EXT 可同时启用。新增 SCX_OPS_ENQ_BLOCKED 让 BPF 调度器显式接管被 mutex 阻塞的 donor;sched_ext 把 running/stopping、tick 带宽、curr 视角等从 rq->curr 改为 rq->donor。系列同时修复了 ops.running/stopping 配对错误、迁移禁用假性 WARN_ON、远端 DSQ 转移与 proxy 状态竞态等多个 correctness 问题,并新增...
本系列是 sashiko bot NMI-reject 审计的延伸工作,共两 patch:Patch 1 让 scx_locked_rq() 在 NMI 中返回 NULL,避免三个 "any" 类 kfunc 走错持锁路径;Patch 2 把 idle-search 临时 nodemask 由 preempt_disable() 改为 guard(irqsave)() 防止 IRQ 嵌套覆写。两处改动都在源头统一拦截而非分散守卫,已被 Tejun Heo 当日合入 sched_ext/for-7.4 分支。
该系列修复 sched_ext COMPAT kfunc 包装器在 sub-sched 错误路径上的 NULL 指针解引用:BPF_PROG_TYPE_SYSCALL 或 ops.enqueue/dispatch 上下文对已退出或 idle 任务调用 scx_bpf_select_cpu_and() / scx_bpf_dsq_insert_vtime() 时会 oops。三版迭代后改为在 RCU 下安全读取 p->scx.sched,读到就 scx_error(),读不到就静默拒绝;已被 Tejun Heo 应用到 sched_ext/for-7.3-fixes 并 backport 到 s...