Ошибка при использовании глаголов памяти Windows (ibv_alloc_mw)

Я пытаюсь использовать окна памяти и получаю EPERM (errno = 1) при вызове ibv_alloc_mw (с обоими типами MW).

У меня есть карты 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

При запуске rping в Mellanox OFED я получаю ту же ошибку:

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)

1 ответ

Решение

При дальнейшем исследовании кажется, что это связано с включением SR-IOV в узлах, которые я использую. Отключение SR-IOV делает эту работу.

Другие вопросы по тегам