sched/rt: make RT task upmigration possible
Current RT task placement algorithm tries lower capacity CPUs first and
then higher capacity CPUs. However while trying to see if task fits in
the CPUs current algorithm assumes CPU which isn't overutilized is
capable of the waking-up task. This is wrong because it doesn't account
waking-up task's utilization and capacity margin. Consequently RT tasks
are never placed on big cluster CPUs just because its utilization if
even if it's high enough.
Check if CPU is overutilized with consideration of waking-up's
utilization as well as capacity margin.
Also refactor __cpu_overutilized() to take CPU's utilization so that RT
task placement logic can avoid unnecessary cpu_util() calls.
Change-Id: Idec8ab3d894135f436af531678fe52ffddf38e0b
Signed-off-by: Joonwoo Park <joonwoop@codeaurora.org>
Loading
Please register or sign in to comment