On Thu, Feb 07, 2019 at 06:44:46PM +0200, Shamir Rabinovitch wrote: > This patch set continue the cleanup started with Jason RFC patch. This > patch set clean only the ib_xxx creation APIs because those APIs do have > ib_udata. > > The final goal of this cleanup is to remove the dependency in the IB > code in the ib_xxx->uobject pointer as step toward shared ib_xxx > objects. > > Changelog: > > v3: > - Jason: Modify helper rdma_udata_to_drv_context > - Jason: Remove helper rdma_get_ucontext > - Christoph Hellwig: Leave ib_udata as center of the user/kernel > control flow > > v2: > - Jason: Add the ib_ucontext to the attr bundle and make sure > rdma_get_ucontext can't fail > - Jason: Add helper macro to the the driver's context out of > ib_udata > - Leon: Un needed tests in mlx4_ib_db_unmap_user > > > Shamir Rabinovitch (3): > IB/uverbs: add ib_ucontext to uverbs_attr_bundle sent from ioctl and > cmd flows > IB/verbs: add helper function rdma_udata_to_drv_context > IB/{hw,sw}: remove 'uobject->context' dependency in object creation > APIs Applied to for-next, with a number of revisions - Needed rebasing - Fixes compilation failures in HNS. Enable COMPILE_TEST to get all drivers turned on in .config - Minor re-formatting - Few missed conversion places in mlx5 raw qp and devx Please check over the patches I pushed to wip/jgg-for-next The next logical series is to add udata parameters to all the destroy functions and get rid of their references to udata->context. I would like to get to a point where uobj->context is never seen in any drivers, it will be really close after the destroy change. Also, it would make sense to me to now clean up all the ops signatures that pass both a ucontext and a udata - we should never pass both, just pass the udata. Would you do that rationalization too? Thanks, Jason