[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