diff options
| author | Jakub Kicinski <kuba@kernel.org> | 2025-06-11 17:41:43 -0700 |
|---|---|---|
| committer | Jakub Kicinski <kuba@kernel.org> | 2025-06-11 17:41:44 -0700 |
| commit | 5d6d67c4cb10a4b4d3ae35758d5eeed6239afdc8 (patch) | |
| tree | c8451b9327a76621858e75827b71d391c9d8bbd1 | |
| parent | 5e84d5b36b5b0e8552fbbdfbfd9c81bb79ab0947 (diff) | |
| parent | 078bb22cfc652aa206c89e16d25ab3ffffc7427c (diff) | |
Merge branch 'net-bcmgenet-add-support-for-gro-software-interrupt-coalescing'
Zak Kemble says:
====================
net: bcmgenet: add support for GRO software interrupt coalescing
Enable support for software IRQ coalescing and GRO aggregation
and apply conservative defaults which can help improve system
and network performance by reducing the number of hardware
interrupts and improving GRO aggregation ratio.
v1: https://lore.kernel.org/20250531224853.1339-1-zakkemble@gmail.com
====================
Link: https://patch.msgid.link/20250610220403.935-1-zakkemble@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
| -rw-r--r-- | drivers/net/ethernet/broadcom/genet/bcmgenet.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/net/ethernet/broadcom/genet/bcmgenet.c b/drivers/net/ethernet/broadcom/genet/bcmgenet.c index fa0077bc67b7..4f40f6afe88f 100644 --- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c +++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c @@ -2472,10 +2472,8 @@ static int bcmgenet_rx_poll(struct napi_struct *napi, int budget) work_done = bcmgenet_desc_rx(ring, budget); - if (work_done < budget) { - napi_complete_done(napi, work_done); + if (work_done < budget && napi_complete_done(napi, work_done)) bcmgenet_rx_ring_int_enable(ring); - } if (ring->dim.use_dim) { dim_update_sample(ring->dim.event_ctr, ring->dim.packets, @@ -3988,6 +3986,8 @@ static int bcmgenet_probe(struct platform_device *pdev) dev->hw_features |= dev->features; dev->vlan_features |= dev->features; + netdev_sw_irq_coalesce_default_on(dev); + /* Request the WOL interrupt and advertise suspend if available */ priv->wol_irq_disabled = true; if (priv->wol_irq > 0) { |
