This is a result of discussion "[PATCH 1/2] sched: Rework migrate_tasks()":
https://lkml.org/lkml/2014/6/11/166
The problem is cfs_rq and rt_rq may stay throttled in the moment
of task migration from dead cpu. This patch fixes that for fair
and RT classes. No fix for deadline class yet, it's coming soon.
v2: [1/3]Collision with tg_set_cfs_bandwidth() found by Ben Segall.
Code movement.
{get,put}_online_cpus synchronization by Ben Segall
---
Kirill Tkhai (3):
sched/fair: Disable runtime_enabled on dying rq
sched/rt: __disable_runtime: Enqueue just unthrottled rt_rq back on the stack
sched: Rework check_for_tasks()
kernel/cpu.c | 33 ++++++++++++++++++++-------------
kernel/sched/core.c | 8 +++++++-
kernel/sched/fair.c | 22 ++++++++++++++++++++++
kernel/sched/rt.c | 3 +++
4 files changed, 52 insertions(+), 14 deletions(-)
--
Signed-off-by: Kirill Tkhai <[email protected]>