@@ -3551,8 +3551,6 @@ void idpf_vport_intr_rel(struct idpf_vport *vport)
35513551 q_vector -> tx = NULL ;
35523552 kfree (q_vector -> rx );
35533553 q_vector -> rx = NULL ;
3554-
3555- free_cpumask_var (q_vector -> affinity_mask );
35563554 }
35573555
35583556 kfree (vport -> q_vectors );
@@ -3579,8 +3577,6 @@ static void idpf_vport_intr_rel_irq(struct idpf_vport *vport)
35793577 vidx = vport -> q_vector_idxs [vector ];
35803578 irq_num = adapter -> msix_entries [vidx ].vector ;
35813579
3582- /* clear the affinity_mask in the IRQ descriptor */
3583- irq_set_affinity_hint (irq_num , NULL );
35843580 kfree (free_irq (irq_num , q_vector ));
35853581 }
35863582}
@@ -3768,8 +3764,6 @@ static int idpf_vport_intr_req_irq(struct idpf_vport *vport)
37683764 "Request_irq failed, error: %d\n" , err );
37693765 goto free_q_irqs ;
37703766 }
3771- /* assign the mask for this irq */
3772- irq_set_affinity_hint (irq_num , q_vector -> affinity_mask );
37733767 }
37743768
37753769 return 0 ;
@@ -4181,7 +4175,8 @@ static int idpf_vport_intr_init_vec_idx(struct idpf_vport *vport)
41814175static void idpf_vport_intr_napi_add_all (struct idpf_vport * vport )
41824176{
41834177 int (* napi_poll )(struct napi_struct * napi , int budget );
4184- u16 v_idx ;
4178+ u16 v_idx , qv_idx ;
4179+ int irq_num ;
41854180
41864181 if (idpf_is_queue_model_split (vport -> txq_model ))
41874182 napi_poll = idpf_vport_splitq_napi_poll ;
@@ -4190,12 +4185,12 @@ static void idpf_vport_intr_napi_add_all(struct idpf_vport *vport)
41904185
41914186 for (v_idx = 0 ; v_idx < vport -> num_q_vectors ; v_idx ++ ) {
41924187 struct idpf_q_vector * q_vector = & vport -> q_vectors [v_idx ];
4188+ qv_idx = vport -> q_vector_idxs [v_idx ];
4189+ irq_num = vport -> adapter -> msix_entries [qv_idx ].vector ;
41934190
4194- netif_napi_add (vport -> netdev , & q_vector -> napi , napi_poll );
4195-
4196- /* only set affinity_mask if the CPU is online */
4197- if (cpu_online (v_idx ))
4198- cpumask_set_cpu (v_idx , q_vector -> affinity_mask );
4191+ netif_napi_add_config (vport -> netdev , & q_vector -> napi ,
4192+ napi_poll , v_idx );
4193+ netif_napi_set_irq (& q_vector -> napi , irq_num );
41994194 }
42004195}
42014196
@@ -4239,9 +4234,6 @@ int idpf_vport_intr_alloc(struct idpf_vport *vport)
42394234 q_vector -> rx_intr_mode = IDPF_ITR_DYNAMIC ;
42404235 q_vector -> rx_itr_idx = VIRTCHNL2_ITR_IDX_0 ;
42414236
4242- if (!zalloc_cpumask_var (& q_vector -> affinity_mask , GFP_KERNEL ))
4243- goto error ;
4244-
42454237 q_vector -> tx = kcalloc (txqs_per_vector , sizeof (* q_vector -> tx ),
42464238 GFP_KERNEL );
42474239 if (!q_vector -> tx )
0 commit comments