Andrea Righi 的 v6 共 11 个 patch,目标是拆掉 CONFIG_SCHED_PROXY_EXEC 与 CONFIG_SCHED_CLASS_EXT 的 Kconfig 互斥。核心做法是把 sched_ext 中所有策略与记账从 rq->curr 改为 rq->donor(donor 提供调度上下文,curr 只是执行上下文),并新增 SCX_OPS_ENQ_BLOCKED 让 BPF 调度器显式接管 blocked donor 的准入与排序。附带修复 NOHZ CFS bandwidth 检查看错任务(带 Fixes 标签)、ops.running/stopping 不...
Andrea Righi 的 v6 共 11 个 patch,目标是拆掉 CONFIG_SCHED_PROXY_EXEC 与 CONFIG_SCHED_CLASS_EXT 的 Kconfig 互斥。核心做法是把 sched_ext 中所有策略与记账从 rq->curr 改为 rq->donor(donor 提供调度上下文,curr 只是执行上下文),并新增 SCX_OPS_ENQ_BLOCKED 让 BPF 调度器显式接管 blocked donor 的准入与排序。附带修复 NOHZ CFS bandwidth 检查看错任务(带 Fixes 标签)、ops.running/stopping 不配对、以及 consume_remote_task() 在 rq 锁交接窗口的 TOCTOU 竞态。K Prateek Nayak 指出 sched_proxy_block_task() 中应使用 proxy_reset_donor() 而非 proxy_resched_idle(),否则 sched_yield() 会以 idle 为 donor 而崩溃;Sashiko 另报两个 High 级问题尚未见回应。