[ofa-general] ibv_get_cq_event blocking forever after successful ibv_post_send...

SoBeBike sobebike at gmail.com
Sun May 27 05:45:43 PDT 2007


That is what I am already doing (note the comment, "// loop to
drain..."). I loop calling ibv_poll_cq until it is empty. I just noted
that due to the usage model, I only see it pull one CQE and then on
the 2nd pass through the loop the CQ is empty.


On 5/27/07, Dotan Barak <dotanb at dev.mellanox.co.il> wrote:

> Try to do the following scenario:
>
>
> ibv_req_notify_cq(cq, 0);
>
> ibv_post_send(qp, &work_req, &bad_work_req);
>
> ibv_get_cq_event(channel, &ev_cq, &ev_ctx);
>
> ibv_ack_cq_events(ev_cq, 1);
>
> ibv_req_notify_cq(cq, 0);
>
> in a loop until the CQ is empty:
>         ibv_poll_cq(cq, 1, &wc);  // loop to drain - but due to upper protocol, will only ever be 1 at a time
>



More information about the general mailing list