Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751350AbVI3BEj (ORCPT ); Thu, 29 Sep 2005 21:04:39 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1750799AbVI3BEi (ORCPT ); Thu, 29 Sep 2005 21:04:38 -0400 Received: from 22.107.233.220.exetel.com.au ([220.233.107.22]:62477 "EHLO arnor.apana.org.au") by vger.kernel.org with ESMTP id S1751274AbVI3BEh (ORCPT ); Thu, 29 Sep 2005 21:04:37 -0400 Date: Fri, 30 Sep 2005 11:04:04 +1000 To: "Paul E. McKenney" Cc: Suzanne Wood , Robert.Olsson@data.slu.se, davem@davemloft.net, linux-kernel@vger.kernel.org, netdev@oss.sgi.com, walpole@cs.pdx.edu Subject: Re: [RFC][PATCH] identify in_dev_get rcu read-side critical sections Message-ID: <20050930010404.GA21429@gondor.apana.org.au> References: <200509292330.j8TNUSmH019572@rastaban.cs.pdx.edu> <20050930002346.GP8177@us.ibm.com> <20050930002719.GC21062@gondor.apana.org.au> <20050930003642.GQ8177@us.ibm.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20050930003642.GQ8177@us.ibm.com> User-Agent: Mutt/1.5.9i From: Herbert Xu Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1190 Lines: 39 On Thu, Sep 29, 2005 at 05:36:42PM -0700, Paul E. McKenney wrote: > > > rcu_read_lock(); > > in_dev = dev->ip_ptr; > > if (in_dev) { > > in_dev = rcu_dereference(in_dev); > > atomic_inc(&in_dev->refcnt); > > } > > rcu_read_unlock(); > > return in_dev; > > How about: > > rcu_read_lock(); > in_dev = dev->ip_ptr; > if (rcu_dereference(in_dev)) { > atomic_inc(&in_dev->refcnt); > } > rcu_read_unlock(); > return in_dev; With this the barrier will taken even when in_dev is NULL. I agree this isn't such a big deal since it only impacts Alpha and then only when in_dev is NULL. But as we already do the branch anyway to increment the reference count, we might as well make things a little better for Alpha. Cheers, -- Visit Openswan at http://www.openswan.org/ Email: Herbert Xu ~{PmV>HI~} Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt - 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/