日期范围
113
全部讨论数
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
其它分析 success作者:Tao Cui2026/08/20 03:492 封邮件

[PATCH v2] docs/sched_ext: document that cgroup CPU knobs are scheduler-dependent

Tao Cui 提交 v2 文档补丁,在 sched-ext.rst 新增 Scheduler-Dependent Knobs 小节,说明 sched_ext 只把 cpu.max / cpu.weight / cpu.idle 等 cgroup 旋钮透传给 BPF 调度器,未实现对应回调时静默忽略。维护者 Tejun Heo 回复指出当下大多数 BPF 调度器未实现 cpu.max、nr_throttled 计数也未在 SCX 中路由,建议文档改得更通用。

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
RFC重要分析 success作者:Tao Cui2026/08/19 08:575 封邮件

[PATCH RFC] sched_ext: warn when cpu.max is set but the BPF scheduler doesn't implement bandwidth control

Tao Cui 提出在 BPF 调度器未实现 ops.cgroup_set_bandwidth 时,对有限 cpu.max 配额打印一次 pr_warn_once。实测 scx_simple 配置 cpu.max=50000 100000 时任务仍可吃满 CPU。Tejun Heo 引用 cpu.weight 的旧例反对运行时警告,建议通过文档说明各调度器实现的 cgroup 接口;Sashiko AI进一步指出该警告覆盖不到启动时已存在的 cgroup 配额。下一步取决于作者是否改为文档 patch,或扩展为 cgroup 能力位图机制。

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
其它重要分析 success作者:Changwoo Min2026/08/18 22:164 封邮件

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

本 v1 patch 把 sched_ext 的 ops.cgroup_set_bandwidth() 加入 BPF verifier 的 sleepable allow-list,使 BPF scheduler 能在运行时按需分配内存;新增一个 __used BTF marker 函数 scx_cgroup_set_bandwidth_may_sleep() 让 userspace 通过 BTF 探测该能力。Tejun Heo 指出仅 __used 在 CONFIG_LD_DEAD_CODE_DATA_ELIMINATION 下仍会被链接器 GC,需要补 __retain,并建议把未来会越来...

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
其它分析 success作者:Changwoo Min2026/08/18 03:002 封邮件

[PATCH v2] selftests/bpf: Remove duplicate copies of the arena spinlock qnodes

把 bpf_arena_spin_lock.h 中弱定义的 64KB qnodes 数组改为 extern 声明,并由 libarena/src/common.bpf.c 与 progs/arena_spin_lock.c 各提供一份唯一定义,避免 bpftool gen object 拼接 .addr_space.1 时把每个 TU 的弱副本都塞进最终对象。v2 仅 rebase,已被 Kumar Kartikeya Dwivedi 接受入库到 bpf-next。

lore
其它分析 success作者:Changwoo Min2026/08/18 02:056 封邮件

[PATCH] selftests/bpf: Remove duplicate copies of the arena spinlock qnodes

bpf_arena_spin_lock.h 把 64KB 的 qnodes 数组直接定义在头文件里,导致 libarena 链接的 10 个 TU 在 .addr_space.1 中各留一份副本;本 patch 把它改为 extern 声明,由 common.bpf.c 与 arena_spin_lock.c 各自提供一份定义,把 libarena.bpf.o 从 676KB 缩到 86KB、asan 版 skel 从 2.6MB 缩到 1.4MB。Daniel 因补丁无法干净应用要求 rebase,Emil 给了 Reviewed-by,作者承诺稍后发 v2。

lore
Bugfix重要分析 success作者:Changwoo Min2026/08/18 01:415 封邮件

[PATCH 0/2] sched_ext: sync compat.bpf.h peek/reenqueue fixes from sched-ext/scx

本系列把 sched-ext/scx 仓库 compat.bpf.h 的两处修复同步进内核树:给 lockless scx_bpf_dsq_peek() 加内核 ≥ 7.1.0 版本门以规避 v7.1 之前的 FIFO DSQ peek bug,并新增 scx_bpf_reenqueue_local_from_anywhere() 兼容 helper,让 tracepoint 等任意上下文能统一调用 v7.1 通用 dsq_reenq() 或 v6.19 v2 reenqueue-local。Tejun 已逐 patch 指出 Patch 1 commit message/注释把 v6.19 ...

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