在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_RTTIME
(getrlimit(2)
)并且达到该限制,它们也可以被抢占。
可以安排另一个 SCHED_FIFO
进程(具有相同优先级)的唯一其他原因是第一个 睡眠 或者它 自愿yields(自愿抢占)。
CFS和SCHED_FIFO
没有关系,只照顾SCHED_NORMAL
、SCHED_BATCH
和SCHED_IDLE
.
是否有两个 SCHED_FIFO 具有相同优先级的任务在 Linux 的每个周期内获得处理时间,是否允许两个任务在周期结束前完成?
Linux 文档说 SCHED_FIFO 进程只能被具有更高优先级的进程抢占,但我的理解是 CFS 在更高层上运行,并为其中的两个任务中的每一个分配时隙每个时期。
Linux documentation says SCHED_FIFO processes can get preempted only by processes with higher priority
这是正确的,除此之外,如果您设置RLIMIT_RTTIME
(getrlimit(2)
)并且达到该限制,它们也可以被抢占。
可以安排另一个 SCHED_FIFO
进程(具有相同优先级)的唯一其他原因是第一个 睡眠 或者它 自愿yields(自愿抢占)。
CFS和SCHED_FIFO
没有关系,只照顾SCHED_NORMAL
、SCHED_BATCH
和SCHED_IDLE
.