This patch series is based on net-next.git / main branch [1]. This patch series can improve perfromance of TX in a specific condition. The previous code used "global rate limiter" feature so that this is possible to cause performance down if we use multiple ports at the same time. To resolve this issue, use "hardware pause" features of GWCA and COMA. Note that this is not related to the ethernet PAUSE frames. < UDP TX by iperf3 > before: about 450Mbps on both tsn0 and tsn1 after: about 950Mbps on both tsn0 and tsn1 Also, this patch series can improve performance of RX by using napi_gro_receive(). < TCP RX by iperf > before: about 670Mbps on tsn0 after: about 840Mbps on tsn0 [1] The commit e06bd5e3adae ("Merge branch 'followup-fixes-for-the-dwmac-and-altera-lynx-conversion'") Changes from v3: https://lore.kernel.org/all/20230607015641.1724057-1-yoshihiro.shimoda.uh@xxxxxxxxxxx/ - Rebased on the latest net-next.git / main branch. - Added Reviewed-by in the patch 2/2. (Maciej, thanks!) - Fix typos in the commit description in the patch 2/2. Changes from v2: https://lore.kernel.org/all/20230606085558.1708766-1-yoshihiro.shimoda.uh@xxxxxxxxxxx/ - Rebased on the latest net-next.git / main branch. - Added Reviewed-by in the patch 1/2. (Maciej, thanks!) - Revise the commit description in the patch 2/2. - Add definition to remove magic hardcoded numbers in the patch 2/2. Changes from v1: https://lore.kernel.org/all/20230529080840.1156458-1-yoshihiro.shimoda.uh@xxxxxxxxxxx/ - Rebased on the latest net-next.git / main branch. - Use "hardware pause" feature instead of "per-queue limiter" feature. - Drop refactaring for "per-queue limiter". - Drop dt-bindings update because "hardware pause" doesn't need additional clock information. - Use napi_gro_receive() to improve RX performance. Yoshihiro Shimoda (2): net: renesas: rswitch: Use napi_gro_receive() in RX net: renesas: rswitch: Use hardware pause features drivers/net/ethernet/renesas/rswitch.c | 38 ++++++++++---------------- drivers/net/ethernet/renesas/rswitch.h | 7 +++++ 2 files changed, 22 insertions(+), 23 deletions(-) -- 2.25.1