October 2017
Intermediate to advanced
354 pages
9h 28m
English
Similar to group scheduling under CFS, real-time processes can also be grouped for scheduling with CONFIG_RT_GROUP_SCHED set. For group scheduling to succeed, each group must be assigned a portion of CPU time, with a guarantee that the timeslice is enough to run the tasks under each entity, or it fails. So "run time" (a portion of how much time a CPU can spend running in a period) is allocated per group. The run time allocated to one group will not be used by another group. CPU time that is not allocated for real-time groups will be used by normal-priority tasks and any time unused by the real-time entities will also be picked by the normal tasks. FIFO and RR groups are represented by struct sched_rt_entity:
struct ...