[openib-general] Mellanox request CQ notification _really_ compliant?

Sean Hefty sean.hefty at intel.com
Mon Nov 27 20:06:17 PST 2006


> > The spec does not mandate the mechanism by which the cqe is made
> > available to the consumer. And other than ruling the order at which
> > cqes are generated, there are no guarantees re the time it will
> > take until a cqe is made visible to the consumer (unless there was
> > a completion event generated).  Given that, the app in your example
> > can not assume that the bind completion is already in the cq, at
> > least not to the extent that a single call to pollforcompletion
> > would be guaranteed to successfully retrieve it. So the app can not
> > really perceive the difference.
>
>Heh, I thought that would be the explanation.  I guess it skates
>inside what the spec allows, although it does lead to some amusing
>consequences -- eg the app could go to sleep for an hour before
>requesting completion notification, and then get an event instantly,
>implying that the work completion was hovering outside the CQ for an
>hour until just the instant that notification was requested....

Following this explanation seems to make the compliance statement useless
though.

Will the Mellanox HCA generate multiple events for the same CQE?  I.e. if I post
a send, get an event, and without polling, rearm the CQ, will another event be
generated?  Or will a given CQE only generate a single event?

- Sean




More information about the general mailing list