mirror of
https://github.com/nxp-imx/linux-imx.git
synced 2025-07-06 17:35:20 +02:00
RDMA/rtrs: Reset hb_missed_cnt after receiving other traffic from peer
[ Upstream commit3258cbbd86
] Reset hb_missed_cnt after receiving traffic from other peer, so hb is more robust again high load on host or network. Fixes:6a98d71dae
("RDMA/rtrs: client: main functionality") Signed-off-by: Jack Wang <jinpu.wang@ionos.com> Signed-off-by: Md Haris Iqbal <haris.iqbal@ionos.com> Signed-off-by: Grzegorz Prajsner <grzegorz.prajsner@ionos.com> Link: https://patch.msgid.link/20240821112217.41827-5-haris.iqbal@ionos.com Signed-off-by: Leon Romanovsky <leon@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
c6b9f971b4
commit
effc10f00c
|
@ -626,6 +626,7 @@ static void rtrs_clt_rdma_done(struct ib_cq *cq, struct ib_wc *wc)
|
|||
*/
|
||||
if (WARN_ON(wc->wr_cqe->done != rtrs_clt_rdma_done))
|
||||
return;
|
||||
clt_path->s.hb_missed_cnt = 0;
|
||||
rtrs_from_imm(be32_to_cpu(wc->ex.imm_data),
|
||||
&imm_type, &imm_payload);
|
||||
if (imm_type == RTRS_IO_RSP_IMM ||
|
||||
|
@ -643,7 +644,6 @@ static void rtrs_clt_rdma_done(struct ib_cq *cq, struct ib_wc *wc)
|
|||
return rtrs_clt_recv_done(con, wc);
|
||||
} else if (imm_type == RTRS_HB_ACK_IMM) {
|
||||
WARN_ON(con->c.cid);
|
||||
clt_path->s.hb_missed_cnt = 0;
|
||||
clt_path->s.hb_cur_latency =
|
||||
ktime_sub(ktime_get(), clt_path->s.hb_last_sent);
|
||||
if (clt_path->flags & RTRS_MSG_NEW_RKEY_F)
|
||||
|
@ -670,6 +670,7 @@ static void rtrs_clt_rdma_done(struct ib_cq *cq, struct ib_wc *wc)
|
|||
/*
|
||||
* Key invalidations from server side
|
||||
*/
|
||||
clt_path->s.hb_missed_cnt = 0;
|
||||
WARN_ON(!(wc->wc_flags & IB_WC_WITH_INVALIDATE ||
|
||||
wc->wc_flags & IB_WC_WITH_IMM));
|
||||
WARN_ON(wc->wr_cqe->done != rtrs_clt_rdma_done);
|
||||
|
|
|
@ -1229,6 +1229,7 @@ static void rtrs_srv_rdma_done(struct ib_cq *cq, struct ib_wc *wc)
|
|||
*/
|
||||
if (WARN_ON(wc->wr_cqe != &io_comp_cqe))
|
||||
return;
|
||||
srv_path->s.hb_missed_cnt = 0;
|
||||
err = rtrs_post_recv_empty(&con->c, &io_comp_cqe);
|
||||
if (err) {
|
||||
rtrs_err(s, "rtrs_post_recv(), err: %d\n", err);
|
||||
|
|
Loading…
Reference in New Issue
Block a user