Hi all, This patch series adds adaptive interrupt coalescing for the Gigabit Ethernet drivers SYSTEMPORT and GENET.
This really helps lower the interrupt count and system load, as measured by vmstat for a Gigabit TCP RX session: SYSTEMPORT: without: 1 0 0 192188 0 25472 0 0 0 0 122100 38870 1 42 57 0 0 [ ID] Interval Transfer Bandwidth [ 4] 0.0-10.0 sec 1.03 GBytes 884 Mbits/sec with: 1 0 0 192288 0 25468 0 0 0 0 58806 44401 0 100 0 0 0 [ 5] 0.0-10.0 sec 1.04 GBytes 888 Mbits/sec GENET: without: 1 0 0 1170404 0 25420 0 0 0 0 130785 63402 2 85 12 0 0 [ ID] Interval Transfer Bandwidth [ 4] 0.0-10.0 sec 1.04 GBytes 888 Mbits/sec with: 1 0 0 1170560 0 25420 0 0 0 0 50610 48477 0 100 0 0 0 [ 5] 0.0-10.0 sec 1.05 GBytes 899 Mbits/sec Please look at the implementation and let me know if you see any problems, this was largely inspired by bnxt_en. Thank you! Florian Fainelli (2): net: systemport: Implement adaptive interrupt coalescing net: bcmgenet: Add support for adaptive RX coalescing drivers/net/ethernet/broadcom/bcmsysport.c | 141 ++++++++++++++++++++++--- drivers/net/ethernet/broadcom/bcmsysport.h | 14 +++ drivers/net/ethernet/broadcom/genet/bcmgenet.c | 109 +++++++++++++++---- drivers/net/ethernet/broadcom/genet/bcmgenet.h | 12 +++ 4 files changed, 243 insertions(+), 33 deletions(-) -- 2.14.1