drivers/infiniband/ulp/rtrs/rtrs-srv.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-)
As rkey had been initialized to zero, the WARN_ON_ONCE should never been
triggered. Remove it.
Fixes: 9cb837480424 ("RDMA/rtrs: server: main functionality")
Signed-off-by: Honggang LI <honggangli@163.com>
---
drivers/infiniband/ulp/rtrs/rtrs-srv.c | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/drivers/infiniband/ulp/rtrs/rtrs-srv.c b/drivers/infiniband/ulp/rtrs/rtrs-srv.c
index ef4abdea3c2d..a95640e848a5 100644
--- a/drivers/infiniband/ulp/rtrs/rtrs-srv.c
+++ b/drivers/infiniband/ulp/rtrs/rtrs-srv.c
@@ -240,11 +240,7 @@ static int rdma_write_sg(struct rtrs_srv_op *id)
wr->wr.num_sge = 1;
wr->remote_addr = le64_to_cpu(id->rd_msg->desc[0].addr);
wr->rkey = le32_to_cpu(id->rd_msg->desc[0].key);
- if (rkey == 0)
- rkey = wr->rkey;
- else
- /* Only one key is actually used */
- WARN_ON_ONCE(rkey != wr->rkey);
+ rkey = wr->rkey;
wr->wr.opcode = IB_WR_RDMA_WRITE;
wr->wr.wr_cqe = &io_comp_cqe;
--
2.51.1
On Mon, Dec 01, 2025 at 11:24:05AM +0800, Honggang LI wrote:
> As rkey had been initialized to zero, the WARN_ON_ONCE should never been
> triggered. Remove it.
>
> Fixes: 9cb837480424 ("RDMA/rtrs: server: main functionality")
> Signed-off-by: Honggang LI <honggangli@163.com>
> ---
> drivers/infiniband/ulp/rtrs/rtrs-srv.c | 6 +-----
> 1 file changed, 1 insertion(+), 5 deletions(-)
>
> diff --git a/drivers/infiniband/ulp/rtrs/rtrs-srv.c b/drivers/infiniband/ulp/rtrs/rtrs-srv.c
> index ef4abdea3c2d..a95640e848a5 100644
> --- a/drivers/infiniband/ulp/rtrs/rtrs-srv.c
> +++ b/drivers/infiniband/ulp/rtrs/rtrs-srv.c
> @@ -240,11 +240,7 @@ static int rdma_write_sg(struct rtrs_srv_op *id)
> wr->wr.num_sge = 1;
> wr->remote_addr = le64_to_cpu(id->rd_msg->desc[0].addr);
> wr->rkey = le32_to_cpu(id->rd_msg->desc[0].key);
> - if (rkey == 0)
> - rkey = wr->rkey;
> - else
> - /* Only one key is actually used */
> - WARN_ON_ONCE(rkey != wr->rkey);
> + rkey = wr->rkey;
You can go one step further and remove rkey too.
diff --git a/drivers/infiniband/ulp/rtrs/rtrs-srv.c b/drivers/infiniband/ulp/rtrs/rtrs-srv.c
index 9ecc6343455d..396dfc41e6da 100644
--- a/drivers/infiniband/ulp/rtrs/rtrs-srv.c
+++ b/drivers/infiniband/ulp/rtrs/rtrs-srv.c
@@ -208,7 +208,6 @@ static int rdma_write_sg(struct rtrs_srv_op *id)
size_t sg_cnt;
int err, offset;
bool need_inval;
- u32 rkey = 0;
struct ib_reg_wr rwr;
struct ib_sge *plist;
struct ib_sge list;
@@ -240,12 +239,6 @@ static int rdma_write_sg(struct rtrs_srv_op *id)
wr->wr.num_sge = 1;
wr->remote_addr = le64_to_cpu(id->rd_msg->desc[0].addr);
wr->rkey = le32_to_cpu(id->rd_msg->desc[0].key);
- if (rkey == 0)
- rkey = wr->rkey;
- else
- /* Only one key is actually used */
- WARN_ON_ONCE(rkey != wr->rkey);
-
wr->wr.opcode = IB_WR_RDMA_WRITE;
wr->wr.wr_cqe = &io_comp_cqe;
wr->wr.ex.imm_data = 0;
@@ -277,7 +270,7 @@ static int rdma_write_sg(struct rtrs_srv_op *id)
inv_wr.opcode = IB_WR_SEND_WITH_INV;
inv_wr.wr_cqe = &io_comp_cqe;
inv_wr.send_flags = 0;
- inv_wr.ex.invalidate_rkey = rkey;
+ inv_wr.ex.invalidate_rkey = wr->rkey;
}
imm_wr.wr.next = NULL;
~
>
> wr->wr.opcode = IB_WR_RDMA_WRITE;
> wr->wr.wr_cqe = &io_comp_cqe;
> --
> 2.51.1
>
On Thu, Dec 18, 2025 at 03:22:59PM +0200, Leon Romanovsky wrote: > Subject: Re: [PATCH] RDMA/rtrs: remove dead code > From: Leon Romanovsky <leon@kernel.org> > Date: Thu, 18 Dec 2025 15:22:59 +0200 > > > You can go one step further and remove rkey too. You are right. But I'd like to keep rkey for readability. How about follwing patch? diff --git a/drivers/infiniband/ulp/rtrs/rtrs-srv.c b/drivers/infiniband/ulp/rtrs/rtrs-srv.c index 9ecc6343455d..4efb71c04a40 100644 --- a/drivers/infiniband/ulp/rtrs/rtrs-srv.c +++ b/drivers/infiniband/ulp/rtrs/rtrs-srv.c @@ -208,7 +208,7 @@ static int rdma_write_sg(struct rtrs_srv_op *id) size_t sg_cnt; int err, offset; bool need_inval; - u32 rkey = 0; + u32 rkey; struct ib_reg_wr rwr; struct ib_sge *plist; struct ib_sge list; @@ -240,11 +240,7 @@ static int rdma_write_sg(struct rtrs_srv_op *id) wr->wr.num_sge = 1; wr->remote_addr = le64_to_cpu(id->rd_msg->desc[0].addr); wr->rkey = le32_to_cpu(id->rd_msg->desc[0].key); - if (rkey == 0) - rkey = wr->rkey; - else - /* Only one key is actually used */ - WARN_ON_ONCE(rkey != wr->rkey); + rkey = wr->rkey; wr->wr.opcode = IB_WR_RDMA_WRITE; wr->wr.wr_cqe = &io_comp_cqe; Anyway, if you persisted, I will send a new patch as you suggested. thanks > > diff --git a/drivers/infiniband/ulp/rtrs/rtrs-srv.c b/drivers/infiniband/ulp/rtrs/rtrs-srv.c > index 9ecc6343455d..396dfc41e6da 100644 > --- a/drivers/infiniband/ulp/rtrs/rtrs-srv.c > +++ b/drivers/infiniband/ulp/rtrs/rtrs-srv.c > @@ -208,7 +208,6 @@ static int rdma_write_sg(struct rtrs_srv_op *id) > size_t sg_cnt; > int err, offset; > bool need_inval; > - u32 rkey = 0; > struct ib_reg_wr rwr; > struct ib_sge *plist; > struct ib_sge list; > @@ -240,12 +239,6 @@ static int rdma_write_sg(struct rtrs_srv_op *id) > wr->wr.num_sge = 1; > wr->remote_addr = le64_to_cpu(id->rd_msg->desc[0].addr); > wr->rkey = le32_to_cpu(id->rd_msg->desc[0].key); > - if (rkey == 0) > - rkey = wr->rkey; > - else > - /* Only one key is actually used */ > - WARN_ON_ONCE(rkey != wr->rkey); > - > wr->wr.opcode = IB_WR_RDMA_WRITE; > wr->wr.wr_cqe = &io_comp_cqe; > wr->wr.ex.imm_data = 0; > @@ -277,7 +270,7 @@ static int rdma_write_sg(struct rtrs_srv_op *id) > inv_wr.opcode = IB_WR_SEND_WITH_INV; > inv_wr.wr_cqe = &io_comp_cqe; > inv_wr.send_flags = 0; > - inv_wr.ex.invalidate_rkey = rkey; > + inv_wr.ex.invalidate_rkey = wr->rkey; > } > > imm_wr.wr.next = NULL; > ~ > > > > > wr->wr.opcode = IB_WR_RDMA_WRITE; > > wr->wr.wr_cqe = &io_comp_cqe;
On Tue, Dec 23, 2025 at 11:22:13AM +0800, Honggang LI wrote: > On Thu, Dec 18, 2025 at 03:22:59PM +0200, Leon Romanovsky wrote: > > Subject: Re: [PATCH] RDMA/rtrs: remove dead code > > From: Leon Romanovsky <leon@kernel.org> > > Date: Thu, 18 Dec 2025 15:22:59 +0200 > > > > > > You can go one step further and remove rkey too. > > You are right. But I'd like to keep rkey for readability. > > How about follwing patch? > > diff --git a/drivers/infiniband/ulp/rtrs/rtrs-srv.c b/drivers/infiniband/ulp/rtrs/rtrs-srv.c > index 9ecc6343455d..4efb71c04a40 100644 > --- a/drivers/infiniband/ulp/rtrs/rtrs-srv.c > +++ b/drivers/infiniband/ulp/rtrs/rtrs-srv.c > @@ -208,7 +208,7 @@ static int rdma_write_sg(struct rtrs_srv_op *id) > size_t sg_cnt; > int err, offset; > bool need_inval; > - u32 rkey = 0; > + u32 rkey; > struct ib_reg_wr rwr; > struct ib_sge *plist; > struct ib_sge list; > @@ -240,11 +240,7 @@ static int rdma_write_sg(struct rtrs_srv_op *id) > wr->wr.num_sge = 1; > wr->remote_addr = le64_to_cpu(id->rd_msg->desc[0].addr); > wr->rkey = le32_to_cpu(id->rd_msg->desc[0].key); > - if (rkey == 0) > - rkey = wr->rkey; > - else > - /* Only one key is actually used */ > - WARN_ON_ONCE(rkey != wr->rkey); > + rkey = wr->rkey; > > wr->wr.opcode = IB_WR_RDMA_WRITE; > wr->wr.wr_cqe = &io_comp_cqe; > > > Anyway, if you persisted, I will send a new patch as you suggested. Please send new patch, there is not much readability in keeping "rkey = wr->rkey" line. Thanks > > thanks > > > > diff --git a/drivers/infiniband/ulp/rtrs/rtrs-srv.c b/drivers/infiniband/ulp/rtrs/rtrs-srv.c > > index 9ecc6343455d..396dfc41e6da 100644 > > --- a/drivers/infiniband/ulp/rtrs/rtrs-srv.c > > +++ b/drivers/infiniband/ulp/rtrs/rtrs-srv.c > > @@ -208,7 +208,6 @@ static int rdma_write_sg(struct rtrs_srv_op *id) > > size_t sg_cnt; > > int err, offset; > > bool need_inval; > > - u32 rkey = 0; > > struct ib_reg_wr rwr; > > struct ib_sge *plist; > > struct ib_sge list; > > @@ -240,12 +239,6 @@ static int rdma_write_sg(struct rtrs_srv_op *id) > > wr->wr.num_sge = 1; > > wr->remote_addr = le64_to_cpu(id->rd_msg->desc[0].addr); > > wr->rkey = le32_to_cpu(id->rd_msg->desc[0].key); > > - if (rkey == 0) > > - rkey = wr->rkey; > > - else > > - /* Only one key is actually used */ > > - WARN_ON_ONCE(rkey != wr->rkey); > > - > > wr->wr.opcode = IB_WR_RDMA_WRITE; > > wr->wr.wr_cqe = &io_comp_cqe; > > wr->wr.ex.imm_data = 0; > > @@ -277,7 +270,7 @@ static int rdma_write_sg(struct rtrs_srv_op *id) > > inv_wr.opcode = IB_WR_SEND_WITH_INV; > > inv_wr.wr_cqe = &io_comp_cqe; > > inv_wr.send_flags = 0; > > - inv_wr.ex.invalidate_rkey = rkey; > > + inv_wr.ex.invalidate_rkey = wr->rkey; > > } > > > > imm_wr.wr.next = NULL; > > ~ > > > > > > > > wr->wr.opcode = IB_WR_RDMA_WRITE; > > > wr->wr.wr_cqe = &io_comp_cqe; >
© 2016 - 2026 Red Hat, Inc.