Linux-RDMA Archive on lore.kernel.org
 help / color / Atom feed
* [PATCH rdma-next] RDMA/uapi: Fix and re-organize the usage of rdma_driver_id
@ 2019-10-10 12:05 Leon Romanovsky
  2019-10-10 19:20 ` Jason Gunthorpe
  0 siblings, 1 reply; 3+ messages in thread
From: Leon Romanovsky @ 2019-10-10 12:05 UTC (permalink / raw)
  To: Doug Ledford, Jason Gunthorpe
  Cc: Yishai Hadas, RDMA mailing list, Potnuri Bharat Teja, Leon Romanovsky

From: Yishai Hadas <yishaih@mellanox.com>

Fix 'enum rdma_driver_id' to preserve other driver values before that
RDMA_DRIVER_CXGB3 was deleted.  As this value is UAPI we can't affect
other values as of a deletion of one driver id.

In addition,
- Expose 'enum rdma_driver_id' to user applications by moving it to
  ib_user_ioctl_verbs.h which is exposed in rdma-core to applications.

- Drop the dependency of ib_user_ioctl_verbs.h on ib_user_verbs.h which
  is not really required.

Fixes: 30e0f6cf5acb ("RDMA/iw_cxgb3: Remove the iw_cxgb3 module from kernel")
Signed-off-by: Yishai Hadas <yishaih@mellanox.com>
Signed-off-by: Leon Romanovsky <leonro@mellanox.com>
---
 include/uapi/rdma/ib_user_ioctl_verbs.h  | 47 +++++++++++++++++++++++-
 include/uapi/rdma/ib_user_verbs.h        | 25 -------------
 include/uapi/rdma/rdma_user_ioctl_cmds.h | 21 -----------
 3 files changed, 46 insertions(+), 47 deletions(-)

diff --git a/include/uapi/rdma/ib_user_ioctl_verbs.h b/include/uapi/rdma/ib_user_ioctl_verbs.h
index 72c7fc75f960..3d703be40012 100644
--- a/include/uapi/rdma/ib_user_ioctl_verbs.h
+++ b/include/uapi/rdma/ib_user_ioctl_verbs.h
@@ -35,7 +35,6 @@
 #define IB_USER_IOCTL_VERBS_H
 
 #include <linux/types.h>
-#include <rdma/ib_user_verbs.h>
 
 #ifndef RDMA_UAPI_PTR
 #define RDMA_UAPI_PTR(_type, _name)	__aligned_u64 _name
@@ -167,10 +166,56 @@ enum ib_uverbs_advise_mr_flag {
 	IB_UVERBS_ADVISE_MR_FLAG_FLUSH = 1 << 0,
 };
 
+struct ib_uverbs_query_port_resp {
+	__u32 port_cap_flags;		/* see ib_uverbs_query_port_cap_flags */
+	__u32 max_msg_sz;
+	__u32 bad_pkey_cntr;
+	__u32 qkey_viol_cntr;
+	__u32 gid_tbl_len;
+	__u16 pkey_tbl_len;
+	__u16 lid;
+	__u16 sm_lid;
+	__u8  state;
+	__u8  max_mtu;
+	__u8  active_mtu;
+	__u8  lmc;
+	__u8  max_vl_num;
+	__u8  sm_sl;
+	__u8  subnet_timeout;
+	__u8  init_type_reply;
+	__u8  active_width;
+	__u8  active_speed;
+	__u8  phys_state;
+	__u8  link_layer;
+	__u8  flags;			/* see ib_uverbs_query_port_flags */
+	__u8  reserved;
+};
+
 struct ib_uverbs_query_port_resp_ex {
 	struct ib_uverbs_query_port_resp legacy_resp;
 	__u16 port_cap_flags2;
 	__u8  reserved[6];
 };
 
+enum rdma_driver_id {
+	RDMA_DRIVER_UNKNOWN,
+	RDMA_DRIVER_MLX5,
+	RDMA_DRIVER_MLX4,
+	RDMA_DRIVER_CXGB4 = 4,
+	RDMA_DRIVER_MTHCA,
+	RDMA_DRIVER_BNXT_RE,
+	RDMA_DRIVER_OCRDMA,
+	RDMA_DRIVER_NES,
+	RDMA_DRIVER_I40IW,
+	RDMA_DRIVER_VMW_PVRDMA,
+	RDMA_DRIVER_QEDR,
+	RDMA_DRIVER_HNS,
+	RDMA_DRIVER_USNIC,
+	RDMA_DRIVER_RXE,
+	RDMA_DRIVER_HFI1,
+	RDMA_DRIVER_QIB,
+	RDMA_DRIVER_EFA,
+	RDMA_DRIVER_SIW,
+};
+
 #endif
diff --git a/include/uapi/rdma/ib_user_verbs.h b/include/uapi/rdma/ib_user_verbs.h
index 0474c7400268..37450f133a07 100644
--- a/include/uapi/rdma/ib_user_verbs.h
+++ b/include/uapi/rdma/ib_user_verbs.h
@@ -281,31 +281,6 @@ struct ib_uverbs_query_port {
 	__aligned_u64 driver_data[0];
 };
 
-struct ib_uverbs_query_port_resp {
-	__u32 port_cap_flags;		/* see ib_uverbs_query_port_cap_flags */
-	__u32 max_msg_sz;
-	__u32 bad_pkey_cntr;
-	__u32 qkey_viol_cntr;
-	__u32 gid_tbl_len;
-	__u16 pkey_tbl_len;
-	__u16 lid;
-	__u16 sm_lid;
-	__u8  state;
-	__u8  max_mtu;
-	__u8  active_mtu;
-	__u8  lmc;
-	__u8  max_vl_num;
-	__u8  sm_sl;
-	__u8  subnet_timeout;
-	__u8  init_type_reply;
-	__u8  active_width;
-	__u8  active_speed;
-	__u8  phys_state;
-	__u8  link_layer;
-	__u8  flags;			/* see ib_uverbs_query_port_flags */
-	__u8  reserved;
-};
-
 struct ib_uverbs_alloc_pd {
 	__aligned_u64 response;
 	__aligned_u64 driver_data[0];
diff --git a/include/uapi/rdma/rdma_user_ioctl_cmds.h b/include/uapi/rdma/rdma_user_ioctl_cmds.h
index b2680051047a..7b1ec806f8f9 100644
--- a/include/uapi/rdma/rdma_user_ioctl_cmds.h
+++ b/include/uapi/rdma/rdma_user_ioctl_cmds.h
@@ -84,25 +84,4 @@ struct ib_uverbs_ioctl_hdr {
 	struct ib_uverbs_attr  attrs[0];
 };
 
-enum rdma_driver_id {
-	RDMA_DRIVER_UNKNOWN,
-	RDMA_DRIVER_MLX5,
-	RDMA_DRIVER_MLX4,
-	RDMA_DRIVER_CXGB4,
-	RDMA_DRIVER_MTHCA,
-	RDMA_DRIVER_BNXT_RE,
-	RDMA_DRIVER_OCRDMA,
-	RDMA_DRIVER_NES,
-	RDMA_DRIVER_I40IW,
-	RDMA_DRIVER_VMW_PVRDMA,
-	RDMA_DRIVER_QEDR,
-	RDMA_DRIVER_HNS,
-	RDMA_DRIVER_USNIC,
-	RDMA_DRIVER_RXE,
-	RDMA_DRIVER_HFI1,
-	RDMA_DRIVER_QIB,
-	RDMA_DRIVER_EFA,
-	RDMA_DRIVER_SIW,
-};
-
 #endif
-- 
2.20.1


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

* Re: [PATCH rdma-next] RDMA/uapi: Fix and re-organize the usage of rdma_driver_id
  2019-10-10 12:05 [PATCH rdma-next] RDMA/uapi: Fix and re-organize the usage of rdma_driver_id Leon Romanovsky
@ 2019-10-10 19:20 ` Jason Gunthorpe
  2019-10-15  7:49   ` Leon Romanovsky
  0 siblings, 1 reply; 3+ messages in thread
From: Jason Gunthorpe @ 2019-10-10 19:20 UTC (permalink / raw)
  To: Leon Romanovsky
  Cc: Doug Ledford, Yishai Hadas, RDMA mailing list,
	Potnuri Bharat Teja, Leon Romanovsky

On Thu, Oct 10, 2019 at 03:05:41PM +0300, Leon Romanovsky wrote:
> From: Yishai Hadas <yishaih@mellanox.com>
> 
> Fix 'enum rdma_driver_id' to preserve other driver values before that
> RDMA_DRIVER_CXGB3 was deleted.  As this value is UAPI we can't affect
> other values as of a deletion of one driver id.
> 
> In addition,
> - Expose 'enum rdma_driver_id' to user applications by moving it to
>   ib_user_ioctl_verbs.h which is exposed in rdma-core to applications.
> 
> - Drop the dependency of ib_user_ioctl_verbs.h on ib_user_verbs.h which
>   is not really required.

One change per patch when it is a fixes..

> Fixes: 30e0f6cf5acb ("RDMA/iw_cxgb3: Remove the iw_cxgb3 module from kernel")
> Signed-off-by: Yishai Hadas <yishaih@mellanox.com>
> Signed-off-by: Leon Romanovsky <leonro@mellanox.com>
>  include/uapi/rdma/ib_user_ioctl_verbs.h  | 47 +++++++++++++++++++++++-
>  include/uapi/rdma/ib_user_verbs.h        | 25 -------------
>  include/uapi/rdma/rdma_user_ioctl_cmds.h | 21 -----------
>  3 files changed, 46 insertions(+), 47 deletions(-)
> 
> diff --git a/include/uapi/rdma/ib_user_ioctl_verbs.h b/include/uapi/rdma/ib_user_ioctl_verbs.h
> index 72c7fc75f960..3d703be40012 100644
> +++ b/include/uapi/rdma/ib_user_ioctl_verbs.h
> @@ -35,7 +35,6 @@
>  #define IB_USER_IOCTL_VERBS_H
>  
>  #include <linux/types.h>
> -#include <rdma/ib_user_verbs.h>
>  
>  #ifndef RDMA_UAPI_PTR
>  #define RDMA_UAPI_PTR(_type, _name)	__aligned_u64 _name
> @@ -167,10 +166,56 @@ enum ib_uverbs_advise_mr_flag {
>  	IB_UVERBS_ADVISE_MR_FLAG_FLUSH = 1 << 0,
>  };
>  
> +struct ib_uverbs_query_port_resp {
> +	__u32 port_cap_flags;		/* see ib_uverbs_query_port_cap_flags */
> +	__u32 max_msg_sz;
> +	__u32 bad_pkey_cntr;
> +	__u32 qkey_viol_cntr;
> +	__u32 gid_tbl_len;
> +	__u16 pkey_tbl_len;
> +	__u16 lid;
> +	__u16 sm_lid;
> +	__u8  state;
> +	__u8  max_mtu;
> +	__u8  active_mtu;
> +	__u8  lmc;
> +	__u8  max_vl_num;
> +	__u8  sm_sl;
> +	__u8  subnet_timeout;
> +	__u8  init_type_reply;
> +	__u8  active_width;
> +	__u8  active_speed;
> +	__u8  phys_state;
> +	__u8  link_layer;
> +	__u8  flags;			/* see ib_uverbs_query_port_flags */
> +	__u8  reserved;
> +};

Probably better to move ib_uverbs_query_port_resp_ex, since it is
really more of write() style interface

Jason

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

* Re: [PATCH rdma-next] RDMA/uapi: Fix and re-organize the usage of rdma_driver_id
  2019-10-10 19:20 ` Jason Gunthorpe
