i40e: not compute affinity_mask for IRQ
authorLi RongQing <lirongqing@baidu.com>
Wed, 1 Jul 2020 08:54:53 +0000 (16:54 +0800)
committerTony Nguyen <anthony.l.nguyen@intel.com>
Mon, 14 Sep 2020 16:45:34 +0000 (09:45 -0700)
After commit 759dc4a7e605 ("i40e: initialize our affinity_mask
based on cpu_possible_mask"), NAPI IRQ affinity_mask is bind to
all possible CPUs, not a fixed CPU

Signed-off-by: Li RongQing <lirongqing@baidu.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
drivers/net/ethernet/intel/i40e/i40e_main.c

index 05c6d3e..9cfaa99 100644 (file)
@@ -11186,11 +11186,10 @@ static int i40e_init_msix(struct i40e_pf *pf)
  * i40e_vsi_alloc_q_vector - Allocate memory for a single interrupt vector
  * @vsi: the VSI being configured
  * @v_idx: index of the vector in the vsi struct
- * @cpu: cpu to be used on affinity_mask
  *
  * We allocate one q_vector.  If allocation fails we return -ENOMEM.
  **/
-static int i40e_vsi_alloc_q_vector(struct i40e_vsi *vsi, int v_idx, int cpu)
+static int i40e_vsi_alloc_q_vector(struct i40e_vsi *vsi, int v_idx)
 {
        struct i40e_q_vector *q_vector;
 
@@ -11223,7 +11222,7 @@ static int i40e_vsi_alloc_q_vector(struct i40e_vsi *vsi, int v_idx, int cpu)
 static int i40e_vsi_alloc_q_vectors(struct i40e_vsi *vsi)
 {
        struct i40e_pf *pf = vsi->back;
-       int err, v_idx, num_q_vectors, current_cpu;
+       int err, v_idx, num_q_vectors;
 
        /* if not MSIX, give the one vector only to the LAN VSI */
        if (pf->flags & I40E_FLAG_MSIX_ENABLED)
@@ -11233,15 +11232,10 @@ static int i40e_vsi_alloc_q_vectors(struct i40e_vsi *vsi)
        else
                return -EINVAL;
 
-       current_cpu = cpumask_first(cpu_online_mask);
-
        for (v_idx = 0; v_idx < num_q_vectors; v_idx++) {
-               err = i40e_vsi_alloc_q_vector(vsi, v_idx, current_cpu);
+               err = i40e_vsi_alloc_q_vector(vsi, v_idx);
                if (err)
                        goto err_out;
-               current_cpu = cpumask_next(current_cpu, cpu_online_mask);
-               if (unlikely(current_cpu >= nr_cpu_ids))
-                       current_cpu = cpumask_first(cpu_online_mask);
        }
 
        return 0;