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