使用cpuset,是否在所有进程上使用截止日期调度程序,与使用普通完全公平的调度程序相同?

时间:2017-10-05 21:27:30

标签: linux-kernel cpu scheduler sched-deadline

据我所知,在现代Linux上,截止日程安排程序是使用恒定带宽服务器(CBS)和最早的截止日期(EDF)实现的。假设我使用cpuset为12个CPU中的6个分配了X个进程数。假设在6个CPU上没有运行其他重要进程。在这种情况下,我觉得在所有X进程上使用SCHED_DEADLINE(使用默认预算和句点)与使用普通完全公平的调度程序没有区别,因为两者都会导致所有X进程运行相同的CPU时间。我的理解是否正确?

1 个答案:

答案 0 :(得分:1)

至少存在两个不同之处:

  • SCHED_DEADLINE任务会抢占任何其他任务,只要它们没有被阻止且运行时间没有用完。
  • SCHED_DEADLINE任务在运行时间耗尽时会受到限制,即使它们未被阻止且系统处于空闲状态。

进一步说明:从内核4.13开始,CBS算法已被GRUB取代,GRUB也支持带宽回收。