Skip to content

Commit e19f0a9

Browse files
fabtests/common: removed address receive prepost for out-of-band resolution case
Preposted recieve for peer address is not necessary in case of out-of-band address resolution(-b/-E options). Corresponding send won't be issues and random message with matching tag will be consumed instead, which leads to crash or hang. Signed-off-by: alexander-sannikov <[email protected]>
1 parent 79bfea2 commit e19f0a9

File tree

7 files changed

+13
-2
lines changed

7 files changed

+13
-2
lines changed

fabtests/benchmarks/msg_pingpong.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@ int main(int argc, char **argv)
7979
int op, ret;
8080

8181
opts = INIT_OPTS;
82+
opts.options |= FT_OPT_NO_PREPOSTED_AUX_RX;
8283

8384
hints = fi_allocinfo();
8485
if (!hints)

fabtests/benchmarks/rdm_bw.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ int main(int argc, char **argv)
4747

4848
opts = INIT_OPTS;
4949
opts.options |= FT_OPT_BW;
50+
opts.options |= FT_OPT_NO_PREPOSTED_AUX_RX;
5051

5152
hints = fi_allocinfo();
5253
if (!hints)

fabtests/benchmarks/rdm_bw_mt.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -617,6 +617,7 @@ int main(int argc, char **argv)
617617

618618
opts = INIT_OPTS;
619619
opts.options |= FT_OPT_OOB_CTRL;
620+
opts.options |= FT_OPT_NO_PREPOSTED_AUX_RX;
620621

621622
hints = fi_allocinfo();
622623
if (!hints)

fabtests/benchmarks/rdm_tagged_bw.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@ int main(int argc, char **argv)
7272

7373
opts = INIT_OPTS;
7474
opts.options |= FT_OPT_BW;
75+
opts.options |= FT_OPT_NO_PREPOSTED_AUX_RX;
7576

7677
hints = fi_allocinfo();
7778
if (!hints)

fabtests/benchmarks/rdm_tagged_pingpong.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ int main(int argc, char **argv)
4141
int op, ret;
4242

4343
opts = INIT_OPTS;
44+
opts.options |= FT_OPT_NO_PREPOSTED_AUX_RX;
4445

4546
hints = fi_allocinfo();
4647
if (!hints)

fabtests/common/shared.c

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1519,8 +1519,13 @@ int ft_enable_ep_recv(void)
15191519
if (ret)
15201520
return ret;
15211521

1522-
if (!ft_check_opts(FT_OPT_SKIP_MSG_ALLOC) &&
1523-
(fi->caps & (FI_MSG | FI_TAGGED))) {
1522+
if ((opts.options & FT_OPT_NO_PREPOSTED_AUX_RX) &&
1523+
(opts.options & FT_OPT_OOB_ADDR_EXCH)) {
1524+
return 0;
1525+
}
1526+
1527+
if ((!ft_check_opts(FT_OPT_SKIP_MSG_ALLOC) &&
1528+
(fi->caps & (FI_MSG | FI_TAGGED)))) {
15241529
/* Initial receive will get remote address for unconnected EPs */
15251530
ret = ft_post_rx(ep, MAX(rx_size, FT_MAX_CTRL_MSG), &rx_ctx);
15261531
if (ret)

fabtests/include/shared.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -150,6 +150,7 @@ enum {
150150
FT_OPT_REG_DMABUF_MR = 1 << 27,
151151
FT_OPT_NO_PRE_POSTED_RX = 1 << 28,
152152
FT_OPT_OOB_CTRL = FT_OPT_OOB_SYNC | FT_OPT_OOB_ADDR_EXCH,
153+
FT_OPT_NO_PREPOSTED_AUX_RX = 1 << 29,
153154
};
154155

155156
/* for RMA tests --- we want to be able to select fi_writedata, but there is no

0 commit comments

Comments
 (0)