summaryrefslogtreecommitdiff
path: root/drivers/infiniband/ulp/rtrs/rtrs-pri.h
diff options
context:
space:
mode:
authorJack Wang <jinpu.wang@ionos.com>2021-07-12 08:07:47 +0200
committerJason Gunthorpe <jgg@nvidia.com>2021-07-15 14:24:14 -0300
commite2d98504c697f9c8e45b815062f8893b10808d8e (patch)
treecf1e8f39bcf296a8fb316fac7921bb40d6459aec /drivers/infiniband/ulp/rtrs/rtrs-pri.h
parenta10431eff136ef15e1f9955efe369744b1294db1 (diff)
RDMA/rtrs: Enable the same selective signal for heartbeat and IO
On idle session, because we do not do signal for heartbeat, it will overflow the send queue after sometime. To avoid that, we need to enable the signal for heartbeat. To do that, add a new member signal_interval in rtrs_path, which will set min of queue_depth and SERVICE_CON_QUEUE_DEPTH, and track it for both heartbeat and IO, so the sq queue full accounting is correct. Fixes: b38041d50add ("RDMA/rtrs: Do not signal for heatbeat") Link: https://lore.kernel.org/r/20210712060750.16494-4-jinpu.wang@ionos.com Signed-off-by: Jack Wang <jinpu.wang@ionos.com> Reviewed-by: Aleksei Marov <aleksei.marov@ionos.com> Reviewed-by: Gioh Kim <gi-oh.kim@ionos.com> Reviewed-by: Md Haris Iqbal <haris.iqbal@ionos.com> Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
Diffstat (limited to 'drivers/infiniband/ulp/rtrs/rtrs-pri.h')
-rw-r--r--drivers/infiniband/ulp/rtrs/rtrs-pri.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/infiniband/ulp/rtrs/rtrs-pri.h b/drivers/infiniband/ulp/rtrs/rtrs-pri.h
index a44a4fb1b515..b88a4944cb30 100644
--- a/drivers/infiniband/ulp/rtrs/rtrs-pri.h
+++ b/drivers/infiniband/ulp/rtrs/rtrs-pri.h
@@ -109,6 +109,7 @@ struct rtrs_sess {
unsigned int con_num;
unsigned int irq_con_num;
unsigned int recon_cnt;
+ unsigned int signal_interval;
struct rtrs_ib_dev *dev;
int dev_ref;
struct ib_cqe *hb_cqe;