Skip to content

Commit 79b8852

Browse files
authored
Merge pull request #86 from linux-rdma/rdma-core-dc-support
Falling back to ibv_post_send() for devices not supporting ibv_wr_* one
2 parents 094b630 + 9209180 commit 79b8852

File tree

2 files changed

+29
-14
lines changed

2 files changed

+29
-14
lines changed

configure.ac

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -167,17 +167,19 @@ if [test $HAVE_SNIFFER = yes]; then
167167
AC_DEFINE([HAVE_SNIFFER], [1], [Enable Sniffer Flow Specification])
168168
fi
169169

170-
CPU_IS_RO_COMPLIANT=yes
171-
# Actually this is check for being affected by a known issue
172-
# with Intel CPUs:
173-
# https://lore.kernel.org/patchwork/patch/820922/
174-
intel_no_ro_devices="6f01 6f02 6f03 6f04 6f05 6f06 6f07 6f08 6f09 6f0a 6f0b 6f0c 6f0d 6f0e 2f01 2f02 2f03 2f04 2f05 2f06 2f07 2f08 2f09 2f0a 2f0b 2f0c 2f0d 2f0e"
175-
for cpu_num in $intel_no_ro_devices; do
176-
ro_nonsupported=$(lspci -nn | grep -i 8086:$cpu_num)
177-
if [ test "$ro_nonsupported" ]; then
178-
CPU_IS_RO_COMPLIANT=no
179-
fi
180-
done
170+
if [test $IS_FREEBSD = no]; then
171+
CPU_IS_RO_COMPLIANT=yes
172+
# Actually this is check for being affected by a known issue
173+
# with Intel CPUs:
174+
# https://lore.kernel.org/patchwork/patch/820922/
175+
intel_no_ro_devices="6f01 6f02 6f03 6f04 6f05 6f06 6f07 6f08 6f09 6f0a 6f0b 6f0c 6f0d 6f0e 2f01 2f02 2f03 2f04 2f05 2f06 2f07 2f08 2f09 2f0a 2f0b 2f0c 2f0d 2f0e"
176+
for cpu_num in $intel_no_ro_devices; do
177+
ro_nonsupported=$(lspci -nn | grep -i 8086:$cpu_num)
178+
if [ test "$ro_nonsupported" ]; then
179+
CPU_IS_RO_COMPLIANT=no
180+
fi
181+
done
182+
fi
181183

182184
AC_TRY_LINK([
183185
#include <infiniband/verbs.h>],

src/perftest_resources.c

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1366,12 +1366,25 @@ int verify_params_with_device_context(struct ibv_context *context,
13661366
}
13671367
}
13681368

1369-
if (current_dev == CONNECTX3_PRO || current_dev == CONNECTX3)
1369+
// those are devices supporting new post send
1370+
if (current_dev != CONNECTIB &&
1371+
current_dev != CONNECTX4 &&
1372+
current_dev != CONNECTX4LX &&
1373+
current_dev != CONNECTX5 &&
1374+
current_dev != CONNECTX5EX &&
1375+
current_dev != CONNECTX6 &&
1376+
current_dev != CONNECTX6DX &&
1377+
current_dev != CONNECTX6LX &&
1378+
current_dev != CONNECTX7 &&
1379+
current_dev != MLX5GENVF &&
1380+
current_dev != BLUEFIELD &&
1381+
current_dev != BLUEFIELD2 &&
1382+
current_dev != EFA)
13701383
{
13711384
if (!user_param->use_old_post_send)
13721385
{
1373-
fprintf(stderr, " Warning: ConnectX-3 and ConnectX-3 Pro don't support WR postsend API!\n");
1374-
fprintf(stderr, " Warning: Falling back to ibv_post_send() API\n");
1386+
fprintf(stderr, " Warning: The device chosen doesn't support WR post send API!\n");
1387+
fprintf(stderr, " Warning: Falling back to using ibv_post_send()\n");
13751388
user_param->use_old_post_send = 1;
13761389
}
13771390
}

0 commit comments

Comments
 (0)