• Eugenia Emantayev's avatar
    net/mlx5e: Fix small packet threshold · cbad8cdd
    Eugenia Emantayev authored
    RX packet headers are meant to be contained in SKB linear part,
    and chose a threshold of 128.
    It turns out this is not enough, i.e. for IPv6 packet over VxLAN.
    In this case, UDP/IPv4 needs 42 bytes, GENEVE header is 8 bytes,
    and 86 bytes for TCP/IPv6. In total 136 bytes that is more than
    current 128 bytes. In this case expand header flow is reached.
    The warning in skb_try_coalesce() caused by a wrong truesize
    was already fixed here:
    commit 158f323b ("net: adjust skb->truesize in pskb_expand_head()").
    Still, we prefer to totally avoid the expand header flow for performance reasons.
    Tested regular TCP_STREAM with iperf for 1 and 8 streams, no degradation was found.
    
    Fixes: 461017cb ("net/mlx5e: Support RX multi-packet WQE (Striding RQ)")
    Signed-off-by: default avatarEugenia Emantayev <eugenia@mellanox.com>
    Signed-off-by: default avatarSaeed Mahameed <saeedm@mellanox.com>
    cbad8cdd
en.h 28 KB