cancel
Showing results for 
Search instead for 
Did you mean: 

STM32MP13 - MYD-YF13X - Gigabit Ethernet - Poor Performance

jschneider
Associate III

Hello,

 

my aim is to achieve a reliable receiving UDP speed with stm32mp13 while sending a payload of 150 mbit/s.

I did performance tests of 1 gigabit Ethernet using a MYD-YF13X development board and iperf3.

 

Here are some of my results:

jschneider_3-1716532522556.png

19% packet drop rate at 150 mbit/s is, for my purpose, unacceptable.

 

I think the problem is related to either the MPU or the YT8521SH Ethernet PHY.

But I doubt it is the second one, so I would focus on the MPU itself.

 

It seems to me that the MPU is not fast enough to achieve a sensible >100 mbit/s receiving speed.

The architecture is arm 32bit, which has 32KB cache memory inclusive.

jschneider_4-1716533388398.png

The amount of cache is decisive for receiving huge payloads.

 

Could it be the reason for such a performance? 

What was the reason to put 100 mbit PHYs and not 1 gbit into the STM32MP135F-DK?

 

Best,

J. Schneider

 

1 ACCEPTED SOLUTION

Accepted Solutions

Thanks for clarification.

I think your results are reflecting the MP13 single-cpu platform capabilities (UDP is always much less optimized in both HW and SW than TCP).

Industrial use cases (which are the major target of the two Ethernet ports of MP13) are most of the time only using 100Mbit/s.

If you need more performances with single gigabit Ethernet, please look to the STM32MP15. For dual Gigabit Ethernet, the STM32MP25 will be much better.

 

Regards.

In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.

View solution in original post

6 REPLIES 6
Hazal
Associate

Hello, this is also my Problem. It would be great if someone helps :)

PatrickF
ST Employee

Hi @jschneider 

Agree, UDP RX perf is linked to CPU. Here the 300Mbit/s you have seems a good result.

I have no figures for MP13, but sound strange that UDP TX is worse than UDP RX.

You could find some data for an MP157F dual core 800MHz (same L1, bigger L2) in following ticket

https://community.st.com/t5/stm32-mpus-products/how-is-the-giga-ethernet-performance-of-the-stm32mp/m-p/74193

Could you please share more details on the setup ?

- CPU flavor and frequency (is it a STM32MP135F running at 1HGz) ?

- iperf3 command line parameters

- OpenSTLinux ecosystem version

- network setup (i.e. direct link, other activity, router, etc...)

 

There is 'only' two 100MHz ethernet ports on STM32MP135F-DK to keep affordable pricing while demonstrating dual Ethernet capabilities, not because we are not achieving decent gigabit performances.

 

Btw, UDP RX is the most CPU demanding and UDP is also usually more prone to measurements issue with iperf.

Could you do tests using TCP ?

 

Regards.

In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.

Hello @PatrickF 

 

The description of my results might have been ambiguous, so I am providing the updated version.

jschneider_0-1716791737313.png

The receiving drop rate is not satisfying. 19% is too much while sending only a 150 Mbps.

Sending the udp data is also a problem. While trying to send 1 Gbps, only around 310 Mbps is being transferred.

 

Setup:

-CPU flavor and frequency

jschneider_1-1716792376241.png

 

jschneider_3-1716792871962.png

Yes, it is running on 1 GHz, but I do not think the frequency is the source of the slow perforemance.

 

-iperf3 commands

Receiver (Server) : iperf3 -s -B ip

Sender (Client) : iperf3 -c ip -t 60 -u -b 150M

ip and the payload (150 Mbps in this case) are variables.

 

-OpenSTLinux ecosystem version

jschneider_4-1716793220229.png

 

-network setup

It occurred to me that I was not connecting the board to the pc with a gigabit ethernet cable.

And after changing the cable, the results are much better.

jschneider_5-1716795383782.png

After this step my requirements are satisfied. The networking performance is still questionable, especially when working with two ethernet interfaces at once. 

 

Best,

J. Schneider

 

 

 

Thanks for clarification.

I think your results are reflecting the MP13 single-cpu platform capabilities (UDP is always much less optimized in both HW and SW than TCP).

Industrial use cases (which are the major target of the two Ethernet ports of MP13) are most of the time only using 100Mbit/s.

If you need more performances with single gigabit Ethernet, please look to the STM32MP15. For dual Gigabit Ethernet, the STM32MP25 will be much better.

 

Regards.

In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.
jschneider
Associate III

Hi,

 

I tested the MYiR developement board with Azure NetXDuo and iperf utility.

 

I was able to achieve a highly satisfying performance with udp communication.

jschneider_0-1717664217090.png

 

Best,

J. Schneider

 

hello,

Is there any special configuration required for configuring Gigabit Ethernet on a bare metal? I can only reach 100M speed now, not Gigabit speed. It is also based on the MYiR development board.

Best