Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756846Ab3JIXk4 (ORCPT ); Wed, 9 Oct 2013 19:40:56 -0400 Received: from relay3-d.mail.gandi.net ([217.70.183.195]:50857 "EHLO relay3-d.mail.gandi.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754992Ab3JIXky (ORCPT ); Wed, 9 Oct 2013 19:40:54 -0400 X-Originating-IP: 173.246.103.110 Date: Wed, 9 Oct 2013 16:40:40 -0700 From: Josh Triplett To: Eric Dumazet Cc: paulmck@linux.vnet.ibm.com, linux-kernel@vger.kernel.org, mingo@kernel.org, laijs@cn.fujitsu.com, dipankar@in.ibm.com, akpm@linux-foundation.org, mathieu.desnoyers@efficios.com, niv@us.ibm.com, tglx@linutronix.de, peterz@infradead.org, rostedt@goodmis.org, dhowells@redhat.com, edumazet@google.com, darren@dvhart.com, fweisbec@gmail.com, sbw@mit.edu, "David S. Miller" , Alexey Kuznetsov , James Morris , Hideaki YOSHIFUJI , Patrick McHardy , netdev@vger.kernel.org Subject: Re: [PATCH v2 tip/core/rcu 07/13] ipv6/ip6_tunnel: Apply rcu_access_pointer() to avoid sparse false positive Message-ID: <20131009234040.GB14055@jtriplet-mobl1> References: <20131009212920.GA15413@linux.vnet.ibm.com> <1381354186-16285-1-git-send-email-paulmck@linux.vnet.ibm.com> <1381354186-16285-7-git-send-email-paulmck@linux.vnet.ibm.com> <1381354949.4971.20.camel@edumazet-glaptop.roam.corp.google.com> <20131009215747.GA5790@linux.vnet.ibm.com> <1381356624.4971.26.camel@edumazet-glaptop.roam.corp.google.com> <20131009223652.GC5790@linux.vnet.ibm.com> <1381359077.4971.37.camel@edumazet-glaptop.roam.corp.google.com> <20131009225617.GH11709@jtriplet-mobl1> <1381360675.4971.45.camel@edumazet-glaptop.roam.corp.google.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1381360675.4971.45.camel@edumazet-glaptop.roam.corp.google.com> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1154 Lines: 33 On Wed, Oct 09, 2013 at 04:17:55PM -0700, Eric Dumazet wrote: > On Wed, 2013-10-09 at 15:56 -0700, Josh Triplett wrote: > > > I'd be really hesitant to introduce that type of direct assignment to an > > __rcu pointer without wrapping it in some appropriately named macro, or > > at the very least adding a comment. > > Well, there is no special magic here, in this specific case : > > - deleting an item in an rcu list > > Check list_del_rcu(), and you'll notice there is no _barrier_ > > Adding correct barriers is good, but please do not add them when not > needed. > > It makes code hard to understand. I'm not arguing for the inclusion of an unnecessary barrier. I'm arguing for something more self-documenting than: > ACCESS(*ptr) = value; that. Constructs like list_del_rcu are much clearer, and not open-coded. Open-coding synchronization code is almost always a Bad Idea. - Josh Triplett -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/