On Tue, May 07, 2019 at 03:54:45PM +0000, Bernard Metzler wrote: > > >To: "Bernard Metzler" <BMT@xxxxxxxxxxxxxx> > >From: "Leon Romanovsky" <leon@xxxxxxxxxx> > >Date: 05/05/2019 07:10PM > >Cc: linux-rdma@xxxxxxxxxxxxxxx, "Bernard Metzler" > ><bmt@xxxxxxxxxxxxxxxxxxx> > >Subject: Re: [PATCH v8 02/12] SIW main include file > > > >On Sun, May 05, 2019 at 04:54:50PM +0000, Bernard Metzler wrote: > >> > >> >To: "Bernard Metzler" <bmt@xxxxxxxxxxxxxx> > >> >From: "Leon Romanovsky" <leon@xxxxxxxxxx> > >> >Date: 04/28/2019 01:07PM > >> >Cc: linux-rdma@xxxxxxxxxxxxxxx, "Bernard Metzler" > >> ><bmt@xxxxxxxxxxxxxxxxxxx> > >> >Subject: Re: [PATCH v8 02/12] SIW main include file > >> > > >> >On Fri, Apr 26, 2019 at 03:18:42PM +0200, Bernard Metzler wrote: > >> >> From: Bernard Metzler <bmt@xxxxxxxxxxxxxxxxxxx> > >> >> > >> >> Signed-off-by: Bernard Metzler <bmt@xxxxxxxxxxxxxx> > >> >> drivers/infiniband/sw/siw/siw.h | 733 > >> >++++++++++++++++++++++++++++++++ > >> >> 1 file changed, 733 insertions(+) > >> >> create mode 100644 drivers/infiniband/sw/siw/siw.h > >> >> > >> >> diff --git a/drivers/infiniband/sw/siw/siw.h > >> >b/drivers/infiniband/sw/siw/siw.h > >> >> new file mode 100644 > >> >> index 000000000000..9a3c2abbd858 > >> >> +++ b/drivers/infiniband/sw/siw/siw.h > >> >> @@ -0,0 +1,733 @@ > >> >> +/* SPDX-License-Identifier: GPL-2.0 or BSD-3-Clause */ > >> >> + > >> >> +/* Authors: Bernard Metzler <bmt@xxxxxxxxxxxxxx> */ > >> >> +/* Copyright (c) 2008-2019, IBM Corporation */ > >> >> + > >> >> +#ifndef _SIW_H > >> >> +#define _SIW_H > >> >> + > >> >> +#include <linux/idr.h> > >> >> +#include <rdma/ib_verbs.h> > >> >> +#include <linux/socket.h> > >> >> +#include <linux/skbuff.h> > >> >> +#include <linux/in.h> > >> >> +#include <linux/fs.h> > >> >> +#include <linux/netdevice.h> > >> >> +#include <crypto/hash.h> > >> >> +#include <linux/resource.h> /* MLOCK_LIMIT */ > >> >> +#include <linux/module.h> > >> >> +#include <linux/version.h> > >> >> +#include <linux/llist.h> > >> >> +#include <linux/mm.h> > >> >> +#include <linux/sched/signal.h> > >> >> + > >> >> +#include <rdma/siw_user.h> > >> >> +#include "iwarp.h" > >> >> + > >> >> +/* driver debugging enabled */ > >> >> +#define DEBUG > >> > > >> >I clearly remember that we asked to remove this. > >> > >> Absolutely. Sorry, it sneaked in again since I did some > >> debugging. Will remove... > >> > > >> >> + spinlock_t lock; > >> >> + > >> >> + /* object management */ > >> >> + struct idr qp_idr; > >> >> + struct idr mem_idr; > >> > > >> >Why IDR and not XArray? > >> > >> Memory access keys and QP IDs are generated as random > >> numbers, since both are exposed to the application. > >> Since XArray is not designed for sparsely distributed > >> id ranges, I am still in favor of IDR for these two > >> resources. IDR and xarray have identical underlying storage so this is nonsense No new idr's or radix tree users will be accepted into rdma.... Use xarray Jason