From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
To: Joel Fernandes <joel@joelfernandes.org>
Cc: linux-kernel@vger.kernel.org,
Josh Triplett <josh@joshtriplett.org>,
Steven Rostedt <rostedt@goodmis.org>,
Mathieu Desnoyers <mathieu.desnoyers@efficios.com>,
Lai Jiangshan <jiangshanlai@gmail.com>,
byungchul.park@lge.com, kernel-team@android.com
Subject: Re: [PATCH RFC 7/8] rcu: trace CleanupMore condition only if needed
Date: Mon, 14 May 2018 20:47:33 -0700 [thread overview]
Message-ID: <20180515034733.GZ26088@linux.vnet.ibm.com> (raw)
In-Reply-To: <20180515010131.GF209519@joelaf.mtv.corp.google.com>
On Mon, May 14, 2018 at 06:01:31PM -0700, Joel Fernandes wrote:
> On Mon, May 14, 2018 at 12:20:28PM -0700, Paul E. McKenney wrote:
> > On Sun, May 13, 2018 at 08:15:40PM -0700, Joel Fernandes (Google) wrote:
> > > Currently the tree RCU clean up code records a CleanupMore trace event
> > > even if the GP was already in progress. This makes CleanupMore show up
> > > twice for no reason. Avoid it.
> > >
> > > Signed-off-by: Joel Fernandes (Google) <joel@joelfernandes.org>
> >
> > Good catch, and I applied this patch. I did rework the commit log
> > a bit, so please look it over to make sure I didn't mess it up.
> >
> > Thanx, Paul
> >
> > ------------------------------------------------------------------------
> >
> > commit 52c4e689efd975f5383895b1bc1b91bc90fdd372
> > Author: Joel Fernandes (Google) <joel@joelfernandes.org>
> > Date: Sun May 13 20:15:40 2018 -0700
> >
> > rcu: Produce last "CleanupMore" trace only if late-breaking request
> >
> > Currently the tree RCU clean-up code records a "CleanupMore" trace
> > event in response to late-arriving grace-period requests even if the
> > grace period was already requested. This makes "CleanupMore" show up an
> > extra time (in addition to once for each rcu_node structure that was
> > previously marked with the request) for no good reason. This commit
> > therefore avoids emitting this trace message unless the only if the only
> > request for this next grace period arrived during or after the cleanup
> > scan of the rcu_node structures.
>
> Yes, this is fine except "unless the only if the only" should be "unless the".
I did update this after sending, and I still have "the the". Will fix on
next rebase. As my daughter recently reminded me, the Law of Conservation
of Bugs. ;-)
Thanx, Paul
> thanks,
>
> - Joel
>
> >
> > Signed-off-by: Joel Fernandes (Google) <joel@joelfernandes.org>
> > Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
> >
> > diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c
> > index 8063a0478870..de6447dd73de 100644
> > --- a/kernel/rcu/tree.c
> > +++ b/kernel/rcu/tree.c
> > @@ -2072,7 +2072,7 @@ static void rcu_gp_cleanup(struct rcu_state *rsp)
> > rsp->gp_state = RCU_GP_IDLE;
> > /* Check for GP requests since above loop. */
> > rdp = this_cpu_ptr(rsp->rda);
> > - if (ULONG_CMP_LT(rnp->gp_seq, rnp->gp_seq_needed)) {
> > + if (!needgp && ULONG_CMP_LT(rnp->gp_seq, rnp->gp_seq_needed)) {
> > trace_rcu_this_gp(rnp, rdp, rnp->gp_seq_needed,
> > TPS("CleanupMore"));
> > needgp = true;
> >
>
next prev parent reply other threads:[~2018-05-15 3:46 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-05-14 3:15 [PATCH RFC 0/8] rcu fixes, clean ups for rcu/dev Joel Fernandes (Google)
2018-05-14 3:15 ` [PATCH RFC 1/8] rcu: Add comment documenting how rcu_seq_snap works Joel Fernandes (Google)
2018-05-14 3:47 ` Randy Dunlap
2018-05-14 5:05 ` Joel Fernandes
2018-05-14 17:38 ` Paul E. McKenney
2018-05-15 1:51 ` Joel Fernandes
2018-05-15 3:59 ` Paul E. McKenney
2018-05-15 7:02 ` Joel Fernandes
2018-05-15 12:55 ` Paul E. McKenney
2018-05-15 18:41 ` Joel Fernandes
2018-05-15 19:08 ` Paul E. McKenney
2018-05-15 22:55 ` Joel Fernandes
2018-05-16 15:45 ` Paul E. McKenney
2018-05-16 23:21 ` Joel Fernandes
2018-05-14 3:15 ` [PATCH RFC 2/8] rcu: Clarify usage of cond_resched for tasks-RCU Joel Fernandes (Google)
2018-05-14 14:54 ` Steven Rostedt
2018-05-14 17:22 ` Paul E. McKenney
2018-05-15 0:35 ` Joel Fernandes
2018-05-15 3:42 ` Paul E. McKenney
2018-05-14 3:15 ` [PATCH RFC 3/8] rcu: Add back the cpuend tracepoint Joel Fernandes (Google)
2018-05-14 18:12 ` Paul E. McKenney
2018-05-15 0:43 ` Joel Fernandes
2018-05-14 3:15 ` [PATCH RFC 4/8] rcu: Get rid of old c variable from places in tree RCU Joel Fernandes (Google)
2018-05-14 17:57 ` Paul E. McKenney
2018-05-15 0:41 ` Joel Fernandes
2018-05-14 3:15 ` [PATCH RFC 5/8] rcu: Use rcu_node as temporary variable in funnel locking loop Joel Fernandes (Google)
2018-05-14 18:00 ` Paul E. McKenney
2018-05-15 0:43 ` Joel Fernandes
2018-05-14 3:15 ` [PATCH RFC 6/8] rcu: Add back the Startedleaf tracepoint Joel Fernandes (Google)
2018-05-14 18:38 ` Paul E. McKenney
2018-05-15 0:57 ` Joel Fernandes
2018-05-15 3:46 ` Paul E. McKenney
2018-05-15 23:04 ` Joel Fernandes
2018-05-16 15:48 ` Paul E. McKenney
2018-05-16 23:13 ` Joel Fernandes
2018-05-14 3:15 ` [PATCH RFC 7/8] rcu: trace CleanupMore condition only if needed Joel Fernandes (Google)
2018-05-14 19:20 ` Paul E. McKenney
2018-05-15 1:01 ` Joel Fernandes
2018-05-15 3:47 ` Paul E. McKenney [this message]
2018-05-14 3:15 ` [PATCH RFC 8/8] rcu: Fix cpustart tracepoint gp_seq number Joel Fernandes (Google)
2018-05-14 20:33 ` Paul E. McKenney
2018-05-15 1:02 ` Joel Fernandes
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=20180515034733.GZ26088@linux.vnet.ibm.com \
--to=paulmck@linux.vnet.ibm.com \
--cc=byungchul.park@lge.com \
--cc=jiangshanlai@gmail.com \
--cc=joel@joelfernandes.org \
--cc=josh@joshtriplett.org \
--cc=kernel-team@android.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mathieu.desnoyers@efficios.com \
--cc=rostedt@goodmis.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;
as well as URLs for NNTP newsgroup(s).