]> git.openfabrics.org - ~ardavis/dapl.git/commitdiff
common: evd pending event queue lock no longer needed
authorArlin Davis <arlin.r.davis@intel.com>
Wed, 23 Jul 2014 22:41:03 +0000 (15:41 -0700)
committerArlin Davis <arlin.r.davis@intel.com>
Wed, 23 Jul 2014 22:41:03 +0000 (15:41 -0700)
Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
dapl/common/dapl_evd_dequeue.c
dapl/common/dapl_evd_util.c
dapl/udapl/dapl_evd_wait.c

index c25494e444c3ffaed2e62cb821f85ab2ce878a06..27fe243a909806b149e82f33cd905d0f0ee3934f 100644 (file)
@@ -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,
index 923d1e726c613ef2be1049722cbd3aacdffff6f3..fbf285bb44c301911472a76e034d6475ec30025f 100644 (file)
@@ -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
index 7078e5218b2a20c861188724e77f704cd0ad529c..948c3878657c8c3ca396b70843496d9b5f5e7084 100644 (file)
@@ -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);
        }