For non-PREEMPT_RT kernels, the IRQ handler runs with interrupts disabled, allowing the use of napi_schedule_irqoff() to save a pair of local_irq_{save,restore} operations. For PREEMPT_RT kernels, napi_schedule_irqoff() behaves identically to napi_schedule(). Signed-off-by: Kevin Hao --- drivers/net/ethernet/cadence/macb_main.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/ethernet/cadence/macb_main.c b/drivers/net/ethernet/cadence/macb_main.c index 6ec7b110dc7219ca337de4c6f0cbe38bb11558b5..322545b3be23f8d2c4ca2e3da61e057496458eab 100644 --- a/drivers/net/ethernet/cadence/macb_main.c +++ b/drivers/net/ethernet/cadence/macb_main.c @@ -2149,7 +2149,7 @@ static irqreturn_t macb_interrupt(int irq, void *dev_id) */ queue_writel(queue, IDR, bp->rx_intr_mask); macb_queue_isr_clear(bp, queue, MACB_BIT(RCOMP)); - napi_schedule(&queue->napi_rx); + napi_schedule_irqoff(&queue->napi_rx); } if (status & (MACB_BIT(TCOMP) | @@ -2162,7 +2162,7 @@ static irqreturn_t macb_interrupt(int irq, void *dev_id) wmb(); // ensure softirq can see update } - napi_schedule(&queue->napi_tx); + napi_schedule_irqoff(&queue->napi_tx); } if (unlikely(status & MACB_INT_MISC_FLAGS)) --- base-commit: 816f193dd0d95246f208590924dd962b192def78 change-id: 20260404-macb-napi-irqoff-12b3f4d9799b Best regards, -- Kevin Hao