RT and non-RT tasks placement within isolated CPU cores
Issue
There's a difference in task placement within isolated CPU cores between normal and realtime (RT) tasks.
Normal tasks (those with scheduling classes SCHED_OTHER
, SCHED_BATCH
and SCHED_IDLE
) begin to run on one isolated CPU only (usually, on the one with the lowest index) and are not balanced automatically across other isolated CPUs regardless of the affinity masks.
RT tasks (those with scheduling classes SCHED_FIFO
, SCHED_RR
and SCHED_DEADLINE
), by default, can be placed on any isolated CPU core and then can migrate from one isolated core to another while running.
Tasks that have got a mixed set of isolated and non-isolated CPUs in their affinity masks are never scheduled to isolated CPUs regardless of the scheduling class assigned.
Environment
- Red Hat Enterprise Linux 7
- Red Hat Enterprise Linux 8
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.