快速回忆
ib_write_bw --ib-dev=mlx5_0 --mtu=256
ib_write_bw --ib-dev=mlx5_1 1.1.1.2 --mtu=256
ibv_devinfo | grep -i mtu
ifconfig enp1s0f0 mtu 4096
ifconfig enp1s0f1 mtu 4096
参数
-m, --mtu=<mtu> MTU size : 256 - 4096 (default port mtu)
命令
# 服务端
ib_write_bw --ib-dev=mlx5_0 --mtu=256
# 客户端
ib_write_bw --ib-dev=mlx5_1 1.1.1.2 --mtu=256
实操
可以在实操图中看到MTU的值是256
-
服务端:
-
客户端:
其他问题
可设置的最大值是active mtu。如果指定的mtu超过默认active最大值会被报错:Requested mtu is higher than active mtu ;Changing to active mtu
效果:
他这个涉及是合理的,硬件上active了一个最大值mtu,实际指定参数的时候可以软件层修改大小,然后不超过硬件的mtu,就能灵活操作。
如何查看active的mtu
ibv_devinfo | grep -i mtu
可以看到最大值是4096,但是active的最大值是1024。并且前面报错3,说明是图中active mtu的index。
如何设置active的mtu?
active mtu和ifconfig中相同。ifconfig的mtu可以参考兄弟篇设置:修改eth网络接口MTU的2种方式
修改生效:
ifconfig enp1s0f0 mtu 4096
ifconfig enp1s0f1 mtu 4096
可以看到ifconfig的mtu修改后,在rdma中只会反应一半,为何?