net/mlx5e: Fix small packet threshold
authorEugenia Emantayev <eugenia@mellanox.com>
Wed, 22 Mar 2017 09:44:14 +0000 (11:44 +0200)
committerSaeed Mahameed <saeedm@mellanox.com>
Sat, 22 Apr 2017 18:52:37 +0000 (21:52 +0300)
commitcbad8cddb6ed7ef3a5f0a9a70f1711d4d7fb9a8f
tree21cf9205110819ee4fd38bda9d13245b711373ae
parent5ae85b0edaa597b063ee9d8f48b830519a6e0c0f
net/mlx5e: Fix small packet threshold

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 158f323b9868 ("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: 461017cb006a ("net/mlx5e: Support RX multi-packet WQE (Striding RQ)")
Signed-off-by: Eugenia Emantayev <eugenia@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
drivers/net/ethernet/mellanox/mlx5/core/en.h