日期范围
45
重要讨论数
Bugfix重要分析 success作者:Tejun Heo2026/08/23 01:062 封邮件

[PATCH sched_ext/for-7.3-fixes] sched_ext: Fix spurious aborts in scx_bpf_dsq_move() on ownership change races

sched_ext 在 scx_dsq_move() 中对任务做所有权检查的位置过于靠前,会把任务临时离开/换主的良性竞态误判为越权并终止整个 BPF scheduler。补丁把该检查推迟到拿到 src_dsq 锁且确认任务仍在源 DSQ 之后,仅当 lock 下仍可见却不再属于当前 scheduler 时才真正 abort,保留错误信息文案不变以便兼容。同时顺手修正两处仍引用已重命名的 sched_ext_free() 的注释。

lore
Bugfix重要分析 success作者:Changwoo Min2026/08/22 11:214 封邮件

[PATCH] sched_ext: serialize concurrent cpu.max writers in scx_group_set_bandwidth()

Changwoo Min 提交单补丁,在 scx_group_set_bandwidth() 中新增 scx_cgroup_set_bw_mutex,把 SCX 回调与 tg->scx.bw_* 写入包在互斥区,与 CFS 一侧的 cfs_constraints_mutex 对齐,避免并发 cpu.max 写导致的乱序和撕裂。Sashiko AI 评审指出该锁在 percpu rwsem 读侧获取可能引起调度饥饿,并提醒 cpu.weight/cpu.idle 等同类属性仍缺乏串行化;Tejun 与作者的回复在抓取中被截断,需回拉原文确认进一步指导。

lore
Bugfix重要分析 success作者:Michal Blaszczyk2026/08/22 03:085 封邮件

[PATCH] sched: Serialize cgroup updates to prevent CFS/SCX state divergence

本系列修复 cgroup cpu.* 文件并发写导致的 CFS 与 sched_ext 状态发散。v1 在 core 层新增 scx_cgroup_mutex 串行化写路径;经 Tejun 与 Peter 评审后,v2 把 fair.c 已有的 shares_mutex 提升到 core 层,并新增 sched_group_set_shares_locked(),让 CFS 与 SCX 在同一锁下原子完成,避免嵌套加锁。线程仍在修订中,v3 需回应命名建议并补回归测试。

lore
Bugfix重要分析 success作者:yaoyiqi (A)2026/08/21 16:065 封邮件

[scx_nest] bpf_timer_cancel() unusable from select_cpu()

scx_nest 在 nest_select_cpu() 的 migrate_primary 分支里调用 bpf_timer_cancel(),但 select_cpu() 处于 p->pi_lock + IRQ-disabled 上下文,无法同步取消定时器。补丁改为清 scheduled_compaction 标志、让 timer 回调自检作废,并把 stat_inc(CALLBACK_COMPACTED) 移到 stale 检测之后,避免悬挂到期被误计为 compact。

lore
讨论重要分析 success作者:Tejun Heo2026/08/21 02:342 封邮件

[GIT PULL] sched_ext: Changes for v7.3

Tejun Heo 发起的 v7.3 sched_ext 合并请求,主要完成分层子调度的入队路径支持,使父 BPF 调度器能够把 cgroup 子树连同 per-CPU 授权一并移交给嵌套子调度器。同时借机捎带 BPF kfunc/struct_ops 的 arena 参数支持以及一批 v7.2 漏掉的核心调度修复。合并需先 BPF 后 scheduler,结果已在 linux-next soak 数日,是 sched_ext 走向特性完整的里程碑。

lore
每页
上一页5 / 9下一页