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; }
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); }
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); }