From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
To: Josh Triplett <josh@joshtriplett.org>
Cc: linux-kernel@vger.kernel.org, mingo@kernel.org,
jiangshanlai@gmail.com, dipankar@in.ibm.com,
akpm@linux-foundation.org, mathieu.desnoyers@efficios.com,
tglx@linutronix.de, peterz@infradead.org, 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 5/7] torture: Trace long read-side delays
Date: Mon, 14 Nov 2016 10:44:21 -0800 [thread overview]
Message-ID: <20161114184421.GP4127@linux.vnet.ibm.com> (raw)
In-Reply-To: <20161114172110.yybjdk6p6754nlih@jtriplet-mobl2.jf.intel.com>
On Mon, Nov 14, 2016 at 09:21:10AM -0800, Josh Triplett wrote:
> On Mon, Nov 14, 2016 at 08:57:11AM -0800, Paul E. McKenney wrote:
> > Although rcutorture will occasionally do a 50-millisecond grace-period
> > delay, these delays are quite rare. And rightly so, because otherwise
> > the read rate would be quite low. Thie means that it can be important
> > to identify whether or not a given run contained a long-delay read.
> > This commit therefore inserts a trace_rcu_torture_read() event to flag
> > runs containing long delays.
> >
> > Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
>
> A couple of apparent typos below. With those fixed:
> Reviewed-by: Josh Triplett <josh@joshtriplett.org>
>
> > include/trace/events/rcu.h | 5 ++++-
> > kernel/rcu/rcutorture.c | 11 ++++++++++-
> > 2 files changed, 14 insertions(+), 2 deletions(-)
> >
> > diff --git a/include/trace/events/rcu.h b/include/trace/events/rcu.h
> > index d3e756539d44..b31e05bc8e26 100644
> > --- a/include/trace/events/rcu.h
> > +++ b/include/trace/events/rcu.h
> > @@ -698,7 +698,10 @@ TRACE_EVENT(rcu_batch_end,
> > /*
> > * Tracepoint for rcutorture readers. The first argument is the name
> > * of the RCU flavor from rcutorture's viewpoint and the second argument
> > - * is the callback address.
> > + * is the callback address. The third callback is the start time in
> > + * seconds, and the last two arguments are the grace period numbers
> > + * and the beginning and end of the read, respectively. Note that the
> > + * callback address can be NULL.
>
> s/third callback/third argument/?
Good catch, fixed!
> Also, s/and the beginning/of the beginning/?
Let's see... "the last two arguments are the grace period numbers and
the beginning and end of the read, respectively." -ENONSENSE for sure.
I believe that the "and" needs to become "at" as follows:
"the last two arguments are the grace period numbers at the beginning
and end of the read, respectively."
Does that help?
Thanx, Paul
> > TRACE_EVENT(rcu_torture_read,
> >
> > diff --git a/kernel/rcu/rcutorture.c b/kernel/rcu/rcutorture.c
> > index bf08fee53dc7..87c51225ceec 100644
> > --- a/kernel/rcu/rcutorture.c
> > +++ b/kernel/rcu/rcutorture.c
> > @@ -289,15 +289,24 @@ static int rcu_torture_read_lock(void) __acquires(RCU)
> >
> > static void rcu_read_delay(struct torture_random_state *rrsp)
> > {
> > + unsigned long started;
> > + unsigned long completed;
> > const unsigned long shortdelay_us = 200;
> > const unsigned long longdelay_ms = 50;
> > + unsigned long long ts;
> >
> > /* We want a short delay sometimes to make a reader delay the grace
> > * period, and we want a long delay occasionally to trigger
> > * force_quiescent_state. */
> >
> > - if (!(torture_random(rrsp) % (nrealreaders * 2000 * longdelay_ms)))
> > + if (!(torture_random(rrsp) % (nrealreaders * 2000 * longdelay_ms))) {
> > + started = cur_ops->completed();
> > + ts = rcu_trace_clock_local();
> > mdelay(longdelay_ms);
> > + completed = cur_ops->completed();
> > + do_trace_rcu_torture_read(cur_ops->name, NULL, ts,
> > + started, completed);
> > + }
> > if (!(torture_random(rrsp) % (nrealreaders * 2 * shortdelay_us)))
> > udelay(shortdelay_us);
> > #ifdef CONFIG_PREEMPT
> > --
> > 2.5.2
> >
>
next prev parent reply other threads:[~2016-11-14 18:44 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-11-14 16:56 [PATCH tip/core/rcu 0/7] Miscellaneous fixes for 4.10 Paul E. McKenney
2016-11-14 16:57 ` [PATCH tip/core/rcu 1/7] rcu: Tighten up __call_rcu() rcu_head alignment check Paul E. McKenney
2016-11-14 16:57 ` [PATCH tip/core/rcu 2/7] rcu: Remove obsolete rcu_check_callbacks() header comment Paul E. McKenney
2016-11-14 16:57 ` [PATCH tip/core/rcu 3/7] rcu: Remove obsolete comment from __call_rcu() Paul E. McKenney
2016-11-14 16:57 ` [PATCH tip/core/rcu 4/7] rcu: RCU_TRACE enables event tracing as well as debugfs Paul E. McKenney
2016-11-14 16:57 ` [PATCH tip/core/rcu 5/7] torture: Trace long read-side delays Paul E. McKenney
2016-11-14 17:21 ` Josh Triplett
2016-11-14 18:44 ` Paul E. McKenney [this message]
2016-11-14 18:54 ` Josh Triplett
2016-11-14 16:57 ` [PATCH tip/core/rcu 6/7] rcu: Make expedited grace periods recheck dyntick idle state Paul E. McKenney
2016-11-14 17:25 ` Josh Triplett
2016-11-14 17:37 ` Peter Zijlstra
2016-11-14 18:12 ` Paul E. McKenney
2016-11-15 8:16 ` Peter Zijlstra
2016-11-15 14:36 ` Paul E. McKenney
2016-11-14 16:57 ` [PATCH tip/core/rcu 7/7] rcu: Don't kick unless grace period or request Paul E. McKenney
2016-11-14 17:26 ` [PATCH tip/core/rcu 0/7] Miscellaneous fixes for 4.10 Josh Triplett
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=20161114184421.GP4127@linux.vnet.ibm.com \
--to=paulmck@linux.vnet.ibm.com \
--cc=akpm@linux-foundation.org \
--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=jiangshanlai@gmail.com \
--cc=josh@joshtriplett.org \
--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 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.