From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S966210AbbDQOYq (ORCPT ); Fri, 17 Apr 2015 10:24:46 -0400 Received: from e36.co.us.ibm.com ([32.97.110.154]:36043 "EHLO e36.co.us.ibm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933286AbbDQOYm (ORCPT ); Fri, 17 Apr 2015 10:24:42 -0400 Date: Fri, 17 Apr 2015 07:24:36 -0700 From: "Paul E. McKenney" To: Steven Rostedt Cc: Milos Vyletel , Josh Triplett , Mathieu Desnoyers , Lai Jiangshan , Jonathan Corbet , "open list:READ-COPY UPDATE..." , "open list:DOCUMENTATION" , jeff.haran@citrix.com Subject: Re: [PATCH] rcu: small rcu_dereference doc update Message-ID: <20150417142436.GN23685@linux.vnet.ibm.com> Reply-To: paulmck@linux.vnet.ibm.com References: <1429266816-27004-1-git-send-email-milos@redhat.com> <20150417140637.GL23685@linux.vnet.ibm.com> <20150417101350.07193a09@gandalf.local.home> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20150417101350.07193a09@gandalf.local.home> User-Agent: Mutt/1.5.21 (2010-09-15) X-TM-AS-MML: disable X-Content-Scanned: Fidelis XPS MAILER x-cbid: 15041714-0021-0000-0000-000009E6B866 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Apr 17, 2015 at 10:13:50AM -0400, Steven Rostedt wrote: > On Fri, 17 Apr 2015 07:06:38 -0700 > "Paul E. McKenney" wrote: > > > On Fri, Apr 17, 2015 at 12:33:36PM +0200, Milos Vyletel wrote: > > > Make a note stating that repeated calls of rcu_dereference() may not > > > return the same pointer if update happens while in critical section. > > > > > > Reported-by: Jeff Haran > > > Signed-off-by: Milos Vyletel > > > > Hmmm... Seems like that should be obvious, but on the other hand, > > I have been using RCU for more than twenty years, so my obviousness > > sensors might need recalibration. > > > > Queued for 4.2. > > Before you queue it, there's a few articles that are screaming to be > present... OK, I removed it. Milos, when you send me a version that Steve is happy with, I will requeue it. Thanx, Paul > > > --- > > > Documentation/RCU/whatisRCU.txt | 4 +++- > > > 1 file changed, 3 insertions(+), 1 deletion(-) > > > > > > diff --git a/Documentation/RCU/whatisRCU.txt b/Documentation/RCU/whatisRCU.txt > > > index 88dfce1..82b1b2c 100644 > > > --- a/Documentation/RCU/whatisRCU.txt > > > +++ b/Documentation/RCU/whatisRCU.txt > > > @@ -256,7 +256,9 @@ rcu_dereference() > > > If you are going to be fetching multiple fields from the > > > RCU-protected structure, using the local variable is of > > > course preferred. Repeated rcu_dereference() calls look > > > - ugly and incur unnecessary overhead on Alpha CPUs. > > > + ugly, do not guarantee that same pointer will be returned > > > + if update happened while in critical section and incur > > > + unnecessary overhead on Alpha CPUs. > > ugly, do not guarantee that the same pointer will be returned > if an update happened while in the critical section, and incur > unnecessary overhead on Alpha CPUs. > > -- Steve > > > > > > > Note that the value returned by rcu_dereference() is valid > > > only within the enclosing RCU read-side critical section. > > > -- > > > 2.1.0 > > > >