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