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.
--- linux.orig/drivers/net/bonding/bond_main.c 2005-03-14 14:08:29.000000000
+++ linux/drivers/net/bonding/bond_main.c 2005-03-14 17:08:57.000000000
@@ -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