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,780 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
Reply
11 Replies

2,703 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
Reply

2,700 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
Reply

2,688 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
Reply

2,683 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
Reply

2,679 Views
Rainight
Contributor III

here is my linux config (v 5.11)

0 Kudos
Reply

2,650 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
Reply

2,729 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
Reply

2,719 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
Reply

2,753 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
Reply

2,740 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
Reply

2,735 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
Reply