On Sun, May 27, 2007 at 10:19:09AM -0600, Galen Shipman wrote:
> 
> > 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.
>
With current approach send function doesn't know the difference between
fragment that should be ordered because PML requested it and regular
fragment without ordering requirements.

--
                        Gleb.

Reply via email to