-
Notifications
You must be signed in to change notification settings - Fork 434
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
UCP/CORE: Implement flush+destroy for UCT EPs on UCP Worker #5608
Changes from 1 commit
f7b0e3c
627a8a5
e9d3b1d
ecd8663
8d4a9f9
d229eae
8558d4c
cdfe88d
c1a8fee
28edf67
022a6f2
46b1272
cb197a4
5d0b3fa
12d1c34
d1ab7d4
d809dc1
7e6a5b4
a0f759b
46afaaf
e2982d5
7ecd09d
9ef1f34
efdb4d3
509dd6c
07b8bb3
43c3e92
9153e50
9c346d6
465be85
cdb8875
2a5888f
d3cf051
ea18b51
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -440,8 +440,8 @@ static unsigned ucp_worker_flush_progress(void *arg) | |
ucs_status_t status; | ||
ucp_ep_h ep; | ||
|
||
if (!worker->flush_ops_count) /* all scheduled operations on worker | ||
* were completed */ { | ||
if (worker->flush_ops_count == 0) { | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. BTW, do we require iface_flush completion today before destroying UCP worker (AFAIK not)? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
we don't require, but now we require flushing all ops to be done and or iface_flush is completed or going over all EPs is done There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. need to check for leaks in worker destroy There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. done |
||
/* all scheduled progress operations on worker were completed */ | ||
status = ucp_worker_flush_check(worker); | ||
if ((status == UCS_OK) || (&next_ep->ep_list == &worker->all_eps)) { | ||
/* If all ifaces are flushed, or we finished going over all | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
if status != NO_RESOURCE should also return UCS_OK
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
if flush returned ok, who will call the completion?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why? we should put to the pending and wait for the callback invocation
it will be done in
ucp_worker_discard_uct_ep_flush_comp()
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ah, I see. fixed