From: Peter Zijlstra <a.p.zijlstra@chello.nl>
To: linux-kernel@vger.kernel.org
Cc: Stefani Seibold <stefani@seibold.net>,
Dario Faggioli <raistlin@linux.it>,
Nick Piggin <nickpiggin@yahoo.com.au>,
Max Krasnyansky <maxk@qualcomm.com>,
Linus Torvalds <torvalds@linux-foundation.org>,
Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@elte.hu>,
Peter Zijlstra <a.p.zijlstra@chello.nl>
Subject: [PATCH 2/6] sched: rt-bandwidth accounting fix
Date: Tue, 19 Aug 2008 12:33:03 +0200 [thread overview]
Message-ID: <20080819103844.141902612@chello.nl> (raw)
In-Reply-To: 20080819103301.787700742@chello.nl
[-- Attachment #1: sched-rt-bw-fix-accounting.patch --]
[-- Type: text/plain, Size: 1186 bytes --]
It fixes an accounting bug where we would continue accumulating runtime
even though the bandwidth control is disabled. This would lead to very long
throttle periods once bandwidth control gets turned on again.
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
---
kernel/sched_rt.c | 11 +++++------
1 file changed, 5 insertions(+), 6 deletions(-)
Index: linux-2.6/kernel/sched_rt.c
===================================================================
--- linux-2.6.orig/kernel/sched_rt.c
+++ linux-2.6/kernel/sched_rt.c
@@ -438,9 +438,6 @@ static int sched_rt_runtime_exceeded(str
{
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);
}
}
--
next prev parent reply other threads:[~2008-08-19 10:46 UTC|newest]
Thread overview: 72+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-08-19 10:33 [PATCH 0/6] sched: rt-bandwidth fixes Peter Zijlstra
2008-08-19 10:33 ` [PATCH 1/6] sched: rt-bandwidth for user grouping interface Peter Zijlstra
2008-08-19 10:33 ` Peter Zijlstra [this message]
2008-08-19 18:33 ` [PATCH 2/6] sched: rt-bandwidth accounting fix Max Krasnyansky
2008-08-19 18:38 ` Peter Zijlstra
2008-08-19 10:33 ` [PATCH 3/6] sched: rt-bandwidth group disable fixes Peter Zijlstra
2008-08-19 10:33 ` [PATCH 4/6] sched: extract walk_tg_tree() Peter Zijlstra
2008-08-19 10:33 ` [PATCH 5/6] sched: rt-bandwidth fixes Peter Zijlstra
2008-08-19 10:33 ` [PATCH 6/6] sched: disabled rt-bandwidth by default Peter Zijlstra
2008-08-19 11:05 ` Ingo Molnar
2008-08-19 11:11 ` Ingo Molnar
2008-08-19 11:42 ` [PATCH] sched: extract walk_tg_tree(), fix Ingo Molnar
2008-08-19 11:17 ` [PATCH 6/6] sched: disabled rt-bandwidth by default Nick Piggin
2008-08-19 12:59 ` Ingo Molnar
2008-08-19 18:15 ` Max Krasnyansky
2008-08-20 11:56 ` Nick Piggin
2008-08-26 9:00 ` Nick Piggin
2008-08-26 9:30 ` Ingo Molnar
2008-08-26 9:44 ` Nick Piggin
2008-08-26 10:29 ` Ingo Molnar
2008-08-26 11:03 ` Nick Piggin
2008-08-26 9:54 ` Nick Piggin
2008-08-26 11:09 ` Thomas Gleixner
2008-08-26 11:27 ` Nick Piggin
2008-08-26 12:50 ` Theodore Tso
2008-08-26 13:31 ` Stefani Seibold
2008-08-26 17:55 ` Theodore Tso
2008-08-26 21:37 ` Thomas Gleixner
2008-08-26 22:49 ` Andi Kleen
2008-08-27 10:08 ` Nick Piggin
2008-08-28 10:54 ` Ingo Molnar
2008-08-28 11:09 ` Andi Kleen
2008-08-28 11:19 ` Peter Zijlstra
2008-08-28 11:28 ` Ingo Molnar
2008-08-28 11:50 ` Andi Kleen
2008-08-28 12:00 ` Peter Zijlstra
2008-08-28 12:14 ` Andi Kleen
2008-08-28 12:18 ` Nick Piggin
2008-08-28 16:19 ` Max Krasnyansky
2008-08-28 16:25 ` Ingo Molnar
2008-08-28 16:33 ` Andi Kleen
2008-08-28 12:03 ` Nick Piggin
2008-08-28 13:07 ` Ingo Molnar
2008-08-28 13:45 ` Nick Piggin
2008-08-28 12:29 ` Nick Piggin
2008-08-27 10:04 ` Nick Piggin
2008-08-26 13:47 ` Mark Hounschell
2008-08-26 23:00 ` Steven Rostedt
2008-08-27 18:55 ` Chris Friesen
2008-08-28 14:15 ` Steven Rostedt
2008-08-28 14:30 ` Ingo Molnar
2008-08-28 14:36 ` Nick Piggin
2008-08-28 15:12 ` Steven Rostedt
2008-08-28 15:34 ` Nick Piggin
2008-08-28 15:50 ` Steven Rostedt
2008-08-28 17:26 ` Linus Torvalds
2008-08-28 18:04 ` Steven Rostedt
2008-08-28 18:10 ` Darren Hart
2008-08-28 18:16 ` Mark Hounschell
2008-08-28 18:42 ` Linus Torvalds
2008-08-28 18:53 ` Steven Rostedt
2008-08-29 7:56 ` Mike Galbraith
2008-08-29 8:06 ` Peter Zijlstra
2008-08-29 8:47 ` Mike Galbraith
2008-08-28 19:39 ` Stefani Seibold
2008-08-28 20:53 ` Alan Cox
2008-08-30 6:33 ` Nick Piggin
2008-08-28 16:33 ` Max Krasnyansky
2008-08-28 17:22 ` John Kacur
2008-08-28 16:05 ` Peter Zijlstra
2008-08-28 16:15 ` Steven Rostedt
2008-08-28 16:29 ` Peter Zijlstra
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20080819103844.141902612@chello.nl \
--to=a.p.zijlstra@chello.nl \
--cc=linux-kernel@vger.kernel.org \
--cc=maxk@qualcomm.com \
--cc=mingo@elte.hu \
--cc=nickpiggin@yahoo.com.au \
--cc=raistlin@linux.it \
--cc=stefani@seibold.net \
--cc=tglx@linutronix.de \
--cc=torvalds@linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox