Re: [PATCH 02/10] IB/uverbs: Build the specs into a radix tree at runtime

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

 



On Thu, Aug 09, 2018 at 10:43:16AM +0300, Leon Romanovsky wrote:
> On Fri, Aug 03, 2018 at 01:31:35PM -0600, Jason Gunthorpe wrote:
> > From: Jason Gunthorpe <jgg@xxxxxxxxxxxx>
> >
> > This radix tree datastructure is intended to replace the 'hash' structure
> > used today for parsing ioctl methods during system calls. This first
> > commit introduces the structure and builds it from the existing .rodata
> > descriptions.
> >
> > The so-called hash arrangement is actually a 5 level open coded radix tree.
> > This new version uses a 3 level radix tree built using the radix tree
> > library.
> >
> > Overall this is much less code and much easier to build as the radix tree
> > API allows for dynamic modification during the building. There is a small
> > memory penalty to pay for this, but since the radix tree is allocated on
> > a per device basis, a few kb of RAM seems immaterial considering the
> > gained simplicity.
> >
> > The radix tree is similar to the existing tree, but also has a 'attr_bkey'
> > concept, which is a small value'd index for each method attribute. This is
> > used to simplify and improve performance of everything in the next
> > patches.
> >
> > Signed-off-by: Jason Gunthorpe <jgg@xxxxxxxxxxxx>
> >  drivers/infiniband/core/Makefile      |   3 +-
> >  drivers/infiniband/core/rdma_core.h   |  50 ++++
> >  drivers/infiniband/core/uverbs.h      |   1 +
> >  drivers/infiniband/core/uverbs_main.c |  14 +-
> >  drivers/infiniband/core/uverbs_uapi.c | 350 ++++++++++++++++++++++++++
> >  include/rdma/uverbs_ioctl.h           | 137 ++++++++++
> >  6 files changed, 552 insertions(+), 3 deletions(-)
> >  create mode 100644 drivers/infiniband/core/uverbs_uapi.c
> >
> 
> IMHO, this part should be implemented over xArray.

Probably, right now xarray only exists in -next, if it gets merged to
Linus's tree in the next cycle then we can switch this, at the present
moment there is no option..

Jason

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[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