OpenCloudOS-Kernel/drivers/net/bonding
Mahesh Bandewar ee63771474 bonding: Simplify the xmit function for modes that use xmit_hash
Earlier change to use usable slave array for TLB mode had an additional
performance advantage. So extending the same logic to all other modes
that use xmit-hash for slave selection (viz 802.3AD, and XOR modes).
Also consolidating this with the earlier TLB change.

The main idea is to build the usable slaves array in the control path
and use that array for slave selection during xmit operation.

Measured performance in a setup with a bond of 4x1G NICs with 200
instances of netperf for the modes involved (3ad, xor, tlb)
cmd: netperf -t TCP_RR -H <TargetHost> -l 60 -s 5

Mode        TPS-Before   TPS-After

802.3ad   : 468,694      493,101
TLB (lb=0): 392,583      392,965
XOR       : 475,696      484,517

Signed-off-by: Mahesh Bandewar <maheshb@google.com>
Signed-off-by: Nikolay Aleksandrov <nikolay@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2014-10-06 17:13:07 -04:00
..
Makefile bonding: add sysfs /slave dir for bond slave devices. 2014-01-17 18:51:58 -08:00
bond_3ad.c bonding: Simplify the xmit function for modes that use xmit_hash 2014-10-06 17:13:07 -04:00
bond_3ad.h bonding: 3ad: convert to bond->mode_lock 2014-09-13 16:29:07 -04:00
bond_alb.c bonding: Simplify the xmit function for modes that use xmit_hash 2014-10-06 17:13:07 -04:00
bond_alb.h bonding: Simplify the xmit function for modes that use xmit_hash 2014-10-06 17:13:07 -04:00
bond_debugfs.c bonding: trivial: style and comment fixes 2014-09-15 17:19:49 -04:00
bond_main.c bonding: Simplify the xmit function for modes that use xmit_hash 2014-10-06 17:13:07 -04:00
bond_netlink.c bonding: convert primary_slave to use RCU 2014-09-09 17:31:35 -07:00
bond_options.c bonding: clean curr_slave_lock use 2014-09-13 16:29:06 -04:00
bond_options.h bonding: make a generic sysfs option store and fix comments 2014-05-09 16:12:51 -04:00
bond_procfs.c bonding: display xmit_hash_policy for non-dynamic-tlb mode 2014-10-06 17:13:07 -04:00
bond_sysfs.c bonding: trivial: style and comment fixes 2014-09-15 17:19:49 -04:00
bond_sysfs_slave.c bonding: use kobject_put instead of _del after kobject_add 2014-07-31 11:16:09 -07:00
bonding.h bonding: Simplify the xmit function for modes that use xmit_hash 2014-10-06 17:13:07 -04:00