メモリ ウィンドウを使用しようとしていますが、 ibv_alloc_mwを呼び出すと(両方のタイプの MW で) EPERM (errno=1) が発生します。
Mellanox ConnectX-3 カードと次の OFED があります。
ofed_info | head -n 1
MLNX_OFED_LINUX-3.2-2.0.0.0 (OFED-3.2-2.0.0):
私のカードはこの機能をサポートする必要があるようです:
ibv_devinfo -v | grep EXP_MW
EXP_MW_TYPE_2B
EXP_MW_TYPE_2B
Mellanox OFEDで rping を実行すると、同じエラーが発生します。
librdmacm-1.1.0mlnx/examples> ./rping -s &
librdmacm-1.1.0mlnx/examples> ./rping -c -a 10.10.49.87 -w 1
rdma_buf alloc_mw failed
rping_setup_buffers failed: -12
librdmacm-1.1.0mlnx/examples> ./rping -c -a 10.10.49.87 -w 2
rdma_buf alloc_mw failed
rping_setup_buffers failed: -12
ibv_alloc_mw は Mellanox でもサポートされていますか?
編集:
ConnectX-4 カードにアクセスしましたが、同じエラーが発生しました。また、メモリ ウィンドウ オプションを指定してrpingを実行しようとすると、エラーがログに記録されることもわかります。
dmesg | tail -n 2
[9349257.246854] mlx4_core 0000:02:00.0: vhcr command 0xd slave:0in_param 0xe26b4000 in_mod=0x110 op_mod=0x0 failed with error:0, status -1
[9349257.246856] mlx4_core 0000:02:00.0: SW2HW_MPT failed (-1)