日期范围
74
全部讨论数
Bugfix重要分析 success作者:Wanwu Li2026/09/03 09:4613 封邮件

[PATCH] sched_ext: Reject NMI calls to lock-taking kfuncs

本系列把 in_nmi() 检查从 scx_bpf_kick_cpu() 推广到所有 NMI 可达、且会取 rq/dsq/pshard 锁的 sched_ext kfunc,通过新引入的 scx_kf_allowed_ctx() 宏在 NMI 中走无锁 scx_error() abort,避免 tracing BPF 程序把 any 分类 kfunc 变成整机 hard-lockup 的入口。v3 经三轮 review 后被 Tejun Heo 应用到 sched_ext/for-7.4。

lore
Bugfix分析 success作者:Tao Cui2026/09/03 01:483 封邮件

[PATCH v2] sched_ext: don't deliver duplicate ops.cgroup_set_idle() for same value

scx_group_set_idle() 原先每次写入 cpu.idle 都无条件调用 BPF 的 cgroup_set_idle 回调,违反 transition 语义,导致 BPF scheduler 误判重复事件。本补丁在该函数中加入 tg->scx.idle != idle 的短路条件,与已有的 scx_group_set_weight() 路径对称。v2 仅修复了 v1 Link: tag 缺失 @linux.dev 的问题;Tejun Heo 已合入 sched_ext/for-7.3-fixes,并把 sched_idle 改回 idle 以匹配当前分支。

lore
Bugfix分析 success作者:Michal Blaszczyk2026/09/02 16:074 封邮件

[PATCH] sched_ext: Use atomic cpumask_clear_cpu in scx_idle_test_and_clear_cpu()

Michal Blaszczyk 提交单行 patch,把 scx_idle_test_and_clear_cpu() 里的 __cpumask_clear_cpu 替换为原子版本,试图消除 idle_smts 共享 mask 上的并发 lost update。Sashiko 与维护者 Andrea Righi 均指出修复不完整,因为 cpumask_andnot / cpumask_or 仍是整字非原子 RMW,且原设计本就是有意为之的 best-effort。最终作者决定撤回该 patch,建议改为更系统的方案,例如 per-CPU mask 或加锁。

lore
其它分析 success作者:Qiurong Fang2026/09/02 14:577 封邮件

[PATCH] sched_ext: Skip per-CPU data allocation for built-in DSQs

Qiurong Fang 提出 sched_ext 补丁,在 scx_init_dsq() 与 exit_dsq() 中对 built-in DSQ 跳过 pcpu 分配,把原本 O(nr_cpu_ids²) 的死内存释放掉。Zhan Xusheng 在 review 中指出浪费是二次方级别并给出 Reviewed-by;Tejun Heo 建议把字段重命名为 pcpu_user。v2 完成重命名与文案修订后被合入 sched_ext/for-7.4。

lore
Bugfix分析 success作者:Tao Cui2026/09/02 14:425 封邮件

[PATCH v3 0/2] sched_ext: document and enforce vtime ordering constraints

v3 系列由两片组成:1/2 在 ext.c 注释中显式写出 dsq_vtime 必须落在 2^63 窗口内的 rolling-cursor 约束;2/2 把 scx_flatcg 的 cgv_node_less() 由裸 < 改为 time_before(),避免 cvtime 回卷后早回卷的 cgroup 抢到 rbtree 头部、其余节点被卡死。v3 相对 v1/v2 删掉了原 kernel priq 比较器改动并把 Fixes tag 校准到 a4103eacc2ab,Tejun 已收下合入 sched_ext/for-7.4。

lore
每页
上一页3 / 15下一页