From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
To: Steven Rostedt <rostedt@goodmis.org>
Cc: Clark Williams <williams@redhat.com>,
Ingo Molnar <mingo@kernel.org>,
linux-kernel@vger.kernel.org, torvalds@linux-foundation.org,
a.p.zijlstra@chello.nl, akpm@linux-foundation.org,
linux-rt-users@vger.kernel.org
Subject: Re: [GIT RFC PULL rcu/urgent] Prevent Kconfig from asking pointless questions
Date: Tue, 21 Apr 2015 08:01:22 -0700 [thread overview]
Message-ID: <20150421150122.GC5561@linux.vnet.ibm.com> (raw)
In-Reply-To: <20150421091232.6c66ba7b@gandalf.local.home>
On Tue, Apr 21, 2015 at 09:12:32AM -0400, Steven Rostedt wrote:
> On Mon, 20 Apr 2015 18:22:58 -0700
> "Paul E. McKenney" <paulmck@linux.vnet.ibm.com> wrote:
>
> > On Mon, Apr 20, 2015 at 04:50:07PM -0500, Clark Williams wrote:
> > > On Mon, 20 Apr 2015 14:15:04 -0700
> > > "Paul E. McKenney" <paulmck@linux.vnet.ibm.com> wrote:
> > >
> > > > On Mon, Apr 20, 2015 at 04:40:49PM -0400, Steven Rostedt wrote:
> > > > > On Mon, Apr 20, 2015 at 10:09:03AM -0700, Paul E. McKenney wrote:
> > > > > >
> > > > > > The sysfs knob might be nice, but as far as I know nobody has been
> > > > > > complaining about it.
> > > > > >
> > > > > > Besides, we already have the rcutree.kthread_prio= kernel-boot parameter.
> > > > > > So how about if the Kconfig parameter selects either SCHED_OTHER
> > > > > > (the default) or SCHED_FIFO:1, and then the boot parameter can be used
> > > > > > to select other values.
> > > > >
> > > > > Hmm, what priority is this for anyway. To change the priority of the boost
> > > > > value at run time, do we only need to change the priority of the rcub threads?
> > > > >
> > > > > And the priority of the other rcu threads can change as well with a simple
> > > > > chrt?
> > > > >
> > > > > If that's the case, then we don't need a sysctl knob at all.
> > > >
> > > > For the grace-period kthreads and the boost kthread, that is the case.
> > > > It is also the case for the per-CPU kthreads that invoke RCU callbacks
> > > > for the non-offloaded RCU_BOOST configuration (and that replace all
> > > > softirq RCU work in -rt).
> > > >
> > > > So, should I just ditch all of the priority-setting within RCU and tell
> > > > users to just use chrt?
> > >
> > > Looks to me like all we need to do is tell people if they need a boost
> > > higher than the compiled in default (RCU_KTHREAD_PRIO), then chrt the
> > > priority of the rcub thread to the desired priority.
> >
> > There's the rub. They also need to chrt the RCU grace-period kthreads
> > as well as the per-CPU kthreads (rcuc). Which is a pain and easy to
> > get wrong.
> >
> > So at this point, I am leaning towards keeping RCU_KTHREAD_PRIO, but
> > hiding it behind RCU_EXPERT. Someone in an emergency situation can use
> > chrt to get RCU going, at least assuming that they had the foresight to
> > leave a prio-99 shell running somewhere and assuming that they do the
> > chrt before the system hits OOM. But they have to do all that anyway
> > if they were to use a sysfs or similar interface. And it is easy to
> > tell when you have boosted all the necessary kthreads because RCU
> > grace periods start advancing once again. You don't get that feedback
> > when you set things up at boot time. ;-)
> >
> > So again, at least for the moment, I believe that RCU need not provide
> > a run-time interface for changing RCU kthread priorities, that the
> > RCU_KTHREAD_PRIO Kconfig parameter should remain, except that it needs
> > to be hidden behind RCU_EXPERT, and that the rcutree.kthread_prio=
> > kernel-boot parameter should also remain.
> >
> > Seem reasonable?
>
> Does chrt override the kthread_prio at run time? If so, then great.
> Otherwise, the sysadmin should still have a way to control their
> priorities of kernel threads (with few exceptions like the migration
> thread).
Yep, RCU sets the prios only at boot time, so if they are set differently
at runtime, they should stay set differently. Unless chrt refuses to
work on kthreads or something. ;-)
Thanx, Paul
next prev parent reply other threads:[~2015-04-21 15:01 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20150416183812.GA5571@linux.vnet.ibm.com>
[not found] ` <20150418130340.GA26931@gmail.com>
[not found] ` <20150418133444.GD23685@linux.vnet.ibm.com>
[not found] ` <20150418143238.GA2337@gmail.com>
2015-04-19 2:05 ` [GIT RFC PULL rcu/urgent] Prevent Kconfig from asking pointless questions Paul E. McKenney
2015-04-20 16:35 ` Clark Williams
2015-04-20 17:09 ` Paul E. McKenney
2015-04-20 17:59 ` Clark Williams
2015-04-20 18:20 ` Daniel Bristot de Oliveira
2015-04-20 18:01 ` Steven Rostedt
2015-04-20 18:09 ` Ingo Molnar
2015-04-20 18:21 ` Steven Rostedt
2015-04-20 18:28 ` Ingo Molnar
2015-04-20 18:34 ` Steven Rostedt
2015-04-21 6:42 ` Ingo Molnar
2015-04-21 13:18 ` Steven Rostedt
2015-04-21 3:37 ` Mike Galbraith
2015-04-20 20:40 ` Steven Rostedt
2015-04-20 21:15 ` Paul E. McKenney
2015-04-20 21:50 ` Clark Williams
2015-04-21 1:22 ` Paul E. McKenney
2015-04-21 13:12 ` Steven Rostedt
2015-04-21 15:01 ` Paul E. McKenney [this message]
2015-04-21 15:50 ` Steven Rostedt
2015-04-21 15:54 ` 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=20150421150122.GC5561@linux.vnet.ibm.com \
--to=paulmck@linux.vnet.ibm.com \
--cc=a.p.zijlstra@chello.nl \
--cc=akpm@linux-foundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-rt-users@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=rostedt@goodmis.org \
--cc=torvalds@linux-foundation.org \
--cc=williams@redhat.com \
/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;
as well as URLs for NNTP newsgroup(s).