Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Development mailing list

Subject: [OMPI devel] ob1 and req->req_state
From: Jeff Squyres (jsquyres_at_[hidden])
Date: 2008-06-23 14:23:43

I see in a few places in ob1 we do things like this:

     OPAL_THREAD_ADD32(&sendreq->req_state, -1);

Why do we do this? req_state is technically an enum value, so we
shouldn't be adding/subtracting to it (granted, it looks like the enum
values were carefully chosen to allow this). Additionally, req_state
is volatile; the atomics shouldn't be necessary.

Is there some other non-obvious reason?

Also, I see this in a few places:

     req->req_state = 2;

which really should be

     req->req_state = OMPI_REQUEST_ACTIVE;

Jeff Squyres
Cisco Systems