ionic: set adminq irq affinity
authorShannon Nelson <shannon.nelson@amd.com>
Wed, 14 Feb 2024 17:59:01 +0000 (09:59 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 13 Apr 2024 11:01:43 +0000 (13:01 +0200)
[ Upstream commit c699f35d658f3c21b69ed24e64b2ea26381e941d ]

We claim to have the AdminQ on our irq0 and thus cpu id 0,
but we need to be sure we set the affinity hint to try to
keep it there.

Signed-off-by: Shannon Nelson <shannon.nelson@amd.com>
Reviewed-by: Brett Creeley <brett.creeley@amd.com>
Reviewed-by: Jacob Keller <jacob.e.keller@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/ethernet/pensando/ionic/ionic_lif.c

index 63181866809fd740aadf9d414311f016f6131a74..1f84ba638e6ebfe7dbd73e50f102c9233b9f0ac1 100644 (file)
@@ -3232,9 +3232,12 @@ static int ionic_lif_adminq_init(struct ionic_lif *lif)
 
        napi_enable(&qcq->napi);
 
-       if (qcq->flags & IONIC_QCQ_F_INTR)
+       if (qcq->flags & IONIC_QCQ_F_INTR) {
+               irq_set_affinity_hint(qcq->intr.vector,
+                                     &qcq->intr.affinity_mask);
                ionic_intr_mask(idev->intr_ctrl, qcq->intr.index,
                                IONIC_INTR_MASK_CLEAR);
+       }
 
        qcq->flags |= IONIC_QCQ_F_INITED;