1234567891011121314151617181920212223242526272829303132333435363738394041 |
- From: Felix Fietkau <[email protected]>
- Date: Mon, 21 Mar 2022 20:39:59 +0100
- Subject: [PATCH] net: ethernet: mtk_eth_soc: enable threaded NAPI
- This can improve performance under load by ensuring that NAPI processing is
- not pinned on CPU 0.
- Signed-off-by: Felix Fietkau <[email protected]>
- ---
- --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
- +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
- @@ -2802,8 +2802,8 @@ static irqreturn_t mtk_handle_irq_rx(int
-
- eth->rx_events++;
- if (likely(napi_schedule_prep(ð->rx_napi))) {
- - __napi_schedule(ð->rx_napi);
- mtk_rx_irq_disable(eth, eth->soc->txrx.rx_irq_done_mask);
- + __napi_schedule(ð->rx_napi);
- }
-
- return IRQ_HANDLED;
- @@ -2815,8 +2815,8 @@ static irqreturn_t mtk_handle_irq_tx(int
-
- eth->tx_events++;
- if (likely(napi_schedule_prep(ð->tx_napi))) {
- - __napi_schedule(ð->tx_napi);
- mtk_tx_irq_disable(eth, MTK_TX_DONE_INT);
- + __napi_schedule(ð->tx_napi);
- }
-
- return IRQ_HANDLED;
- @@ -4120,6 +4120,8 @@ static int mtk_probe(struct platform_dev
- * for NAPI to work
- */
- init_dummy_netdev(ð->dummy_dev);
- + eth->dummy_dev.threaded = 1;
- + strcpy(eth->dummy_dev.name, "mtk_eth");
- netif_napi_add(ð->dummy_dev, ð->tx_napi, mtk_napi_tx,
- NAPI_POLL_WEIGHT);
- netif_napi_add(ð->dummy_dev, ð->rx_napi, mtk_napi_rx,
|