[ofa-general] Re: [RFC][PATCH] last wqe event handler patch
Roland Dreier
rdreier at cisco.com
Wed Jun 25 13:04:14 PDT 2008
> > This is a really good explanation (exactly what I would hope to see in a
> > changelog). I'm not positive I understand though: is the issue that
> > when the QP300 last WQE reached event is seen, we are not guaranteed
> > that we have handled all CQEs for QP300 yet?
> Right. We see QP300 last WQE reached event from async event handler, all
> remaining cqes for QP300 not being processed are in recv completion queue.
Is there a missing "not" somewhere here? If all CQEs for QP300 are in
the recv CQ at the time that the last WQE reached event is handled, then
since the drain WQE is posted to QP200 after that event, all the QP300
CQEs will be handled before the completion for the drain WQE completion
is handled.
It seems that the problem is the following happening (HCA: entries are
done by HCA hw, CPU entry is what our code does):
HCA: QP200 last WQE reached event generated
HCA: QP300 last WQE reached event generated
CPU: post QP200 drain WQE
HCA: drain WQE completes, add CQE to CQ for it
HCA: add CQE to CQ for QP300 receive completion (probably flush err)
Is that right?
What HCA is this happening with?
> When QP300 QP is destroyed within QP200 drain WRs context, not in QP300
> drain WR context. There is a window QP300 has been destoryed but some
> QP300 cqes might still be in completion queue and not being processed yet.
- R.
More information about the general
mailing list