git: 813d981e1e78 - main - mlx5ib: Fix RSS Toeplitz setup to be aligned with the HW specification

From: Ka Ho Ng <khng_at_FreeBSD.org>
Date: Sat, 28 Oct 2023 21:02:18 UTC
The branch main has been updated by khng:

URL: https://cgit.FreeBSD.org/src/commit/?id=813d981e1e78daffde4b2a05df35d054fcb4343f

commit 813d981e1e78daffde4b2a05df35d054fcb4343f
Author:     Yishai Hadas <yishaih@mellanox.com>
AuthorDate: 2023-10-28 20:55:47 +0000
Commit:     Ka Ho Ng <khng@FreeBSD.org>
CommitDate: 2023-10-28 20:59:09 +0000

    mlx5ib: Fix RSS Toeplitz setup to be aligned with the HW specification
    
    The specification for the Toeplitz function doesn't require to set the key
    explicitly to be symmetric. In case a symmetric functionality is required
    a symmetric key can be simply used.
    
    Wrongly forcing the algorithm to symmetric causes the wrong packet
    distribution and a performance degradation.
    
    Link: https://lore.kernel.org/r/20190723065733.4899-7-leon@kernel.org
    Fixes: 28d6137008b2 ("IB/mlx5: Add RSS QP support")
    Signed-off-by: Yishai Hadas <yishaih@mellanox.com>
    Reviewed-by: Alex Vainman <alexv@mellanox.com>
    Signed-off-by: Leon Romanovsky <leonro@mellanox.com>
    Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
    
    [khng: cherry-picked from Linux
    b7165bd0d6cbb93732559be6ea8774653b204480]
    
    Sponsored by:   Juniper Networks, Inc.
    MFC after:      7 days
    Reviewed by:    kib, zlei
    Differential Revision:  https://reviews.freebsd.org/D42178
---
 sys/dev/mlx5/mlx5_ib/mlx5_ib_qp.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/sys/dev/mlx5/mlx5_ib/mlx5_ib_qp.c b/sys/dev/mlx5/mlx5_ib/mlx5_ib_qp.c
index 08e73a6dedd8..a504f1ff1788 100644
--- a/sys/dev/mlx5/mlx5_ib/mlx5_ib_qp.c
+++ b/sys/dev/mlx5/mlx5_ib/mlx5_ib_qp.c
@@ -1449,7 +1449,6 @@ static int create_rss_raw_qp_tir(struct mlx5_ib_dev *dev, struct mlx5_ib_qp *qp,
 		}
 
 		MLX5_SET(tirc, tirc, rx_hash_fn, MLX5_RX_HASH_FUNC_TOEPLITZ);
-		MLX5_SET(tirc, tirc, rx_hash_symmetric, 1);
 		memcpy(rss_key, ucmd.rx_hash_key, len);
 		break;
 	}