200I PRO rc形态产品光口速率不达标问题解决方案
收藏回复举报
200I PRO rc形态产品光口速率不达标问题解决方案
发表于2025-11-19 10:31:09
0 查看

一、 问题现象

200I PRO rc产品形态,光口速率理论为10G,实测仅为5G左右(可使用iperf3工具测试),如下图所示

1.png

二、 解决方案

1、下载200I PRO rc源码包,上传至编译服务器后解压并进入 Ascend310P-source 目录:

2.png

2、修改文件 drivers/firmware/bios/HwPkg/Xloader/products/as310p/HBOOT1_b/drivers/clock/clock.c ,代码具体修改如下:

3.png

将461行的返回值修改为false,修改完成后如下:

1.png

3、编译 hboot1,在 Ascend310P-source 目录下,执行 bash build.sh hboot1 编译 hboot1,编译完成后在 output 目录下获取编译完成的 HBOOT1_b.bin 文件

2.png

4、将获取到的 HBOOT1_b.bin 上传至200I PRO rc环境上的任意目录,执行命令升级:/usr/local/Ascend/driver/tools/upgrade-tool --device_index -1 --component hboot1b --path ./HBOOT1_b.bin ,升级完成后重启环境生效

3.png

5、重启后重新测试即可:

1.png

三、 环境优化方案

在完成第二步的基础上,可以对环境的系统参数进行优化,可以得到更高的速率,具体方案如下:

首先确认环境的基本信息:

1、哪条lane配置的是光口?(此处举例lane2,即eth2)

2、芯片共多少CPU核?(此处举例共16个核)

确认以上信息后,执行以下命令优化中断软中断负载均衡,将软中断分布到多个CPU核心:

echo 7ff > /sys/class/net/eth2/queues/rx-0/rps_cpus

echo 7ff > /sys/class/net/eth2/queues/rx-1/rps_cpus

echo 7ff > /sys/class/net/eth2/queues/rx-2/rps_cpus

echo 7ff > /sys/class/net/eth2/queues/rx-3/rps_cpus

其中“7ff”每位代表CPU核,置1表示将该位的CPU核分配给对应的中断,可根据具体情况灵活配置

该命令重启后丢失,持久化处理可以将命令加入启动脚本中,脚本位置:/usr/local/Ascend/ host_sys_init.sh

优化完成后重新测试:

2.png

此时速率基本达到理论值。

我要发帖子