Received: with ECARTIS (v1.0.0; list netdev); Tue, 15 Mar 2005 10:30:00 -0800 (PST) Received: from omx1.americas.sgi.com (omx1-ext.sgi.com [192.48.179.11]) by oss.sgi.com (8.13.0/8.13.0) with ESMTP id j2FITsUQ021763 for ; Tue, 15 Mar 2005 10:29:54 -0800 Received: from nodin.corp.sgi.com (nodin.corp.sgi.com [192.26.51.193]) by omx1.americas.sgi.com (8.12.10/8.12.9/linux-outbound_gateway-1.1) with ESMTP id j2FITrxT018397 for ; Tue, 15 Mar 2005 12:29:53 -0600 Received: from cthulhu.engr.sgi.com (cthulhu.engr.sgi.com [192.26.80.2]) by nodin.corp.sgi.com (SGI-8.12.5/8.12.10/SGI_generic_relay-1.2) with ESMTP id j2FITrbT47169142 for ; Tue, 15 Mar 2005 10:29:53 -0800 (PST) Received: from [192.168.2.20] (mtv-vpn-sw-corp-0-85.corp.sgi.com [134.15.0.85]) by cthulhu.engr.sgi.com (SGI-8.12.5/8.12.5) with ESMTP id j2FISq7e3177876; Tue, 15 Mar 2005 10:28:52 -0800 (PST) Date: Tue, 15 Mar 2005 10:29:16 -0800 (PST) From: Arthur Kepner X-X-Sender: akepner@linux.site To: "David S. Miller" cc: netdev@oss.sgi.com Subject: [PATCH] use NETIF_F_LLTX in bonding device Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Virus-Scanned: ClamAV 0.83/762/Sun Mar 13 15:35:33 2005 on oss.sgi.com X-Virus-Status: Clean X-archive-position: 182 X-ecartis-version: Ecartis v1.0.0 Sender: netdev-bounce@oss.sgi.com Errors-to: netdev-bounce@oss.sgi.com X-original-sender: akepner@sgi.com Precedence: bulk X-list: netdev Content-Length: 803 Lines: 24 Lock contention on the bonding device's xmit_lock can become a bottleneck when 3 or more gige links are aggregated. And it looks like it's unnecessary too, so use the NETIF_F_LLTX flag to avoid grabbing this lock. Signed-off-by: --- linux.orig/drivers/net/bonding/bond_main.c 2005-03-14 14:08:29.000000000 -0800 +++ linux/drivers/net/bonding/bond_main.c 2005-03-14 17:08:57.000000000 -0800 @@ -4306,6 +4306,10 @@ static int __init bond_init(struct net_d */ bond_dev->features |= NETIF_F_VLAN_CHALLENGED; + /* don't acquire bond device's xmit_lock when + * transmitting */ + bond_dev->features |= NETIF_F_LLTX; + /* By default, we declare the bond to be fully * VLAN hardware accelerated capable. Special * care is taken in the various xmit functions -- Arthur