{"action":"created","comment":{"url":"https://api.github.com/repos/openucx/ucx/pulls/comments/186285246","pull_request_review_id":117837776,"id":186285246,"diff_hunk":"@@ -96,53 +99,216 @@ static ucs_status_t uct_cuda_ipc_iface_query(uct_iface_h iface,\n     return UCS_OK;\n }\n \n+static ucs_status_t\n+uct_cuda_ipc_iface_flush(uct_iface_h tl_iface, unsigned flags,\n+                         uct_completion_t *comp)\n+{\n+    uct_cuda_ipc_iface_t *iface = ucs_derived_of(tl_iface, uct_cuda_ipc_iface_t);\n+\n+    if (comp != NULL) {\n+        return UCS_ERR_UNSUPPORTED;\n+    }\n+    if (ucs_queue_is_empty(&iface->outstanding_d2d_event_q)) {\n+        UCT_TL_IFACE_STAT_FLUSH(ucs_derived_of(tl_iface, uct_base_iface_t));\n+        return UCS_OK;\n+    }\n+    UCT_TL_IFACE_STAT_FLUSH_WAIT(ucs_derived_of(tl_iface, uct_base_iface_t));\n+    return UCS_INPROGRESS;\n+}\n+\n+static UCS_F_ALWAYS_INLINE unsigned\n+uct_cuda_ipc_progress_event_q(ucs_queue_head_t *event_q, unsigned max_events)\n+{\n+    unsigned count = 0;\n+    uct_cuda_ipc_event_desc_t *cuda_ipc_event;\n+    ucs_queue_iter_t iter;\n+    ucs_status_t status;\n+\n+    ucs_queue_for_each_safe(cuda_ipc_event, iter, event_q, queue) {\n+        status = UCT_CUDADRV_FUNC(cuEventQuery(cuda_ipc_event->event));\n+        if (UCS_INPROGRESS == status) {\n+            continue;\n+        } else if (UCS_OK != status) {\n+            return status;\n+        }\n+        ucs_queue_del_iter(event_q, iter);\n+        if (cuda_ipc_event->comp != NULL) {\n+            uct_invoke_completion(cuda_ipc_event->comp, UCS_OK);\n+        }\n+        ucs_trace_poll(\"CUDA_IPC Event Done :%p\", cuda_ipc_event);\n+        ucs_mpool_put(cuda_ipc_event);\n+        count++;\n+        if (count >= max_events) {","path":"src/uct/cuda/cuda_ipc/cuda_ipc_iface.c","position":87,"original_position":87,"commit_id":"2319021ef4f1f6001dc1acba3686463c5fce61a5","original_commit_id":"2319021ef4f1f6001dc1acba3686463c5fce61a5","user":{"login":"yosefe","id":2255631,"avatar_url":"https://avatars0.githubusercontent.com/u/2255631?v=4","gravatar_id":"","url":"https://api.github.com/users/yosefe","html_url":"https://github.com/yosefe","followers_url":"https://api.github.com/users/yosefe/followers","following_url":"https://api.github.com/users/yosefe/following{/other_user}","gists_url":"https://api.github.com/users/yosefe/gists{/gist_id}","starred_url":"https://api.github.com/users/yosefe/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yosefe/subscriptions","organizations_url":"https://api.github.com/users/yosefe/orgs","repos_url":"https://api.github.com/users/yosefe/repos","events_url":"https://api.github.com/users/yosefe/events{/privacy}","received_events_url":"https://api.github.com/users/yosefe/received_events","type":"User","site_admin":false},"body":"space line before","created_at":"2018-05-06T10:11:07Z","updated_at":"2018-05-06T10:15:47Z","html_url":"https://github.com/openucx/ucx/pull/2571#discussion_r186285246","pull_request_url":"https://api.github.com/repos/openucx/ucx/pulls/2571","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/openucx/ucx/pulls/comments/186285246"},"html":{"href":"https://github.com/openucx/ucx/pull/2571#discussion_r186285246"},"pull_request":{"href":"https://api.github.com/repos/openucx/ucx/pulls/2571"}}},"pull_request":{"url":"https://api.github.com/repos/openucx/ucx/pulls/2571","id":185035047,"html_url":"https://github.com/openucx/ucx/pull/2571","diff_url":"https://github.com/openucx/ucx/pull/2571.diff","patch_url":"https://github.com/openucx/ucx/pull/2571.patch","issue_url":"https://api.github.com/repos/openucx/ucx/issues/2571","number":2571,"state":"open","locked":false,"title":"UCT/CUDA-IPC: Adding implementation (initial reviews incorporated)","user":{"login":"Akshay-Venkatesh","id":3201794,"avatar_url":"https://avatars3.githubusercontent.com/u/3201794?v=4","gravatar_id":"","url":"https://api.github.com/users/Akshay-Venkatesh","html_url":"https://github.com/Akshay-Venkatesh","followers_url":"https://api.github.com/users/Akshay-Venkatesh/followers","following_url":"https://api.github.com/users/Akshay-Venkatesh/following{/other_user}","gists_url":"https://api.github.com/users/Akshay-Venkatesh/gists{/gist_id}","starred_url":"https://api.github.com/users/Akshay-Venkatesh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Akshay-Venkatesh/subscriptions","organizations_url":"https://api.github.com/users/Akshay-Venkatesh/orgs","repos_url":"https://api.github.com/users/Akshay-Venkatesh/repos","events_url":"https://api.github.com/users/Akshay-Venkatesh/events{/privacy}","received_events_url":"https://api.github.com/users/Akshay-Venkatesh/received_events","type":"User","site_admin":false},"body":"- added cuda-ipc uct\r\n- gtest changes\r\n- no cache (in follow-up PR)\r\n@bureddy","created_at":"2018-04-30T18:55:05Z","updated_at":"2018-05-06T10:15:48Z","closed_at":null,"merged_at":null,"merge_commit_sha":"4fb1f6bd2fb34bc4fc445b53a758202572277fc1","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/openucx/ucx/pulls/2571/commits","review_comments_url":"https://api.github.com/repos/openucx/ucx/pulls/2571/comments","review_comment_url":"https://api.github.com/repos/openucx/ucx/pulls/comments{/number}","comments_url":"https://api.github.com/repos/openucx/ucx/issues/2571/comments","statuses_url":"https://api.github.com/repos/openucx/ucx/statuses/2319021ef4f1f6001dc1acba3686463c5fce61a5","head":{"label":"Akshay-Venkatesh:topic/cuda-ipc-uct","ref":"topic/cuda-ipc-uct","sha":"2319021ef4f1f6001dc1acba3686463c5fce61a5","user":{"login":"Akshay-Venkatesh","id":3201794,"avatar_url":"https://avatars3.githubusercontent.com/u/3201794?v=4","gravatar_id":"","url":"https://api.github.com/users/Akshay-Venkatesh","html_url":"https://github.com/Akshay-Venkatesh","followers_url":"https://api.github.com/users/Akshay-Venkatesh/followers","following_url":"https://api.github.com/users/Akshay-Venkatesh/following{/other_user}","gists_url":"https://api.github.com/users/Akshay-Venkatesh/gists{/gist_id}","starred_url":"https://api.github.com/users/Akshay-Venkatesh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Akshay-Venkatesh/subscriptions","organizations_url":"https://api.github.com/users/Akshay-Venkatesh/orgs","repos_url":"https://api.github.com/users/Akshay-Venkatesh/repos","events_url":"https://api.github.com/users/Akshay-Venkatesh/events{/privacy}","received_events_url":"https://api.github.com/users/Akshay-Venkatesh/received_events","type":"User","site_admin":false},"repo":{"id":104597397,"name":"ucx","full_name":"Akshay-Venkatesh/ucx","owner":{"login":"Akshay-Venkatesh","id":3201794,"avatar_url":"https://avatars3.githubusercontent.com/u/3201794?v=4","gravatar_id":"","url":"https://api.github.com/users/Akshay-Venkatesh","html_url":"https://github.com/Akshay-Venkatesh","followers_url":"https://api.github.com/users/Akshay-Venkatesh/followers","following_url":"https://api.github.com/users/Akshay-Venkatesh/following{/other_user}","gists_url":"https://api.github.com/users/Akshay-Venkatesh/gists{/gist_id}","starred_url":"https://api.github.com/users/Akshay-Venkatesh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Akshay-Venkatesh/subscriptions","organizations_url":"https://api.github.com/users/Akshay-Venkatesh/orgs","repos_url":"https://api.github.com/users/Akshay-Venkatesh/repos","events_url":"https://api.github.com/users/Akshay-Venkatesh/events{/privacy}","received_events_url":"https://api.github.com/users/Akshay-Venkatesh/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/Akshay-Venkatesh/ucx","description":"Unified Communication X  (mailing list - https://elist.ornl.gov/mailman/listinfo/ucx-group): ","fork":true,"url":"https://api.github.com/repos/Akshay-Venkatesh/ucx","forks_url":"https://api.github.com/repos/Akshay-Venkatesh/ucx/forks","keys_url":"https://api.github.com/repos/Akshay-Venkatesh/ucx/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Akshay-Venkatesh/ucx/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Akshay-Venkatesh/ucx/teams","hooks_url":"https://api.github.com/repos/Akshay-Venkatesh/ucx/hooks","issue_events_url":"https://api.github.com/repos/Akshay-Venkatesh/ucx/issues/events{/number}","events_url":"https://api.github.com/repos/Akshay-Venkatesh/ucx/events","assignees_url":"https://api.github.com/repos/Akshay-Venkatesh/ucx/assignees{/user}","branches_url":"https://api.github.com/repos/Akshay-Venkatesh/ucx/branches{/branch}","tags_url":"https://api.github.com/repos/Akshay-Venkatesh/ucx/tags","blobs_url":"https://api.github.com/repos/Akshay-Venkatesh/ucx/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Akshay-Venkatesh/ucx/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Akshay-Venkatesh/ucx/git/refs{/sha}","trees_url":"https://api.github.com/repos/Akshay-Venkatesh/ucx/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Akshay-Venkatesh/ucx/statuses/{sha}","languages_url":"https://api.github.com/repos/Akshay-Venkatesh/ucx/languages","stargazers_url":"https://api.github.com/repos/Akshay-Venkatesh/ucx/stargazers","contributors_url":"https://api.github.com/repos/Akshay-Venkatesh/ucx/contributors","subscribers_url":"https://api.github.com/repos/Akshay-Venkatesh/ucx/subscribers","subscription_url":"https://api.github.com/repos/Akshay-Venkatesh/ucx/subscription","commits_url":"https://api.github.com/repos/Akshay-Venkatesh/ucx/commits{/sha}","git_commits_url":"https://api.github.com/repos/Akshay-Venkatesh/ucx/git/commits{/sha}","comments_url":"https://api.github.com/repos/Akshay-Venkatesh/ucx/comments{/number}","issue_comment_url":"https://api.github.com/repos/Akshay-Venkatesh/ucx/issues/comments{/number}","contents_url":"https://api.github.com/repos/Akshay-Venkatesh/ucx/contents/{+path}","compare_url":"https://api.github.com/repos/Akshay-Venkatesh/ucx/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Akshay-Venkatesh/ucx/merges","archive_url":"https://api.github.com/repos/Akshay-Venkatesh/ucx/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Akshay-Venkatesh/ucx/downloads","issues_url":"https://api.github.com/repos/Akshay-Venkatesh/ucx/issues{/number}","pulls_url":"https://api.github.com/repos/Akshay-Venkatesh/ucx/pulls{/number}","milestones_url":"https://api.github.com/repos/Akshay-Venkatesh/ucx/milestones{/number}","notifications_url":"https://api.github.com/repos/Akshay-Venkatesh/ucx/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Akshay-Venkatesh/ucx/labels{/name}","releases_url":"https://api.github.com/repos/Akshay-Venkatesh/ucx/releases{/id}","deployments_url":"https://api.github.com/repos/Akshay-Venkatesh/ucx/deployments","created_at":"2017-09-23T20:34:53Z","updated_at":"2018-04-30T18:54:40Z","pushed_at":"2018-05-03T18:10:33Z","git_url":"git://github.com/Akshay-Venkatesh/ucx.git","ssh_url":"git@github.com:Akshay-Venkatesh/ucx.git","clone_url":"https://github.com/Akshay-Venkatesh/ucx.git","svn_url":"https://github.com/Akshay-Venkatesh/ucx","homepage":"http://www.openucx.org","size":12710,"stargazers_count":0,"watchers_count":0,"language":"C","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":3,"license":{"key":"other","name":"Other","spdx_id":null,"url":null},"forks":0,"open_issues":3,"watchers":0,"default_branch":"master"}},"base":{"label":"openucx:master","ref":"master","sha":"90b35a42cb3fe190ff16ce767c5055587789e89f","user":{"login":"openucx","id":13118737,"avatar_url":"https://avatars2.githubusercontent.com/u/13118737?v=4","gravatar_id":"","url":"https://api.github.com/users/openucx","html_url":"https://github.com/openucx","followers_url":"https://api.github.com/users/openucx/followers","following_url":"https://api.github.com/users/openucx/following{/other_user}","gists_url":"https://api.github.com/users/openucx/gists{/gist_id}","starred_url":"https://api.github.com/users/openucx/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/openucx/subscriptions","organizations_url":"https://api.github.com/users/openucx/orgs","repos_url":"https://api.github.com/users/openucx/repos","events_url":"https://api.github.com/users/openucx/events{/privacy}","received_events_url":"https://api.github.com/users/openucx/received_events","type":"Organization","site_admin":false},"repo":{"id":25379390,"name":"ucx","full_name":"openucx/ucx","owner":{"login":"openucx","id":13118737,"avatar_url":"https://avatars2.githubusercontent.com/u/13118737?v=4","gravatar_id":"","url":"https://api.github.com/users/openucx","html_url":"https://github.com/openucx","followers_url":"https://api.github.com/users/openucx/followers","following_url":"https://api.github.com/users/openucx/following{/other_user}","gists_url":"https://api.github.com/users/openucx/gists{/gist_id}","starred_url":"https://api.github.com/users/openucx/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/openucx/subscriptions","organizations_url":"https://api.github.com/users/openucx/orgs","repos_url":"https://api.github.com/users/openucx/repos","events_url":"https://api.github.com/users/openucx/events{/privacy}","received_events_url":"https://api.github.com/users/openucx/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/openucx/ucx","description":"Unified Communication X  (mailing list - https://elist.ornl.gov/mailman/listinfo/ucx-group): ","fork":false,"url":"https://api.github.com/repos/openucx/ucx","forks_url":"https://api.github.com/repos/openucx/ucx/forks","keys_url":"https://api.github.com/repos/openucx/ucx/keys{/key_id}","collaborators_url":"https://api.github.com/repos/openucx/ucx/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/openucx/ucx/teams","hooks_url":"https://api.github.com/repos/openucx/ucx/hooks","issue_events_url":"https://api.github.com/repos/openucx/ucx/issues/events{/number}","events_url":"https://api.github.com/repos/openucx/ucx/events","assignees_url":"https://api.github.com/repos/openucx/ucx/assignees{/user}","branches_url":"https://api.github.com/repos/openucx/ucx/branches{/branch}","tags_url":"https://api.github.com/repos/openucx/ucx/tags","blobs_url":"https://api.github.com/repos/openucx/ucx/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/openucx/ucx/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/openucx/ucx/git/refs{/sha}","trees_url":"https://api.github.com/repos/openucx/ucx/git/trees{/sha}","statuses_url":"https://api.github.com/repos/openucx/ucx/statuses/{sha}","languages_url":"https://api.github.com/repos/openucx/ucx/languages","stargazers_url":"https://api.github.com/repos/openucx/ucx/stargazers","contributors_url":"https://api.github.com/repos/openucx/ucx/contributors","subscribers_url":"https://api.github.com/repos/openucx/ucx/subscribers","subscription_url":"https://api.github.com/repos/openucx/ucx/subscription","commits_url":"https://api.github.com/repos/openucx/ucx/commits{/sha}","git_commits_url":"https://api.github.com/repos/openucx/ucx/git/commits{/sha}","comments_url":"https://api.github.com/repos/openucx/ucx/comments{/number}","issue_comment_url":"https://api.github.com/repos/openucx/ucx/issues/comments{/number}","contents_url":"https://api.github.com/repos/openucx/ucx/contents/{+path}","compare_url":"https://api.github.com/repos/openucx/ucx/compare/{base}...{head}","merges_url":"https://api.github.com/repos/openucx/ucx/merges","archive_url":"https://api.github.com/repos/openucx/ucx/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/openucx/ucx/downloads","issues_url":"https://api.github.com/repos/openucx/ucx/issues{/number}","pulls_url":"https://api.github.com/repos/openucx/ucx/pulls{/number}","milestones_url":"https://api.github.com/repos/openucx/ucx/milestones{/number}","notifications_url":"https://api.github.com/repos/openucx/ucx/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/openucx/ucx/labels{/name}","releases_url":"https://api.github.com/repos/openucx/ucx/releases{/id}","deployments_url":"https://api.github.com/repos/openucx/ucx/deployments","created_at":"2014-10-17T22:17:24Z","updated_at":"2018-05-06T06:18:54Z","pushed_at":"2018-05-05T01:00:46Z","git_url":"git://github.com/openucx/ucx.git","ssh_url":"git@github.com:openucx/ucx.git","clone_url":"https://github.com/openucx/ucx.git","svn_url":"https://github.com/openucx/ucx","homepage":"http://www.openucx.org","size":12663,"stargazers_count":107,"watchers_count":107,"language":"C","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":64,"mirror_url":null,"archived":false,"open_issues_count":149,"license":{"key":"other","name":"Other","spdx_id":null,"url":null},"forks":64,"open_issues":149,"watchers":107,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/openucx/ucx/pulls/2571"},"html":{"href":"https://github.com/openucx/ucx/pull/2571"},"issue":{"href":"https://api.github.com/repos/openucx/ucx/issues/2571"},"comments":{"href":"https://api.github.com/repos/openucx/ucx/issues/2571/comments"},"review_comments":{"href":"https://api.github.com/repos/openucx/ucx/pulls/2571/comments"},"review_comment":{"href":"https://api.github.com/repos/openucx/ucx/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/openucx/ucx/pulls/2571/commits"},"statuses":{"href":"https://api.github.com/repos/openucx/ucx/statuses/2319021ef4f1f6001dc1acba3686463c5fce61a5"}},"author_association":"NONE"}}
{"actor":{"display_login":"yosefe"}}