[ofa-general] Re: RFCv2: SRC API
Michael S. Tsirkin
mst at dev.mellanox.co.il
Mon Aug 6 09:16:39 PDT 2007
> Quoting Tang, Changqing <changquing.tang at hp.com>:
> Subject: RE: RFCv2: SRC API
>
>
>
> > > OK, I was wrong before, here is my question.
> > >
> > > if remote node n has j2, j3, and j4, and j2 is the job to
> > create qp2
> > > and make connection with qp1 in j1.
> > > if j2 is done before j3 and j4, then we can not let j2 to
> > destroy qp2,
> > > because j3 and j4 are still communicating with j1. Since j2
> > owns qp2,
> > > j2 need to be the last job to cleanup.
> > >
> > > Am I right ?
> >
> > Correct. Is this clear from the text, or is some kind of
> > additional clarification necessary?
>
> It is not clear at the first read, so please add one sentence to clarify
> it.
Would something like this help?
Cleanup:
When job j1 does not need to communicate to any jobs on node n,
it disconnects qp1 from qp2, and asks j2 to destroy qp2.
+
+Note: both qp1 and qp2 must exist for the communication to take place.
+Thus, j2 should not destroy qp2 (and in particular, should not exit)
+until j1 has completed communication with node n and
+has asked j2 to disconnect.
> if j2 is the last job to cleanup, how can it know all other jobs on the
> same node has called
> ibv_close_src_domain(), and it is time for itself to cleanup ?
>
> Is this something upto application to do ?
No, this is handled automatically.
Have you seen this text?
* ibv_close_src_domain - close an SRC domain
* If this is the last reference, destroys the domain.
So, each job has a reference to the domain.
Once the last reference is gone, the domain is destroyed.
--
MST
More information about the general
mailing list