Low performance in RT 1170 Ethernet

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Low performance in RT 1170 Ethernet

969 Views
balasubramaniyam
Contributor II

Hi,

I'm using i.MX RT1170 EVK kit with evkmimxrt1170_lwip_iperf_enet_qos_bm_cm7 SDK example, in this I can't able to achieve the maximum throughput in 1000Mbps Ethernet connection.

I'm getting nearly 390Mbits/sec for the TCP RX test & 150Mbits/sec for the TCP TX test, and I'm sharing the Iperf test results below

Device side: TCP Server Mode (RX test)
Host side: Client Mode 

TCP_DONE_SERVER (RX)
Local address : 192.168.1.115 Port 5001
Remote address : 192.168.1.3 Port 46816
Bytes Transferred 488503908
Duration (ms) 10005
Bandwidth (kbitpsec) 390607

Device side: TCP Client Mode (TX test)
Host side: Server Mode

TCP_DONE_CLIENT (TX)
Local address : 192.168.1.115 Port 49154
Remote address : 192.168.1.3 Port 5001
Bytes Transferred 186728184
Duration (ms) 10000
Bandwidth (kbitpsec) 149382

 

In my use case, I need at least 980Mbits/sec throughput in the Iperf test from the 1Gbps Ethernet chip. Kindly help to achieve the maximum ethernet throughput in i.MX RT1170 EVK

 

Note:

  • The Ethernet cable is connected at 1000Mb/s speed, and it is checked on the host side.

 

Hoping for better guidance.

Thanks and Regards,

Bala

Tags (1)
0 Kudos
2 Replies

925 Views
balasubramaniyam
Contributor II

Hi Felipe,

Thanks for the information, I'll check and update the throughput result

Thanks,
Bala

0 Kudos

949 Views
FelipeGarcia
NXP Employee
NXP Employee

Hi Bala,

 

Please check the following from the readme file, I hope this helps.

To experiment with the receive throughput, try to increase the number of receive buffers.

For LPC platforms, where zero-copy on receive is implemented, the number of buffers is determined by ENET_RXBD_NUM definition.

When using ENET QOS, where zero-copy on receive is not implemented, increase the PBUF_POOL_SIZE in the file lwipopts.h or on command line.

For other platforms, where zero-copy on receive is implemented, it is determined by ENET_RXBUFF_NUM definition.

Also increase the TCP receive window by changing TCP_WND definition in the file lwipopts.h or on command line.

Make sure that TCP_WND is not larger than (number of receive buffers / TCP_MSS).

For RTOS applications, DEFAULT_THREAD_PRIO and TCPIP_THREAD_PRIO values can have effect on maximum throughput as well.

Best regards,

Felipe

0 Kudos