在Linux的每个周期内,是否有两个具有相同优先级的SCHED_FIFO任务获得处理时间?

Do two SCHED_FIFO tasks with equal priority get processing time within each period in Linux?

是否有两个 SCHED_FIFO 具有相同优先级的任务在 Linux 的每个周期内获得处理时间,是否允许两个任务在周期结束前完成?

Linux 文档说 SCHED_FIFO 进程只能被具有更高优先级的进程抢占,但我的理解是 CFS 在更高层上运行,并为其中的两个任务中的每一个分配时隙每个时期。

Linux documentation says SCHED_FIFO processes can get preempted only by processes with higher priority

这是正确的,除此之外,如果您设置RLIMIT_RTTIMEgetrlimit(2))并且达到该限制,它们也可以被抢占。

可以安排另一个 SCHED_FIFO 进程(具有相同优先级)的唯一其他原因是第一个 睡眠 或者它 自愿yields(自愿抢占)。

CFSSCHED_FIFO没有关系,只照顾SCHED_NORMALSCHED_BATCHSCHED_IDLE.