aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/bonding/bonding.h
diff options
context:
space:
mode:
authorJay Vosburgh <fubar@us.ibm.com>2007-10-17 20:37:47 -0400
committerJeff Garzik <jeff@garzik.org>2007-10-23 20:32:00 -0400
commitcf5f9044934658dd3ffc628a60cd37c70f8168b1 (patch)
tree406baa95870c3e86858fd9ff98bc145c53dfa6ac /drivers/net/bonding/bonding.h
parent1b76b31693d4a6088dec104ff6a6ead54081a3c2 (diff)
bonding: Convert balance-rr transmit to new locking
Change locking in balance-rr transmit processing to use a free running counter to determine which slave to transmit on. Instead, a free-running counter is maintained, and modulo arithmetic used to select a slave for transmit. This removes lock operations from the TX path, and eliminates a deadlock introduced by the conversion to work queues. Signed-off-by: Andy Gospodarek <andy@greyhouse.net> Signed-off-by: Jay Vosburgh <fubar@us.ibm.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers/net/bonding/bonding.h')
-rw-r--r--drivers/net/bonding/bonding.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/bonding/bonding.h b/drivers/net/bonding/bonding.h
index a8f2384f550d..d1ed14bf1ccb 100644
--- a/drivers/net/bonding/bonding.h
+++ b/drivers/net/bonding/bonding.h
@@ -197,6 +197,7 @@ struct bonding {
197 int (*xmit_hash_policy)(struct sk_buff *, struct net_device *, int); 197 int (*xmit_hash_policy)(struct sk_buff *, struct net_device *, int);
198 __be32 master_ip; 198 __be32 master_ip;
199 u16 flags; 199 u16 flags;
200 u16 rr_tx_counter;
200 struct ad_bond_info ad_info; 201 struct ad_bond_info ad_info;
201 struct alb_bond_info alb_info; 202 struct alb_bond_info alb_info;
202 struct bond_params params; 203 struct bond_params params;