diff options
author | MD Danish Anwar <danishanwar@ti.com> | 2024-04-30 14:06:34 +0200 |
---|---|---|
committer | Jakub Kicinski <kuba@kernel.org> | 2024-05-02 03:38:47 +0200 |
commit | dcb3fba6fa34dd2f98bfcd1d20b26fab3842d1ee (patch) | |
tree | 4d1425f7b6dcd1d308d7fb9d1f694e2f37fb0322 /include/net/dsa.h | |
parent | Merge branch 'arp-random-clean-up-and-rcu-conversion-for-ioctl-siocgarp' (diff) | |
download | linux-dcb3fba6fa34dd2f98bfcd1d20b26fab3842d1ee.tar.xz linux-dcb3fba6fa34dd2f98bfcd1d20b26fab3842d1ee.zip |
net: ti: icssg_prueth: Add SW TX / RX Coalescing based on hrtimers
Add SW IRQ coalescing based on hrtimers for RX and TX data path for ICSSG
driver, which can be enabled by ethtool commands:
- RX coalescing
ethtool -C eth1 rx-usecs 50
- TX coalescing can be enabled per TX queue
- by default enables coalescing for TX0
ethtool -C eth1 tx-usecs 50
- configure TX0
ethtool -Q eth0 queue_mask 1 --coalesce tx-usecs 100
- configure TX1
ethtool -Q eth0 queue_mask 2 --coalesce tx-usecs 100
- configure TX0 and TX1
ethtool -Q eth0 queue_mask 3 --coalesce tx-usecs 100 --coalesce
tx-usecs 100
Minimum value for both rx-usecs and tx-usecs is 20us.
Compared to gro_flush_timeout and napi_defer_hard_irqs this patch allows
to enable IRQ coalescing for RX path separately.
Benchmarking numbers:
===============================================================
| Method | Tput_TX | CPU_TX | Tput_RX | CPU_RX |
| ==============================================================
| Default Driver 943 Mbps 31% 517 Mbps 38% |
| IRQ Coalescing (Patch) 943 Mbps 28% 518 Mbps 25% |
===============================================================
Signed-off-by: MD Danish Anwar <danishanwar@ti.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://lore.kernel.org/r/20240430120634.1558998-1-danishanwar@ti.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to '')
0 files changed, 0 insertions, 0 deletions