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
_______________________________________________
general mailing list
[email protected]
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general
To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general