From ca3537d91ee5dc527a096862c61502e3c2685988 Mon Sep 17 00:00:00 2001 From: Sreevatsa Anantharamu Date: Tue, 14 Apr 2026 20:03:34 +0000 Subject: [PATCH] Added changes to allow num_sge=0 with write with imm with an additional flag to ./configure simplified it. --- configure.ac | 5 +++++ src/perftest_resources.c | 6 +++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 4abd2931..7b45c812 100755 --- a/configure.ac +++ b/configure.ac @@ -65,6 +65,11 @@ AS_IF([test "x$enable_cq_ex" = "xno"], [USE_CQ_EX=no], [USE_CQ_EX=yes]) +AC_ARG_ENABLE([num_sge_zero], + [AS_HELP_STRING([--enable-num_sge_zero], [Allows using num_sge=0 with RDMA Write With IMM verb])], + [AC_DEFINE([HAVE_NUM_SGE_ZERO], [1], [Use num_sge=0 with RDMA Write With IMM])], + []) + AC_PREFIX_DEFAULT("/usr") AC_PROG_CC diff --git a/src/perftest_resources.c b/src/perftest_resources.c index 470bf3a8..6a47a740 100755 --- a/src/perftest_resources.c +++ b/src/perftest_resources.c @@ -4099,11 +4099,15 @@ int ctx_set_recv_wqes(struct pingpong_context *ctx,struct perftest_parameters *u } } +#ifdef HAVE_NUM_SGE_ZERO +// Setting num_sge=0 is supported by the vendor and using it for WRITE_IMM verb. if (user_param->verb == WRITE_IMM) { ctx->rwr[i * user_param->recv_post_list + j].sg_list = NULL; ctx->rwr[i * user_param->recv_post_list + j].num_sge = 0; } - else { + else +#endif + { ctx->rwr[i * user_param->recv_post_list + j].sg_list = &ctx->recv_sge_list[i * user_param->recv_post_list + j]; ctx->rwr[i * user_param->recv_post_list + j].num_sge = MAX_RECV_SGE; }