@@ -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