From: Leon Romanovsky <leonro@xxxxxxxxxxxx> Hi, This series is dependent on mlx5-next targeted branch. https://patchwork.kernel.org/patch/10771863/ >From Yishai: ------------------------------------------------------------------------------ This series enables querying a DEVX object in an asynchronous mode. The userspace application won't block when calling the firmware and it will be able to get the response back once that it will be ready. To enable the above functionality: - DEVX asynchronous command completion FD object was introduced. - The applicable file operations were implemented to enable using it by the user application. - Query asynchronous method was added to the DEVX object, it will call the firmware asynchronously and manages the response on the given input FD. - Hot unplug support was added for the FD to work properly upon unbind/disassociate. - mlx5 core fence for asynchronous commands was implemented and used to prevent racing upon unbind/disassociate. Thanks Yishai Hadas (4): IB/mlx5: Introduce MLX5_IB_OBJECT_DEVX_ASYNC_CMD_FD IB/mlx5: Introduce async DEVX obj query API IB/mlx5: Implement the file ops of DEVX async command FD IB/mlx5: Implement DEVX hot unplug for async command FD drivers/infiniband/core/rdma_core.c | 1 + drivers/infiniband/core/uverbs_uapi.c | 15 +- drivers/infiniband/hw/mlx5/devx.c | 318 +++++++++++++++++++++- include/rdma/uverbs_types.h | 1 + include/uapi/rdma/mlx5_user_ioctl_cmds.h | 18 ++ include/uapi/rdma/mlx5_user_ioctl_verbs.h | 5 + 6 files changed, 352 insertions(+), 6 deletions(-) -- 2.19.1