[ofa-general] ibv_get_cq_event blocking forever after successfulibv_post_send...

Ganesh Sadasivan gsadasiv7 at gmail.com
Mon May 12 17:03:00 PDT 2008


On Mon, May 12, 2008 at 4:44 PM, Sean Hefty <sean.hefty at intel.com> wrote:

> >    attr.rnr_retry = 7;
>
> Can you drop this to 6 and see if the behavior changes?


That does not change the behavior.


>
> > recv_thread (void *arg)
> > {
> >    struct ibv_cq        *ev_cq;
> >    void                 *ev_ctx;
> >    int                   ret;
> >
> >
> >    ret = ibv_get_cq_event(comp_channel, &ev_cq, &ev_ctx);
> >    if (ret) {
> >        return 1;
> >    }
> >
> >    ibv_ack_cq_events(ev_cq, 1);
> >
> >    ret = ibv_req_notify_cq(ev_cq, 0);
> >    if (ret) {
> >        return 1;
> >    }
> >
> >    while ((rv = ibv_poll_cq(cq, 1, &wc)) == 1) {
> >        switch (wc.opcode) {
> >            case IBV_WC_SEND: {
> >                if (wc.status == IBV_WC_SUCCESS) {
> >                    if (sq_wr_id[head] != wc.wr_id) {
> >                        datasz = 0;
> >                        return 1;
> >                    }
> >                } else {
> >                    retuen 1;
>
>                      ^^^^^^
> Are you sure this is the code that's running?


This is a cut-paste error. I just extracted the relevant code from the
actual piece.


>
> >                }
> >                buf = (char *)send_data[head];
> >                arg = (u64)send_arg[head];
> >                sq_wr_id[head] = 0;
> >                if (head == 19) {//max_send_wr -1
> >                    head = 0;
> >                } else {
> >                    head += 1;
> >                }
> >                break;
> >         }
> >    }
> >
> > }
>
> Where do you re-post receives?


I just pasted the send part of the code. Should I send the receive code too?


Thanks
Ganesh
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openfabrics.org/pipermail/general/attachments/20080512/1146de57/attachment.html>


More information about the general mailing list