From: "Theodore Y. Ts'o" <tytso@mit.edu>
To: Joel Fernandes <joel@joelfernandes.org>
Cc: "Paul E. McKenney" <paulmck@linux.ibm.com>,
linux-kernel@vger.kernel.org, Jonathan Corbet <corbet@lwn.net>,
Josh Triplett <josh@joshtriplett.org>,
Lai Jiangshan <jiangshanlai@gmail.com>,
linux-doc@vger.kernel.org,
Mathieu Desnoyers <mathieu.desnoyers@efficios.com>,
Steven Rostedt <rostedt@goodmis.org>,
pantin@google.com
Subject: Re: [PATCH RFC 0/5] rcu doc updates for whatisRCU and checklist
Date: Sat, 6 Oct 2018 18:47:29 -0400 [thread overview]
Message-ID: <20181006224729.GA7130@thunk.org> (raw)
In-Reply-To: <20181006044057.GA41279@joelaf.mtv.corp.google.com>
On Fri, Oct 05, 2018 at 09:40:57PM -0700, Joel Fernandes wrote:
>
> Could you annotate this pointer (sbi->s_qf_names) with __rcu so it can be
> checked by sparse for proper usage? Its also point #16 in the checklist.txt
> RCU document. I enclosed a diff to do this below.
Sure.
> I also saw a bunch of places in super.c where the pointer isn't accessed from
> an rcu read section or rcu_dereference, but it was a quick look so sorry if I
> missed something. If its true, then are you planning to convert these to use
> rcu_dereference and wrapped by an rcu_read_lock/unlock as well?
These are places where we are holding s_umount, so there's no way
s_qf_names can change out from under us. So the conversion should be
to use rcu_dereference_protected().
> > + to_free[i] = rcu_dereference_protected(sbi->s_qf_names[i],
> > + &sb->s_umount);
>
> Also should this be the following?
> to_free[i] = rcu_dereference_protected(sbi->s_qf_names[i],
> lockdep_is_held(&sb->s_umount));
Yep, good catch, thanks.
- Ted
next prev parent reply other threads:[~2018-10-06 22:47 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-10-05 23:18 [PATCH RFC 0/5] rcu doc updates for whatisRCU and checklist Joel Fernandes (Google)
2018-10-05 23:18 ` [PATCH RFC 1/5] doc: rcu: Update core and full API in whatisRCU Joel Fernandes (Google)
2018-10-05 23:18 ` [PATCH RFC 2/5] doc: rcu: Add more rationale for using rcu_read_lock_sched in checklist Joel Fernandes (Google)
2018-10-05 23:18 ` [PATCH RFC 3/5] doc: rcu: Remove obsolete suggestion from checklist Joel Fernandes (Google)
2018-10-05 23:18 ` [PATCH RFC 4/5] doc: rcu: Remove obsolete checklist item about synchronize_rcu usage Joel Fernandes (Google)
2018-10-05 23:18 ` [PATCH RFC 5/5] doc: rcu: Encourage use of rcu_barrier in checklist Joel Fernandes (Google)
2018-10-05 23:46 ` [PATCH RFC 0/5] rcu doc updates for whatisRCU and checklist Theodore Y. Ts'o
2018-10-06 1:59 ` Joel Fernandes
2018-10-06 3:45 ` Paul E. McKenney
2018-10-06 4:40 ` Joel Fernandes
2018-10-06 22:47 ` Theodore Y. Ts'o [this message]
2018-10-06 4:50 ` Joel Fernandes
2018-10-06 5:34 ` Theodore Y. Ts'o
2018-10-06 16:49 ` Paul E. McKenney
2018-10-06 0:13 ` Paul E. McKenney
2018-10-06 2:10 ` 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=20181006224729.GA7130@thunk.org \
--to=tytso@mit.edu \
--cc=corbet@lwn.net \
--cc=jiangshanlai@gmail.com \
--cc=joel@joelfernandes.org \
--cc=josh@joshtriplett.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mathieu.desnoyers@efficios.com \
--cc=pantin@google.com \
--cc=paulmck@linux.ibm.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.