From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S965052AbbDQPeg (ORCPT ); Fri, 17 Apr 2015 11:34:36 -0400 Received: from e31.co.us.ibm.com ([32.97.110.149]:47252 "EHLO e31.co.us.ibm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S964897AbbDQPec (ORCPT ); Fri, 17 Apr 2015 11:34:32 -0400 Date: Fri, 17 Apr 2015 08:34:26 -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 v2] rcu: small rcu_dereference doc update Message-ID: <20150417153426.GP23685@linux.vnet.ibm.com> Reply-To: paulmck@linux.vnet.ibm.com References: <1429281484-25345-1-git-send-email-milos@redhat.com> <20150417104130.0f99fe4c@gandalf.local.home> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20150417104130.0f99fe4c@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: 15041715-8236-0000-0000-00000AD7BA4A Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Apr 17, 2015 at 10:41:30AM -0400, Steven Rostedt wrote: > On Fri, 17 Apr 2015 16:38:04 +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 > > Reviewed-by: Steven Rostedt Queued for 4.2, thank you both! Thanx, Paul > -- Steve > > > --- > > 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..16622c9 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 the same pointer will be returned > > + if an update happened while in the critical section, and incur > > + unnecessary overhead on Alpha CPUs. > > > > Note that the value returned by rcu_dereference() is valid > > only within the enclosing RCU read-side critical section. >