]> git.dujemihanovic.xyz Git - linux.git/commitdiff
net/mlx5e: XPS, Fix oversight of Multi-PF Netdev changes
authorCarolina Jubran <cjubran@nvidia.com>
Thu, 15 Aug 2024 07:16:10 +0000 (10:16 +0300)
committerJakub Kicinski <kuba@kernel.org>
Fri, 16 Aug 2024 23:15:57 +0000 (16:15 -0700)
The offending commit overlooked the Multi-PF Netdev changes.

Revert mlx5e_set_default_xps_cpumasks to incorporate Multi-PF Netdev
changes.

Fixes: bcee093751f8 ("net/mlx5e: Modifying channels number and updating TX queues")
Signed-off-by: Carolina Jubran <cjubran@nvidia.com>
Signed-off-by: Tariq Toukan <tariqt@nvidia.com>
Link: https://patch.msgid.link/20240815071611.2211873-4-tariqt@nvidia.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/mellanox/mlx5/core/en_main.c

index 583fa24a7ae980aa69085bea1b83e30f95762d5c..16b67c457b605739ede6dd9b7423ca48d05cfc1e 100644 (file)
@@ -3028,15 +3028,18 @@ int mlx5e_update_tx_netdev_queues(struct mlx5e_priv *priv)
 static void mlx5e_set_default_xps_cpumasks(struct mlx5e_priv *priv,
                                           struct mlx5e_params *params)
 {
-       struct mlx5_core_dev *mdev = priv->mdev;
-       int num_comp_vectors, ix, irq;
-
-       num_comp_vectors = mlx5_comp_vectors_max(mdev);
+       int ix;
 
        for (ix = 0; ix < params->num_channels; ix++) {
+               int num_comp_vectors, irq, vec_ix;
+               struct mlx5_core_dev *mdev;
+
+               mdev = mlx5_sd_ch_ix_get_dev(priv->mdev, ix);
+               num_comp_vectors = mlx5_comp_vectors_max(mdev);
                cpumask_clear(priv->scratchpad.cpumask);
+               vec_ix = mlx5_sd_ch_ix_get_vec_ix(mdev, ix);
 
-               for (irq = ix; irq < num_comp_vectors; irq += params->num_channels) {
+               for (irq = vec_ix; irq < num_comp_vectors; irq += params->num_channels) {
                        int cpu = mlx5_comp_vector_get_cpu(mdev, irq);
 
                        cpumask_set_cpu(cpu, priv->scratchpad.cpumask);