日期范围
270
全部讨论数
Bugfix重要分析 success作者:Guopeng Zhang2026/07/18 17:491 封邮件

[PATCH] sched/deadline: Lock the task's runqueue for dynamic sched_getattr()

修复 SCHED_GETATTR_FLAG_DL_DYNAMIC 路径上 task_rq 早取与 rq->__lock 直接加锁引发的 race,并适配 core scheduling:改为 task_rq_lock()、锁内复检 DL 策略、改用 task_current_donor() 以兼容 proxy execution。__getparam_dl 与 get_params 改返 int 并向上冒泡错误,非 DL 任务返回 -EINVAL。

lore
Bugfix分析 success作者:Zhan Xusheng2026/07/17 17:251 封邮件

[PATCH] sched/fair: Fix the util_avg_cap formula in a comment

Zhan Xusheng 提交的单封补丁,仅修改 kernel/sched/fair.c 中 init_entity_runnable_average 上方的注释。原文写成 (cpu_scale - cfs_rq->avg.util_avg) / 2^n,但代码实际是 / 2;注释自带的 1024/512 算例也与公式不一致。补丁把注释公式改成与代码一致,并补充说明 2^n 序列来自逐次对剩余预算减半的累积。代码语义不变,仅修正误导性文档,Fixes 指向 2b8c41daba32。

lore
Bugfix重要分析 success作者:Luo Gengkun2026/07/17 16:274 封邮件

[PATCH v6 0/2] Cache aware scheduling: Reduce the overhead of task_cache_work

v6 系列在 mm_struct 内新增 visited_cpus 位图与 epoch_last_visit,让 task_cache_work 只扫描最近 llc_epoch_affinity_timeout 内真正跑过本 mm 的 CPU;在 384 CPU 多 NUMA 平台上把 task_cache_work 的 cycles 占比从 0.81% 降到 0.02%,Redis p99 延迟退化从 25.68% 收敛到 1.14%。v6 同时把 cpumask 改为 cpumask_var_t 动态分配,直接与 LLC span 取交集防跨节点遗漏,并把 __update_mm_sche...

lore
其它分析 success作者:Usama Arif2026/07/16 19:586 封邮件

[PATCH] sched/psi: use for_each_set_bit() in psi_group_change() task-count walk

Usama Arif 提交单 patch,把 psi_group_change() 中两段手写位扫描循环替换为内核通用宏 for_each_set_bit(),号称依赖 small_const_nbits() 快路径获得更少迭代。Prateek Nayak 给出 Reviewed-by 并建议改形参类型;psi 维护者 Johannes Weiner 则提醒该路径历史上是为 scheduler benchmark 手工调优过的,要求比对汇编并做基准测试后再合并。

lore
RFC重要分析 success作者:Paul E. McKenney2026/07/16 08:1825 封邮件

[PATCH RFC v2 0/24] Simple hazard-pointer implementation and torture tests

Paul E. McKenney 联合 Mathieu Desnoyers 投递 24 patch 的 RFC v2,在内核里实现 hazard pointer,提供比 RCU 更快的安全对象回收路径。核心包括每 CPU 4 槽加溢出链表的 hazptr_acquire/release、跨上下文 hazptr_detach、CONFIG_HAZPTR_DEBUG 误用检测,以及 hazptrtorture 跨任务/IPI 压测模块。v2 相比 v1 新增 detach API 与所有权问题修复,整体目标是征求设计与正确性方面的反馈。

lore
Bugfix重要分析 success作者:Luo Gengkun2026/07/16 04:448 封邮件

[PATCH v5 linux 0/2] Cache aware scheduling: Reduce the overhead of task_cache_work

v5 为每个 mm 维护 visited_cpus,使 task_cache_work 只扫描近期实际访问且满足 NUMA/LLC 约束的 CPU。AMD Redis 测试中扫描数量由 384 降至最多约 16,task_cache_work 的 cycles 占比降至约 0.02%。评审同时指出空闲 CPU 的 cpu_epoch 可能停止推进,导致陈旧 CPU 无法从集合淘汰;由于后续邮件被截断,最终解决方案尚不能确认。

lore
其它重要分析 success作者:Shrikanth Hegde2026/07/14 21:1637 封邮件

[PATCH v7 00/12] sched, steal_monitor: Introduce cpu_preferred_mask and steal-driven vCPU backoff

Shrikanth Hegde 发布 v7 系列 [PATCH v7 00/12],引入 cpu_preferred_mask 与 drivers/virt/steal_monitor,让 guest调度器按 steal time 周期性地收缩/扩张 preferred CPU 集合,并在 wakeup、tick、load balance 路径上把任务优先放到 preferred CPU。Yury Norov 在多封回复中提出 invariant 恢复策略、Kconfig 依赖、模块参数校验、bisect 顺序、sysfs gating 等问题,作者宣布 v8 将修复文档告警、删除 patch...

