T2080RDB XFI (10.3125 Gbaud) baudwidth perform badly.

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

T2080RDB XFI (10.3125 Gbaud) baudwidth perform badly.

2,322 Views
Rainight
Contributor III

hello, I have customized a board with T2080RDB , and used XFI (10.3125 Gbaud, fm1-mac9) , Serdes1 CLK 156.25 Mhz.

but when I connect 10G ethernent line directly to PC's intel 10G net card and test this board 's baudwidth using TCP and UDP ,

its show that this board's baudwidth(multipale socket, multiple thread) about 5Gbps in send data mode, and about 1Gbps in receive data mode. and be worse under single socket,single thread.

my board use SFP+ Connector.

addtion when I test 1G Ethernet fm1-mac3 in local net, its baudwidth about 800Mbps (send), 200Mbps (receive). how to deal it ?

Tags (3)
0 Kudos
11 Replies

2,245 Views
Rainight
Contributor III

@yipingwang   hi, I tried add "fixed-link = <0 1 10000 0 0>;" but it's useless. 

And recent days, I tried linux 4.9, 4.19, and  5.4,  in https://source.codeaurora.org/external/qoriq/qoriq-components/linux , my board's 10G eth (ethernet@f0000) also not work , it only receive bytes when PC ping it's port,  but not send any bytes out.   Addtion, any version of linux above (4.9, 4.19, and  5.4) I build , my 1G eth (ethernet@e4000)  baudwidth performs good (up to 1Gbps). 

And especially that when I build QorIQ sdk 2.0's linux (v4.1), my board's 1G eth (ethernet@e4000) and 10G eth (ethernet@f0000) could work, but both baudwidth perform very badly.

 

0 Kudos

2,242 Views
Rainight
Contributor III

I  add a line "q->enqueue = NULL;"  in function __dev_queue_xmit    (net/core/dev.c)(linux 5.4), my 10G eth (ethernet@f0000) could work,  but baudwidth only 2Gbps.

    q->enqueue = NULL;

    if (q->enqueue) {
		rc = __dev_xmit_skb(skb, q, dev, txq);
		goto out;
	}

 

and report error like this:

fsl_dpaa_mac ffe4f0000.ethernet eth4: Err FD status = 0x00080000

 

0.png

0 Kudos

2,230 Views
yipingwang
NXP TechSupport
NXP TechSupport

Please refer to the attached uImage, which I generated from Yocto 3.1 release.

I have verified it on T2080RDB board, the 10G port (ethernet@f0000) works normally.

0 Kudos

2,225 Views
Rainight
Contributor III

thx, but my boards have not usb, so that uImage could not start.

AND SPECIALLY, my board's 10G eth have not PHY,  two boards connectted with MAC to MAC mode.

0.png

0 Kudos

2,221 Views
Rainight
Contributor III

here is my linux config (v 5.11)

0 Kudos

2,192 Views
yipingwang
NXP TechSupport
NXP TechSupport

I didn't find problem in your Kernel configuration file.

In dts file arch/powerpc/boot/dts/fsl/t2080rdb.dts, please do the following modification, then check the 10G port performance with SDK 2.0 images.

fm1mac9: ethernet@f0000 { /* 10GEC1 */
phy-handle = <&xg_cs4315_phy1>;
phy-connection-type = "xgmii";
};

Modify to

fm1mac9: ethernet@f0000 { /* 10GEC1 */
               fixed-link = <0 1 10000 0 0>;
               phy-connection-type = "xgmii";
};

 

0 Kudos

2,271 Views
Rainight
Contributor III

@yipingwang hi, days I build linux kernel 5.11 in my board, and almost check every DPAA configures in kernel's config, and use new kernel's dts file.

Finally, I found my board's 1G net (fm1-mac3) perform good, both send and receive mode has 1Gbps baudwidth.

But my 10G net (fm-mac9) did not work, when my PC ping it's 10G net port, My board could receive bytes ,but not send any bytes out .

what should i do ?

0 Kudos

2,261 Views
yipingwang
NXP TechSupport
NXP TechSupport

Probably there is defect in Linux kernel 5.11.

The latest Yocto SDK release for T2080RDB from NXP is https://source.codeaurora.org/external/qoriq/qoriq-components/yocto-sdk/tree/readme?h=dunfell, The Kernel version is 5.4.3. You could use this version SDK, if you prefer higher version Linux Kernel.

0 Kudos

2,295 Views
yipingwang
NXP TechSupport
NXP TechSupport

Which version Linux SDK are you using? QorIQ Linux SDK 2.0? Do you use the default Linux Kernel configuration?

Do you have T2080RDB demo board? If yes, please run the same images on T2080RDB as your custom board and put T2080RDB in your test environment to check the performance data.

In addition, please disable CONFIG_NETFILTER and CONFIG_CPU_FREQ in your Linux Kernel configuration file to rebuild Linux Kernel to do performance test.

Do you use iperf to do performance test? Please refer to the following command.

Sever: iperf  -s

Client: iperf -c 10.10.10.2 -P 10 -t 30

Please try to connect two target boards together to do performance test.

 

0 Kudos

2,282 Views
Rainight
Contributor III

I use sdk2.0 and update to 1703,and not change anything config, and fman,uboot, linux-kernel,rootfs keep original. CONFIG_NETFILTER and CONFIG_CPU_FREQ also be disabled .

I tried to connect two boards with XFI 10G eth, but their baudwidth also perform badly (iperf with -P 10 -t 0), only about 1Gbps baudwidth  what ever in send mode and receive mode.

I not use cs4315 through EMI2,  but config SerDes1 Lane1 directly connet a SFP + optics with I2C
, should I change the t2080rdb.dts config for fm-mac9, or make some change for linux kernel config when build?

0 Kudos

2,277 Views
yipingwang
NXP TechSupport
NXP TechSupport

Please configure fm1mac9 as the following in arch/powerpc/boot/dts/fsl/t2080rdb.dts.

ethernet@f0000 { /* 10GEC2 */
               fixed-link = <0 1 10000 0 0>;
               phy-connection-type = "xgmii";
};

0 Kudos