On Tue, May 19, 2020 at 10:27:04AM +0300, Leon Romanovsky wrote: > From: Leon Romanovsky <leonro@xxxxxxxxxxxx> > > Changelog: > v2: > * Added READ_ONCE to all default_async_file calls > * Rebased on latest rdma/wip/jgg-for-next > * Removed uninitalized_var?() > * Simplified uverbs_free_srq() > * Put uverbs_finalize_uobj_create() after object is finalized > v1: https://lore.kernel.org/lkml/20200506082444.14502-1-leon@xxxxxxxxxx > * Forgot to add patch "IB/uverbs: Move QP, SRQ, WQ type and flags to UAPI" > v0: https://lore.kernel.org/lkml/20200506074049.8347-1-leon@xxxxxxxxxx > > >From Yishai: > > This series enables applicable events objects (i.e. QP, SRQ, CQ, WQ) to > be created with their own asynchronous event FD. > > Before this series any affiliated event on an object was reported on the > first asynchronous event FD that was created on the context without the > ability to create and use a dedicated FD for it. > > With this series we enable granularity and control for the usage per > object, according to the application's usage. > > For example, a secondary process that uses the same command FD as of the > master one, can create its own objects with its dedicated event FD to be > able to get the events for them once occurred, this couldn't be done > before this series. > > To achieve the above, any 'create' method for the applicable objects was > extended to get from rdma-core its optional event FD, if wasn't > supplied, the default one from the context will be used. > > As we prefer to not extend the 'write' mode KABIs anymore and fully > move to the 'ioct' mode, as part of this extension QP, SRQ and WQ > create/destroy commands were introduced over 'ioctl', the CQ KABI was > extended over its existing 'ioctl' create command. > > As part of moving to 'ioctl' for the above objects the frame work was > improved to abort a fully created uobject upon some later error, some > flows were consolidated with the 'write' mode and few bugs were found > and fixed. > > Yishai > > Jason Gunthorpe (1): > RDMA/core: Allow the ioctl layer to abort a fully created uobject > > Yishai Hadas (6): > IB/uverbs: Refactor related objects to use their own asynchronous > event FD > IB/uverbs: Extend CQ to get its own asynchronous event FD > IB/uverbs: Move QP, SRQ, WQ type and flags to UAPI > IB/uverbs: Introduce create/destroy SRQ commands over ioctl > IB/uverbs: Introduce create/destroy WQ commands over ioctl > IB/uverbs: Introduce create/destroy QP commands over ioctl Applied to for-next Thanks, Jason