]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 4 Jun 2019 05:59:43 +0000 (07:59 +0200)
commit7fb188efd7bc56bd7a8a8b739c9ec0578bc216f5
tree479ebb111f1e7d7c48b34a8af4fbacd66d555eab
parentb5497a067b9cedb9b0f2475c785ce662f1b8f897
net/mlx5e: Disable rxhash when CQE compress is enabled

[ Upstream commit c0194e2d0ef0e5ce5e21a35640d23a706827ae28 ]

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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/ethernet/mellanox/mlx5/core/en_main.c