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

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

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

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

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

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

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

三、 环境优化方案
在完成第二步的基础上,可以对环境的系统参数进行优化,可以得到更高的速率,具体方案如下:
首先确认环境的基本信息:
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
优化完成后重新测试:

此时速率基本达到理论值。
一、 问题现象
200I PRO rc产品形态,光口速率理论为10G,实测仅为5G左右(可使用iperf3工具测试),如下图所示
二、 解决方案
1、下载200I PRO rc源码包,上传至编译服务器后解压并进入 Ascend310P-source 目录:
2、修改文件 drivers/firmware/bios/HwPkg/Xloader/products/as310p/HBOOT1_b/drivers/clock/clock.c ,代码具体修改如下:
将461行的返回值修改为false,修改完成后如下:
3、编译 hboot1,在 Ascend310P-source 目录下,执行 bash build.sh hboot1 编译 hboot1,编译完成后在 output 目录下获取编译完成的 HBOOT1_b.bin 文件
4、将获取到的 HBOOT1_b.bin 上传至200I PRO rc环境上的任意目录,执行命令升级:/usr/local/Ascend/driver/tools/upgrade-tool --device_index -1 --component hboot1b --path ./HBOOT1_b.bin ,升级完成后重启环境生效
5、重启后重新测试即可:
三、 环境优化方案
在完成第二步的基础上,可以对环境的系统参数进行优化,可以得到更高的速率,具体方案如下:
首先确认环境的基本信息:
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
优化完成后重新测试:
此时速率基本达到理论值。