how to get best performance of dpdk on ls1043?

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

how to get best performance of dpdk on ls1043?

跳至解决方案
2,838 次查看
yongquan
Contributor I

Hi :

   I try to get best performance of l2fwd on ls1043, I have found serveral points but still confused. 

- uboot:

  setenv othbootargs console=ttyS0,115200 ramdisk_size=0x10000000 bportals=s0 qportals=s0 isolcpus=1-3 default_hugepagesz=2m hugepagesz=2m hugepages=448 nmi_watchdog=0 rcupdate.rcu_cpu_stall_suppress=1

  whether hugepages is more big more better ?

  what is the meaning of nmi_watchdong=0 ?

  what is the meaning of   rcupdate.rcu_cpu_stall_suppress=1?

 

- fmc configure

export DPAA_NUM_RX_QUEUES=1

what is the meaning of DPAA_NUM_RX_QUEUES? can it be set 2 or more?

 

My goal is to improve performance using l2fwd or testpmd to avoid loss packet while forwarding?

Could the nxp engineers offer some advice?

 

Thanks in advance.

@yipingwang

0 项奖励
回复
1 解答
2,824 次查看
bpe
NXP Employee
NXP Employee


Suggestions for setting up for the optimal DPDK performance can be found in
LSDK online documentation:

https://docs.nxp.com/bundle/GUID-51EEFEDB-ABD5-40C0-BEBD-6527B3494D57/page/GUID-AD9EFB28-7C53-4D17-B...

The same article explains rcupdate.rcu_cpu_stall_suppress parameter.

DPAA_NUM_RX_QUEUES is explained here:

https://docs.nxp.com/bundle/GUID-51EEFEDB-ABD5-40C0-BEBD-6527B3494D57/page/GUID-DD36538C-486D-43D4-8...


You can play with hugepages parameter but you should not expect linear performance
grows when you increase it. LSDK documentation offers the optimal value based on
the size of memory on the development system and other software memory requirements.
More details on this parameter can be found in generic Linux documentation:


https://source.codeaurora.org/external/qoriq/qoriq-components/linux/tree/Documentation/admin-guide/m...

https://source.codeaurora.org/external/qoriq/qoriq-components/linux/tree/Documentation/arm64/hugetlb...


The rest can be found in the kernel parameters description:

https://source.codeaurora.org/external/qoriq/qoriq-components/linux/tree/Documentation/admin-guide/k...

 

Hope this helps

Platon

在原帖中查看解决方案

0 项奖励
回复
3 回复数
1,663 次查看
bhargavjayswal
Contributor III

Hi Platon,

 

Above link are not working, could please update latest links.

 

Regards,

Bhargav Jayswal

0 项奖励
回复
2,821 次查看
yongquan
Contributor I

thank you for your answer sincerely @bpe 

I have a few more questions.

1. If increase DPAA_NUM_RX_QUEUES from 1 to 4, does it enhance performance? and what's the maximum value?

2. Does ls1043 can use 4-core for running DPDK?

Read from "DPDK Performance Reproducibility Guide"  :

"rcupdate.rcu_cpu_stall_suppress=1 is specifically for cases where Core 0 is also used for running DPDK I/O with
enable_performance_mode.sh script - where because of Real Time priority setting of the script, RCU stalls might be
observed. That leads to screen dump which might impact performance."

Does ls1043 can set isolcpus=1-4 for dpdk? If yes,how we configure it and make it work?

0 项奖励
回复
2,825 次查看
bpe
NXP Employee
NXP Employee


Suggestions for setting up for the optimal DPDK performance can be found in
LSDK online documentation:

https://docs.nxp.com/bundle/GUID-51EEFEDB-ABD5-40C0-BEBD-6527B3494D57/page/GUID-AD9EFB28-7C53-4D17-B...

The same article explains rcupdate.rcu_cpu_stall_suppress parameter.

DPAA_NUM_RX_QUEUES is explained here:

https://docs.nxp.com/bundle/GUID-51EEFEDB-ABD5-40C0-BEBD-6527B3494D57/page/GUID-DD36538C-486D-43D4-8...


You can play with hugepages parameter but you should not expect linear performance
grows when you increase it. LSDK documentation offers the optimal value based on
the size of memory on the development system and other software memory requirements.
More details on this parameter can be found in generic Linux documentation:


https://source.codeaurora.org/external/qoriq/qoriq-components/linux/tree/Documentation/admin-guide/m...

https://source.codeaurora.org/external/qoriq/qoriq-components/linux/tree/Documentation/arm64/hugetlb...


The rest can be found in the kernel parameters description:

https://source.codeaurora.org/external/qoriq/qoriq-components/linux/tree/Documentation/admin-guide/k...

 

Hope this helps

Platon

0 项奖励
回复