Messages in this thread Patch in this message | | | From | Peter Boonstoppel <> | Date | Thu, 23 May 2013 15:24:52 -0700 | Subject | RE: [PATCH RFC] sched/rt: preserve global runtime/period ratio in do_balance_runtime() |
| |
I think my patch was aiming at enabling rt_runtime borrowing, while preserving the global invariant of not allowing 100% allocation of time to rt_rq. Disabling RT_RUNTIME_SHARE definitely addresses the safety mechanism concern.
However, I'd like to understand the original goal of this rt_runtime borrowing a little bit better. At a high level it seems to me that bandwidth allocation (with possible borrowing of unused bandwidth) and providing a safety mechanism against rogue rt threads are two independent goals, which just happen to share the same mechanism. And if you'd want both, you'd have to provision some amount of bandwidth that cannot be borrowed.
Other than that I second Mike's change for flipping the default.
Peter
________________________________________ From: Mike Galbraith [bitbucket@online.de] Sent: Wednesday, May 22, 2013 1:46 AM To: Peter Zijlstra Cc: Peter Boonstoppel; Ingo Molnar; linux-kernel@vger.kernel.org; Paul Walmsley Subject: Re: [PATCH RFC] sched/rt: preserve global runtime/period ratio in do_balance_runtime()
On Wed, 2013-05-22 at 10:16 +0200, Peter Zijlstra wrote:
> I thought we already had a knob for that; RT_RUNTIME_SHARE. And as Mike > said, we might consider flipping the default on that.
sched,rt: disable rt_runtime borrowing by default
Make the default RT_RUNTIME_SHARE setting reflect the most common throttle role, that of safety mechanism to protect the box.
Signed-off-by: Mike Galbraith <bitbucket@online.de>
diff --git a/kernel/sched/features.h b/kernel/sched/features.h index 99399f8..0945d38 100644 --- a/kernel/sched/features.h +++ b/kernel/sched/features.h @@ -57,7 +57,7 @@ SCHED_FEAT(NONTASK_POWER, true) SCHED_FEAT(TTWU_QUEUE, true)
SCHED_FEAT(FORCE_SD_OVERLAP, false) -SCHED_FEAT(RT_RUNTIME_SHARE, true) +SCHED_FEAT(RT_RUNTIME_SHARE, false) SCHED_FEAT(LB_MIN, false)
/*
| |