EEVDFEarliest eligible virtual deadline first

从具备资格的实体中选择虚拟截止时间最早者。

核心约束
资格与截止时间是不同的选择条件。
适用问题
公平调度与延迟控制。
边界与取舍
不能简化为选最小 vruntime 或普通最小 deadline。

常见操作#

n 为一个调度队列中的调度实体数;针对 Linux 6.12 fair.c 的增强红黑树实现。

操作时间复杂度条件与说明
实体入队 / 出队O(log⁡n)O(\log n)按虚拟截止时间组织树,并维护 eligibility 剪枝所需的子树信息。
选择最早 eligible 截止时间O(log⁡n)O(\log n)增强字段允许沿树高剪枝;当前实体与缓存候选另有短路路径。

时间与空间#

时间复杂度
树更新与一般选择 O(log⁡n)O(\log n)
辅助空间
O(n)O(n) 队列状态

这是单个运行队列的结构成本,不包含任务切换、层级调度组遍历和跨 CPU 负载均衡。EEVDF 的公平 / 延迟目标不等同于实时截止期保证。

工程中的应用#

1 个案例 · 附源码
基础原理参考资料

Linux 6.12 · EEVDF schedulerlag、eligibility 与虚拟截止时间的选择语义。

Linux 6.12 · fair.cpick_eevdf 和 __enqueue_entity 的实际树遍历。

7 个概念