* [PATCH rdma-next v2 0/7] Enable asynchronous event FD per object
@ 2020-05-19 7:27 Leon Romanovsky
2020-05-21 23:50 ` Jason Gunthorpe
0 siblings, 1 reply; 2+ messages in thread
From: Leon Romanovsky @ 2020-05-19 7:27 UTC (permalink / raw)
To: Doug Ledford, Jason Gunthorpe
Cc: Leon Romanovsky, linux-kernel, linux-rdma, Yishai Hadas
From: Leon Romanovsky <leonro@mellanox.com>
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@kernel.org
* 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@kernel.org
-------------------------------------------------------------------------------
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
drivers/infiniband/core/Makefile | 5 +-
drivers/infiniband/core/rdma_core.c | 25 +-
drivers/infiniband/core/rdma_core.h | 7 +-
drivers/infiniband/core/uverbs.h | 21 +-
drivers/infiniband/core/uverbs_cmd.c | 27 +-
drivers/infiniband/core/uverbs_ioctl.c | 22 +-
drivers/infiniband/core/uverbs_main.c | 16 +-
drivers/infiniband/core/uverbs_std_types.c | 95 -----
drivers/infiniband/core/uverbs_std_types_cq.c | 17 +-
drivers/infiniband/core/uverbs_std_types_mr.c | 12 +-
drivers/infiniband/core/uverbs_std_types_qp.c | 401 ++++++++++++++++++
.../infiniband/core/uverbs_std_types_srq.c | 234 ++++++++++
drivers/infiniband/core/uverbs_std_types_wq.c | 194 +++++++++
drivers/infiniband/core/uverbs_uapi.c | 3 +
drivers/infiniband/hw/mlx5/devx.c | 10 +-
drivers/infiniband/hw/mlx5/main.c | 24 +-
drivers/infiniband/hw/mlx5/qos.c | 13 +-
include/rdma/ib_verbs.h | 48 ++-
include/rdma/uverbs_ioctl.h | 3 +
include/rdma/uverbs_std_types.h | 2 +-
include/rdma/uverbs_types.h | 3 +-
include/uapi/rdma/ib_user_ioctl_cmds.h | 81 ++++
include/uapi/rdma/ib_user_ioctl_verbs.h | 43 ++
23 files changed, 1122 insertions(+), 184 deletions(-)
create mode 100644 drivers/infiniband/core/uverbs_std_types_qp.c
create mode 100644 drivers/infiniband/core/uverbs_std_types_srq.c
create mode 100644 drivers/infiniband/core/uverbs_std_types_wq.c
--
2.26.2
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [PATCH rdma-next v2 0/7] Enable asynchronous event FD per object
2020-05-19 7:27 [PATCH rdma-next v2 0/7] Enable asynchronous event FD per object Leon Romanovsky
@ 2020-05-21 23:50 ` Jason Gunthorpe
0 siblings, 0 replies; 2+ messages in thread
From: Jason Gunthorpe @ 2020-05-21 23:50 UTC (permalink / raw)
To: Leon Romanovsky
Cc: Doug Ledford, Leon Romanovsky, linux-kernel, linux-rdma, Yishai Hadas
On Tue, May 19, 2020 at 10:27:04AM +0300, Leon Romanovsky wrote:
> From: Leon Romanovsky <leonro@mellanox.com>
>
> 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@kernel.org
> * 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@kernel.org
>
> >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
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2020-05-21 23:50 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-19 7:27 [PATCH rdma-next v2 0/7] Enable asynchronous event FD per object Leon Romanovsky
2020-05-21 23:50 ` Jason Gunthorpe
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome