• Gavi Teitz's avatar
    net/mlx5e: Enable stateless offloads for VF representor netdevs · dabeb3b0
    Gavi Teitz authored
    Enabled checksum and TSO offloads for the representors, in
    order to increase their performance, which is required to
    increase the performance of flows that cannot be offloaded.
    
    Checksum offloads contribute to a general acceleration of all
    traffic (to around 150%), whereas the TSO offload contributes
    to a prominent acceleration of the representor's TX for traffic
    flows with larger than MTU sized packets (to around 200%). This
    is the usual case for TCP streams, as the PF, which serves as
    the uplink representor, and the VF representors employ GRO before
    forwarding the packets to the representor.
    
    GRO was enabled implicitly for the representors beforehand, and
    is explicitly enabled here to ensure that the representors preserve
    the performance boost it provides (of around 200%) when working in
    tandem with the TSO offload by the forwardee, which is the standard
    case as both the PF and the VF representors employ HW TSO.
    
    The impact of these changes can be seen in the following
    measurements taken on a setup of a VM over a VF, connected
    to OVS via the VF representor, to an external host:
    
    Before current changes:
                         TCP Throughput [Gb/s]
    External host to VM         ~ 10.5
    VM to external host         ~ 23.5
    
    With just checksum offloads enabled:
                         TCP Throughput [Gb/s]
    External host to VM         ~ 14.9
    VM to external host         ~ 28.5
    
    With the TSO offload also enabled:
                         TCP Throughput [Gb/s]
    External host to VM         ~ 30.5
    Signed-off-by: default avatarGavi Teitz <gavi@mellanox.com>
    Reviewed-by: default avatarOr Gerlitz <ogerlitz@mellanox.com>
    Signed-off-by: default avatarSaeed Mahameed <saeedm@mellanox.com>
    dabeb3b0
en_rep.c 34.7 KB