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

[PATCH 0/3] sched/psi: Fix rtpoll teardown races

3 patch 系列修复 psi_trigger_destroy() 放锁窗口内新旧 rtpoll worker 并存引发的三处竞态:旧 worker 吞掉共享 wakeup 使替换 worker 停摆、RCU 读端在 timer_delete 之后 mod_timer 留下幽灵 timer、rtpoll_scheduled 清零过晚覆盖替换 worker 状态。修法是唤醒先判停后消费、持锁下 synchronize_rcu 加 timer_delete_sync、清零挪进锁内。Suren Baghdasaryan 认为问题合理但注入延迟仍无法复现,要求提供 reproducer 并重写 AI...

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

[PATCH] sched: Preserve reset-on-fork across concurrent sched_setparam()

Andrea Righi 提交的单封补丁修复 __sched_setscheduler() 中 SCHED_RESET_ON_FORK 的丢失更新竞态:reset_on_fork 在持 rq lock 之前被采样,并发的 sched_setscheduler() 修改后,迟到的 sched_setparam() 会用陈旧值回写。补丁新增 keep_policy 标志,在 reset_on_fork 回写前重新读取 p->sched_reset_on_fork,覆盖所有 keep_policy 路径,从而在并发场景下保留 SCHED_RESET_ON_FORK 的语义。改动仅 +5 行,影响 k...

lore
RFC重要分析 success作者:Vinicius Costa Gomes2026/08/07 13:186 封邮件

[PATCH RFC] sched/fair: decline WF_SYNC stacking when waker LLC is the busier share

针对 epoll 同步唤醒 (commit 900bbaae67e9) 在 NUMA 系统上造成单节点过载的回归,Vinicius Costa Gomes 提交 RFC,在 wake_affine_idle 与 wake_affine_weight 的 sync 分支新增 sched_llc_over_commited 检查:当 waker LLC 已无空闲且比 prev LLC 更忙时拒绝 stack,转走常规负载均衡。memcached 96x32 下 p90/p99 改善 50% 以上,但 64x32 下吞吐 -3.4%、p99.9 +6.7%。patch 内置 FIXME 提示 NO_...

lore
其它重要分析 success作者:Mark Rutland2026/08/07 11:3316 封邮件

[PATCH v2 0/6] sched: dynamic: Simplify PREEMPT_DYNAMIC

Mark Rutland 提出的 6 补丁系列在 v7.2-rc4 之上让 PREEMPT_DYNAMIC 直接依赖 ARCH_HAS_PREEMPT_LAZY,把因 7dadeaa6e851 而实际走不到的 NONE/VOLUNTARY 路径、HAVE_PREEMPT_DYNAMIC_{CALL,KEY} Kconfig 项以及 cond_resched / preempt_schedule / irqentry_exit_cond_resched 的动态跳板一次性删除,共削减 374 行;评审者 Jinjie Ruan 与 Shrikanth Hegde 给出逐封 review 与 acc...

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

[PATCH v4] sched/fair: Preserve wake-affine CPU for non-SMT reciprocal sync wakeups

Shubhang Kaushik 在 v4 patch 中对非 SMT 系统的窄互反 WF_SYNC 唤醒做局部优化:waker rq 上无其他 fair 任务时,select_task_rq_fair() 直接返回 waker CPU、绕过 select_idle_sibling(),perf bench sched pipe 提升约 20%。维护者 Shrikanth、Prateek 认为 WF_SYNC 在内核里语义任意(pipe、net 都被随手用),应先在 Documentation/scheduler/ 文档化语义再谈局部 fix,否则一个 benchmark 受益、另一个受损。v...

lore
Bugfix重要分析 success作者:Peter Zijlstra2026/08/06 22:144 封邮件

Re: [PATCH] sched/core: Don't pin the idle task in migrate_disable_switch()

补丁在 migrate_disable_switch() 入口判断 p == rq->idle 后直接返回,避免 idle 任务进入 sched_change 守卫后通过 NULL enqueue_task 跳到 RIP 0。维护者 Peter Zijlstra 追问是什么在 idle 上调了 migrate_disable,作者回溯 vmcore 发现 migration_disabled 单 bit 翻且 nr_pinned 为 0,怀疑是 DDR5 非 ECC 硬件位翻而非调度器 API 触发,因此 patch 屏蔽症状的同时仍需后续硬件侧调查。

lore
Bugfix分析 success作者:Hui Su2026/08/06 20:562 封邮件

[PATCH v2] cpufreq: schedutil: Fix rate limit overflow

