Skip to content

Commit

Permalink
prov/cxi: Ignore drop count during init
Browse files Browse the repository at this point in the history
When MRs and EPs should ignore drop count during init. Failing to do
this may result in enable hangs.

NETCASSINI-6949

Signed-off-by: Ian Ziemba <ian.ziemba@hpe.com>
  • Loading branch information
iziemba committed Jan 7, 2025
1 parent de8321d commit 224c2e5
Show file tree
Hide file tree
Showing 5 changed files with 8 additions and 6 deletions.
2 changes: 1 addition & 1 deletion prov/cxi/src/cxip_ctrl.c
Original file line number Diff line number Diff line change
Expand Up @@ -694,7 +694,7 @@ int cxip_ep_ctrl_init(struct cxip_ep_obj *ep_obj)
}

ret = cxip_pte_set_state(ep_obj->ctrl.pte, ep_obj->ctrl.tgq,
C_PTLTE_ENABLED, 0);
C_PTLTE_ENABLED, CXIP_PTE_IGNORE_DROPS);
if (ret) {
/* This is a bug, we have exclusive access to this CMDQ. */
CXIP_WARN("Failed to enqueue command: %d\n", ret);
Expand Down
5 changes: 3 additions & 2 deletions prov/cxi/src/cxip_mr.c
Original file line number Diff line number Diff line change
Expand Up @@ -340,7 +340,8 @@ static int cxip_mr_enable_opt(struct cxip_mr *mr)
goto err_pte_free;
}

ret = cxip_pte_set_state(mr->pte, ep_obj->ctrl.tgq, C_PTLTE_ENABLED, 0);
ret = cxip_pte_set_state(mr->pte, ep_obj->ctrl.tgq, C_PTLTE_ENABLED,
CXIP_PTE_IGNORE_DROPS);
if (ret != FI_SUCCESS) {
/* This is a bug, we have exclusive access to this CMDQ. */
CXIP_WARN("Failed to enqueue command: %d\n", ret);
Expand Down Expand Up @@ -534,7 +535,7 @@ static int cxip_mr_prov_cache_enable_opt(struct cxip_mr *mr)
}

ret = cxip_pte_set_state(_mr->pte, ep_obj->ctrl.tgq,
C_PTLTE_ENABLED, 0);
C_PTLTE_ENABLED, CXIP_PTE_IGNORE_DROPS);
if (ret != FI_SUCCESS) {
/* This is a bug, we have exclusive access to this CMDQ. */
CXIP_WARN("Failed to enqueue command: %d\n", ret);
Expand Down
3 changes: 2 additions & 1 deletion prov/cxi/src/cxip_msg_hpc.c
Original file line number Diff line number Diff line change
Expand Up @@ -3729,7 +3729,8 @@ static int cxip_rxc_hpc_msg_init(struct cxip_rxc *rxc_base)
}

/* Start accepting Puts. */
ret = cxip_pte_set_state(rxc->base.rx_pte, rxc->base.rx_cmdq, state, 0);
ret = cxip_pte_set_state(rxc->base.rx_pte, rxc->base.rx_cmdq, state,
CXIP_PTE_IGNORE_DROPS);
if (ret != FI_SUCCESS) {
CXIP_WARN("cxip_pte_set_state returned: %d\n", ret);
goto free_oflow_buf;
Expand Down
2 changes: 1 addition & 1 deletion prov/cxi/src/cxip_msg_rnr.c
Original file line number Diff line number Diff line change
Expand Up @@ -382,7 +382,7 @@ static int cxip_rxc_rnr_msg_init(struct cxip_rxc *rxc_base)

/* Start accepting Puts. */
ret = cxip_pte_set_state(rxc->base.rx_pte, rxc->base.rx_cmdq,
C_PTLTE_ENABLED, 0);
C_PTLTE_ENABLED, CXIP_PTE_IGNORE_DROPS);
if (ret != FI_SUCCESS) {
CXIP_WARN("cxip_pte_set_state returned: %d\n", ret);
goto free_pte;
Expand Down
2 changes: 1 addition & 1 deletion prov/cxi/src/cxip_rdzv_pte.c
Original file line number Diff line number Diff line change
Expand Up @@ -265,7 +265,7 @@ static int cxip_rdzv_base_pte_alloc(struct cxip_txc_hpc *txc,

/* Set to enable, event will be processed on link */
ret = cxip_pte_set_state(base_pte->pte, txc->rx_cmdq,
C_PTLTE_ENABLED, 0);
C_PTLTE_ENABLED, CXIP_PTE_IGNORE_DROPS);
if (ret != FI_SUCCESS) {
CXIP_WARN("Failed to enqueue enable command: %d:%s\n", ret,
fi_strerror(-ret));
Expand Down

0 comments on commit 224c2e5

Please sign in to comment.