> > After looking at the implementation more, what I didn't like about the
> reg/unreg
> > calls is that it is independent of receiving data on an SRQ.  That is, a
> user can
> > receive data on an SRQ through a TGT QP before they have registered and
> after unregistering.
> That is correct, but the registering/unregistering is for expressing
> "interest" in the TGT QP, only (i.e., for
> reference counting only, as you indicated), and not at all for enabling
> the SRQ to receive traffic.
> When the reference count on the TGT QP goes to zero, it is automatically
> destroyed.
> (The TGT QP creator itself takes a reference, which is decremented when
> either the
> process exits, or it calls the deref procedure.)
> 
> In my thread post
>     http://lists.openfabrics.org/pipermail/general/2008-
> January/045302.html  ,
> I describe the intended workflow for this interface.

I read over the threads that you referenced.  I do understand what the 
reg/unreg calls were trying to do.  In short, I agree with your original 
approach of letting the tgt qp hang around while the xrcd exists, and I'm not 
convinced what HP MPI was trying to do should drive a more complicated 
implementation and usage model.

For MPI, I would expect an xrcd to be associated with a single job instance.  
Trying to share an xrcd across jobs just seems like a bad idea.  (You asked 
about this here  
http://lists.openfabrics.org/pipermail/general/2007-December/044282.html)  A 
tgt qp should be fairly minimal in its resource allocation.  Would it really be 
that bad to just let it hang around until the xrcd was destroyed?  It makes the 
usage model much simpler.  TGT QPs are handled using the existing API and 
kernel ABI.

Here are some other random thoughts.  We can destroy an unassociated tgt qp on 
an error, but is it likely a tgt qp will get an async error?  We can also 
destroy an unassociated tgt qp when an xrcd has no more associated srq's.  We 
can report the creation of a tgt qp on an xrcd as an async event.  Should there 
be a way for a user to query all tgt qp's that exist on an xrcd?  Should only 
one process 'own' the tgt qp, or should any process that can open the xrcd be 
allowed to modify any tgt qp?

- Sean
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to