On 5/6/2020 12:41 PM, Yishai Hadas wrote:
This series enables applicable events objects (i.e. QP, SRQ, CQ, WQ) to be created with their own asynchronous event FD from KABI point of view. 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. For example, a secondary process that uses the same command FD as of the primary 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. Further series on top of this one may expose some option to an application to ask for a dedicated FD for its usage instead of using the default one, this may enable achieving the above use case. 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 part of kernel side. As we prefer to not extend the 'write' mode KABIs anymore and fully move to the 'ioct' mode, 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 few bugs were found and fixed. The matching kernel part was sent into rdma-next. PR: https://github.com/linux-rdma/rdma-core/pull/753 Jason Gunthorpe (1): mlx4: Delete comp_mask from verbs_srq Yishai Hadas (7): Update kernel headers verbs: Extend CQ KABI to get an async FD verbs: Fix ibv_get_srq_num() man page verbs: Move SRQ create and destroy to ioctl verbs: Fix ibv_create_wq() to set wq_context verbs: Move WQ create and destroy to ioctl verbs: Move QP create and destroy commands to ioctl kernel-headers/rdma/ib_user_ioctl_cmds.h | 81 +++++ kernel-headers/rdma/ib_user_ioctl_verbs.h | 43 +++ libibverbs/CMakeLists.txt | 3 + libibverbs/cmd.c | 481 ------------------------------ libibverbs/cmd_cq.c | 7 +- libibverbs/cmd_fallback.c | 2 +- libibverbs/cmd_qp.c | 476 +++++++++++++++++++++++++++++ libibverbs/cmd_srq.c | 279 +++++++++++++++++ libibverbs/cmd_wq.c | 173 +++++++++++ libibverbs/driver.h | 25 +- libibverbs/kern-abi.h | 11 + libibverbs/man/ibv_get_srq_num.3.md | 2 +- libibverbs/verbs.c | 14 - libibverbs/verbs.h | 1 + providers/efa/verbs.c | 2 +- providers/mlx4/mlx4.c | 2 +- providers/mlx4/mlx4.h | 1 + providers/mlx4/srq.c | 1 - providers/mlx4/verbs.c | 17 +- providers/mlx5/verbs.c | 16 +- 20 files changed, 1104 insertions(+), 533 deletions(-) create mode 100644 libibverbs/cmd_qp.c create mode 100644 libibverbs/cmd_srq.c create mode 100644 libibverbs/cmd_wq.c
The PR was merged. Yishai