lore
其它重要分析 success作者:Feng Tang2026/07/14 19:131 封邮件

[PATCH v4] sched/debug: Dump end of stack when stack corruption detected

v4 在 __schedule_bug 检测到栈末端哨兵被破坏时,于 panic 之前先用 print_hex_dump 把破坏点附近 16 个 ulong 的原始内存打到 KERN_ERR,方便和 KASAN、slub_debug 等其他 dump 对齐。背景是 suspend/resume hang 期间以太网驱动在 suspend hook 释放了 RX 缓冲区,导致硬件仍通过 DMA 写入已释放的内存并踩坏栈末端哨兵。新增 dump 让开发者能把栈破坏点和 KASAN 报告按地址对位,从而定位真凶。

lore
Bugfix分析 success作者:Wanwu Li2026/07/14 17:493 封邮件

[PATCH] sched/core: Fix stale se.load when modifying nice value under sched_ext

Wanwu Li 提交一个 patch,修复 sched_ext 调度类下任务修改 nice 后 p->se.load 未同步的问题,避免任务切回 CFS 时使用过期的 load weight。该 patch 在 set_load_weight() 中针对 task_on_scx(p) 显式刷新 se.load。但 K Prateek Nayak 在回复中指出同一问题已被更早的 patch 解决,作者随后主动撤回了本 patch。

lore
Bugfix分析 success作者:Shubhang Kaushik (Ampere)2026/07/14 03:461 封邮件

[PATCH v2] sched/core: Preserve wake flags across queued wakeups

v2 patch 将 sched_ttwu_pending() 排队的 remote wakeup 上保存的 wake flags,从「是否迁移」的 1 位布尔扩展为 WF_TTWU_QUEUE_MASK(WF_TTWU / WF_SYNC / WF_MIGRATED / WF_RQ_SELECTED)。drain 时一并回传给 ttwu_do_activate(),让 queued 与 direct wakeup 路径在非空闲目标 CPU下的抢占决策保持一致。改动仅 3 个文件 +7/-18,并在 Ampere Altra 80 CPU 系统上用 perf bench / hackbench...

lore
Bugfix重要分析 success作者:Shubhang Kaushik (Ampere)2026/07/14 02:253 封邮件

[PATCH] sched/core: Preserve wake flags across queued wakeups

补丁把 sched_remote_wakeup:1 扩展为 sched_remote_wakeup_flags:8,在 ttwu_queue_wakelist 处保存 WF_TTWU/WF_SYNC/WF_MIGRATED/WF_RQ_SELECTED 的位掩码,并在 sched_ttwu_pending 排空 wakelist 时把原始 wake flags 透传给 ttwu_do_activate,使排队唤醒与直接唤醒在抢占判断上行为一致。回复中 reviewer 与作者讨论是否改为显式 u8 字段以避免位域原子性歧义。

lore
Bugfix分析 success作者:Guopeng Zhang2026/07/13 18:581 封邮件

[RESEND PATCH] sched/deadline: Exclude special DL entities from bandwidth moves

SUGOV 特殊 DL 实体只使用假带宽,本应在所有带宽相关路径中被一致排除。dl_task_needs_bw_move() 漏掉了这一排除,导致 set_cpus_allowed_dl() 和 cpuset attach 在亲和性改变时会错误地触发 root-domain bandwidth move。补丁在入口条件中加入 dl_entity_is_special() 检查,让特殊实体直接跳过带宽搬移流程,保持与其它 SUGOV special entity 路径一致。该改动已获得 Reviewed-by 和 Acked-by。

lore
RFC重要分析 success作者:Xukai Wang2026/07/13 13:017 封邮件

[PATCH RFC] sched/proxy: Defer donor commit until proxy resolution

作者 Xukai Wang 提交 RFC v1,把 pick_next_task() 从「边选边 commit」改为「只挑不 commit」,让 __schedule() 在 find_proxy_task() 解析成功后才做唯一的 class commit,避免把最终不运行的 blocked donor 投机性切换到 class current state。patch 同步更新 proxy_deactivate() 与 proxy_migrate_task() 的 rq->donor 处理。AMD 的 K Prateek Nayak 持保留意见,认为锁内 pick 会收敛到同一 donor、...

lore
RFC重要分析 success作者:K Prateek Nayak2026/07/13 11:252 封邮件

[RFC PATCH 0/1] sched/eevdf: Curb wakeup preemption further

