All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] RDMA/rxe: Remove the member 'type' of struct rxe_mr
@ 2022-10-21 13:45 yangx.jy
  2022-10-23 17:18 ` Bob Pearson
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: yangx.jy @ 2022-10-21 13:45 UTC (permalink / raw)
  To: linux-rdma; +Cc: leon, jgg, yangx.jy

The member 'type' is included in both struct rxe_mr and struct ib_mr
so remove the duplicate one of struct rxe_mr.

Signed-off-by: Xiao Yang <yangx.jy@fujitsu.com>
---
 drivers/infiniband/sw/rxe/rxe_mr.c    | 16 ++++++++--------
 drivers/infiniband/sw/rxe/rxe_verbs.h |  1 -
 2 files changed, 8 insertions(+), 9 deletions(-)

diff --git a/drivers/infiniband/sw/rxe/rxe_mr.c b/drivers/infiniband/sw/rxe/rxe_mr.c
index 502e9ada99b3..d4f10c2d1aa7 100644
--- a/drivers/infiniband/sw/rxe/rxe_mr.c
+++ b/drivers/infiniband/sw/rxe/rxe_mr.c
@@ -26,7 +26,7 @@ int mr_check_range(struct rxe_mr *mr, u64 iova, size_t length)
 {
 
 
-	switch (mr->type) {
+	switch (mr->ibmr.type) {
 	case IB_MR_TYPE_DMA:
 		return 0;
 
@@ -39,7 +39,7 @@ int mr_check_range(struct rxe_mr *mr, u64 iova, size_t length)
 
 	default:
 		pr_warn("%s: mr type (%d) not supported\n",
-			__func__, mr->type);
+			__func__, mr->ibmr.type);
 		return -EFAULT;
 	}
 }
@@ -109,7 +109,7 @@ void rxe_mr_init_dma(int access, struct rxe_mr *mr)
 
 	mr->access = access;
 	mr->state = RXE_MR_STATE_VALID;
-	mr->type = IB_MR_TYPE_DMA;
+	mr->ibmr.type = IB_MR_TYPE_DMA;
 }
 
 int rxe_mr_init_user(struct rxe_dev *rxe, u64 start, u64 length, u64 iova,
@@ -178,7 +178,7 @@ int rxe_mr_init_user(struct rxe_dev *rxe, u64 start, u64 length, u64 iova,
 	mr->access = access;
 	mr->offset = ib_umem_offset(umem);
 	mr->state = RXE_MR_STATE_VALID;
-	mr->type = IB_MR_TYPE_USER;
+	mr->ibmr.type = IB_MR_TYPE_USER;
 
 	return 0;
 
@@ -205,7 +205,7 @@ int rxe_mr_init_fast(int max_pages, struct rxe_mr *mr)
 
 	mr->max_buf = max_pages;
 	mr->state = RXE_MR_STATE_FREE;
-	mr->type = IB_MR_TYPE_MEM_REG;
+	mr->ibmr.type = IB_MR_TYPE_MEM_REG;
 
 	return 0;
 
@@ -304,7 +304,7 @@ int rxe_mr_copy(struct rxe_mr *mr, u64 iova, void *addr, int length,
 	if (length == 0)
 		return 0;
 
-	if (mr->type == IB_MR_TYPE_DMA) {
+	if (mr->ibmr.type == IB_MR_TYPE_DMA) {
 		u8 *src, *dest;
 
 		src = (dir == RXE_TO_MR_OBJ) ? addr : ((void *)(uintptr_t)iova);
@@ -547,8 +547,8 @@ int rxe_invalidate_mr(struct rxe_qp *qp, u32 key)
 		goto err_drop_ref;
 	}
 
-	if (unlikely(mr->type != IB_MR_TYPE_MEM_REG)) {
-		pr_warn("%s: mr->type (%d) is wrong type\n", __func__, mr->type);
+	if (unlikely(mr->ibmr.type != IB_MR_TYPE_MEM_REG)) {
+		pr_warn("%s: mr type (%d) is wrong\n", __func__, mr->ibmr.type);
 		ret = -EINVAL;
 		goto err_drop_ref;
 	}
diff --git a/drivers/infiniband/sw/rxe/rxe_verbs.h b/drivers/infiniband/sw/rxe/rxe_verbs.h
index 5f5cbfcb3569..22a299b0a9f0 100644
--- a/drivers/infiniband/sw/rxe/rxe_verbs.h
+++ b/drivers/infiniband/sw/rxe/rxe_verbs.h
@@ -304,7 +304,6 @@ struct rxe_mr {
 	u32			lkey;
 	u32			rkey;
 	enum rxe_mr_state	state;
-	enum ib_mr_type		type;
 	u32			offset;
 	int			access;
 
-- 
2.34.1

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH] RDMA/rxe: Remove the member 'type' of struct rxe_mr
  2022-10-21 13:45 [PATCH] RDMA/rxe: Remove the member 'type' of struct rxe_mr yangx.jy
@ 2022-10-23 17:18 ` Bob Pearson
  2022-10-24 11:51 ` Leon Romanovsky
  2022-10-24 11:57 ` Leon Romanovsky
  2 siblings, 0 replies; 7+ messages in thread