@ 2019-10-15  7:49   ` Leon Romanovsky
  0 siblings, 0 replies; 3+ messages in thread
From: Leon Romanovsky @ 2019-10-15  7:49 UTC (permalink / raw)
  To: Jason Gunthorpe
  Cc: Doug Ledford, Yishai Hadas, RDMA mailing list, Potnuri Bharat Teja

On Thu, Oct 10, 2019 at 07:20:57PM +0000, Jason Gunthorpe wrote:
> On Thu, Oct 10, 2019 at 03:05:41PM +0300, Leon Romanovsky wrote:
> > From: Yishai Hadas <yishaih@mellanox.com>
> >
> > Fix 'enum rdma_driver_id' to preserve other driver values before that
> > RDMA_DRIVER_CXGB3 was deleted.  As this value is UAPI we can't affect
> > other values as of a deletion of one driver id.
> >
> > In addition,
> > - Expose 'enum rdma_driver_id' to user applications by moving it to
> >   ib_user_ioctl_verbs.h which is exposed in rdma-core to applications.
> >
> > - Drop the dependency of ib_user_ioctl_verbs.h on ib_user_verbs.h which
> >   is not really required.
>
> One change per patch when it is a fixes..
>
> > Fixes: 30e0f6cf5acb ("RDMA/iw_cxgb3: Remove the iw_cxgb3 module from kernel")
> > Signed-off-by: Yishai Hadas <yishaih@mellanox.com>
> > Signed-off-by: Leon Romanovsky <leonro@mellanox.com>
> >  include/uapi/rdma/ib_user_ioctl_verbs.h  | 47 +++++++++++++++++++++++-
> >  include/uapi/rdma/ib_user_verbs.h        | 25 -------------
> >  include/uapi/rdma/rdma_user_ioctl_cmds.h | 21 -----------
> >  3 files changed, 46 insertions(+), 47 deletions(-)
> >
> > diff --git a/include/uapi/rdma/ib_user_ioctl_verbs.h b/include/uapi/rdma/ib_user_ioctl_verbs.h
> > index 72c7fc75f960..3d703be40012 100644
> > +++ b/include/uapi/rdma/ib_user_ioctl_verbs.h
> > @@ -35,7 +35,6 @@
> >  #define IB_USER_IOCTL_VERBS_H
> >
> >  #include <linux/types.h>
> > -#include <rdma/ib_user_verbs.h>
> >
> >  #ifndef RDMA_UAPI_PTR
> >  #define RDMA_UAPI_PTR(_type, _name)	__aligned_u64 _name
> > @@ -167,10 +166,56 @@ enum ib_uverbs_advise_mr_flag {
> >  	IB_UVERBS_ADVISE_MR_FLAG_FLUSH = 1 << 0,
> >  };
> >
> > +struct ib_uverbs_query_port_resp {
> > +	__u32 port_cap_flags;		/* see ib_uverbs_query_port_cap_flags */
> > +	__u32 max_msg_sz;
> > +	__u32 bad_pkey_cntr;
> > +	__u32 qkey_viol_cntr;
> > +	__u32 gid_tbl_len;
> > +	__u16 pkey_tbl_len;
> > +	__u16 lid;
> > +	__u16 sm_lid;
> > +	__u8  state;
> > +	__u8  max_mtu;
> > +	__u8  active_mtu;
> > +	__u8  lmc;
> > +	__u8  max_vl_num;
> > +	__u8  sm_sl;
> > +	__u8  subnet_timeout;
> > +	__u8  init_type_reply;
> > +	__u8  active_width;
> > +	__u8  active_speed;
> > +	__u8  phys_state;
> > +	__u8  link_layer;
> > +	__u8  flags;			/* see ib_uverbs_query_port_flags */
> > +	__u8  reserved;
> > +};
>
> Probably better to move ib_uverbs_query_port_resp_ex, since it is
> really more of write() style interface

It is already in ib_user_ioctl_verbs.h.

Thanks
>
> Jason

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

end of thread, back to index

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-10-10 12:05 [PATCH rdma-next] RDMA/uapi: Fix and re-organize the usage of rdma_driver_id Leon Romanovsky
2019-10-10 19:20 ` Jason Gunthorpe
2019-10-15  7:49   ` Leon Romanovsky

Linux-RDMA Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linux-rdma/0 linux-rdma/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-rdma linux-rdma/ https://lore.kernel.org/linux-rdma \
		linux-rdma@vger.kernel.org linux-rdma@archiver.kernel.org
	public-inbox-index linux-rdma

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.linux-rdma


AGPL code for this site: git clone https://public-inbox.org/ public-inbox