-
Notifications
You must be signed in to change notification settings - Fork 6.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
NXP Ethernet eth_mcux poor performance #60144
Comments
I've verified I can reproduce this on an RT1060 EVK. Performance also seems to have dropped for TCP RX by ~10Mbps since Zephyr 3.2. Moving the application to ITCM does not seem to help performance (and actually results in dropped packets in the TCP test) |
Could you check if setting CONFIG_NET_TCP_RECV_QUEUE_TIMEOUT=0 has any influence. Handling out of order data was significantly changed in 3.2. |
Based on some tests ran on 3.4 as well as the latest |
Could you explain / check the exact numbers in this comments? As I read it, the statement is in contradiction with itself. |
@jameswalmsley, does using the latest |
Sure, I'll do the best I can. When I ran some initial tests to validate that the issue existed, I was able to reproduce the performance problems mentioned in this issue. Later in the day, I sat down to bisect the issue (since I know Ethernet performance was acceptable at the 3.2 release point). As part of this, I updated my branch to the latest |
@jameswalmsley, could you try with #60273 and see if this improves your performance? If you are running a custom application, you would need to integrate those code relocation directives into your CMakeLists file |
@danieldegrasse I'll try this on our end. Thanks |
During testing for PR #60112 I found some unexpected behavior that could be related to this issue. There 3 large transfer tests in tests/net/socket/tcp. One without packet loss, one with 12.5% packet loss with NO_DELAY option, and one without NO_DELAY option. With the packet loss tests: With default MSS being 1280 bytes and 128 bytes / buffer, you will need 10 x 12 = 120 network buffers to make fast-retransmit work. Could this be related to your issue? |
I made some Ethernet tests today between custom board (based on i.MXRT1052 with Ethernet 50 MHz external oscillator and Zephyr v3.4.0) and a Raspberry Pi 3 with following Zephyr settings:
Note: same results with Zephyr as server and RPI as client That looks good to me. Hope that helps. |
Are you adding
|
@DerekSnell What is the status of this issue? Is it still present or can it be closed? |
Hi @ssharks , |
@DerekSnell many thanks. Apologies I was on holiday but got back today. I'll run it on my board tomorrow and confirm. Sounds like it is fixed based on other reports. |
Creating a new Issue, originally reported by @jameswalmsley at #51107. He reports that zperf shows only 1Mbps:
zephyr-shell
linux
The text was updated successfully, but these errors were encountered: