• Mahesh Bandewar's avatar
    bonding: Simplify the xmit function for modes that use xmit_hash · ee637714
    Mahesh Bandewar authored
    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: default avatarMahesh Bandewar <maheshb@google.com>
    Signed-off-by: default avatarNikolay Aleksandrov <nikolay@redhat.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    ee637714
bond_3ad.c 76 KB