Patch "net/mlx5: DR, select MSIX vector 0 for completion queue creation" has been added to the 6.6-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    net/mlx5: DR, select MSIX vector 0 for completion queue creation

to the 6.6-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     net-mlx5-dr-select-msix-vector-0-for-completion-queu.patch
and it can be found in the queue-6.6 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 2c765d22d234ba151e97aaa045a01980a3390b17
Author: Shahar Shitrit <shshitrit@xxxxxxxxxx>
Date:   Fri Dec 20 10:15:02 2024 +0200

    net/mlx5: DR, select MSIX vector 0 for completion queue creation
    
    [ Upstream commit 050a4c011b0dfeb91664a5d7bd3647ff38db08ce ]
    
    When creating a software steering completion queue (CQ), an arbitrary
    MSIX vector n is selected. This results in the CQ sharing the same
    Ethernet traffic channel n associated with the chosen vector. However,
    the value of n is often unpredictable, which can introduce complications
    for interrupt monitoring and verification tools.
    
    Moreover, SW steering uses polling rather than event-driven interrupts.
    Therefore, there is no need to select any MSIX vector other than the
    existing vector 0 for CQ creation.
    
    In light of these factors, and to enhance predictability, we modify the
    code to consistently select MSIX vector 0 for CQ creation.
    
    Fixes: 297cccebdc5a ("net/mlx5: DR, Expose an internal API to issue RDMA operations")
    Signed-off-by: Shahar Shitrit <shshitrit@xxxxxxxxxx>
    Reviewed-by: Yevgeny Kliteynik <kliteyn@xxxxxxxxxx>
    Signed-off-by: Tariq Toukan <tariqt@xxxxxxxxxx>
    Link: https://patch.msgid.link/20241220081505.1286093-2-tariqt@xxxxxxxxxx
    Signed-off-by: Jakub Kicinski <kuba@xxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/net/ethernet/mellanox/mlx5/core/steering/dr_send.c b/drivers/net/ethernet/mellanox/mlx5/core/steering/dr_send.c
index 6fa06ba2d346..f57c84e5128b 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/steering/dr_send.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/steering/dr_send.c
@@ -1067,7 +1067,6 @@ static struct mlx5dr_cq *dr_create_cq(struct mlx5_core_dev *mdev,
 	int inlen, err, eqn;
 	void *cqc, *in;
 	__be64 *pas;
-	int vector;
 	u32 i;
 
 	cq = kzalloc(sizeof(*cq), GFP_KERNEL);
@@ -1096,8 +1095,7 @@ static struct mlx5dr_cq *dr_create_cq(struct mlx5_core_dev *mdev,
 	if (!in)
 		goto err_cqwq;
 
-	vector = raw_smp_processor_id() % mlx5_comp_vectors_max(mdev);
-	err = mlx5_comp_eqn_get(mdev, vector, &eqn);
+	err = mlx5_comp_eqn_get(mdev, 0, &eqn);
 	if (err) {
 		kvfree(in);
 		goto err_cqwq;




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux