Can iperf support the UDP GRO/GSO feature? #1851
iven-26545
started this conversation in
Ideas
Replies: 1 comment 1 reply
-
Hello, We have been looking to implement the GRO/GSO feature within the
year. We are actively evaluating the impact. Thank you for reaching out and
for your consideration for iperf! Thanks, iperf3 Maintainers
…On Tue, Mar 11, 2025 at 12:19 AM iven-26545 ***@***.***> wrote:
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
<https://github.com/nathan565656> had a discussion on #1309
<#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 <https://github.com/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.
*Regardless of whether iperf support it or not, I would like to know
maintainer's opinions and thoughts.*
Thank you.
—
Reply to this email directly, view it on GitHub
<#1851>, or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AVHNRZTJYTB4CRDAZLRZAIT2T2FANAVCNFSM6AAAAABYYD3M4WVHI2DSMVQWIX3LMV43ERDJONRXK43TNFXW4OZYGA3DIMJWGI>
.
You are receiving this because you are subscribed to this thread.Message
ID: ***@***.***>
|
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
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.
Regardless of whether iperf support it or not, I would like to know maintainer's opinions and thoughts.
Thank you.
Beta Was this translation helpful? Give feedback.
All reactions