Skip to content

Commit effc10f

Browse files
jinpuwanggregkh
authored andcommitted
RDMA/rtrs: Reset hb_missed_cnt after receiving other traffic from peer
[ Upstream commit 3258cbb ] Reset hb_missed_cnt after receiving traffic from other peer, so hb is more robust again high load on host or network. Fixes: 6a98d71 ("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>
1 parent c6b9f97 commit effc10f

File tree

2 files changed

+3
-1
lines changed

2 files changed

+3
-1
lines changed

drivers/infiniband/ulp/rtrs/rtrs-clt.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -626,6 +626,7 @@ static void rtrs_clt_rdma_done(struct ib_cq *cq, struct ib_wc *wc)
626626
*/
627627
if (WARN_ON(wc->wr_cqe->done != rtrs_clt_rdma_done))
628628
return;
629+
clt_path->s.hb_missed_cnt = 0;
629630
rtrs_from_imm(be32_to_cpu(wc->ex.imm_data),
630631
&imm_type, &imm_payload);
631632
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)
643644
return rtrs_clt_recv_done(con, wc);
644645
} else if (imm_type == RTRS_HB_ACK_IMM) {
645646
WARN_ON(con->c.cid);
646-
clt_path->s.hb_missed_cnt = 0;
647647
clt_path->s.hb_cur_latency =
648648
ktime_sub(ktime_get(), clt_path->s.hb_last_sent);
649649
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)
670670
/*
671671
* Key invalidations from server side
672672
*/
673+
clt_path->s.hb_missed_cnt = 0;
673674
WARN_ON(!(wc->wc_flags & IB_WC_WITH_INVALIDATE ||
674675
wc->wc_flags & IB_WC_WITH_IMM));
675676
WARN_ON(wc->wr_cqe->done != rtrs_clt_rdma_done);

drivers/infiniband/ulp/rtrs/rtrs-srv.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1229,6 +1229,7 @@ static void rtrs_srv_rdma_done(struct ib_cq *cq, struct ib_wc *wc)
12291229
*/
12301230
if (WARN_ON(wc->wr_cqe != &io_comp_cqe))
12311231
return;
1232+
srv_path->s.hb_missed_cnt = 0;
12321233
err = rtrs_post_recv_empty(&con->c, &io_comp_cqe);
12331234
if (err) {
12341235
rtrs_err(s, "rtrs_post_recv(), err: %d\n", err);

0 commit comments

Comments
 (0)