K Prateek Nayak 提出 RFC:在 EEVDF pick_eevdf() 唤醒抢占路径上保护正在运行的 curr 任务,避免因带正 lag 的唤醒任务拉低 avg_vruntime 导致 NGINX 等服务被频繁非自愿抢占。新增 RUN_TO_PARITY_WAKEUP sched_feat,仅当 curr 自选中起尚未耗尽 slice 时跳过 eligibility 检查。DeathStarBench 吞吐恢复至 v6.5 水平。Peter、Youssef 等围绕图示、base_slice_ns 是否已足够、是否在所有路径禁用 eligibility 展开讨论;2026 年 C...

lore
其它重要分析 success作者:Mukesh Ojha2026/07/11 23:4463 封邮件

[PATCH v3 00/26] Introduce meminspect

26 patch 跨子系统框架,把静态/动态变量登记进 .inspect_table 表,供 firmware/bootloader 在系统失能后读取。配套 Qcom Minidump 与 Pixel Kinfo 两个 backend,已在 SA8775P 验证。Lorenzo 与 Sashiko 评审同时质疑 EXPORT 语义、virt_to_phys 误用及 201 个槽位的固定表容量。

lore
其它重要分析 success作者:Jing Wu2026/07/10 11:3012 封邮件

[PATCH v4 00/11] Dynamic Housekeeping Management (DHM) via CPUSets

DHM v4 是一个包含 11 个补丁的功能系列,把 nohz_full、RCU NOCB 和 managed IRQ 等 housekeeping 控制接入 cgroup v2 cpuset isolated partition。v4 放弃并发原地 apply 回调,改为更新 RCU-protected mask 后逐 CPU 执行 hotplug cycling,从而复用 tick、RCU 和 IRQ 的既有回调。该系列影响 scheduler、cpuset、CPU hotplug、RCU、tick 和中断等核心路径,因此具有较高重要性。

lore
Bugfix分析 success作者:Christian Loehle2026/07/09 16:042 封邮件

[PATCH] sched/deadline: Ignore proxy-exec sched_yield()

Christian Loehle 提交单 patch,在 proxy-exec 场景下让 SCHED_DEADLINE donor 跳过 sched_yield() 的转发,避免 yield_task_dl 把 runtime 清零、强制 donor sleep 到 replenishment。改动仅 +3 行,Fixes 回指 127b90315ca0。Juri Lelli 回复认为方向合理,并补充了持有 mutex 调用 yield 的潜在场景,提示后续测试要覆盖 proxy-exec + DL 的组合。

lore
其它重要分析 success作者:Shrikanth Hegde2026/07/09 13:2562 封邮件

[PATCH v6 00/23] sched: Introduce cpu_preferred_mask and steal-driven vCPU backoff

Shrikanth Hegde 在 v6 重新提交 23 个 patch,引入 cpu_preferred_mask 与 steal_monitor 驱动:周期采样 steal time,根据高/低阈值动态调整 preferred CPU 子集。Scheduler 的 wakeup、load balance、tick push 等路径优先选用 preferred CPU,并主动把 non-preferred CPU 上的任务推走,从而缓解 vCPU 过载场景下的抢占开销。Yury Norov 给出多项建议:希望 steal_monitor 拆得更粗、补充独立 Kconfig 让外置 monit...

lore
其它分析 success作者:Thomas Weißschuh (Schneider Electric)2026/07/08 05:4917 封邮件

[PATCH 0/8] hrtimer: Untangle base definitions from hrtimer.h

Thomas Weissschuh 的 8-patch 系列把 hrtimer 的 base 结构定义从被广泛 include 的 linux/hrtimer.h 中剥离,重命名 hrtimer_defs.h 为 hrtimer_bases.h,并把依赖 base 的 helper/函数下沉,再为真正需要 base 的调用方显式 #include。该系列仅调整头文件依赖,不改运行时行为,已被 Thomas Gleixner 在 tip: timers/core 直接取走。

lore
Bugfix重要分析 success作者:Andrea Righi2026/07/07 23:319 封邮件

[PATCH v6 0/5 RESEND] sched/fair: SMT-aware asymmetric CPU capacity

该系列修复 SD_ASYM_CPUCAPACITY 把 busy SMT sibling 上的空闲逻辑 CPU 误当满容量目标的问题,并让唤醒放置与 misfit 迁移优先完整空闲 core。Vera Rubin CPU 密集测试显著提升,但与 cache-aware scheduling 合并后暴露了 shared 对象别名、CPU hotplug warning 与 kmemleak,说明 topology 生命周期仍需后续修复。

lore
每页
上一页6 / 6下一页