From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-4.1 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS, USER_AGENT_GIT autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 63FECC28CBC for ; Wed, 6 May 2020 08:24:50 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 3EE4B20735 for ; Wed, 6 May 2020 08:24:50 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1588753490; bh=/WPfbJquieUPIKiO6Ciow9laJ/MI4AxasPfQ3zVwzko=; h=From:To:Cc:Subject:Date:List-ID:From; b=TSo5iKOerSprcTOl6H1G0ceFBp7vR8bA0GCINZNTvAKgY+E+5Hz1tygFcHTAb0DlU REWugy1rZa9cL1ItQLaBgjEIUVtQ9Uegg2eEXq6qLalS0hDJ0b5AHeDgDqgtt9DYNn 4SMomeWfl2swxmJ7ojvvxcCYotfVhjEqqJ3LmmCQ= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728366AbgEFIYt (ORCPT ); Wed, 6 May 2020 04:24:49 -0400 Received: from mail.kernel.org ([198.145.29.99]:59772 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727956AbgEFIYt (ORCPT ); Wed, 6 May 2020 04:24:49 -0400 Received: from localhost (unknown [213.57.247.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 7CF51206E6; Wed, 6 May 2020 08:24:48 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1588753489; bh=/WPfbJquieUPIKiO6Ciow9laJ/MI4AxasPfQ3zVwzko=; h=From:To:Cc:Subject:Date:From; b=TTmO/ni6FB69UC8PUWqYLqi4YFZHPwoQyrwKQpYksGaz95suoRvRgGjUIXXp3byFB CPKsFPJLQlu/USduvGkEOVQKkLQcpQttLEtuIICQe5EghQHufB+jY5OJMKBAw8NuVC X2e8DpayLM5q+m3TWnkhxvl1vLT2JbjO5EGKc3e8= From: Leon Romanovsky To: Doug Ledford , Jason Gunthorpe Cc: Leon Romanovsky , linux-kernel@vger.kernel.org, linux-rdma@vger.kernel.org, Sagi Grimberg , Yishai Hadas Subject: [PATCH rdma-next v1 00/10] Enable asynchronous event FD per object Date: Wed, 6 May 2020 11:24:34 +0300 Message-Id: <20200506082444.14502-1-leon@kernel.org> X-Mailer: git-send-email 2.26.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-rdma-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-rdma@vger.kernel.org From: Leon Romanovsky Changelog: v1: 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 (2): RDMA/core: Allow the ioctl layer to abort a fully created uobject RDMA/core: Consolidate ib_create_srq flows Yishai Hadas (8): 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: Cleanup wq/srq context usage from uverbs layer IB/uverbs: Move QP, SRQ, WQ type and flags to UAPI IB/uverbs: Introduce create/destroy SRQ commands over ioctl IB/uverbs: Fix create WQ to use the given user handle 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 | 28 +- drivers/infiniband/core/rdma_core.h | 7 +- drivers/infiniband/core/uverbs.h | 21 +- drivers/infiniband/core/uverbs_cmd.c | 73 ++-- 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 | 233 ++++++++++ drivers/infiniband/core/uverbs_std_types_wq.c | 194 +++++++++ drivers/infiniband/core/uverbs_uapi.c | 3 + drivers/infiniband/core/verbs.c | 29 +- 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 | 75 ++-- 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 ++ 24 files changed, 1163 insertions(+), 247 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