Re: [PATCH rdma-next 1/2] RDMA: Pass entire uverbs attr bundle to create cq function

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Jun 18, 2024 at 07:05:59PM +0300, Leon Romanovsky wrote:
> On Tue, Jun 18, 2024 at 10:08:54AM -0300, Jason Gunthorpe wrote:
> > On Tue, Jun 18, 2024 at 08:05:57AM +0300, Leon Romanovsky wrote:
> > > On Mon, Jun 17, 2024 at 05:10:03PM -0300, Jason Gunthorpe wrote:
> > > > On Mon, Jun 17, 2024 at 06:49:47PM +0300, Leon Romanovsky wrote:
> > > > > On Mon, Jun 17, 2024 at 10:44:09AM -0300, Jason Gunthorpe wrote:
> > > > > > On Sun, Jun 16, 2024 at 07:15:57PM +0300, Leon Romanovsky wrote:
> > > > > > 
> > > > > > > @@ -63,6 +63,7 @@ enum uverbs_default_objects {
> > > > > > >  enum {
> > > > > > >  	UVERBS_ATTR_UHW_IN = UVERBS_UDATA_DRIVER_DATA_FLAG,
> > > > > > >  	UVERBS_ATTR_UHW_OUT,
> > > > > > > +	UVERBS_ATTR_UHW_DRIVER_DATA,
> > > > > > 
> > > > > > The start of the driver's attributes is not a "UHW", the UHW is only
> > > > > > the old structs.
> > > > > 
> > > > > I asked from Akiva to keep existing naming convention UVERBS_ATTR_UHW_XXX
> > > > > to emphasize the namespace and the position of this attribute as
> > > > > relevant for existing UHW calls.
> > > > 
> > > > Well, calling it DRIVER_DATA and UHW is very confusing when it is
> > > > really the start of the indexing for drivers that use UHW.
> > > > 
> > > > A better name is needed
> > > 
> > > UVERBS_ATTR_UHW_PRIVATE ????
> > 
> > I think it need to have the word "start" in it, because it is the
> > start of numbers, not an actual number itself.
> 
> UVERBS_ATTR_UHW_DRIVER_DATA_START ????
> What do you suggest instead?

How about:

diff --git a/include/uapi/rdma/ib_user_ioctl_cmds.h b/include/uapi/rdma/ib_user_ioctl_cmds.h
index dafc7ebe545b8d..e9322f66cd2dec 100644
--- a/include/uapi/rdma/ib_user_ioctl_cmds.h
+++ b/include/uapi/rdma/ib_user_ioctl_cmds.h
@@ -37,9 +37,6 @@
 #define UVERBS_ID_NS_MASK 0xF000
 #define UVERBS_ID_NS_SHIFT 12
 
-#define UVERBS_UDATA_DRIVER_DATA_NS    1
-#define UVERBS_UDATA_DRIVER_DATA_FLAG  (1UL << UVERBS_ID_NS_SHIFT)
-
 enum uverbs_default_objects {
        UVERBS_OBJECT_DEVICE, /* No instances of DEVICE are allowed */
        UVERBS_OBJECT_PD,
@@ -61,8 +58,10 @@ enum uverbs_default_objects {
 };
 
 enum {
-       UVERBS_ATTR_UHW_IN = UVERBS_UDATA_DRIVER_DATA_FLAG,
+       UVERBS_ID_DRIVER_NS = 1U << UVERBS_ID_NS_SHIFT,
+       UVERBS_ATTR_UHW_IN = UVERBS_ID_DRIVER_NS,
        UVERBS_ATTR_UHW_OUT,
+       UVERBS_ID_DRIVER_NS_WITH_UHW,
 };
 
 enum uverbs_methods_device {

And recommend replacing the open coded UVERBS_ID_DRIVER_NS all over
the place.

> > It is also not PRIVATE at all, this is just in the device specific
> > space number space, not the core space.
> 
> Private in the sense of driver specific, like net_priv().

It is not a private, it is a namespace, that is the naming that was
used here.

Jason




[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux