From 2351829d18f792d245affffc360d13dc8c990a63 Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Tue, 19 Aug 2008 12:33:03 +0200 Subject: [PATCH] --- yaml --- r: 110721 b: refs/heads/master c: 6f0d5c390e4206dcb3804a5072a048fdb7d2b428 h: refs/heads/master i: 110719: aee1d86892437bec7f1409000e4a8f304aa01149 v: v3 --- [refs] | 2 +- trunk/kernel/sched_rt.c | 11 +++++------ 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/[refs] b/[refs] index c801f624a94e..7ef9bbf43897 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: af4491e51632d01fbc2b856ffa9ebcd4b38db68c +refs/heads/master: 6f0d5c390e4206dcb3804a5072a048fdb7d2b428 diff --git a/trunk/kernel/sched_rt.c b/trunk/kernel/sched_rt.c index 998ba54b4543..77340b04a538 100644 --- a/trunk/kernel/sched_rt.c +++ b/trunk/kernel/sched_rt.c @@ -438,9 +438,6 @@ static int sched_rt_runtime_exceeded(struct rt_rq *rt_rq) { u64 runtime = sched_rt_runtime(rt_rq); - if (runtime == RUNTIME_INF) - return 0; - if (rt_rq->rt_throttled) return rt_rq_throttled(rt_rq); @@ -491,9 +488,11 @@ static void update_curr_rt(struct rq *rq) rt_rq = rt_rq_of_se(rt_se); spin_lock(&rt_rq->rt_runtime_lock); - rt_rq->rt_time += delta_exec; - if (sched_rt_runtime_exceeded(rt_rq)) - resched_task(curr); + if (sched_rt_runtime(rt_rq) != RUNTIME_INF) { + rt_rq->rt_time += delta_exec; + if (sched_rt_runtime_exceeded(rt_rq)) + resched_task(curr); + } spin_unlock(&rt_rq->rt_runtime_lock); } }