RT进程如何释放CFS进程的CPU,并在没有现成的CFS进程时将其取回

时间:2019-06-05 10:13:41

标签: linux scheduler cfs

关于在 Linux 中进行调度的问题:

  • 我安排了多个使用 CFS 进行的进程,一个通过“ <jscomp>”进程 <concat>(SCHED_FIFO)调度运行的所有进程 绑定到一个特定的CPU内核。
  • 进程“ A”在 RT (SCHED_FIFO)上运行,因为它永远不会 已被其他 CFS 进程抢占。
  • 相反,进程“ Real-Time (RT)”将在CPU自愿释放时 决定,然后让其他进程(由 CFS 安排)进行 利用CPU。

现在是问题:

  • 如何处理“ A”来释放CPU,并让其他 CFS 进程 准备运行以占用CPU?
  • 如果“ A”将其策略更改为 CFS (SCHED_OTHER),则 Linux调度程序将可能使其也运行。
  • 此外,如果“ A”将其策略更改为 IDLE ,则调度程序仍然可以 它运行。

在以下情况下,我希望进程“ A”取回CPU:

  • 没有其他可以运行的 CFS 进程,或者 预定义时间(A)已过-以先发生的时间为准。
  • 第二个条件可以通过另一个过程来实现(在 CPU核心)将“ A”策略更改回 RT

关于如何实现这一目标的任何想法?

  

更具体地说,如何保证只有其他准备就绪的 CFS   进程将运行,而不是“ e.g. 10ms”,直到提到其中之一   条件是否满足?

谢谢!

0 个答案:

没有答案