Messages in this thread Patch in this message | | | Subject | [PATCH v3 2/3] sched/rt: __disable_runtime: Enqueue just unthrottled rt_rq back on the stack | From | Kirill Tkhai <> | Date | Wed, 25 Jun 2014 12:19:48 +0400 |
| |
Make rt_rq available for pick_next_task(). Otherwise, their tasks stay prisoned long time till dead cpu becomes alive again.
Signed-off-by: Kirill Tkhai <ktkhai@parallels.com> CC: Konstantin Khorenko <khorenko@parallels.com> CC: Ben Segall <bsegall@google.com> CC: Paul Turner <pjt@google.com> CC: Srikar Dronamraju <srikar@linux.vnet.ibm.com> CC: Mike Galbraith <umgwanakikbuti@gmail.com> CC: Peter Zijlstra <peterz@infradead.org> CC: Ingo Molnar <mingo@kernel.org> --- kernel/sched/rt.c | 3 +++ 1 file changed, 3 insertions(+)
diff --git a/kernel/sched/rt.c b/kernel/sched/rt.c index a490831..671a8b5 100644 --- a/kernel/sched/rt.c +++ b/kernel/sched/rt.c @@ -740,6 +740,9 @@ static void __disable_runtime(struct rq *rq) 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); } }
| |