Re: [Intel-wired-lan] [PATCH iwl-next v1 2/2] igc: use napi_schedule_irqoff() instead of napi_schedule()

From: Ruinskiy, Dima

Date: Sun Apr 05 2026 - 04:21:42 EST


On 01/04/2026 10:53, Loktionov, Aleksandr wrote:


-----Original Message-----
From: Intel-wired-lan <intel-wired-lan-bounces@xxxxxxxxxx> On Behalf
Of Daiki Harada
Sent: Tuesday, March 31, 2026 12:39 PM
To: intel-wired-lan@xxxxxxxxxxxxxxxx; netdev@xxxxxxxxxxxxxxx; linux-
kernel@xxxxxxxxxxxxxxx
Cc: Nguyen, Anthony L <anthony.l.nguyen@xxxxxxxxx>; Kitszel,
Przemyslaw <przemyslaw.kitszel@xxxxxxxxx>; Andrew Lunn
<andrew+netdev@xxxxxxx>; David S. Miller <davem@xxxxxxxxxxxxx>; Eric
Dumazet <edumazet@xxxxxxxxxx>; Jakub Kicinski <kuba@xxxxxxxxxx>; Paolo
Abeni <pabeni@xxxxxxxxxx>; Daiki Harada <daiky0325@xxxxxxxxx>; Kohei
Enju <kohei@xxxxxxxx>
Subject: [Intel-wired-lan] [PATCH iwl-next v1 2/2] igc: use
napi_schedule_irqoff() instead of napi_schedule()

Replace napi_schedule() with napi_schedule_irqoff() in the interrupt
handler path in igc driver Tested on Intel Corporation Ethernet
Controller I226-V.

Suggested-by: Kohei Enju <kohei@xxxxxxxx>
Signed-off-by: Daiki Harada <daiky0325@xxxxxxxxx>
---
drivers/net/ethernet/intel/igc/igc_main.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/net/ethernet/intel/igc/igc_main.c
b/drivers/net/ethernet/intel/igc/igc_main.c
index 72bc5128d8b8..712605886104 100644
--- a/drivers/net/ethernet/intel/igc/igc_main.c
+++ b/drivers/net/ethernet/intel/igc/igc_main.c
@@ -5688,7 +5688,7 @@ static irqreturn_t igc_msix_ring(int irq, void
*data)
/* Write the ITR value calculated from the previous interrupt.
*/
igc_write_itr(q_vector);

- napi_schedule(&q_vector->napi);
+ napi_schedule_irqoff(&q_vector->napi);

return IRQ_HANDLED;
}
@@ -6059,7 +6059,7 @@ static irqreturn_t igc_intr_msi(int irq, void
*data)
if (icr & IGC_ICR_TS)
igc_tsync_interrupt(adapter);

- napi_schedule(&q_vector->napi);
+ napi_schedule_irqoff(&q_vector->napi);

return IRQ_HANDLED;
}
@@ -6105,7 +6105,7 @@ static irqreturn_t igc_intr(int irq, void *data)
if (icr & IGC_ICR_TS)
igc_tsync_interrupt(adapter);

- napi_schedule(&q_vector->napi);
+ napi_schedule_irqoff(&q_vector->napi);

return IRQ_HANDLED;
}
--
2.53.0

Reviewed-by: Aleksandr Loktionov <aleksandr.loktionov@xxxxxxxxx>

Reviewed-by: Dima Ruinskiy <dima.ruinskiy@xxxxxxxxx>