Skip to content

Commit 684906a

Browse files
committed
[v2.3.x]prov/efa: fix test_efa_rdm_mr_reg_cuda_memory unit test
Follow up of c05b238 Signed-off-by: Jessie Yang <[email protected]> (cherry picked from commit de5dd71)
1 parent 0653ac8 commit 684906a

File tree

1 file changed

+12
-8
lines changed

1 file changed

+12
-8
lines changed

prov/efa/test/efa_unit_test_mr.c

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@ void test_efa_rdm_mr_reg_cuda_memory(struct efa_resource **state)
148148
struct fid_mr *mr = NULL;
149149
struct fi_mr_attr mr_reg_attr = { 0 };
150150
struct iovec iovec;
151-
int err;
151+
int err, baseline_ct, baseline_sz;
152152

153153
if (hmem_ops[FI_HMEM_CUDA].initialized &&
154154
g_efa_hmem_info[FI_HMEM_CUDA].p2p_supported_by_device) {
@@ -161,7 +161,9 @@ void test_efa_rdm_mr_reg_cuda_memory(struct efa_resource **state)
161161

162162
efa_domain = container_of(resource->domain, struct efa_domain,
163163
util_domain.domain_fid);
164-
test_efa_mr_impl(efa_domain, mr, 0, 0, false);
164+
/* fi_endpoint calls ofi_bufpool_grow, which registers mr */
165+
baseline_ct = efa_domain->ibv_mr_reg_ct;
166+
baseline_sz = efa_domain->ibv_mr_reg_sz;
165167

166168
err = ofi_cudaMalloc(&buf, mr_size);
167169
assert_int_equal(err, 0);
@@ -178,10 +180,10 @@ void test_efa_rdm_mr_reg_cuda_memory(struct efa_resource **state)
178180
assert_int_equal(err, 0);
179181

180182
/* FI_MR_DMABUF flag was not set, so GDRCopy should be registered if available */
181-
test_efa_mr_impl(efa_domain, mr, 1, mr_size, true);
183+
test_efa_mr_impl(efa_domain, mr, baseline_ct + 1, baseline_sz + mr_size, true);
182184

183185
assert_int_equal(fi_close(&mr->fid), 0);
184-
test_efa_mr_impl(efa_domain, NULL, 0, 0, false);
186+
test_efa_mr_impl(efa_domain, NULL, baseline_ct, baseline_sz, false);
185187

186188
err = ofi_cudaFree(buf);
187189
assert_int_equal(err, 0);
@@ -204,7 +206,7 @@ void test_efa_direct_mr_reg_no_gdrcopy(struct efa_resource **state)
204206
struct fid_mr *mr = NULL;
205207
struct fi_mr_attr mr_reg_attr = { 0 };
206208
struct iovec iovec;
207-
int err;
209+
int err, baseline_ct, baseline_sz;
208210

209211
if (g_efa_hmem_info[FI_HMEM_CUDA].initialized &&
210212
g_efa_hmem_info[FI_HMEM_CUDA].p2p_supported_by_device) {
@@ -217,7 +219,9 @@ void test_efa_direct_mr_reg_no_gdrcopy(struct efa_resource **state)
217219

218220
efa_domain = container_of(resource->domain, struct efa_domain,
219221
util_domain.domain_fid);
220-
test_efa_mr_impl(efa_domain, mr, 0, 0, false);
222+
/* fi_endpoint calls ofi_bufpool_grow, which registers mr */
223+
baseline_ct = efa_domain->ibv_mr_reg_ct;
224+
baseline_sz = efa_domain->ibv_mr_reg_sz;
221225

222226
err = ofi_cudaMalloc(&buf, mr_size);
223227
assert_int_equal(err, 0);
@@ -234,10 +238,10 @@ void test_efa_direct_mr_reg_no_gdrcopy(struct efa_resource **state)
234238
assert_int_equal(err, 0);
235239

236240
/* no GDRCopy in the efa-direct path */
237-
test_efa_mr_impl(efa_domain, mr, 1, mr_size, false);
241+
test_efa_mr_impl(efa_domain, mr, baseline_ct + 1, baseline_sz + mr_size, false);
238242

239243
assert_int_equal(fi_close(&mr->fid), 0);
240-
test_efa_mr_impl(efa_domain, NULL, 0, 0, false);
244+
test_efa_mr_impl(efa_domain, NULL, baseline_ct, baseline_sz, false);
241245

242246
err = ofi_cudaFree(buf);
243247
assert_int_equal(err, 0);

0 commit comments

Comments
 (0)