[openib-general] Completion callback /teardown race

Michael S. Tsirkin mst at mellanox.co.il
Tue Sep 19 22:14:20 PDT 2006


Quoting r. Fabian Tillier <ftillier at silverstorm.com>:
> > There are some differences in HCA behaviour with regard to
> > ib_req_notify_cq.  Mellanox HCAs will provide a callback/interrupt if
> > the CQ is not empty at this point (in which case the poll_cq's after the
> > notify are optional).
> >
> > However the behaviour defined in the IBTA spec indicates that
> > ib_req_notify_cq will cause a callback/interrupt only on the next CQE
> > which arrives, hence to be portable the poll_cq loop after
> > ib_req_notify_cq is necessary to cover any CQEs which arrived between
> > the prior poll and the ib_req_notify_cq.
> 
> I remember a while ago a mention that the behavior of the Mellanox
> HCAs could be controlled in the firmware, so that they would follow
> the IBTA spec defined behavior.

There's a mistake here. Mellanox HCAs will generate an event upon
ib_req_notify_cq only if new completions has arrived after the previous event
has been reported.

AFAIK this is IBTA spec compliant.

-- 
MST




More information about the general mailing list