From: Arlin Davis Date: Wed, 23 Jul 2014 22:41:03 +0000 (-0700) Subject: common: evd pending event queue lock no longer needed X-Git-Url: https://openfabrics.org/gitweb/?a=commitdiff_plain;h=2a469e92cf5077a9b590e0bebdfdd4dd7c2eba1e;p=~ardavis%2Fdapl.git common: evd pending event queue lock no longer needed Signed-off-by: Arlin Davis --- diff --git a/dapl/common/dapl_evd_dequeue.c b/dapl/common/dapl_evd_dequeue.c index c25494e..27fe243 100644 --- a/dapl/common/dapl_evd_dequeue.c +++ b/dapl/common/dapl_evd_dequeue.c @@ -106,10 +106,7 @@ DAT_RETURN DAT_API dapl_evd_dequeue(IN DAT_EVD_HANDLE evd_handle, * This keeps events in order if dat_evd_wait() has copied events * from CQ to EVD. */ - dapl_os_lock(&evd_ptr->pending_event_queue_lock); /* temporary workaround for the ring buffer race condition */ - local_event = - (DAT_EVENT *) dapls_rbuf_remove(&evd_ptr->pending_event_queue); - dapl_os_unlock(&evd_ptr->pending_event_queue_lock); /* temporary workaround for the ring buffer race condition */ + local_event = (DAT_EVENT *) dapls_rbuf_remove(&evd_ptr->pending_event_queue); if (local_event != NULL) { *event = *local_event; dat_status = dapls_rbuf_add(&evd_ptr->free_event_queue, diff --git a/dapl/common/dapl_evd_util.c b/dapl/common/dapl_evd_util.c index 923d1e7..fbf285b 100644 --- a/dapl/common/dapl_evd_util.c +++ b/dapl/common/dapl_evd_util.c @@ -363,9 +363,6 @@ DAT_RETURN dapli_evd_event_alloc(IN DAPL_EVD * evd_ptr, IN DAT_COUNT qlen) event_ptr++; } - /* temporary workaround for the ring buffer race condition */ - dapl_os_lock_init(&evd_ptr->pending_event_queue_lock); - evd_ptr->cq_notified = DAT_FALSE; evd_ptr->cq_notified_when = 0; evd_ptr->threshold = 0; @@ -589,10 +586,8 @@ dapli_evd_post_event(IN DAPL_EVD * evd_ptr, IN const DAT_EVENT * event_ptr) __FUNCTION__, dapl_event_str(event_ptr->event_number), evd_ptr, evd_ptr->evd_state); - dapl_os_lock(&evd_ptr->pending_event_queue_lock); /* temporary work around for the ring buffer race condition */ dat_status = dapls_rbuf_add(&evd_ptr->pending_event_queue, (void *)event_ptr); - dapl_os_unlock(&evd_ptr->pending_event_queue_lock); /* temporary work around for the ring buffer race condition */ dapl_os_assert(dat_status == DAT_SUCCESS); dapl_os_assert(evd_ptr->evd_state == DAPL_EVD_STATE_WAITED diff --git a/dapl/udapl/dapl_evd_wait.c b/dapl/udapl/dapl_evd_wait.c index 7078e52..948c387 100644 --- a/dapl/udapl/dapl_evd_wait.c +++ b/dapl/udapl/dapl_evd_wait.c @@ -248,9 +248,7 @@ DAT_RETURN DAT_API dapl_evd_wait(IN DAT_EVD_HANDLE evd_handle, evd_ptr->evd_state = DAPL_EVD_STATE_OPEN; if (dat_status == DAT_SUCCESS) { - dapl_os_lock(&evd_ptr->pending_event_queue_lock); /* temporary work around for the ring buffer race condition */ local_event = dapls_rbuf_remove(&evd_ptr->pending_event_queue); - dapl_os_unlock(&evd_ptr->pending_event_queue_lock); /* temporary work around for the ring buffer race condition */ *event = *local_event; dapls_rbuf_add(&evd_ptr->free_event_queue, local_event); }