You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The Linux kernel has supported GSO (Generic Segmentation Offload) and GRO (Generic Receive Offload) features, and using these features reduces the processing overhead on UDP applications when supporting high throughput case.
Regarding the discussion on the GRO/GSO feature, the author @nathan565656 had a discussion on #1309 in February 2022 and provided the corresponding patch. As of February 2025, the UDP GRO/GSO feature has still not been merged into the official release of iperf.
On my test platform, there are a total of eight CPUs. When testing the downlink at 11Gbps and uplink at 500Mbps, using iperf3.16 or iperf3.18, there is CPU performance bottleneck, with the loading of all eight CPUs reaching over 99%, causing the throughput to fail to meet the target.
However, after porting @nathan565656's patch (by the way, it requires some modifications to work well on my platform), the same throughput test not only met the throughput target, but also the CPU loading for each CPU dropped to around 70%. The CPU loading was significantly reduced (by approximately 250% across eight CPUs).
Based on this, I would like to ask the iperf community if it is possible to consider supporting the UDP GRO/GSO feature and merging it into the official release version.
Thank you.
The text was updated successfully, but these errors were encountered:
Dear maintainer,
The Linux kernel has supported GSO (Generic Segmentation Offload) and GRO (Generic Receive Offload) features, and using these features reduces the processing overhead on UDP applications when supporting high throughput case.
Regarding the discussion on the GRO/GSO feature, the author @nathan565656 had a discussion on #1309 in February 2022 and provided the corresponding patch. As of February 2025, the UDP GRO/GSO feature has still not been merged into the official release of iperf.
On my test platform, there are a total of eight CPUs. When testing the downlink at 11Gbps and uplink at 500Mbps, using iperf3.16 or iperf3.18, there is CPU performance bottleneck, with the loading of all eight CPUs reaching over 99%, causing the throughput to fail to meet the target.
However, after porting @nathan565656's patch (by the way, it requires some modifications to work well on my platform), the same throughput test not only met the throughput target, but also the CPU loading for each CPU dropped to around 70%. The CPU loading was significantly reduced (by approximately 250% across eight CPUs).
Based on this, I would like to ask the iperf community if it is possible to consider supporting the UDP GRO/GSO feature and merging it into the official release version.
Thank you.
The text was updated successfully, but these errors were encountered: