Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Development mailing list

From: Galen Shipman (gshipman_at_[hidden])
Date: 2007-05-27 12:19:09

> With current code this is not the case. Order tag is set during a
> fragment
> allocation. It seems wrong according to your description. Attached
> patch fixes
> this. If no specific ordering tag is provided to allocation
> function order of
> the fragment is set to be MCA_BTL_NO_ORDER. After call to send/put/
> get order
> is set to whatever QP was used for communication. If order is set
> before send call
> it is used to choose QP.

I do set the order tag during allocation/prepare, but the defined
semantics are that the tag is only valid after send/put/get. We can
set them up any where we wish in the BTL, the PML however cannot rely
on anything until after the send/put/get call. So really this is an
issue of semantics versus implementation. The implementation I
believe does conform to the semantics as the upper layer (PML)
doesn't use the tag value until after a call to send/put/get.

I will look over the patch however, might make more sense to delay
setting the value until the actual send/put/get call.



> --
> Gleb.
> <patch.diff>
> _______________________________________________
> devel mailing list
> devel_at_[hidden]