On Tue, Apr 03, 2018 at 03:14:21PM -0600, Jason Gunthorpe wrote: > On Sun, Apr 01, 2018 at 03:08:02PM +0300, Leon Romanovsky wrote: > > From: Ariel Levkovich <lariel@xxxxxxxxxxxx> > > > > This change adds uverbs support for allocation/freeing > > of device memory commands. > > > > A new uverbs object is defined of type idr to represent > > and track the new resource type allocation per context. > > > > The API requires provider driver to implement 2 new ib_device > > callbacks - one for allocation and one for deallocation which > > return and accept (respectively) the ib_dm object which represents > > the allocated memory on the device. > > > > The support is added via the ioctl command infrastructure > > only. > > > > Signed-off-by: Ariel Levkovich <lariel@xxxxxxxxxxxx> > > Signed-off-by: Leon Romanovsky <leonro@xxxxxxxxxxxx> > > drivers/infiniband/core/Makefile | 2 +- > > drivers/infiniband/core/uverbs.h | 2 + > > drivers/infiniband/core/uverbs_std_types.c | 3 +- > > drivers/infiniband/core/uverbs_std_types_dm.c | 108 ++++++++++++++++++++++++++ > > include/rdma/ib_verbs.h | 20 ++++- > > include/uapi/rdma/ib_user_ioctl_cmds.h | 15 ++++ > > 6 files changed, 147 insertions(+), 3 deletions(-) > > create mode 100644 drivers/infiniband/core/uverbs_std_types_dm.c > > > > diff --git a/drivers/infiniband/core/Makefile b/drivers/infiniband/core/Makefile > > index 445c5504f605..636da34f8308 100644 > > +++ b/drivers/infiniband/core/Makefile > > @@ -35,4 +35,4 @@ ib_ucm-y := ucm.o > > ib_uverbs-y := uverbs_main.o uverbs_cmd.o uverbs_marshall.o \ > > rdma_core.o uverbs_std_types.o uverbs_ioctl.o \ > > uverbs_ioctl_merge.o uverbs_std_types_cq.o \ > > - uverbs_std_types_flow_action.o > > + uverbs_std_types_flow_action.o uverbs_std_types_dm.o > > diff --git a/drivers/infiniband/core/uverbs.h b/drivers/infiniband/core/uverbs.h > > index 3229e87d03cb..4c3f3288c284 100644 > > +++ b/drivers/infiniband/core/uverbs.h > > @@ -234,6 +234,7 @@ int ib_uverbs_dealloc_xrcd(struct ib_uverbs_device *dev, struct ib_xrcd *xrcd, > > enum rdma_remove_reason why); > > > > int uverbs_dealloc_mw(struct ib_mw *mw); > > +int uverbs_dealloc_dm(struct ib_dm *dm); > > This function is never defined.. This is the whole purpose of this series, no? > > Jason
Attachment:
signature.asc
Description: PGP signature