cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
RillSmith
Visitor
Visitor
393 Views
Registered: ‎11-19-2020

Why the speed is so slowly? i used the IP of 10G/25G Ethernet Subsystem as the phy of SFP+.ZCU

Jump to solution

Use the ZCU102 board to test the Etnernet that i build it use the IP of 10G/25G Ethernet Subsystem,and i test the Bandwidth is 1.82Gbps,

1.png
0 Kudos
1 Solution

Accepted Solutions
nanz
Moderator
Moderator
368 Views
Registered: ‎08-25-2009

Hi @RillSmith ,

There are a couple of things that may impact the performance.

  • Application load balancing

Iperf application (default mode) is not able to send max throughput. To push max throughput we need to run multiple streams.

  • Interrupt load balancing

On ZynqMP, all interrupts default goes to core-0 which on high load is a bottleneck. The ideal solution is to assign each TX/RX queue to each CPU but it is not supported by IP. As a workaround, you can try using manual IRQ load balancing i.e TX interrupt on core-1 and RX interrupts on core-0. In receive side (for TCP MTU:1500) you can try using "Receive packet steering". It distribute load across multiple CPU cores.

 


-------------------------------------------------------------------------------------------

Don’t forget to reply, kudo, and accept as solution.

If starting with Versal take a look at our Versal Design Process Hub and our Versal Blogs and our Versal Ethernet Sticky Note.

-------------------------------------------------------------------------------------------

View solution in original post

0 Kudos
3 Replies
nanz
Moderator
Moderator
369 Views
Registered: ‎08-25-2009

Hi @RillSmith ,

There are a couple of things that may impact the performance.

  • Application load balancing

Iperf application (default mode) is not able to send max throughput. To push max throughput we need to run multiple streams.

  • Interrupt load balancing

On ZynqMP, all interrupts default goes to core-0 which on high load is a bottleneck. The ideal solution is to assign each TX/RX queue to each CPU but it is not supported by IP. As a workaround, you can try using manual IRQ load balancing i.e TX interrupt on core-1 and RX interrupts on core-0. In receive side (for TCP MTU:1500) you can try using "Receive packet steering". It distribute load across multiple CPU cores.

 


-------------------------------------------------------------------------------------------

Don’t forget to reply, kudo, and accept as solution.

If starting with Versal take a look at our Versal Design Process Hub and our Versal Blogs and our Versal Ethernet Sticky Note.

-------------------------------------------------------------------------------------------

View solution in original post

0 Kudos
joancab
Advisor
Advisor
365 Views
Registered: ‎05-11-2015

 

Ethernet bandwidth depends on many things besides the IP

0 Kudos
RillSmith
Visitor
Visitor
358 Views
Registered: ‎11-19-2020

thanks

0 Kudos