1
1

Decrease the lock granularity and remove it from the path where we don't need it.

Reorder the code to get rid of some local variables.

This commit was SVN r8771.
Этот коммит содержится в:
George Bosilca 2006-01-20 17:19:22 +00:00
родитель e8ae5d0047
Коммит 2fadddebc8

Просмотреть файл

@ -289,23 +289,17 @@ do {
#define MCA_PML_OB1_SEND_REQUEST_ADVANCE(sendreq) \
do { \
bool schedule = false; \
\
/* has an acknowledgment been received */ \
if(OPAL_THREAD_ADD32(&sendreq->req_state, 1) == 2) { \
OPAL_THREAD_LOCK(&ompi_request_lock); \
if(sendreq->req_bytes_delivered == sendreq->req_send.req_bytes_packed) { \
OPAL_THREAD_LOCK(&ompi_request_lock); \
MCA_PML_OB1_SEND_REQUEST_PML_COMPLETE(sendreq); \
} else { \
schedule = true; \
} \
OPAL_THREAD_UNLOCK(&ompi_request_lock); \
} \
\
} else { \
/* additional data to schedule */ \
if(schedule == true) { \
mca_pml_ob1_send_request_schedule(sendreq); \
} \
} \
} while (0)
/*