schedutil governor 在把 sysfs 中的 rate_limit_us(微秒)换算成 freq_update_delay_ns(纳秒)时,32 位平台上的 32 位无符号乘法会发生回绕,导致大值延迟被截断为几百纳秒,频率更新频率被异常放大。本补丁抽出 sugov_update_rate_limit_us() 辅助函数,把 rate_limit_us 显式拓宽到 s64 再乘 NSEC_PER_USEC,并在 sysfs 写入和 governor 启动两个入口统一使用,避免回绕。v2 主要补强了 32 位算术的说明、把强转写得更明确,并加上 Reviewed-by。Rafael...

lore
Bugfix重要分析 success作者:Hui Su2026/08/06 14:182 封邮件

[PATCH] cpufreq: schedutil: Fix rate limit overflow

schedutil governor 的 rate limit 在 32 位系统上会因为 u32 * 1000 的 32-bit 乘法回卷成几百纳秒,导致频率更新远高于用户配置。补丁抽出 sugov_update_rate_limit_us() 在乘法前 widen 到 u64,并在 sysfs store 与 sugov_start 两条路径统一调用,回归到正确的纳秒级延时。

lore
其它分析 success作者:Aaron Tomlin2026/08/05 20:373 封邮件

[PATCH v2] sched/debug: Introduce per-CPU debugfs files

Aaron Tomlin 在 v2 中向 kernel/sched/debug.c 新增 debugfs_cpu_init(),为每个 possible CPU 在 /sys/kernel/debug/sched/cpu/cpu<N>/debug 下创建独立 debug 文件,读取时通过 sched_debug_cpu_show() 复用 print_cpu() 输出该 CPU 的 runqueue 状态,offline CPU 返回 -ENODEV。v2 主要按 Peter Zijlstra 和 Zhan Xusheng 的反馈重写 commit message 动机,并补上 cpu_onl...

lore
其它重要分析 success作者:Aaron Tomlin2026/08/05 20:324 封邮件

[PATCH v4] security: Expand task_setscheduler LSM hook

Aaron Tomlin v4 patch 给 security_task_setscheduler hook 增加 sched_attr 和 cpumask 两个 __nullable 参数,让 LSM 在 sched_setaffinity 路径上能看到目标 CPU 集合。同步更新 SELinux/Smack/commoncap/cpuset/timerslack/MIPS 等 10 个文件,但当前 LSM 都用 __always_unused 暂时忽略新参数,为后续基于空间隔离的策略铺路。

lore
其它分析 success作者:fangqiurong2026/08/05 17:122 封邮件

[PATCH] sched/fair: Remove dead throttled check in pick_task_fair()

本 patch 删除 pick_task_fair() 中因 f666241e6bd5 重构而变成死代码的 throttled 变量与 task_throttle_setup_work() 调用,属于 cleanup 类改动,行为完全不变。回复者 K Prateek Nayak 指出 tip:sched/core 上 Peter Zijlstra 已经通过 85570f10a4c6(sched/eevdf: Move to a single runqueue)完成了同样的清理,作者需要 rebase 或撤回本 patch。

lore
其它重要分析 success作者:Andrea Righi2026/08/05 16:598 封邮件

[PATCH v3] sched/fair: Prefer fully idle cores for NOHZ balancing

Andrea Righi 改写 find_new_ilb(),让 ILB 目标优先选整核空闲的 SMT CPU,避免唤醒半活 core 的空闲兄弟线程,从而防止 NVIDIA Olympus/Vera 上 10 Ki cycles 的单线程性能恢复窗口被反复触发。v3 在见到 busy CPU 后跳过其所有兄弟,简化宽 SMT 扫描。审稿人主要质疑 this_cpu 检查是否冗余,并建议把 busy 检查与 this_cpu 判断合并。

lore
其它重要分析 success作者:Greg Kroah-Hartman2026/08/04 22:32502 封邮件

[PATCH 6.6 000/484] 6.6.148-rc1 review

Greg Kroah-Hartman 发布的 Linux 6.6.148-rc1 stable 候选版,包含 484 个跨子系统补丁。修复重点包括 CAN bcm/isotp 的并发 race、drm/virtio 的 fbdev probe 死锁、mmc vub300 的 use-after-free、KVM MMU 与 ASID 系列问题,以及 wifi、RDMA、thunderbolt 等驱动侧大量 OOB read/UAF 修复。本帖同时包含 17 封社区 review 回信,主要覆盖 mmc vub300 patch 的命名分歧和 ceph 布局 ioctl 校验。