From: Bob Pearson @ 2022-10-23 17:18 UTC (permalink / raw)
  To: yangx.jy, linux-rdma; +Cc: leon, jgg

On 10/21/22 08:45, yangx.jy@fujitsu.com wrote:
> The member 'type' is included in both struct rxe_mr and struct ib_mr
> so remove the duplicate one of struct rxe_mr.
> 
> Signed-off-by: Xiao Yang <yangx.jy@fujitsu.com>
> ---
>  drivers/infiniband/sw/rxe/rxe_mr.c    | 16 ++++++++--------
>  drivers/infiniband/sw/rxe/rxe_verbs.h |  1 -
>  2 files changed, 8 insertions(+), 9 deletions(-)
> 
> diff --git a/drivers/infiniband/sw/rxe/rxe_mr.c b/drivers/infiniband/sw/rxe/rxe_mr.c
> index 502e9ada99b3..d4f10c2d1aa7 100644
> --- a/drivers/infiniband/sw/rxe/rxe_mr.c
> +++ b/drivers/infiniband/sw/rxe/rxe_mr.c
> @@ -26,7 +26,7 @@ int mr_check_range(struct rxe_mr *mr, u64 iova, size_t length)
>  {
>  
>  
> -	switch (mr->type) {
> +	switch (mr->ibmr.type) {
>  	case IB_MR_TYPE_DMA:
>  		return 0;
>  
> @@ -39,7 +39,7 @@ int mr_check_range(struct rxe_mr *mr, u64 iova, size_t length)
>  
>  	default:
>  		pr_warn("%s: mr type (%d) not supported\n",
> -			__func__, mr->type);
> +			__func__, mr->ibmr.type);
>  		return -EFAULT;
>  	}
>  }
> @@ -109,7 +109,7 @@ void rxe_mr_init_dma(int access, struct rxe_mr *mr)
>  
>  	mr->access = access;
>  	mr->state = RXE_MR_STATE_VALID;
> -	mr->type = IB_MR_TYPE_DMA;
> +	mr->ibmr.type = IB_MR_TYPE_DMA;
>  }
>  
>  int rxe_mr_init_user(struct rxe_dev *rxe, u64 start, u64 length, u64 iova,
> @@ -178,7 +178,7 @@ int rxe_mr_init_user(struct rxe_dev *rxe, u64 start, u64 length, u64 iova,
>  	mr->access = access;
>  	mr->offset = ib_umem_offset(umem);
>  	mr->state = RXE_MR_STATE_VALID;
> -	mr->type = IB_MR_TYPE_USER;
> +	mr->ibmr.type = IB_MR_TYPE_USER;
>  
>  	return 0;
>  
> @@ -205,7 +205,7 @@ int rxe_mr_init_fast(int max_pages, struct rxe_mr *mr)
>  
>  	mr->max_buf = max_pages;
>  	mr->state = RXE_MR_STATE_FREE;
> -	mr->type = IB_MR_TYPE_MEM_REG;
> +	mr->ibmr.type = IB_MR_TYPE_MEM_REG;
>  
>  	return 0;
>  
> @@ -304,7 +304,7 @@ int rxe_mr_copy(struct rxe_mr *mr, u64 iova, void *addr, int length,
>  	if (length == 0)
>  		return 0;
>  
> -	if (mr->type == IB_MR_TYPE_DMA) {
> +	if (mr->ibmr.type == IB_MR_TYPE_DMA) {
>  		u8 *src, *dest;
>  
>  		src = (dir == RXE_TO_MR_OBJ) ? addr : ((void *)(uintptr_t)iova);
> @@ -547,8 +547,8 @@ int rxe_invalidate_mr(struct rxe_qp *qp, u32 key)
>  		goto err_drop_ref;
>  	}
>  
> -	if (unlikely(mr->type != IB_MR_TYPE_MEM_REG)) {
> -		pr_warn("%s: mr->type (%d) is wrong type\n", __func__, mr->type);
> +	if (unlikely(mr->ibmr.type != IB_MR_TYPE_MEM_REG)) {
> +		pr_warn("%s: mr type (%d) is wrong\n", __func__, mr->ibmr.type);
>  		ret = -EINVAL;
>  		goto err_drop_ref;
>  	}
> diff --git a/drivers/infiniband/sw/rxe/rxe_verbs.h b/drivers/infiniband/sw/rxe/rxe_verbs.h
> index 5f5cbfcb3569..22a299b0a9f0 100644
> --- a/drivers/infiniband/sw/rxe/rxe_verbs.h
> +++ b/drivers/infiniband/sw/rxe/rxe_verbs.h
> @@ -304,7 +304,6 @@ struct rxe_mr {
>  	u32			lkey;
>  	u32			rkey;
>  	enum rxe_mr_state	state;
> -	enum ib_mr_type		type;
>  	u32			offset;
>  	int			access;
>  

Looks good to me.

Reviewed-by: Bob Pearson <rpearsonhpe@gmail.com>

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] RDMA/rxe: Remove the member 'type' of struct rxe_mr
  2022-10-21 13:45 [PATCH] RDMA/rxe: Remove the member 'type' of struct rxe_mr yangx.jy
  2022-10-23 17:18 ` Bob Pearson
@ 2022-10-24 11:51 ` Leon Romanovsky
  2022-10-24 14:07   ` Bob Pearson
  2022-10-24 11:57 ` Leon Romanovsky
  2 siblings, 1 reply; 7+ messages in thread
From: Leon Romanovsky @ 2022-10-24 11:51 UTC (permalink / raw)
  To: yangx.jy; +Cc: linux-rdma, jgg

On Fri, Oct 21, 2022 at 01:45:17PM +0000, yangx.jy@fujitsu.com wrote:
> The member 'type' is included in both struct rxe_mr and struct ib_mr
> so remove the duplicate one of struct rxe_mr.
> 
> Signed-off-by: Xiao Yang <yangx.jy@fujitsu.com>
> ---
>  drivers/infiniband/sw/rxe/rxe_mr.c    | 16 ++++++++--------
>  drivers/infiniband/sw/rxe/rxe_verbs.h |  1 -
>  2 files changed, 8 insertions(+), 9 deletions(-)

<...>

>  	default:
>  		pr_warn("%s: mr type (%d) not supported\n",
> -			__func__, mr->type);
> +			__func__, mr->ibmr.type);
>  		return -EFAULT;

<...>

> -	if (unlikely(mr->type != IB_MR_TYPE_MEM_REG)) {
> -		pr_warn("%s: mr->type (%d) is wrong type\n", __func__, mr->type);
> +	if (unlikely(mr->ibmr.type != IB_MR_TYPE_MEM_REG)) {
> +		pr_warn("%s: mr type (%d) is wrong\n", __func__, mr->ibmr.type);

Someone needs to convert pr_*() calls to ibdev_*() prints.

Thanks

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] RDMA/rxe: Remove the member 'type' of struct rxe_mr
  2022-10-21 13:45 [PATCH] RDMA/rxe: Remove the member 'type' of struct rxe_mr yangx.jy
  2022-10-23 17:18 ` Bob Pearson
  2022-10-24 11:51 ` Leon Romanovsky
@ 2022-10-24 11:57 ` Leon Romanovsky
  2022-10-27  6:34   ` Yang, Xiao/杨 晓
  2 siblings, 1 reply; 7+ messages in thread
From: Leon Romanovsky @ 2022-10-24 11:57 UTC (permalink / raw)
  To: yangx.jy; +Cc: linux-rdma, jgg

On Fri, Oct 21, 2022 at 01:45:17PM +0000, yangx.jy@fujitsu.com wrote:
> The member 'type' is included in both struct rxe_mr and struct ib_mr
> so remove the duplicate one of struct rxe_mr.
> 
> Signed-off-by: Xiao Yang <yangx.jy@fujitsu.com>
> ---
>  drivers/infiniband/sw/rxe/rxe_mr.c    | 16 ++++++++--------
>  drivers/infiniband/sw/rxe/rxe_verbs.h |  1 -
>  2 files changed, 8 insertions(+), 9 deletions(-)

Please fix you From field and resubmit.

71d236399160 (HEAD -> build) RDMA/rxe: Remove the member 'type' of struct rxe_mr
WARNING: From:/Signed-off-by: email name mismatch: 'From: "yangx.jy@fujitsu.com" <yangx.jy@fujitsu.com>' != 'Signed-off-by: Xiao Yang <yangx.jy@fujitsu.com>'


Thanks

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] RDMA/rxe: Remove the member 'type' of struct rxe_mr
  2022-10-24 11:51 ` Leon Romanovsky
@ 2022-10-24 14:07   ` Bob Pearson
  2022-10-24 17:08     ` Leon Romanovsky
  0 siblings, 1 reply; 7+ messages in thread
From: Bob Pearson @ 2022-10-24 14:07 UTC (permalink / raw)
  To: Leon Romanovsky, yangx.jy; +Cc: linux-rdma, jgg

On 10/24/22 06:51, Leon Romanovsky wrote:
> On Fri, Oct 21, 2022 at 01:45:17PM +0000, yangx.jy@fujitsu.com wrote:
>> The member 'type' is included in both struct rxe_mr and struct ib_mr
>> so remove the duplicate one of struct rxe_mr.
>>
>> Signed-off-by: Xiao Yang <yangx.jy@fujitsu.com>
>> ---
>>  drivers/infiniband/sw/rxe/rxe_mr.c    | 16 ++++++++--------
>>  drivers/infiniband/sw/rxe/rxe_verbs.h |  1 -
>>  2 files changed, 8 insertions(+), 9 deletions(-)
> 
> <...>
> 
>>  	default:
>>  		pr_warn("%s: mr type (%d) not supported\n",
>> -			__func__, mr->type);
>> +			__func__, mr->ibmr.type);
>>  		return -EFAULT;
> 
> <...>
> 
>> -	if (unlikely(mr->type != IB_MR_TYPE_MEM_REG)) {
>> -		pr_warn("%s: mr->type (%d) is wrong type\n", __func__, mr->type);
>> +	if (unlikely(mr->ibmr.type != IB_MR_TYPE_MEM_REG)) {
>> +		pr_warn("%s: mr type (%d) is wrong\n", __func__, mr->ibmr.type);
> 
> Someone needs to convert pr_*() calls to ibdev_*() prints.
> 
> Thanks

I have a patch laying around that does this. Hoping some of the backlog of rxe patches gets
accepted so I don't have to backport everything.

Bob

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] RDMA/rxe: Remove the member 'type' of struct rxe_mr
  2022-10-24 14:07   ` Bob Pearson
@ 2022-10-24 17:08     ` Leon Romanovsky
  0 siblings, 0 replies; 7+ messages in thread
From: Leon Romanovsky @ 2022-10-24 17:08 UTC (permalink / raw)
  To: Bob Pearson; +Cc: yangx.jy, linux-rdma, jgg

On Mon, Oct 24, 2022 at 09:07:11AM -0500, Bob Pearson wrote:
> On 10/24/22 06:51, Leon Romanovsky wrote:
> > On Fri, Oct 21, 2022 at 01:45:17PM +0000, yangx.jy@fujitsu.com wrote:
> >> The member 'type' is included in both struct rxe_mr and struct ib_mr
> >> so remove the duplicate one of struct rxe_mr.
> >>
> >> Signed-off-by: Xiao Yang <yangx.jy@fujitsu.com>
> >> ---
> >>  drivers/infiniband/sw/rxe/rxe_mr.c    | 16 ++++++++--------
> >>  drivers/infiniband/sw/rxe/rxe_verbs.h |  1 -
> >>  2 files changed, 8 insertions(+), 9 deletions(-)
> > 
> > <...>
> > 
> >>  	default:
> >>  		pr_warn("%s: mr type (%d) not supported\n",
> >> -			__func__, mr->type);
> >> +			__func__, mr->ibmr.type);
> >>  		return -EFAULT;
> > 
> > <...>
> > 
> >> -	if (unlikely(mr->type != IB_MR_TYPE_MEM_REG)) {
> >> -		pr_warn("%s: mr->type (%d) is wrong type\n", __func__, mr->type);
> >> +	if (unlikely(mr->ibmr.type != IB_MR_TYPE_MEM_REG)) {
> >> +		pr_warn("%s: mr type (%d) is wrong\n", __func__, mr->ibmr.type);
> > 
> > Someone needs to convert pr_*() calls to ibdev_*() prints.
> > 
> > Thanks
> 
> I have a patch laying around that does this. Hoping some of the backlog of rxe patches gets
> accepted so I don't have to backport everything.

The way to move forward with RXE patches is to collect Reviewed-by from
other active RXE contributors.

I'm not taking RXE patches without ROB, that don't apply cleanly and which
don't follow kernel coding style both in code and in commit messages.

Thanks

> 
> Bob

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] RDMA/rxe: Remove the member 'type' of struct rxe_mr
  2022-10-24 11:57 ` Leon Romanovsky
@ 2022-10-27  6:34   ` Yang, Xiao/杨 晓
  0 siblings, 0 replies; 7+ messages in thread
From: Yang, Xiao/杨 晓 @ 2022-10-27  6:34 UTC (permalink / raw)
  To: Leon Romanovsky; +Cc: linux-rdma, jgg

On 2022/10/24 19:57, Leon Romanovsky wrote:
> On Fri, Oct 21, 2022 at 01:45:17PM +0000, yangx.jy@fujitsu.com wrote:
>> The member 'type' is included in both struct rxe_mr and struct ib_mr
>> so remove the duplicate one of struct rxe_mr.
>>
>> Signed-off-by: Xiao Yang <yangx.jy@fujitsu.com>
>> ---
>>   drivers/infiniband/sw/rxe/rxe_mr.c    | 16 ++++++++--------
>>   drivers/infiniband/sw/rxe/rxe_verbs.h |  1 -
>>   2 files changed, 8 insertions(+), 9 deletions(-)
> 
> Please fix you From field and resubmit.
> 
> 71d236399160 (HEAD -> build) RDMA/rxe: Remove the member 'type' of struct rxe_mr
> WARNING: From:/Signed-off-by: email name mismatch: 'From: "yangx.jy@fujitsu.com" <yangx.jy@fujitsu.com>' != 'Signed-off-by: Xiao Yang <yangx.jy@fujitsu.com>'
> 
Hi Leon,

Thanks for your reminder. I will resend it shortly.

Best Regards,
Xiao Yang
> 
> Thanks

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2022-10-27  6:34 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-10-21 13:45 [PATCH] RDMA/rxe: Remove the member 'type' of struct rxe_mr yangx.jy
2022-10-23 17:18 ` Bob Pearson
2022-10-24 11:51 ` Leon Romanovsky
2022-10-24 14:07   ` Bob Pearson
2022-10-24 17:08     ` Leon Romanovsky
2022-10-24 11:57 ` Leon Romanovsky
2022-10-27  6:34   ` Yang, Xiao/杨 晓

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.