[PATCH] RDMA/rtrs: remove dead code

Honggang LI posted 1 patch 2 months, 1 week ago
drivers/infiniband/ulp/rtrs/rtrs-srv.c | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
[PATCH] RDMA/rtrs: remove dead code
Posted by Honggang LI 2 months, 1 week ago
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
Re: [PATCH] RDMA/rtrs: remove dead code
Posted by Leon Romanovsky 1 month, 3 weeks ago
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
>
Re: [PATCH] RDMA/rtrs: remove dead code
Posted by Honggang LI 1 month, 2 weeks ago
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;
Re: [PATCH] RDMA/rtrs: remove dead code
Posted by Leon Romanovsky 1 month, 2 weeks ago
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;
>