示例#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
文件: ud_verbs.c 项目: biddisco/ucx
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);
}