Teemv Teeccary
Teemv Teeccary

Reputation: 13

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

Do two SCHED_FIFO tasks with equal priority get processing time within each period in Linux, granted neither of the tasks finish before the period ends?

Linux documentation says SCHED_FIFO processes can get preempted only by processes with higher priority, but my understanding is that CFS operates on a higher layer, and assigns timeslots to each of the two tasks within each period.

Upvotes: 1

Views: 601

Answers (1)

smeso
smeso

Reputation: 4295

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

This is correct, in addition to this, they can also be preempted if you set RLIMIT_RTTIME (getrlimit(2)) and that limit is reached.

The only other reasons why another SCHED_FIFO process (with the same priority) can be scheduled is if the first sleeps or if it voluntary yields (voluntary preemption).

CFS has nothing to do with SCHED_FIFO, it only takes care of SCHED_NORMAL, SCHED_BATCH and SCHED_IDLE.

Upvotes: 3

Related Questions