net/mlx5e: Disable rxhash when CQE compress is enabled
authorSaeed Mahameed <saeedm@mellanox.com>
Thu, 23 May 2019 19:55:10 +0000 (12:55 -0700)
committerSaeed Mahameed <saeedm@mellanox.com>
Wed, 29 May 2019 01:25:42 +0000 (18:25 -0700)
commitc0194e2d0ef0e5ce5e21a35640d23a706827ae28
tree990a847ad9193334d06e3d1feff64cff08b5f9a9
parent24bcd210e272c1e5fc712fbc5e5c21f59a21abf7
net/mlx5e: Disable rxhash when CQE compress is enabled

When CQE compression is enabled (Multi-host systems), compressed CQEs
might arrive to the driver rx, compressed CQEs don't have a valid hash
offload and the driver already reports a hash value of 0 and invalid hash
type on the skb for compressed CQEs, but this is not good enough.

On a congested PCIe, where CQE compression will kick in aggressively,
gro will deliver lots of out of order packets due to the invalid hash
and this might cause a serious performance drop.

The only valid solution, is to disable rxhash offload at all when CQE
compression is favorable (Multi-host systems).

Fixes: 7219ab34f184 ("net/mlx5e: CQE compression")
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
drivers/net/ethernet/mellanox/mlx5/core/en_main.c