Пример #1
0
static void uct_ud_verbs_iface_async_progress(void *arg)
{
    uct_ud_verbs_iface_t *iface = arg;
    ucs_status_t status;
    do {
        status = uct_ud_verbs_iface_poll_rx(iface);
    } while (status == UCS_OK);
    uct_ud_verbs_iface_poll_tx(iface);
    uct_ud_iface_progress_pending(&iface->super, 1);
}
Пример #2
0
static void uct_ud_verbs_iface_progress(void *arg)
{
    uct_ud_verbs_iface_t *iface = arg;
    ucs_status_t status;

    status = uct_ud_verbs_iface_poll_rx(iface);
    if (status == UCS_ERR_NO_PROGRESS) {
        uct_ud_verbs_iface_poll_tx(iface);
    }
    uct_ud_verbs_iface_progress_pending(iface);
}
Пример #3
0
static void uct_ud_verbs_iface_progress(void *arg)
{
    uct_ud_verbs_iface_t *iface = arg;
    ucs_status_t status;

    uct_ud_enter(&iface->super);
    status = uct_ud_verbs_iface_poll_rx(iface);
    if (status == UCS_ERR_NO_PROGRESS) {
        uct_ud_verbs_iface_poll_tx(iface);
    }
    uct_ud_iface_progress_pending(&iface->super, 0);
    uct_ud_leave(&iface->super);
}