[ofa-general] Re: [RFC][PATCH] last wqe event handler patch
Eli Cohen
eli at mellanox.co.il
Thu Jun 26 04:05:50 PDT 2008
On Wed, 2008-06-25 at 15:26 -0700, Roland Dreier wrote:
> Actually I'm beginning to wonder what's going on here.
>
> The IB spec says a "last WQE reached" event is generated when a CQE is
> generated for the last WQE. Is this different from the CQE actually
> being in the CQ?
For all Mellanox HW, first the last CQE is pushed to the CQ and then a
last WQE reached event is generated. This means that if you receive
such an event, you're guaranteed to see the CQE in the CQ (that is of of
course if there is such a CQE; if there where no WQEs related to the QP
at the time it entered an error state then the HW just generates the
event).
>
> This is probably a question for Eli or other Mellanox guys: is it
> possible for the driver to see a "last WQE reached" event before all
> CQEs are actually visible with mthca HW -- ie is the scenario below with
> two QPs attached to an SRQ:
>
> last WQE event for QP A
> last WQE event for QP B
> post send to QP that will complete with flush err
>
> then poll CQEs and see the send completion from QP A followed by a
> receive completion for QP B actually possible?
This is not possible since when you post the send WQE, any CQE related
to QP A or QP B are already in the CQ so the send CQE is the last one
with respect to those two QPs.
So what you're saying is that the scenario Shirley described is not
possible...
Shirley, did you see this on Mellanox HCAs too or just ehca?
More information about the general
mailing list