[ofa-general] Re: [GIT PULL] please pull infiniband.git
Michael S. Tsirkin
mst at dev.mellanox.co.il
Thu Mar 29 15:39:21 PDT 2007
> Quoting Roland Dreier <rdreier at cisco.com>:
> Subject: Re: [ofa-general] Re: [GIT PULL] please pull infiniband.git
>
> > We have a rule that we must clean CQEs after QP is moved to RESET,
> > do we not? How is it formulated?
>
> Thanks for bringing that up...
>
> I consider the CQ cleaning to be an internal mthca implementation
> detail, to avoid having to handle CQEs with a stale QPN after we free
> a QP. The IB spec basically says that the status of completions for a
> QP is undefined:
>
> "The CI does not guarantee that CQEs generated for a QP prior to
> its destruction can be retrieved from the CQ after that QP has
> been destroyed."
>
> So now that you bring it up, I think it would be OK for a low-level
> driver to report completions for a QP even after the QP is destroyed.
> And yes that does make putting the QP pointer in the ib_wc structure a
> mistake...
Roland, I think you misunderstand this language.
It simply means that CQEs can disappear if you reset the QP.
If stale CQEs could come out, you would never be able to
destroy a QP without destroying the CQ.
--
MST
More information about the general
mailing list