10G KR performance on the ls2088a

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

10G KR performance on the ls2088a

842 Views
joeschultz
Contributor I

Hello,

I am working on benchmarking 10G KR on an SBC with the ls2088a and am seeing degraded performance when running a TCP_MAERTS receive test using the netperf benchmarking utility. I am using the latest LSDK-extra kernel and have configured the DPC/DTS files as documented here:
https://www.nxp.com/docs/en/application-note/AN12572.pdf 

I see output from the fsl_backplane driver in dmesg indicating a KR link is established, and can get full line rate when sending. I only see ~30% of the expected speed when receiving, however, and sometimes this dips as low as 10-15%. Is there anything else outside of what is covered in the application noted that is needed to achieve full speed? 


Also, the link to the DPAA 2 reference manuals all appear to be broken.

Thanks,
-Joe Schultz 

Labels (1)
Tags (2)
0 Kudos
2 Replies

709 Views
joeschultz
Contributor I

Hello Yiping,

Sorry I got moved for another project and testing was delayed by the outbreak of COVID. I have finally circled back around to this. In the meantime I noticed LSDK 20.04 was released, so I cherry-picked the 2 backplane patches out of the linux-extras kernel (as I did not notice a corresponding update to that kernel for LSDK 20.04) and applied them on top of the LSDK 20.04 kernel release and re-ran my testing

My original issue seems to have improved, the TCP_MAERTS test now gives the numbers I expected, but the TCP_STREAM test does not. Using the TCP_SENDFILE test as you suggested does seem to give the expected numbers, however.


In reading the netperf documentation, it sounds like this may indicate that CPU utilization is the culprit in this case. In looking at your answer, I am guessing this was your suspicion as well. If you could confirm this that would be great.

I did not have the CPU frequency scaling disabled, but I did have it set to "performance" for this testing. I did confirm that network packet filtering was disabled in the kernel.

For reference my benchmarking results on the two KR ports on our board can be found below (mtu was also set to 9000 on both client and server for theses tests):

# netperf -Cc -H 192.168.0.2 -t TCP_SENDFILE
TCP SENDFILE TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.0.2 () port 0 AF_INET : demo
Recv Send Send Utilization Service Demand
Socket Socket Message Elapsed Send Recv Send Recv
Size Size Size Time Throughput local remote local remote
bytes bytes bytes secs. 10^6bits/s % S % S us/KB us/KB

87380 16384 16384 10.00 9865.60 21.00 3.22 1.395 0.428


# netperf -Cc -H 192.168.1.2 -t TCP_SENDFILE
TCP SENDFILE TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.1.2 () port 0 AF_INET : demo
^[[ARecv Send Send Utilization Service Demand
Socket Socket Message Elapsed Send Recv Send Recv
Size Size Size Time Throughput local remote local remote
bytes bytes bytes secs. 10^6bits/s % S % S us/KB us/KB

87380 16384 16384 10.00 9830.27 19.78 3.29 1.319 0.438

# netperf -Cc -H 192.168.0.2 -t TCP_MAERTS
MIGRATED TCP MAERTS TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.0.2 () port 0 AF_INET : demo
Recv Send Send Utilization Service Demand
Socket Socket Message Elapsed Recv Send Recv Send
Size Size Size Time Throughput local remote local remote
bytes bytes bytes secs. 10^6bits/s % S % S us/KB us/KB

87380 16384 16384 10.00 8933.38 23.15 3.21 1.698 0.471
#


# netperf -Cc -H 192.168.1.2 -t TCP_MAERTS
MIGRATED TCP MAERTS TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.1.2 () port 0 AF_INET : demo
Recv Send Send Utilization Service Demand
Socket Socket Message Elapsed Recv Send Recv Send
Size Size Size Time Throughput local remote local remote
bytes bytes bytes secs. 10^6bits/s % S % S us/KB us/KB

87380 16384 16384 10.00 9076.55 21.74 3.46 1.570 0.500

0 Kudos

709 Views
yipingwang
NXP TechSupport
NXP TechSupport

Hello Joe Schultz ,

  1. Please configure the target board as netperf server with the following command.

# netperf -Cc -H 10.10.10.2 -p 30001 -t TCP_SENDFILE

   2. Please rebuild Linux Kernel image with CONFIG_NETFILTER and CONFIG_CPU_FREQ options disabled.
   3.Please boot up your target board with Ubuntu rootfs filesystem.

Thanks,

Yiping

0 Kudos