From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754872AbbEMSdM (ORCPT ); Wed, 13 May 2015 14:33:12 -0400 Received: from mail.efficios.com ([78.47.125.74]:50778 "EHLO mail.efficios.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754832AbbEMSdH (ORCPT ); Wed, 13 May 2015 14:33:07 -0400 Date: Wed, 13 May 2015 18:33:10 +0000 (UTC) From: Mathieu Desnoyers To: "Paul E. McKenney" Cc: linux-kernel@vger.kernel.org, mingo@kernel.org, laijs@cn.fujitsu.com, dipankar@in.ibm.com, akpm@linux-foundation.org, josh@joshtriplett.org, tglx@linutronix.de, peterz@infradead.org, rostedt@goodmis.org, dhowells@redhat.com, edumazet@google.com, dvhart@linux.intel.com, fweisbec@gmail.com, oleg@redhat.com, bobby prani Message-ID: <733020894.34.1431541990525.JavaMail.zimbra@efficios.com> In-Reply-To: <1431465787-32541-2-git-send-email-paulmck@linux.vnet.ibm.com> References: <20150512212234.GA32351@linux.vnet.ibm.com> <1431465787-32541-1-git-send-email-paulmck@linux.vnet.ibm.com> <1431465787-32541-2-git-send-email-paulmck@linux.vnet.ibm.com> Subject: Re: [PATCH tip/core/rcu 2/3] documentation: Update rcu_dereference.txt based on WG21 discussions MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [132.207.244.163] X-Mailer: Zimbra 8.0.7_GA_6021 (ZimbraWebClient - FF37 (Linux)/8.0.7_GA_6021) Thread-Topic: documentation: Update rcu_dereference.txt based on WG21 discussions Thread-Index: xSBKwFpc9ST9jSdKQ87AZJND5slypQ== Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org ----- Original Message ----- > From: "Paul E. McKenney" > > This commit provides another caveat for the care and feeding of pointers > returned by rcu_dereference() that was pointed out in discussions within > the C++ standards committee. > > Signed-off-by: Paul E. McKenney Reviewed-by: Mathieu Desnoyers BTW, reading through rcu_dereference.txt, I found a nit: operatiors -> operators Very interesting reading :) Thanks! Mathieu > --- > Documentation/RCU/rcu_dereference.txt | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/Documentation/RCU/rcu_dereference.txt > b/Documentation/RCU/rcu_dereference.txt > index ceb05da5a5ac..2d05c9241a33 100644 > --- a/Documentation/RCU/rcu_dereference.txt > +++ b/Documentation/RCU/rcu_dereference.txt > @@ -193,6 +193,11 @@ o Be very careful about comparing pointers obtained from > pointer. Note that the volatile cast in rcu_dereference() > will normally prevent the compiler from knowing too much. > > + However, please note that if the compiler knows that the > + pointer takes on only one of two values, a not-equal > + comparison will provide exactly the information that the > + compiler needs to deduce the value of the pointer. > + > o Disable any value-speculation optimizations that your compiler > might provide, especially if you are making use of feedback-based > optimizations that take data collected from prior runs. Such > -- > 1.8.1.5 > > -- Mathieu Desnoyers EfficiOS Inc. http://www.efficios.com