From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
To: Peter Zijlstra <peterz@infradead.org>
Cc: Boqun Feng <boqun.feng@gmail.com>,
linux-kernel@vger.kernel.org, Ingo Molnar <mingo@kernel.org>,
Josh Triplett <josh@joshtriplett.org>,
Steven Rostedt <rostedt@goodmis.org>,
Mathieu Desnoyers <mathieu.desnoyers@efficios.com>,
Lai Jiangshan <jiangshanlai@gmail.com>,
sasha.levin@oracle.com
Subject: Re: [RFC v2 0/6] Track RCU dereferences in RCU read-side critical sections
Date: Thu, 25 Feb 2016 07:37:24 -0800 [thread overview]
Message-ID: <20160225153724.GL3522@linux.vnet.ibm.com> (raw)
In-Reply-To: <20160225143243.GP6357@twins.programming.kicks-ass.net>
On Thu, Feb 25, 2016 at 03:32:43PM +0100, Peter Zijlstra wrote:
> On Tue, Feb 16, 2016 at 01:57:39PM +0800, Boqun Feng wrote:
> > As a characteristic of RCU, read-side critical sections have a very
> > loose connection with rcu_dereference()s, which is you can only be sure
> > about an rcu_dereference() might be called in some read-side critical
> > section, but if code gets complex, you may not be sure which read-side
> > critical section exactly, this might be also an problem for some other
> > locking mechanisms, that is the critical sections protecting data and
> > the data accesses protected are not clearly correlated.
> >
> > In this series, we are introducing LOCKED_ACCESS framework and based on
> > which, we implement the RCU_LOCKED_ACCESS functionality to give us a
> > clear hint: which rcu_dereference() happens in which RCU read-side
> > critical section.
> >
> > After this series applied, and if CONFIG_RCU_LOCKED_ACCESS=y, the proc
> > file /proc/locked_access/rcu will show all relationships collected so
> > far for rcu_read_lock() and their friends and rcu_dereference*().
>
> But why !? What does this bring us, why do I want to even look at these
> patches?
There were some complaints about the difficulty of figuring out what
was being protected by a given rcu_read_lock() in cases where the
corresponding rcu_dereference() is several function calls down, and
especially in cases where the function calls are via pointers.
These cases show up in a number of places, perhaps most prominently
in networking.
Boqun's patches therefore use lockdep to make an association between
each rcu_dereference() and the rcu_read_lock() protecting it.
Seem reasonable, or were the complaints just a flash in the pan?
Thanx, Paul
next prev parent reply other threads:[~2016-02-25 15:37 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-02-16 5:57 [RFC v2 0/6] Track RCU dereferences in RCU read-side critical sections Boqun Feng
2016-02-16 5:57 ` [RFC v2 1/6] lockdep: Add helper functions of irq_context Boqun Feng
2016-02-17 0:17 ` Paul E. McKenney
2016-04-23 12:53 ` [tip:locking/urgent] locking/lockdep: Fix ->irq_context calculation tip-bot for Boqun Feng
2016-02-16 5:57 ` [RFC v2 2/6] lockdep: LOCKED_ACCESS: Introduce locked access class and acqchain Boqun Feng
2016-02-16 5:57 ` [RFC v2 3/6] lockdep: LOCKED_ACCESS: Maintain the keys of acqchains Boqun Feng
2016-02-16 5:57 ` [RFC v2 4/6] lockdep: LOCKED_ACCESS: Introduce locked_access_point() Boqun Feng
2016-02-16 5:57 ` [RFC v2 5/6] lockdep: LOCKED_ACCESS: Add proc interface for locked access class Boqun Feng
2016-02-16 5:57 ` [RFC v2 6/6] RCU: Track rcu_dereference() in RCU read-side critical section Boqun Feng
2016-02-25 14:32 ` [RFC v2 0/6] Track RCU dereferences in RCU read-side critical sections Peter Zijlstra
2016-02-25 15:37 ` Paul E. McKenney [this message]
2016-02-26 3:06 ` Boqun Feng
2016-02-26 11:25 ` Peter Zijlstra
2016-02-29 1:12 ` Boqun Feng
2016-02-29 12:43 ` Peter Zijlstra
2016-03-01 9:32 ` Boqun Feng
2016-03-01 9:57 ` Peter Zijlstra
2016-03-01 10:01 ` Peter Zijlstra
2016-03-02 6:37 ` Boqun Feng
2016-03-02 10:18 ` Peter Zijlstra
2016-03-02 14:08 ` 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=20160225153724.GL3522@linux.vnet.ibm.com \
--to=paulmck@linux.vnet.ibm.com \
--cc=boqun.feng@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=peterz@infradead.org \
--cc=rostedt@goodmis.org \
--cc=sasha.levin@oracle.com \
/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