9.2. SCHED_DEADLINE 和 cpusets
内核截止时间调度类(SCHED_DEADLINE
)为具有受限期限的 sporadic 任务实施早期期限第一个调度程序(EDF)。它根据作业截止时间对任务进行优先排序:首先最早的绝对期限。除了 EDF 调度程序外,截止时间调度程序还实施恒定带宽服务器(CBS)。CBS 算法是一个资源保留协议。
CBS 保证每个任务在每个期间 (T)
接收其运行时 (Q)
。每次激活一个任务时,CBS 会清除任务的运行时间。当作业运行时,它会消耗其 运行时
,如果任务没有运行时,则任务会节流和取消调度。节流机制可防止单个任务运行超过其运行时,有助于避免其他作业的性能问题。
在实时,为了避免使用 截止时间
任务过载系统,截止时间调度程序
会实施验收测试,当任务配置为使用 截止时间调度程序
运行时都会运行。接受测试保证 SCHED_DEADLINE
任务不使用比 kernel.sched_rt_runtime_us
/kernel.sched_rt_period_us
文件(默认为 1s 950 ms)更多的 CPU 时间。