日期范围
84
Bugfix讨论数
Bugfix分析 success作者:Wanwu Li2026/08/27 17:562 封邮件

[PATCH] sched_ext: Fix several comment issues

sched_ext 子系统内有四处注释引用了过期甚至拼写错误的函数名(__setschduler_prio、__setscheduler_prio、scx_iter_scx_dsq_new、scx_next_task_scx)。本 patch 不改动任何运行时代码,仅把这四处注释替换为当前真实存在的 __setscheduler_class()、bpf_iter_scx_dsq_new()、set_next_task_scx()。Reviewer 用 grep 验证旧拼写仅命中本 patch 触达的行,并提示 changelog 列出 3 个改名但实际改了 4 处,因为两种错误拼写对应同一过期...

lore
Bugfix重要分析 failed作者:Qiurong Fang2026/08/27 17:382 封邮件

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

sched_ext: Skip per-CPU data allocation for built-in DSQs。Claude 分析失败,当前使用规则 fallback:该讨论被归为 bugfix,共 2 封邮件。

lore
Bugfix重要分析 failed作者:Wanwu Li2026/08/27 16:164 封邮件

[PATCH] sched_ext: Fix timer pinning and return value in scx_central

sched_ext: Fix timer pinning and return value in scx_central。Claude 分析失败,当前使用规则 fallback:该讨论被归为 bugfix,共 4 封邮件。

lore
Bugfix重要分析 success作者:Andrea Righi2026/08/25 17:221 封邮件

[PATCH sched_ext/for-7.3-fixes] sched_ext: Serialize cgroup knob updates

Andrea Righi 提交的单封 fixes 补丁,针对 sched_ext cgroup knob 并发更新时 core scheduler、BPF scheduler 与 sched_ext 缓存状态分裂的问题。核心改动是为每个 task_group 引入 knob_mutex 并借助 DEFINE_GUARD 自动加锁,将核心调度器更新与 sched_ext 通知统一串行化。覆盖 cpu.shares / cpu.idle / cpu.max 等 cgroup write 路径,并修复 819513666966 等三个引入 cgroup 支持的 commit。

lore
Bugfix分析 success作者:luoliang2026/08/25 16:003 封邮件

[PATCH] sched_ext: Fix missing @slice and @vtime descriptions in finish_dispatch() kernel-doc

提交 13f1eae3b662 为 finish_dispatch() 增加 slice 和 vtime 参数,但未同步更新 kernel-doc,导致 scripts/kernel-doc 报参数未描述警告。本补丁补全两行注释,文风与 dispatch_to_local_dsq() 保持一致。同时回复澄清了 sashiko-bot 基于旧树产生的 Excess function parameter 误报,确认当前 mainline 签名已包含这两个参数。

lore
Bugfix分析 success作者:Tao Cui2026/08/25 13:525 封邮件

[PATCH v3 0/2] sched_ext: pass the initial cpu.idle state in scx_cgroup_init_args

v3 系列修复了 sched_ext 的一个 bug:scx_cgroup_init_args 没有把 cgroup 的初始 cpu.idle 状态传给 BPF 调度器,导致在 BPF 调度器加载前/online 时已经配置 idle 的 cgroup 被错误地识别为非 idle。Patch 1/2 在 args 中新增 sched_idle 字段并在四个调用点填充,Patch 2/2 把 tg->scx.idle 重命名为 sched_idle 以避免与 sched_ext 中 CPU idle 语义的标识符混淆。Andrea Righi 已给出 Reviewed-by,stable bac...

lore
Bugfix重要分析 success作者:Tao Cui2026/08/25 10:275 封邮件

[PATCH v2] sched_ext: pass the initial cpu.idle state in scx_cgroup_init_args

Tao Cui 的 v2 补丁在 scx_cgroup_init_args 中新增 idle 字段,并补齐四处构造 args 的位置,使 BPF 调度器在 init 阶段即可看到 cgroup 的初始 idle 状态。Andrea Righi 建议补 Fixes tag 并给出 Reviewed-by;Tejun Heo 指出 idle 在 sched_ext 中专指 CPU idle,要求 v3 把字段改名为 sched_idle 并同步重命名 tg->scx.idle,作者已确认照办。

lore
Bugfix分析 success作者:Cheng-Yang Chou2026/08/25 00:022 封邮件

[PATCH sched_ext/for-7.4] tools/sched_ext: Skip scx_lib_init_probe() without CONFIG_FUNCTION_TRACER

sched_ext 用户态调度器默认通过 fentry 自动挂载 scx_lib_init_probe;当内核未开启 CONFIG_FUNCTION_TRACER 时,fentry 无法 attach,而 skel__attach() 是 all-or-nothing 语义,会把整套调度器一起拖垮。本补丁在 SCX_OPS_LOAD() 中用 /proc/sys/kernel/ftrace_enabled 的存在性作为运行时代理,不可用时关闭该探针的 autoload,并在 attach 后的 struct_ops 关联循环里放过 autoload 已关闭的程序,从而让 CONFIG_FUNC...

lore
Bugfix分析 success作者:Tao Cui2026/08/24 22:174 封邮件

[PATCH] sched_ext: pass the initial cpu.idle state in scx_cgroup_init_args

Tao Cui 给 scx_cgroup_init_args 增加了 bool idle 字段,并在 scx_tg_online() 与 scx_cgroup_init() 两个构造点把 tg->scx.idle 透出给 BPF scheduler,修复已 idle 的 cgroup 在 sched_ext 挂载时被错误呈现为非 idle 的问题。Sashiko 自动评审进一步指出 kernel/sched/ext/sub.c 中 sub-scheduler 路径未同步更新该字段,是中等级别的潜在遗漏。

