int pscom_poll_cq(pscom_poll_reader_t *reader) { psoib_progress(); if (!psoib_outstanding_cq_entries) { /* Stop polling on cq */ /* it's save to dequeue more then once */ list_del_init(&reader->next); } return 0; }
static void x_send_pscom(unsigned msglen) { int len; struct iovec amsg = { .iov_base = abuffer, .iov_len = msglen, }; len = psoib_sendv(mcon, &amsg, msglen); assert(len == (int)msglen); // Flush cq: while (mcon->outstanding_cq_entries) { psoib_progress(); } }