From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
To: "Joel Fernandes (Google)" <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 8/8] rcu: Fix cpustart tracepoint gp_seq number
Date: Mon, 14 May 2018 13:33:20 -0700 [thread overview]
Message-ID: <20180514203320.GK26088@linux.vnet.ibm.com> (raw)
In-Reply-To: <20180514031541.67247-9-joel@joelfernandes.org>
On Sun, May 13, 2018 at 08:15:41PM -0700, Joel Fernandes (Google) wrote:
> cpustart shows a stale gp_seq. This is because rdp->gp_seq is updated
> only at the end of the __note_gp_changes function. For this reason, use
> rnp->gp_seq instead. I believe we can't update rdp->gp_seq too early so
> lets just use the gp_seq from rnp instead.
>
> Signed-off-by: Joel Fernandes (Google) <joel@joelfernandes.org>
I took this one with the usual commit-log update. Please take a look!
Thanx, Paul
------------------------------------------------------------------------
commit 3e14c6a5225d201776edd9a96d9c9b4435855446
Author: Joel Fernandes (Google) <joel@joelfernandes.org>
Date: Sun May 13 20:15:41 2018 -0700
rcu: Fix cpustart tracepoint gp_seq number
The "cpustart" trace event shows a stale gp_seq. This is because it uses
rdp->gp_seq, which is updated only at the end of the __note_gp_changes()
function. This commit therefore instead uses rnp->gp_seq.
An alternative fix would be to update rdp->gp_seq earlier, but this would
break RCU's detection of the beginning of a new-to-this-CPU grace period.
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 de6447dd73de..23b855f5c5cb 100644
--- a/kernel/rcu/tree.c
+++ b/kernel/rcu/tree.c
@@ -1796,7 +1796,7 @@ static bool __note_gp_changes(struct rcu_state *rsp, struct rcu_node *rnp,
* set up to detect a quiescent state, otherwise don't
* go looking for one.
*/
- trace_rcu_grace_period(rsp->name, rdp->gp_seq, TPS("cpustart"));
+ trace_rcu_grace_period(rsp->name, rnp->gp_seq, TPS("cpustart"));
need_gp = !!(rnp->qsmask & rdp->grpmask);
rdp->cpu_no_qs.b.norm = need_gp;
rdp->rcu_qs_ctr_snap = __this_cpu_read(rcu_dynticks.rcu_qs_ctr);
next prev parent reply other threads:[~2018-05-14 20:31 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
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 [this message]
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=20180514203320.GK26088@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.