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