diff mbox series

[1/1] Update kernel headers

Message ID 20210525223222.17636-1-yanjun.zhu@intel.com (mailing list archive)
State Not Applicable
Headers show
Series [1/1] Update kernel headers | expand

Commit Message

Zhu Yanjun May 25, 2021, 10:32 p.m. UTC
From: Zhu Yanjun <zyjzyj2000@gmail.com>

After the patches "RDMA/rxe: Implement memory windows", the kernel headers
are changed. This causes about 17 errors and 1 failure when running
"run_test.py" with rxe.
This commit will fix these errors and failures.

Signed-off-by: Zhu Yanjun <zyjzyj2000@gmail.com>
---
 kernel-headers/rdma/rdma_user_rxe.h | 11 +++++++++++
 1 file changed, 11 insertions(+)

Comments

Zhu Logan May 25, 2021, 6:20 a.m. UTC | #1
On Tue, May 25, 2021 at 2:07 PM Zhu Yanjun <yanjun.zhu@intel.com> wrote:
>
> From: Zhu Yanjun <zyjzyj2000@gmail.com>
>
> After the patches "RDMA/rxe: Implement memory windows", the kernel headers
> are changed. This causes about 17 errors and 1 failure when running
> "run_test.py" with rxe.
> This commit will fix these errors and failures.

This commit is for rdma-core.
https://github.com/linux-rdma/rdma-core.git

Zhu Yanjun

>
> Signed-off-by: Zhu Yanjun <zyjzyj2000@gmail.com>
> ---
>  kernel-headers/rdma/rdma_user_rxe.h | 11 +++++++++++
>  1 file changed, 11 insertions(+)
>
> diff --git a/kernel-headers/rdma/rdma_user_rxe.h b/kernel-headers/rdma/rdma_user_rxe.h
> index 068433e2..90ea477f 100644
> --- a/kernel-headers/rdma/rdma_user_rxe.h
> +++ b/kernel-headers/rdma/rdma_user_rxe.h
> @@ -99,7 +99,17 @@ struct rxe_send_wr {
>                         __u32   remote_qkey;
>                         __u16   pkey_index;
>                 } ud;
> +               struct {
> +                       __aligned_u64   addr;
> +                       __aligned_u64   length;
> +                       __u32           mr_lkey;
> +                       __u32           mw_rkey;
> +                       __u32           rkey;
> +                       __u32           access;
> +                       __u32           flags;
> +               } mw;
>                 /* reg is only used by the kernel and is not part of the uapi */
> +#ifdef __KERNEL__
>                 struct {
>                         union {
>                                 struct ib_mr *mr;
> @@ -108,6 +118,7 @@ struct rxe_send_wr {
>                         __u32        key;
>                         __u32        access;
>                 } reg;
> +#endif
>         } wr;
>  };
>
> --
> 2.30.2
>
Jason Gunthorpe May 25, 2021, 1:18 p.m. UTC | #2
On Tue, May 25, 2021 at 06:32:22PM -0400, Zhu Yanjun wrote:
> From: Zhu Yanjun <zyjzyj2000@gmail.com>
> 
> After the patches "RDMA/rxe: Implement memory windows", the kernel headers
> are changed. This causes about 17 errors and 1 failure when running
> "run_test.py" with rxe.
> This commit will fix these errors and failures.
> 
> Signed-off-by: Zhu Yanjun <zyjzyj2000@gmail.com>
> ---
>  kernel-headers/rdma/rdma_user_rxe.h | 11 +++++++++++
>  1 file changed, 11 insertions(+)

Huh? Bob? You can't break the rxe uapi??
 
> diff --git a/kernel-headers/rdma/rdma_user_rxe.h b/kernel-headers/rdma/rdma_user_rxe.h
> index 068433e2..90ea477f 100644
> --- a/kernel-headers/rdma/rdma_user_rxe.h
> +++ b/kernel-headers/rdma/rdma_user_rxe.h
> @@ -99,7 +99,17 @@ struct rxe_send_wr {
>  			__u32	remote_qkey;
>  			__u16	pkey_index;
>  		} ud;
> +		struct {
> +			__aligned_u64	addr;

> +			__aligned_u64	length;

> +			__u32		mr_lkey;
> +			__u32		mw_rkey;

> +			__u32		rkey;
> +			__u32		access;

> +			__u32		flags;
> +		} mw;

There is room for 4 u64's in 'reg' and this has 5, so it is a no-go

