From: Kirill Tkhai Date: Wed, 25 Jun 2014 08:19:48 +0000 (+0400) Subject: sched/rt: Enqueue just unthrottled rt_rq back on the stack in __disable_runtime() X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=99b625670f1447ecf0739161efbe7f2f43c0e0b6;p=openwrt%2Fstaging%2Fblogic.git sched/rt: Enqueue just unthrottled rt_rq back on the stack in __disable_runtime() Make rt_rq available for pick_next_task(). Otherwise, their tasks stay prisoned long time till dead cpu becomes alive again. Reviewed-by: Srikar Dronamraju Signed-off-by: Kirill Tkhai CC: Konstantin Khorenko CC: Ben Segall CC: Paul Turner CC: Mike Galbraith Cc: Linus Torvalds Signed-off-by: Peter Zijlstra Link: http://lkml.kernel.org/r/1403684388.3462.43.camel@tkhai Signed-off-by: Ingo Molnar --- diff --git a/kernel/sched/rt.c b/kernel/sched/rt.c index a49083192c64..671a8b5fdb6f 100644 --- a/kernel/sched/rt.c +++ b/kernel/sched/rt.c @@ -740,6 +740,9 @@ balanced: rt_rq->rt_throttled = 0; raw_spin_unlock(&rt_rq->rt_runtime_lock); raw_spin_unlock(&rt_b->rt_runtime_lock); + + /* Make rt_rq available for pick_next_task() */ + sched_rt_rq_enqueue(rt_rq); } }