2026-06-29 | linux · os | #eevdf #cfs #scheduler #linux-kernel #vruntime #latency #base-slice
Linux 6.6 用 EEVDF 取代了 CFS 的 SCHED_NORMAL 选取逻辑。从 1995 年原始论文的 lag、eligibility、virtual deadline,到 commit 147f3ef 只重写 placement/pick/preempt,再到本机内核 6.6 上读 sched/debug 把每个任务的 vruntime、eligible 标志、deadline 一一对上 vd=ve+r/w,外加 nice 带宽与 base_slice 抢占两组实测,讲清换的是哪一块、延迟敏感任务凭什么先跑。
2026-04-18 | os | #eevdf #latency-nice #virtual-deadline #eligibility #cfs-replacement
Linux 6.6(2023 年 10 月)把默认调度器换成了 EEVDF(Earliest Eligible Virtual Deadline First)。本文讲 EEVDF 的两个新概念——eligible time 与 virtual deadline——如何把「公平」与「延迟」统一,latency-nice 给交互式任务的意义,以及早期 benchmark 与 PREEMPT_RT 的关系。
2025-07-15 | algorithms | #scheduler #cfs #eevdf #linux-kernel #red-black-tree #real-time
你把 nice 值设成了 -20,然后发现延迟反而更高了。你用 cgroup 限了 CPU,然后发现交互式 shell 卡成幻灯片。调度器不是'谁优先级高谁先跑'这么简单——它是操作系统中最复杂的博弈论。