lore
Bugfix重要分析 success作者:Michal Blaszczyk2026/08/24 19:242 封邮件

[PATCH v3] sched: Lift cgroup update locking to core to prevent CFS/SCX divergence

Michal Blaszczyk 提交的 v3 patch,将 fair.c 内部的 shares_mutex 与 cfs_constraints_mutex 提升为 core.c 暴露的 cpu_weight_mutex 与 cpu_max_mutex,并在所有 cpu.shares / cpu.weight / cpu.weight.nice / cpu.idle / cpu.max 写路径中加锁,使 CFS 与 SCX 回调在同一锁下原子执行,彻底消除多线程并发写 cgroup 控制文件时 CFS 权重、tg->scx.weight 与 BPF 调度器三者状态两两不一致的竞态。

lore
Bugfix重要分析 success作者:Tejun Heo2026/08/24 16:557 封邮件

[PATCHSET sched_ext/for-7.3-fixes] sched_ext: Sync tools headers from the scx repo

Tejun Heo 提交一个 2 patch 系列,把 scx 用户态仓库对 BPF 头文件的修复反向同步回内核树:新增 enum ABI 回查表让 64-bit enum 在老 BTF 上不再截断;改写 is_migration_disabled() 适配 v6.18+ 不开 PREEMPT_RCU 的场景;恢复 __COMPAT_scx_bpf_cpu_curr 兼容旧内核;文档化 rq clock 在 NO_HZ_IDLE 下的 stale-read。评审指出默认 __scx_prolog_disables_migration = true 的语义与注释不符,慢路径里会导致对 curre...

lore
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作者:luoliang2026/08/22 03:148 封邮件

[PATCH 0/2] sched_ext: documentation fixes

Liang Luo 发出一组 2 份的 sched_ext 文档 patch:cgroup-v2.rst 为 cpu.max / cpu.max.burst / cpu.idle 补上 cgroup_set_bandwidth 与 cgroup_set_idle 回调的影响说明;sched-ext.rst 的 ops.exit() 示例把不存在的 ei->type 改回结构体真实字段 ei->kind。经 Tejun 指出前言 bullet 仅覆盖 cgroup_set_weight,作者在 v2 把 bullet 泛化为对应 cgroup_set_*,最终两条都被合入 sched_ext/f...

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
Bugfix分析 success作者:Tejun Heo2026/08/21 01:505 封邮件

[PATCH bpf-next] bpf: sched_ext: Mark ops argument container pointer fields as trusted

Tejun Heo 提交一封 26 行的 BPF verifier 补丁,把 sched_ext 四个 ops 参数结构体(scx_init_task_args / scx_cpu_release_args / scx_sub_attach_args / scx_sub_detach_args)里的指针字段加入 BTF_TYPE_SAFE_TRUSTED 白名单,使 sleepable 程序能直接使用 PTR_TRUSTED 指针,例如把 args->cgroup 直接传入 bpf_cgrp_storage_get()。CI bot 提示补 Fixes tag,BPF 维护者 Kumar Ka...

lore
Bugfix重要分析 success作者:Tejun Heo2026/08/20 02:3020 封邮件

[PATCHSET sched_ext/for-7.2-fixes] sched_ext: Fix core scheduling

Tejun 的 6 补丁系列修复 sched_ext 自 4c95380701f5 以来 core scheduling 支持被破坏的问题:fold 让 dispatch 从 pick 内丢 rq 锁,导致同核 sibling 选择互相覆写 core_pick 等状态引发 oops / hang。补丁新增 lock_drop_seq 计数、把"保留 prev"从 rq flag 改成 verdict 返回、修正 kfunc 中 this_rq 假设、让 core-sched pick 在丢锁时整段重试,并由 Peter Zijlstra 与 Andrea Righi 评审,已合入 sched_...

lore
Bugfix分析 success作者:Changwoo Min2026/08/19 02:423 封邮件

[PATCH v2] sched_ext: allow ops.cgroup_set_bandwidth() to be sleepable

本补丁把 sched_ext 的 ops.cgroup_set_bandwidth() 加入 bpf_scx_check_member 的 sleepable 白名单,因其调用路径(tg_set_bandwidth → scx_group_set_bandwidth)本就持有可睡眠的 percpu_rwsem 读端。同时引入 DEFINE_SCX_COMPAT_MARKER 宏和首个 marker(scx_compat_marker_cgroup_set_bandwidth_may_sleep),通过 __used __retain 保证 BTF 留存,让 userspace loader 能...

lore
Bugfix重要分析 success作者:Andrea Righi2026/08/18 04:2435 封邮件

[PATCHSET v12 sched_ext/for-7.3] sched: Make proxy execution compatible with sched_ext

Andrea Righi 发布 v12 patch series,让 proxy execution 与 sched_ext 不再在 Kconfig 层互斥:把 donor/owner 拆为 rq->donor 与 rq->curr,新增 SCX_OPS_ENQ_BLOCKED 让 BPF 调度器显式接纳 mutex-blocked donor,并修复 NOHZ tick 检查、set_task_cpu 误报警、ops.running/stopping 配对以及跨 rq DSQ 迁移中的代理竞争。系列包含 17 个 patch、新增 enq_blocked kselftest 与 scx_qm...

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