我试图构建perftest C library来通过RDMA协议运行一些延迟测试。
我的脚步:
我从their GitHub下载了库,并将其解压缩到要运行服务器进行测试的框中
我执行:./autogen
./configure
make clean && make V=1
我试着做个测试./ib_send_lat --duration=30 -H
…但是我得到了以下错误:
Port number 1 state is Down
Couldn't set the link layer
Couldn't get context for the device
我做错什么了?
运行其他使用RDMA协议的测试(例如the ones in Accelio)时,系统不会显示任何问题。
此外,我运行了一些诊断工具,所有配置似乎都已正确:
已验证是否已加载RDMA内核部分(存在ibuverbs)
已验证RDMA设备可用
已验证可以访问RDMA设备(第二个设备显示端口为活动)
已验证RDMA上的通信正在使用rping将消息从客户端发送到服务器
有什么建议吗?(我在他们的GitHub上打开了一个issue,但还没有得到回复)
谢谢
最佳答案
我怀疑问题在于perftest工具默认使用处于端口关闭状态的设备。
请尝试指定要与'-d'选项一起使用的特定设备。如:
ib_send_lat -d mlx5_0 ...
(这可能需要在链路的两侧完成。)