Task Scheduler - Tasks scheduled as 'realtime' aren't accounted for when the kernel is balancing tasks across cores

Solution Verified - Updated -

Issue

The SCHED_OTHER load balance function checks the load of the rq of each
CPU in order to define the idlest CPU to migrate a task. However, the
SCHED_FIFO and SCHED_RR threads does not contributes to the load of its
rq. So, it is possible that a CPU running a real-time task be selected
as the idlest CPU, even in the presence of other idle CPUs.

For example, it is possible that a CPU running a CPU intensive real-time
task be selected as the idlest CPU, and a fair thread be migrated to
this CPU. This will cause a long delay to the fair task. It will reflect
as loss of performance, and in the worst case it could impact system responsiveness.

Environment

Red Hat Enterprise Linux 6
Red Hat Enterprise Linux 7

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content