linux/drivers/net
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
..
appletalk
arcnet ARCNET: enable eae arcnet card support 2014-09-29 14:36:26 -04:00
bonding bonding: Simplify the xmit function for modes that use xmit_hash 2014-10-06 17:13:07 -04:00
caif
can drivers/net/can/Kconfig: Let CAN_AT91 depend on HAS_IOMEM 2014-10-03 15:52:03 -07:00
cris eth_v10: remove unnecessary break after return 2014-07-20 21:29:49 -07:00
dsa drivers/net/dsa/Kconfig: Let NET_DSA_BCM_SF2 depend on HAS_IOMEM 2014-10-03 15:52:04 -07:00
ethernet net/mlx4_en: Use the new tx_copybreak to set inline threshold 2014-10-06 01:04:16 -04:00
fddi defxx: DEFEA's ESIC port I/O decoding cleanup 2014-09-28 17:22:10 -04:00
hamradio
hippi PCI: Remove DEFINE_PCI_DEVICE_TABLE macro use 2014-08-12 12:15:14 -06:00
hyperv Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2014-10-02 11:25:43 -07:00
ieee802154 mrf24j40: use pr_* / dev_* instead of printk() 2014-09-24 14:14:42 +02:00
irda drivers/net/irda/Kconfig: Let SH_IRDA depend on HAS_IOMEM 2014-10-03 15:52:04 -07:00
phy drivers/net/phy/Kconfig: Let MDIO_BCM_UNIMAC depend on HAS_IOMEM 2014-10-06 00:46:27 -04:00
plip
ppp net: filter: split 'struct sk_filter' into socket and bpf parts 2014-08-02 15:03:58 -07:00
slip
team team: set IFF_TEAM_PORT priv_flag after rx_handler is registered 2014-08-25 17:35:44 -07:00
usb Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2014-10-02 11:25:43 -07:00
vmxnet3 VMXNET3: Check for map error in vmxnet3_set_mc 2014-09-05 11:50:39 -07:00
wan net: Pass a "more" indication down into netdev_start_xmit() code paths. 2014-09-01 17:39:55 -07:00
wimax
wireless Merge tag 'master-2014-10-02' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next 2014-10-05 21:34:39 -04:00
xen-netback xen-netback: move netif_napi_add before binding interrupt 2014-08-25 17:31:42 -07:00
dummy.c
eql.c
ifb.c
Kconfig
LICENSE.SRC
loopback.c
macvlan.c macvlan: add source mode 2014-09-29 15:37:01 -04:00
macvtap.c macvtap: Fix race between device delete and open. 2014-09-26 15:20:26 -04:00
Makefile net: reduce USB network driver config options. 2014-08-05 16:48:59 -07:00
mdio.c
mii.c
netconsole.c
nlmon.c
ntb_netdev.c
rionet.c
sb1000.c
Space.c
sungem_phy.c sungem: Fix global namespace pollution of phy accessors. 2014-08-27 23:07:12 -07:00
tun.c
veth.c
virtio_net.c virtio_net: pass well-formed sgs to virtqueue_add_*() 2014-09-13 12:50:46 -04:00
vxlan.c vxlan: Set inner protocol before transmit 2014-10-01 21:35:52 -04:00
xen-netfront.c xen-netfront: Fix handling packets on compound pages with skb_linearize 2014-08-11 14:46:41 -07:00