> Quoting Roland Dreier <[EMAIL PROTECTED]>: > 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 _______________________________________________ general mailing list [email protected] http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general
