示例#1
0
文件: rdmacm_ep.c 项目: xinzhao3/ucx
static unsigned uct_rdmacm_client_err_handle_progress(void *arg)
{
    uct_rdmacm_ep_t *ep = arg;
    ucs_trace_func("err_handle ep=%p",ep);

    ep->slow_prog_id = UCS_CALLBACKQ_ID_NULL;
    uct_set_ep_failed(&UCS_CLASS_NAME(uct_rdmacm_ep_t), &ep->super.super,
                      ep->super.super.iface, UCS_ERR_IO_ERROR);
    return 0;
}
示例#2
0
文件: dc_ep.c 项目: alex-mikheev/ucx
void uct_dc_ep_set_failed(ucs_class_t *ep_cls, uct_dc_iface_t *iface,
                          uint32_t qp_num)
{
    uint8_t dci = uct_dc_iface_dci_find(iface, qp_num);
    uct_dc_ep_t *ep = iface->tx.dcis[dci].ep;

    if (!ep) {
        return;
    }

    uct_rc_txqp_purge_outstanding(&iface->tx.dcis[dci].txqp,
                                  UCS_ERR_ENDPOINT_TIMEOUT, 0);
    uct_set_ep_failed(ep_cls, &ep->super.super,
                      &iface->super.super.super.super);
    if (UCS_OK != uct_dc_iface_dci_reconnect(iface, &iface->tx.dcis[dci].txqp)) {
        ucs_fatal("Unsuccessful reconnect of DC QP #%u", qp_num);
    }
    uct_rc_txqp_available_set(&iface->tx.dcis[dci].txqp,
                              iface->super.config.tx_qp_len);
}
示例#3
0
文件: dc_mlx5.c 项目: yosefe/ucx
static void uct_dc_mlx5_ep_set_failed(uct_ib_iface_t *ib_iface, uct_ep_h ep)
{
    uct_set_ep_failed(&UCS_CLASS_NAME(uct_dc_mlx5_ep_t), ep,
                      &ib_iface->super.super);
}