Skip to content

Commit b9867b5

Browse files
UCT/GDA: Use wqe_idx for rc_gda progress - 3
1 parent 8de54a3 commit b9867b5

File tree

1 file changed

+9
-7
lines changed

1 file changed

+9
-7
lines changed

src/uct/ib/mlx5/gdaki/gdaki.cuh

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -239,28 +239,30 @@ UCS_F_DEVICE ucs_status_t uct_rc_mlx5_gda_ep_single(
239239
{
240240
uct_rc_gda_completion_t *comp = &tl_comp->rc_gda;
241241
unsigned cflag = 0;
242+
uint64_t wqe_base;
242243
uint64_t wqe_idx;
243244
unsigned lane_id;
244245
unsigned num_lanes;
245246
uint32_t fc;
246247

247248
uct_rc_mlx5_gda_exec_init<level>(lane_id, num_lanes);
248-
uct_rc_mlx5_gda_reserv_wqe<level>(ep, 1, lane_id, wqe_idx);
249-
if (wqe_idx == UCT_RC_GDA_RESV_WQE_NO_RESOURCE) {
249+
uct_rc_mlx5_gda_reserv_wqe<level>(ep, 1, lane_id, wqe_base);
250+
if (wqe_base == UCT_RC_GDA_RESV_WQE_NO_RESOURCE) {
250251
return UCS_ERR_NO_RESOURCE;
251252
}
252253

253254
fc = doca_gpu_dev_verbs_wqe_idx_inc_mask(ep->sq_wqe_pi, ep->sq_wqe_num / 2);
255+
wqe_idx = wqe_base & 0xffff;
254256
if (lane_id == 0) {
255257
if ((comp != nullptr) || (wqe_idx == fc)) {
256258
cflag = DOCA_GPUNETIO_MLX5_WQE_CTRL_CQ_UPDATE;
257259
if (comp != nullptr) {
258-
comp->wqe_idx = wqe_idx;
260+
comp->wqe_idx = wqe_base;
259261
}
260262
}
261263

262264
uct_rc_mlx5_gda_wqe_prepare_put_or_atomic(
263-
ep, uct_rc_mlx5_gda_get_wqe_ptr(ep, wqe_idx), wqe_idx & 0xffff,
265+
ep, uct_rc_mlx5_gda_get_wqe_ptr(ep, wqe_idx), wqe_idx,
264266
opcode, cflag, remote_address, rkey,
265267
reinterpret_cast<uint64_t>(address), lkey, length, is_atomic,
266268
add);
@@ -269,7 +271,7 @@ UCS_F_DEVICE ucs_status_t uct_rc_mlx5_gda_ep_single(
269271
uct_rc_mlx5_gda_sync<level>();
270272

271273
if (lane_id == 0) {
272-
uct_rc_mlx5_gda_db(ep, wqe_idx, 1, flags);
274+
uct_rc_mlx5_gda_db(ep, wqe_base, 1, flags);
273275
}
274276

275277
uct_rc_mlx5_gda_sync<level>();
@@ -378,7 +380,7 @@ UCS_F_DEVICE ucs_status_t uct_rc_mlx5_gda_ep_put_multi(
378380
((comp == nullptr) && (wqe_idx == fc))) {
379381
cflag = DOCA_GPUNETIO_MLX5_WQE_CTRL_CQ_UPDATE;
380382
if (comp != nullptr) {
381-
comp->wqe_idx = wqe_idx;
383+
comp->wqe_idx = wqe_base;
382384
}
383385
}
384386

@@ -473,7 +475,7 @@ UCS_F_DEVICE ucs_status_t uct_rc_mlx5_gda_ep_put_multi_partial(
473475
((comp == nullptr) && (wqe_idx == fc))) {
474476
cflag = DOCA_GPUNETIO_MLX5_WQE_CTRL_CQ_UPDATE;
475477
if (comp != nullptr) {
476-
comp->wqe_idx = wqe_idx;
478+
comp->wqe_idx = wqe_base;
477479
}
478480
}
479481

0 commit comments

Comments
 (0)