From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
To: Peter Zijlstra <peterz@infradead.org>
Cc: linux-kernel@vger.kernel.org, mingo@kernel.org,
laijs@cn.fujitsu.com, dipankar@in.ibm.com,
akpm@linux-foundation.org, mathieu.desnoyers@efficios.com,
josh@joshtriplett.org, tglx@linutronix.de, rostedt@goodmis.org,
dhowells@redhat.com, edumazet@google.com, dvhart@linux.intel.com,
fweisbec@gmail.com, oleg@redhat.com, bobby.prani@gmail.com,
Clark Williams <clark.williams@gmail.com>
Subject: Re: [PATCH tip/core/rcu 4/7] rcu: Unify boost and kthread priorities
Date: Fri, 31 Oct 2014 09:57:16 -0700 [thread overview]
Message-ID: <20141031165716.GB5718@linux.vnet.ibm.com> (raw)
In-Reply-To: <20141031165143.GN10501@worktop.programming.kicks-ass.net>
On Fri, Oct 31, 2014 at 05:51:43PM +0100, Peter Zijlstra wrote:
> On Fri, Oct 31, 2014 at 09:42:30AM -0700, Paul E. McKenney wrote:
>
> > Well, you are supposed to determine the highest RT priority at which
> > your workload might run CPU-bound tasks, and set the boost priority
> > at some level above that. My model of RCU priority boosting is that
> > it should be used to make inadvertent high-priority infinite loops
> > easier to debug, but others might have different approaches.
>
> Ah, so DL will never be CPU-bound -- and RR/FIFO _should_ never be, but
> I digress ;-)
;-) ;-) ;-)
> > > We should be able to detect the case where more and work piles on and
> > > the actual running does not appear to catch up, but I'm not sure what to
> > > do about it, seeing how system stability is at risk.
> >
> > I could imagine having a backup SCHED_FIFO task that handled the
> > case where callbacks were piling up, but synchronizing it with the
> > SCHED_DEADLINE task while avoiding callback misordering could be a bit
> > "interesting". (Recall that callback misordering messes up rcu_barrier().)
>
> Ah, so there is talk of 'soft' CBS modes, which instead of hard throttle
> either reclaim 'unused' DL bandwidth, or continue running in lower scheduling
> classes.
OK, something like that might work in this case, at least making the
dubious assumption that I actually understand what you are getting at. ;-)
You might be amused to hear that one of the solutions in my back pocket
for the potential problem of callbacks piling up in the current RCU
priority boosting scheme is to temporarily increase the priority. This is
similar to how blimit gets increased if too many callbacks pile up.
Thus far, no need for this back-pocket solution, but I wanted to put it
out there in case it sparks something in the SCHED_DEADLINE approach.
Thanx, Paul
next prev parent reply other threads:[~2014-10-31 16:57 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-10-28 22:22 [PATCH tip/core/rcu 0/7] Real-time updates for 3.19 Paul E. McKenney
2014-10-28 22:22 ` [PATCH tip/core/rcu 1/7] init/Kconfig: move RCU_NOCB_CPU dependencies to choice Paul E. McKenney
2014-10-28 22:22 ` [PATCH tip/core/rcu 2/7] rcu: Move RCU_BOOST variable declarations, eliminating #ifdef Paul E. McKenney
2014-10-28 22:22 ` [PATCH tip/core/rcu 3/7] rcu: Avoid IPIing idle CPUs from synchronize_sched_expedited() Paul E. McKenney
2014-10-29 10:59 ` Peter Zijlstra
2014-10-29 15:56 ` Paul E. McKenney
2014-10-28 22:22 ` [PATCH tip/core/rcu 4/7] rcu: Unify boost and kthread priorities Paul E. McKenney
2014-10-29 11:01 ` Peter Zijlstra
2014-10-29 16:16 ` Paul E. McKenney
2014-10-31 16:22 ` Peter Zijlstra
2014-10-31 16:42 ` Paul E. McKenney
2014-10-31 16:51 ` Peter Zijlstra
2014-10-31 16:57 ` Paul E. McKenney [this message]
2014-10-28 22:23 ` [PATCH tip/core/rcu 5/7] rcu: Remove redundant TREE_PREEMPT_RCU config option Paul E. McKenney
2014-10-28 22:23 ` [PATCH tip/core/rcu 6/7] rcu: Kick rcuo kthreads after their CPU goes offline Paul E. McKenney
2014-10-28 22:23 ` [PATCH tip/core/rcu 7/7] rcu: Fix for rcuo online-time-creation reorganization bug Paul E. McKenney
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=20141031165716.GB5718@linux.vnet.ibm.com \
--to=paulmck@linux.vnet.ibm.com \
--cc=akpm@linux-foundation.org \
--cc=bobby.prani@gmail.com \
--cc=clark.williams@gmail.com \
--cc=dhowells@redhat.com \
--cc=dipankar@in.ibm.com \
--cc=dvhart@linux.intel.com \
--cc=edumazet@google.com \
--cc=fweisbec@gmail.com \
--cc=josh@joshtriplett.org \
--cc=laijs@cn.fujitsu.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mathieu.desnoyers@efficios.com \
--cc=mingo@kernel.org \
--cc=oleg@redhat.com \
--cc=peterz@infradead.org \
--cc=rostedt@goodmis.org \
--cc=tglx@linutronix.de \
/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