From: Joel Fernandes <joel@joelfernandes.org>
To: "Paul E. McKenney" <paulmck@kernel.org>
Cc: rcu@vger.kernel.org, rostedt@goodmis.org, bristot@redhat.com
Subject: Re: RCU_BOOST not working for me
Date: Sat, 18 Jan 2020 15:19:37 -0500 [thread overview]
Message-ID: <20200118201937.GD244899@google.com> (raw)
In-Reply-To: <20200118043458.GT2935@paulmck-ThinkPad-P72>
On Fri, Jan 17, 2020 at 08:34:58PM -0800, Paul E. McKenney wrote:
> On Fri, Jan 17, 2020 at 09:34:34PM -0500, Joel Fernandes wrote:
> > On Fri, Jan 17, 2020 at 03:17:56PM -0800, Paul E. McKenney wrote:
> > [...]
> > > But rcutorture already has tests for RCU priority boosting. Or are those
> > > failing in some way?
> >
> > Yes there are tests, but I thought of just a simple experiment to study this.
> > Purely since it is existing RCU kernel code that I'd like to understand. And
> > me/Daniel are also looking into possibly using run-time / trace-based
> > verification some of these behaviors.
>
> The functionality of rcu_state.cbovld should make that more entertaining.
>
> But I would guess that the initial model would ignore memory footprint
> and just model RCU priority boosting as kicking in a fixed time after
> the beginning of the grace period.
>
> Or do you guys have something else in mind?
Yes, that is the idea. And then turn the model into a unit test (for the
measurement). Though I am also personally trying to convince myself that a
unit test based on a model is better than the test in the kernel module I
just posted. We're just looking at applying Daniel's modeling work to
verification of behaviors like these.
A poor-man's alternative of a model-based test is just making sure that
synchronize_rcu() finishes in a bounded period of time (basically test by
observation than test by model) similar to what my kernel module did. But I
guess a model based test would be more accurate and more strict about what is
considered a pass vs fail.
I was also studying SRCU and could not find tracepoints so I am thinking of
adding some to aid the study. I know for Tree-SRCU you are using timers and
workqueues but the concept hasn't largely changed since [1] was written
right?
[1] https://lwn.net/Articles/202847/
thanks!
- Joel
> Thanx, Paul
>
> PS. Steve, yes, I do well remember our earlier discussions about readers
> inheriting priority from the highest-priority synchronize_rcu(). ;-)
next prev parent reply other threads:[~2020-01-18 20:19 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-01-17 21:58 RCU_BOOST not working for me Joel Fernandes
2020-01-17 22:18 ` Joel Fernandes
2020-01-17 23:17 ` Paul E. McKenney
2020-01-18 2:10 ` Joel Fernandes
2020-01-18 2:32 ` Joel Fernandes
2020-01-18 4:31 ` Paul E. McKenney
2020-01-18 4:28 ` Paul E. McKenney
2020-01-18 20:12 ` Joel Fernandes
2020-01-18 22:37 ` Paul E. McKenney
2020-01-18 2:34 ` Joel Fernandes
2020-01-18 4:34 ` Paul E. McKenney
2020-01-18 4:54 ` Paul E. McKenney
2020-01-18 20:21 ` Joel Fernandes
2020-01-18 22:29 ` Paul E. McKenney
2020-01-18 20:19 ` Joel Fernandes [this message]
2020-01-18 22:47 ` Paul E. McKenney
2020-01-19 1:58 ` Joel Fernandes
2020-01-19 5:49 ` 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=20200118201937.GD244899@google.com \
--to=joel@joelfernandes.org \
--cc=bristot@redhat.com \
--cc=paulmck@kernel.org \
--cc=rcu@vger.kernel.org \
--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.