]> 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 06:01:29 +0000 (08:01 +0200)
commitafb01d9cbbb3cf105828e5f711448a22353c8160
treea69f2702eb4820abc99c63479426efcd6dbe4515
parent28a69736eb9432bdd2ee0fad659a40c5fe6bb6c4
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