Skip to content

UCT/IB: Handle multiple flush cancel w/o completion - #6055

Merged
yosefe merged 2 commits into
openucx:masterfrom
dmitrygx:topic/uct/ib_handle_multi_cancel
Dec 27, 2020
Merged

yosefe merged 2 commits into
openucx:masterfrom
dmitrygx:topic/uct/ib_handle_multi_cancel

Conversation

@dmitrygx

@dmitrygx dmitrygx commented Dec 19, 2020 •

Copy link
Copy Markdown
Member

What

Handle multiple flush cancel w/o completion

Why ?

uct_ep_flush() with UCT_FLUSH_FLAG_CANCEL and w/o completion will be called by a user multiple times while it returns UCS_INPROGRESS
Fixes #6048
Fixes #6027
Fixes #5999
Fixes #5844

How ?

  1. RC_VERBS/RC_MLX5 - remove the assertion that check FLUS_CANCEL flag
  2. DC_MLX5 - if FLUSH_CANCEL is already set, don't do any actions, just move to allocating completion and returning UCS_INPROGRESS

@dmitrygx

dmitrygx commented Dec 19, 2020 •

Copy link
Copy Markdown
Member Author

@brminich @hoopoepg could you review pls?
GPU nodes were offline and testing is there now. Others passed

@yosefe

yosefe commented Dec 19, 2020

Copy link
Copy Markdown
Member

how do we avoid modify qp to error more than once?

@dmitrygx

Copy link
Copy Markdown
Member Author

how do we avoid modify qp to error more than once?

good catch, thank you!
for DC_MLX5 - it is done in the 1st commit as a part of FLUSH_CANCEL handling.
for RC_VERBS/RC_MLX5 - done in the 2nd commit.

@dmitrygx

Copy link
Copy Markdown
Member Author

@Artemy-Mellanox @yosefe could you review pls?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

5 participants