[ofa-general] Re: RFCv2: SRC API
Michael S. Tsirkin
mst at dev.mellanox.co.il
Mon Aug 6 08:55:52 PDT 2007
> Quoting Tang, Changqing <changquing.tang at hp.com>:
> Subject: RE: RFCv2: SRC API
> > > +When job j1 needs to transmit to job j2 on remote node n for
> > > the first time:
> > > +1. Test: does job j1 have an existing connection to some job
> > > on node n?
> > > + - If no:
> > > + j1 creates an SRC QP qp1 (send QP)
> > > + qp1 is only used to post send WRs
> > > + j2 creates an SRC QP qp2
> > > + qp2 is part of SRC domain
> > > + qp2 is only used to do transport checks:
> > > + neither send nor receive WRs
> > > are posted on qp2
> > > + j1 and j2 create a connection between qp1 and qp2
> > > + - If yes:
> > > + let qp1 be the QP which belongs to j1 and is connected
> > > + to some qp on node n
> > > +
> > > +2. j1 gets SRQ number from j2
> > > +3. j1 can now use QP qp2 from step 1
> > > + and SRQ number from step 3 to send data to j2
> > > +
> > > +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.
> 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?
More information about the general