[ofa-general] Re: [RFC][PATCH] last wqe event handler patch

Shirley Ma xma at us.ibm.com
Tue Jun 24 23:16:16 PDT 2008





Hello Roland,

Let's assume this senarios:

1. QP100 last WQE reached event, QP100 context is added into flush_list,
and then it is put into drain_list, and does post_send of a drain WR.
2. QP200 last WQE reached event, QP200 context is added into flush_list,
but not drain_list since only one drain WR will be posted
3. QP300 ...., QP300 context is added into flush_list, but not drain_list

So QP100 is on drain_list, QP200, QP300 are on flush_list

In rcq poll_cq,
1. QP 100 drain WR cqe is polled, it will put QP100 into reap_list then
call ipoib_cm_start_rx_drain(), post_send of QP200 drain WR, and QP200,
QP300 are both moved from flush_list to drain_list
2. QP 200 drain WR cqe is polled, it will move both QP200 and QP300 from
drain_list to reap_list
3. QP300 cqe comes, but QP300 context has been freed, ---> panic.

Does that make sense?

Thanks
Shirley
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openfabrics.org/pipermail/general/attachments/20080624/59d4debe/attachment.html>


More information about the general mailing list