From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ben Greear Subject: Re: [patch 7/11] net: Use bigrefs for net_device.refcount Date: Tue, 13 Sep 2005 09:35:14 -0700 Message-ID: <4326FFC2.7030803@candelatech.com> References: <20050913155112.GB3570@localhost.localdomain> <20050913161012.GI3570@localhost.localdomain> <20050913092659.791bddec@localhost.localdomain> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Cc: Ravikiran G Thirumalai , Andrew Morton , linux-kernel@vger.kernel.org, dipankar@in.ibm.com, bharata@in.ibm.com, shai@scalex86.org, Rusty Russell , netdev@vger.kernel.org, davem@davemloft.net Return-path: To: Stephen Hemminger In-Reply-To: <20050913092659.791bddec@localhost.localdomain> Sender: linux-kernel-owner@vger.kernel.org List-Id: netdev.vger.kernel.org Stephen Hemminger wrote: > On Tue, 13 Sep 2005 09:10:12 -0700 > Ravikiran G Thirumalai wrote: > > >>The net_device has a refcnt used to keep track of it's uses. >>This is used at the time of unregistering the network device >>(module unloading ..) (see netdev_wait_allrefs) . >>For loopback_dev , this refcnt increment/decrement is causing >>unnecessary traffic on the interlink for NUMA system >>affecting it's performance. This patch improves tbench numbers by 6% on a >>8way x86 Xeon (x445). >> > > > Since when is bringing a network device up/down performance critical? We grab and drop a reference for each poll of a device, roughly. See dev_hold in _netif_rx_schedule(struct net_device *dev) in include/netdevice.h, for instance. Thanks, Ben -- Ben Greear Candela Technologies Inc http://www.candelatech.com