日期范围
89
重要讨论数
其它重要分析 success作者:Tejun Heo2026/08/03 03:5118 封邮件

[PATCHSET sched_ext/for-7.3] sched_ext: Bandwidth-limited rescue execution for stranded tasks

本系列为 sched_ext 子调度器中因 CPU 亲和性与 cid 不匹配而搁浅的任务,新增内核侧的带宽受限救援执行机制。调度器在 insert 时标记 SCX_ENQ_RESCUE,内核将任务放入 rescue DSQ 以受限带宽运行,等待过久时升级为不可抢占的 protected execution。当救援队列持续过载时,逐出消耗救援资源最多的子调度器而非归咎于等待者。

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

[PATCHSET v2 sched_ext/for-7.3] sched_ext: Fix idle CPU state initialization and validation

sched_ext 内置 idle mask 在 ops.init() 前将所有 online CPU 标记为 idle,但 idle 追踪未启动,导致 busy CPU 被误报为 idle。本系列在调度器启用前开启 idle 追踪并逐 CPU 持 rq lock 刷新状态,同时将 allowed_cpus 自测从竞态的远程 CPU 检查改为稳定的本地不变量验证。v3 将合并静态键并可能扩展不变量检查范围。

lore
Bugfix重要分析 success作者:Andrea Righi2026/07/31 16:254 封邮件

[PATCH sched_ext/for-7.2-fixes] selftests/sched_ext: Make allowed_cpus idle validation race-free

sched_ext 的 allowed_cpus 自测在验证远程 CPU 的 idle 状态时存在本质竞态:远程 CPU 可在验证前被 idle re-pick 重新标记为 idle,导致误报。本 patch 将验证改为检查本地 CPU 的 idle 不变量(本地 CPU 不可能在本回调运行期间被 re-pick),并增加引导阶段刷新 idle mask 初始化状态,同时补充了 allowed domain 和 task affinity 的验证。

lore
Bugfix重要分析 success作者:Matt Fleming2026/07/30 20:194 封邮件

[PATCH] rcu-tasks: Defer IRQ-disabled callback enqueue to irq_work

修复 call_rcu_tasks_generic() 在 IRQ 禁用上下文中与 rq->lock 形成 ABBA 死锁的问题。通过无锁 llist + irq_work 将回调入队延迟到安全上下文执行。RCU maintainer 建议等待上游 call_rcu()/call_srcu() deferral 系列后再提交 v2,并指出 barrier 需排空所有队列及 CPU hotplug 场景需处理。

lore
Bugfix重要分析 success作者:Tejun Heo2026/07/28 05:2410 封邮件

[PATCHSET sched_ext/for-7.3] sched_ext: NMI-safe exit handling

sched_ext 的 exit 路径在 NMI 上下文中可死锁:scx_claim_exit() 持 scx_sched_lock 遍历子树,bstr kfuncs 持共享 spinlock 格式化消息。本系列将 ->aborting 扫描改为无锁 + 延迟传播、将 bstr exit 改为 claim-first 直接写入 winner 缓冲区,使 scx_bpf_error()/scx_bpf_exit() 可从 NMI 安全调用。同时让 hardlockup handler 直接从 NMI abort(自检测 lockup 可恢复),NMI kick 不再静默丢弃,scx_link_s...

lore
每页
上一页11 / 18下一页