From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
To: Josh Triplett <josh@joshtriplett.org>
Cc: Arjan van de Ven <arjan@linux.intel.com>,
Peter Zijlstra <peterz@infradead.org>,
linux-kernel@vger.kernel.org, mingo@kernel.org,
laijs@cn.fujitsu.com, dipankar@in.ibm.com,
akpm@linux-foundation.org, mathieu.desnoyers@efficios.com,
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
Subject: Re: [PATCH tip/core/rcu 0/4] Programmatic nestable expedited grace periods
Date: Sat, 21 Feb 2015 22:10:50 -0800 [thread overview]
Message-ID: <20150222061050.GX5745@linux.vnet.ibm.com> (raw)
In-Reply-To: <20150222035806.GA4452@thin>
On Sat, Feb 21, 2015 at 07:58:07PM -0800, Josh Triplett wrote:
> On Sat, Feb 21, 2015 at 07:51:34AM -0800, Arjan van de Ven wrote:
> > >>
> > >>there's a few others as well that I'm chasing down...
> > >>.. but the flip side, prior to running ring 3 code, why NOT do fast expedites?
> > >
> > >It would be good to have before-and-after measurements of actual
> > >boot time. Are these numbers available?
> >
> > To show the boot time, I'm using the timestamp of the "Write protecting" line,
> > that's pretty much the last thing we print prior to ring 3 execution.
>
> That's a little sad; we ought to be write-protecting kernel read-only
> data as *early* as possible.
>
> > A kernel with default RCU behavior (inside KVM, only virtual devices) looks like this:
> >
> > [ 0.038724] Write protecting the kernel read-only data: 10240k
> >
> > a kernel with expedited RCU (using the command line option, so that I don't have
> > to recompile between measurements and thus am completely oranges-to-oranges)
> >
> > [ 0.031768] Write protecting the kernel read-only data: 10240k
> >
> > which, in percentage, is an 18% improvement.
>
> Nice improvement, but that suggests that we're spending far too much
> time waiting on RCU grace periods at boot time.
Let's see... 0.038724-0.031768=0.006956, or about seven milliseconds.
This might be as many as ten grace periods, but is more likely to be
about two of them. Of course, this counts only the grace periods after
the scheduler starts, as those prior to scheduler start are no-ops,
courtesy of your single-CPU optimization.
So, how many grace periods between scheduler start and init spawning
do you feel would be appropriate?
Thanx, Paul
next prev parent reply other threads:[~2015-02-22 6:10 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-02-20 5:08 [PATCH tip/core/rcu 0/4] Programmatic nestable expedited grace periods Paul E. McKenney
2015-02-20 5:09 ` [PATCH v2 RFC tip/core/rcu 1/4] rcu: Provide rcu_expedite_gp() and rcu_unexpedite_gp() Paul E. McKenney
2015-02-20 5:09 ` [PATCH v2 RFC tip/core/rcu 2/4] rcu: Add rcu_expedite_gp() and rcu_unexpedite_gp() to rcutorture Paul E. McKenney
2015-02-20 5:09 ` [PATCH v2 RFC tip/core/rcu 3/4] rcu: Update from rcu_expedited variable to rcu_gp_is_expedited() Paul E. McKenney
2015-02-20 5:09 ` [PATCH v2 RFC tip/core/rcu 4/4] rcu: Add Kconfig option to expedite grace periods during boot Paul E. McKenney
2015-02-20 9:11 ` [PATCH tip/core/rcu 0/4] Programmatic nestable expedited grace periods Peter Zijlstra
2015-02-20 16:37 ` Paul E. McKenney
2015-02-20 16:54 ` Peter Zijlstra
2015-02-20 17:14 ` Paul E. McKenney
2015-02-20 17:32 ` Arjan van de Ven
2015-02-20 17:43 ` Peter Zijlstra
2015-02-20 17:45 ` Arjan van de Ven
2015-02-21 16:08 ` Peter Zijlstra
2015-02-22 1:43 ` Paul E. McKenney
2015-02-20 18:38 ` Paul E. McKenney
2015-02-21 16:11 ` Peter Zijlstra
2015-02-21 17:59 ` Paul E. McKenney
2015-02-20 18:27 ` Paul E. McKenney
2015-02-20 18:29 ` Arjan van de Ven
2015-02-20 18:39 ` Paul E. McKenney
2015-02-21 15:51 ` Arjan van de Ven
2015-02-21 18:00 ` Paul E. McKenney
2015-02-22 3:58 ` Josh Triplett
2015-02-22 6:10 ` Paul E. McKenney [this message]
2015-02-22 18:31 ` Arjan van de Ven
2015-02-22 18:48 ` Josh Triplett
2015-02-21 6:04 ` Josh Triplett
2015-02-21 15:12 ` Mathieu Desnoyers
2015-02-21 23:58 ` 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=20150222061050.GX5745@linux.vnet.ibm.com \
--to=paulmck@linux.vnet.ibm.com \
--cc=akpm@linux-foundation.org \
--cc=arjan@linux.intel.com \
--cc=bobby.prani@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