net: ti: icssg_prueth: Add SW TX / RX Coalescing based on hrtimers
commit ac9a8e5f94ed5421e590363bc1d86b6982afab35 from git://git.ti.com/ti-linux-kernel/ti-linux-kernel.git commit dcb3fba6 upstream 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% | =============================================================== Reviewed-by:Andrew Lunn <andrew@lunn.ch> Reviewed-by:
Simon Horman <horms@kernel.org> Signed-off-by:
MD Danish Anwar <danishanwar@ti.com> Signed-off-by:
Xulin Sun <xulin.sun@windriver.com>
Loading
Please register or sign in to comment