lore
其它分析 success作者:Christoph Hellwig2026/08/04 21:002 封邮件

[PATCH v2] block: split out a new blk_plug.h header

Christoph Hellwig 把 struct blk_plug、blk_plug_cb 及相关 inline 从 include/linux/blkdev.h 抽出到新建的 include/linux/blk_plug.h,让 aio、writeback、io_uring、mm、kernel/sched/core.c 等非 block 模块不再被迫 include 重型 blkdev.h,从而减少 blkdev.h 改动触发的重编译、降低头耦合。维护者 Jens Axboe 当日 ack 并合入为 commit 758b86f7bc8a。

lore
其它重要分析 success作者:Boqun Feng2026/08/04 20:5259 封邮件

[GIT PULL] [PATCH 00/24] Rust synchronization changes for v7.3

Boqun Feng 推送 24 个 patch,把 IRQ disable 嵌套层数记进 preempt_count 的 HARDIRQ_DISABLE 字段,并以此为基础提供 Rust 端的 SpinLockIrq、synchronize_rcu() 安全封装和 trait-based 泛型 memory barrier。该系列还顺手修复 openrisc 的 smp.h 编译错误并把 64 位架构的 NMI 嵌套放回 preempt_count。Peter Zijlstra 在 patch 02 的 Signed-off-by 链、interrupt_disable_state 包装以及...

lore
其它分析 success作者:Zhan Xusheng2026/08/04 20:504 封邮件

[PATCH 0/3] sched: minor cleanups

Zhan Xusheng 提交的 3 个 cleanup 补丁:删除早就没有调用者的 static inline sched_fair_runnable();把 requeue_task_rt() 永远不用的 rq 形参去掉,三处 caller 同步;修正 rt.c 里与 #ifdef CONFIG_RT_GROUP_SCHED 配套的 #endif 注释(去掉多余的 !)。全部 No functional change,仅改善代码可读性和接口整洁度。

lore
其它分析 success作者:Zhan Xusheng2026/08/04 17:268 封邮件

[PATCH] sched/psi: Skip CPUs with zero non-idle jiffies in per-cpu aggregation

针对 collect_percpu_times() 对每个 possible CPU 都执行 nsecs_to_jiffies 与加权累加的浪费,作者利用 get_recent_times() 已设的 PSI_NONIDLE 位作为天然 zero-delta 标记,在循环里直接 continue。该优化在 i7-8700 以及 -smp 2..32 的 A/B 测试中带来最多约 18% 的 /proc/pressure/cpu 读延迟节省,且随 CPU 数放大。整条线索从 v1 到 v6 主要迭代判断条件、Reviewed-by 标签语义、commit 措辞以及 Peter Zijlstra ...

lore
Bugfix分析 success作者:Chen Jinghuang2026/08/04 17:171 封邮件

[PATCH v2] sched/numa: Prevent race on sysctl_numa_balancing static key

v2 单 patch。Chen Jinghuang 在 /proc/sys/kernel/numa_balancing 的 write 路径加 numabalancing_mutex 串行化 static_key 的 enable/disable,避免并发 1/0 写入时 disable 路径锁外读到 -1 触发 WARN_ON_ONCE。仅修改 kernel/sched/core.c,3 行新增。

lore
Bugfix重要分析 success作者:Hongling Zeng2026/08/04 17:021 封邮件

[PATCH] sched/numa: clear locality statistics on early return

Hongling Zeng 发现 commit f307cd1a32fa 引入的 slow-scan 逻辑在 update_task_scan_period() 中提前返回时漏掉了清零 p->numa_faults_locality,导致一次迁移失败让 locality 长期残留并持续把 task 困在慢扫描档。该补丁在 slow-scan 分支返回前补上 memset,让后续扫描周期评估能基于新的 locality 统计。补丁仅 2 行,但属于 NUMA 平衡的正确性回归,已 Cc stable 建议 backport。

lore
Bugfix分析 success作者:Chen Jinghuang2026/08/04 16:525 封邮件

[PATCH] sched/numa: Prevent race on sysctl_numa_balancing static key

补丁在 /proc/sys/kernel/numa_balancing 的 write 路径上加互斥锁,把 static_key_enable/disable 调用串行化,避免并发写入时 disable 读到 enable 路径中的临时 -1 状态触发 jump_label 的 WARN_ON_ONCE。Reviewer Prateek 建议把锁位置从 set_numabalancing_state() 收回到 sysctl 写入分支,并改用 guard(mutex) 写法,作者均接受并承诺更新 v2。

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