From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1030202AbbDQOlm (ORCPT ); Fri, 17 Apr 2015 10:41:42 -0400 Received: from smtprelay0173.hostedemail.com ([216.40.44.173]:57478 "EHLO smtprelay.hostedemail.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S966526AbbDQOlf (ORCPT ); Fri, 17 Apr 2015 10:41:35 -0400 X-Session-Marker: 726F737465647440676F6F646D69732E6F7267 X-Spam-Summary: 2,0,0,,d41d8cd98f00b204,rostedt@goodmis.org,:::::::::::::::::,RULES_HIT:41:355:379:541:599:800:960:973:988:989:1260:1277:1311:1313:1314:1345:1359:1437:1515:1516:1518:1534:1541:1593:1594:1711:1730:1747:1777:1792:2393:2553:2559:2562:2693:2895:3138:3139:3140:3141:3142:3352:3622:3865:3866:3867:3868:3870:3871:3873:3874:4250:4321:5007:6119:6261:7875:7903:8908:10004:10400:10848:10967:11232:11658:11914:12043:12517:12519:12555:12740:13069:13311:13357:14096:14097:21080,0,RBL:none,CacheIP:none,Bayesian:0.5,0.5,0.5,Netcheck:none,DomainCache:0,MSF:not bulk,SPF:fn,MSBL:0,DNSBL:none,Custom_rules:0:0:0 X-HE-Tag: angle84_64b17161e8a5c X-Filterd-Recvd-Size: 2417 Date: Fri, 17 Apr 2015 10:41:30 -0400 From: Steven Rostedt To: Milos Vyletel Cc: "Paul E. McKenney" , Josh Triplett , Mathieu Desnoyers , Lai Jiangshan , Jonathan Corbet , linux-kernel@vger.kernel.org (open list:READ-COPY UPDATE...), linux-doc@vger.kernel.org (open list:DOCUMENTATION), jeff.haran@citrix.com Subject: Re: [PATCH v2] rcu: small rcu_dereference doc update Message-ID: <20150417104130.0f99fe4c@gandalf.local.home> In-Reply-To: <1429281484-25345-1-git-send-email-milos@redhat.com> References: <1429281484-25345-1-git-send-email-milos@redhat.com> X-Mailer: Claws Mail 3.11.1 (GTK+ 2.24.25; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 -- 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.