[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