Jason
Zhu Logan May 25, 2021, 1:56 p.m. UTC | #3
On Tue, May 25, 2021 at 9:18 PM Jason Gunthorpe <jgg@nvidia.com> wrote:
>
> On Tue, May 25, 2021 at 06:32:22PM -0400, Zhu Yanjun wrote:
> > From: Zhu Yanjun <zyjzyj2000@gmail.com>
> >
> > After the patches "RDMA/rxe: Implement memory windows", the kernel headers
> > are changed. This causes about 17 errors and 1 failure when running
> > "run_test.py" with rxe.
> > This commit will fix these errors and failures.
> >
> > Signed-off-by: Zhu Yanjun <zyjzyj2000@gmail.com>
> > ---
> >  kernel-headers/rdma/rdma_user_rxe.h | 11 +++++++++++
> >  1 file changed, 11 insertions(+)
>
> Huh? Bob? You can't break the rxe uapi??
>
> > diff --git a/kernel-headers/rdma/rdma_user_rxe.h b/kernel-headers/rdma/rdma_user_rxe.h
> > index 068433e2..90ea477f 100644
> > --- a/kernel-headers/rdma/rdma_user_rxe.h
> > +++ b/kernel-headers/rdma/rdma_user_rxe.h
> > @@ -99,7 +99,17 @@ struct rxe_send_wr {
> >                       __u32   remote_qkey;
> >                       __u16   pkey_index;
> >               } ud;
> > +             struct {
> > +                     __aligned_u64   addr;
>
> > +                     __aligned_u64   length;
>
> > +                     __u32           mr_lkey;
> > +                     __u32           mw_rkey;
>
> > +                     __u32           rkey;
> > +                     __u32           access;
>
> > +                     __u32           flags;
> > +             } mw;
>
> There is room for 4 u64's in 'reg' and this has 5, so it is a no-go

What is 'reg'? Where is the definition of this 'reg'? What protocol
has the definition of this 'reg'?

Zhu Yanjun

>
> Jason
Zhu Logan May 25, 2021, 2:46 p.m. UTC | #4
On Tue, May 25, 2021 at 9:56 PM Zhu Yanjun <zyjzyj2000@gmail.com> wrote:
>
> On Tue, May 25, 2021 at 9:18 PM Jason Gunthorpe <jgg@nvidia.com> wrote:
> >
> > On Tue, May 25, 2021 at 06:32:22PM -0400, Zhu Yanjun wrote:
> > > From: Zhu Yanjun <zyjzyj2000@gmail.com>
> > >
> > > After the patches "RDMA/rxe: Implement memory windows", the kernel headers
> > > are changed. This causes about 17 errors and 1 failure when running
> > > "run_test.py" with rxe.
> > > This commit will fix these errors and failures.
> > >
> > > Signed-off-by: Zhu Yanjun <zyjzyj2000@gmail.com>
> > > ---
> > >  kernel-headers/rdma/rdma_user_rxe.h | 11 +++++++++++
> > >  1 file changed, 11 insertions(+)
> >
> > Huh? Bob? You can't break the rxe uapi??
> >
> > > diff --git a/kernel-headers/rdma/rdma_user_rxe.h b/kernel-headers/rdma/rdma_user_rxe.h
> > > index 068433e2..90ea477f 100644
> > > --- a/kernel-headers/rdma/rdma_user_rxe.h
> > > +++ b/kernel-headers/rdma/rdma_user_rxe.h
> > > @@ -99,7 +99,17 @@ struct rxe_send_wr {
> > >                       __u32   remote_qkey;
> > >                       __u16   pkey_index;
> > >               } ud;
> > > +             struct {
> > > +                     __aligned_u64   addr;
> >
> > > +                     __aligned_u64   length;
> >
> > > +                     __u32           mr_lkey;
> > > +                     __u32           mw_rkey;
> >
> > > +                     __u32           rkey;
> > > +                     __u32           access;
> >
> > > +                     __u32           flags;
> > > +             } mw;
> >
> > There is room for 4 u64's in 'reg' and this has 5, so it is a no-go
>
> What is 'reg'? Where is the definition of this 'reg'? What protocol
> has the definition of this 'reg'?

Got it. Please ignore my comments.

Zhu Yanjun

>
> Zhu Yanjun
>
> >
> > Jason
diff mbox series

Patch

diff --git a/kernel-headers/rdma/rdma_user_rxe.h b/kernel-headers/rdma/rdma_user_rxe.h
index 068433e2..90ea477f 100644
--- a/kernel-headers/rdma/rdma_user_rxe.h
+++ b/kernel-headers/rdma/rdma_user_rxe.h
@@ -99,7 +99,17 @@  struct rxe_send_wr {
 			__u32	remote_qkey;
 			__u16	pkey_index;
 		} ud;
+		struct {
+			__aligned_u64	addr;
+			__aligned_u64	length;
+			__u32		mr_lkey;
+			__u32		mw_rkey;
+			__u32		rkey;
+			__u32		access;
+			__u32		flags;
+		} mw;
 		/* reg is only used by the kernel and is not part of the uapi */
+#ifdef __KERNEL__
 		struct {
 			union {
 				struct ib_mr *mr;
@@ -108,6 +118,7 @@  struct rxe_send_wr {
 			__u32	     key;
 			__u32	     access;
 		} reg;
+#endif
 	} wr;
 };