Skip to content

Commit 1509816

Browse files
committed
coll/libnbc: add some comments on how locks are used
no code change Signed-off-by: Gilles Gouaillardet <[email protected]>
1 parent d4c4bab commit 1509816

File tree

2 files changed

+5
-2
lines changed

2 files changed

+5
-2
lines changed

ompi/mca/coll/libnbc/coll_libnbc.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,8 +75,8 @@ struct ompi_coll_libnbc_component_t {
7575
opal_free_list_t requests;
7676
opal_list_t active_requests;
7777
int32_t active_comms;
78-
opal_atomic_lock_t progress_lock;
79-
opal_mutex_t lock;
78+
opal_atomic_lock_t progress_lock; /* protect from recursive calls */
79+
opal_mutex_t lock; /* protect access to the active_requests list */
8080
};
8181
typedef struct ompi_coll_libnbc_component_t ompi_coll_libnbc_component_t;
8282

ompi/mca/coll/libnbc/coll_libnbc_component.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -263,8 +263,11 @@ ompi_coll_libnbc_progress(void)
263263
ompi_coll_libnbc_request_t* request, *next;
264264
int res;
265265

266+
/* return if invoked recursively */
266267
if (opal_atomic_trylock(&mca_coll_libnbc_component.progress_lock)) return 0;
267268

269+
/* process active requests, and use mca_coll_libnbc_component.lock to access the
270+
* mca_coll_libnbc_component.active_requests list */
268271
OPAL_THREAD_LOCK(&mca_coll_libnbc_component.lock);
269272
OPAL_LIST_FOREACH_SAFE(request, next, &mca_coll_libnbc_component.active_requests,
270273
ompi_coll_libnbc_request_t) {

0 commit comments

Comments
 (0)