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,319 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,242 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,239 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,227 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,222 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,218 Views
Rainight
Contributor III

here is my linux config (v 5.11)

0 Kudos

2,189 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,268 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,258 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,292 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,279 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,274 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