Received: by 2002:a05:6359:c8b:b0:c7:702f:21d4 with SMTP id go11csp453532rwb; Mon, 26 Sep 2022 22:55:57 -0700 (PDT) X-Google-Smtp-Source: AMsMyM6Bv4VKnnYjHiSXB2MN0LQkTN3iOWfj9FIf8KdbN4LTLIleC2+v2YZavaEbLRb1kEG9Mn7B X-Received: by 2002:a17:902:6907:b0:179:c9bc:dd73 with SMTP id j7-20020a170902690700b00179c9bcdd73mr17479892plk.159.1664258157554; Mon, 26 Sep 2022 22:55:57 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1664258157; cv=none; d=google.com; s=arc-20160816; b=okk06IKezYwVJCrnAqg9bBb/LnGyUCvVQDOq+TOMFNmHH2EdcCE2Z9/ihze0egjhdb u0DrMesn+H08ODX4DYrk7VGpOMTy/GxhaJGkkRgyRJvObjn9HJd+i+D0KKuQ3AI/jdrm 51htwFe2gZm+gy0cBUbNTqiTkQniiTRmyZcdw3sxppW5D0QXt2Hcs01F4CrdEu2j8uff 43kDTY1tqEzqXGIFwysmk4Tcsa4jst9F9ne23nfBajyWdgxUHT4w/zmpTMA9W2SmxR5D Tr5FXXNquCs3NMGjhUvJ9OjuO0Iz2tRevshtJCLA83EalH81GEKtSl6G4ZfH1Ra1ky87 Lw7A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=HKTR+rhZuoIfMiG0AFm2xIWzSWoaKMrwrzsiiEmX8Uw=; b=IyYTKM4qNT2j6uaA21xdeHNkWoW/cuh0Sv70RvAuF6khYpCxXwksiMR3xcJX4r3+v2 JpZQrwU6z+JWriGOYrxITymvaeAyVZ6aeUvj8f2r/bHQ43Dg+e2TDT9jx91/8Ym6Y4sk zYzIHFftefzueQ2Ajy/B+oTu6ri8X6BH2aEaKDZS7PpgfhybuViER6SUnEAlmvkvgGMc K00/axdwcEK2ksi16I4UzFcITr1znFzVez6sDXmlMPiIkpbyE/UauOGF1WKW4nPxab4h 2EbC/xPNVNAw6RynYvi8SsvvnNBD4qlQv1FJCYBlH9qkxUkgAkErXfimdYlD4Doe9vSS 7lWQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=fujitsu.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id ay5-20020a056a00300500b0053e5ac66c3csi1071027pfb.38.2022.09.26.22.55.46; Mon, 26 Sep 2022 22:55:57 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=fujitsu.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229834AbiI0FyM (ORCPT + 99 others); Tue, 27 Sep 2022 01:54:12 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52810 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229489AbiI0FyG (ORCPT ); Tue, 27 Sep 2022 01:54:06 -0400 Received: from esa11.hc1455-7.c3s2.iphmx.com (esa11.hc1455-7.c3s2.iphmx.com [207.54.90.137]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0135797500; Mon, 26 Sep 2022 22:54:04 -0700 (PDT) X-IronPort-AV: E=McAfee;i="6500,9779,10482"; a="69512577" X-IronPort-AV: E=Sophos;i="5.93,348,1654527600"; d="scan'208";a="69512577" Received: from unknown (HELO oym-r1.gw.nic.fujitsu.com) ([210.162.30.89]) by esa11.hc1455-7.c3s2.iphmx.com with ESMTP; 27 Sep 2022 14:54:03 +0900 Received: from oym-m1.gw.nic.fujitsu.com (oym-nat-oym-m1.gw.nic.fujitsu.com [192.168.87.58]) by oym-r1.gw.nic.fujitsu.com (Postfix) with ESMTP id 8CFBEE756C; Tue, 27 Sep 2022 14:54:01 +0900 (JST) Received: from kws-ab1.gw.nic.fujitsu.com (kws-ab1.gw.nic.fujitsu.com [192.51.206.11]) by oym-m1.gw.nic.fujitsu.com (Postfix) with ESMTP id A2CC2D995A; Tue, 27 Sep 2022 14:54:00 +0900 (JST) Received: from FNSTPC.g08.fujitsu.local (unknown [10.167.226.45]) by kws-ab1.gw.nic.fujitsu.com (Postfix) with ESMTP id 78CB011403D7; Tue, 27 Sep 2022 14:53:59 +0900 (JST) From: Li Zhijian To: Bob Pearson , Leon Romanovsky , Jason Gunthorpe , linux-rdma@vger.kernel.org Cc: Zhu Yanjun , yangx.jy@fujitsu.com, y-goto@fujitsu.com, mbloch@nvidia.com, liangwenpeng@huawei.com, tom@talpey.com, tomasz.gromadzki@intel.com, dan.j.williams@intel.com, linux-kernel@vger.kernel.org, Li Zhijian Subject: [for-next PATCH v5 02/11] RDMA: Extend RDMA user ABI to support flush Date: Tue, 27 Sep 2022 13:53:28 +0800 Message-Id: <20220927055337.22630-3-lizhijian@fujitsu.com> X-Mailer: git-send-email 2.36.0 In-Reply-To: <20220927055337.22630-1-lizhijian@fujitsu.com> References: <20220927055337.22630-1-lizhijian@fujitsu.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-TM-AS-GCONF: 00 X-TM-AS-Product-Ver: IMSS-9.1.0.1408-9.0.0.1002-27166.005 X-TM-AS-User-Approved-Sender: Yes X-TMASE-Version: IMSS-9.1.0.1408-9.0.1002-27166.005 X-TMASE-Result: 10--7.877900-10.000000 X-TMASE-MatchedRID: DVl2cimgKao3i8FXueJ7nioiRKlBVkYI4Tk+Ydnj9Rsv82KK+I057r/E Sxz77lNODCNnb8CrvNq12HagvbwDji/7QU2czuUNA9lly13c/gFzq96Ia33704pLyz8UyqY4B4c sVfC2ODTckbaA+VOyo5fwx8YL6OA6IWERHkBDPUlBDn6Fjq77jpULM5ZpFgIpnhD4vcFcha4fJg 2kkQhA79l7+hrY7FlcVfvWvmVRqVkfE8yM4pjsDwtuKBGekqUpI/NGWt0UYPDut4Vvp8ZKp0rl8 UwqZvKb8FW04FsKkQ7HPI+7Kko/4xoVg1riyt42 X-TMASE-SNAP-Result: 1.821001.0001-0-1-22:0,33:0,34:0-0 X-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_MED, SPF_HELO_PASS,SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This commit extends the RDMA user ABI to support the flush operation defined in IBA A19.4.1. These changes are backwards compatible with the existing RDMA user ABI. Signed-off-by: Li Zhijian --- V5: new names and new patch split scheme, suggested by Bob --- include/uapi/rdma/ib_user_ioctl_verbs.h | 2 ++ include/uapi/rdma/ib_user_verbs.h | 16 ++++++++++++++++ 2 files changed, 18 insertions(+) diff --git a/include/uapi/rdma/ib_user_ioctl_verbs.h b/include/uapi/rdma/ib_user_ioctl_verbs.h index 7dd56210226f..07b105e22f6f 100644 --- a/include/uapi/rdma/ib_user_ioctl_verbs.h +++ b/include/uapi/rdma/ib_user_ioctl_verbs.h @@ -57,6 +57,8 @@ enum ib_uverbs_access_flags { IB_UVERBS_ACCESS_ZERO_BASED = 1 << 5, IB_UVERBS_ACCESS_ON_DEMAND = 1 << 6, IB_UVERBS_ACCESS_HUGETLB = 1 << 7, + IB_UVERBS_ACCESS_FLUSH_GLOBAL = 1 << 8, + IB_UVERBS_ACCESS_FLUSH_PERSISTENT = 1 << 9, IB_UVERBS_ACCESS_RELAXED_ORDERING = IB_UVERBS_ACCESS_OPTIONAL_FIRST, IB_UVERBS_ACCESS_OPTIONAL_RANGE = diff --git a/include/uapi/rdma/ib_user_verbs.h b/include/uapi/rdma/ib_user_verbs.h index 43672cb1fd57..2d5f32d9d0d9 100644 --- a/include/uapi/rdma/ib_user_verbs.h +++ b/include/uapi/rdma/ib_user_verbs.h @@ -105,6 +105,18 @@ enum { IB_USER_VERBS_EX_CMD_MODIFY_CQ }; +/* see IBA A19.4.1.1 Placement Types */ +enum ib_placement_type { + IB_FLUSH_GLOBAL = 1U << 0, + IB_FLUSH_PERSISTENT = 1U << 1, +}; + +/* see IBA A19.4.1.2 Selectivity Level */ +enum ib_selectivity_level { + IB_FLUSH_RANGE = 0, + IB_FLUSH_MR, +}; + /* * Make sure that all structs defined in this file remain laid out so * that they pack the same way on 32-bit and 64-bit architectures (to @@ -466,6 +478,7 @@ enum ib_uverbs_wc_opcode { IB_UVERBS_WC_BIND_MW = 5, IB_UVERBS_WC_LOCAL_INV = 6, IB_UVERBS_WC_TSO = 7, + IB_UVERBS_WC_FLUSH = 8, }; struct ib_uverbs_wc { @@ -784,6 +797,7 @@ enum ib_uverbs_wr_opcode { IB_UVERBS_WR_RDMA_READ_WITH_INV = 11, IB_UVERBS_WR_MASKED_ATOMIC_CMP_AND_SWP = 12, IB_UVERBS_WR_MASKED_ATOMIC_FETCH_AND_ADD = 13, + IB_UVERBS_WR_FLUSH = 14, /* Review enum ib_wr_opcode before modifying this */ }; @@ -1331,6 +1345,8 @@ enum ib_uverbs_device_cap_flags { /* Deprecated. Please use IB_UVERBS_RAW_PACKET_CAP_SCATTER_FCS. */ IB_UVERBS_DEVICE_RAW_SCATTER_FCS = 1ULL << 34, IB_UVERBS_DEVICE_PCI_WRITE_END_PADDING = 1ULL << 36, + IB_UVERBS_DEVICE_FLUSH_GLOBAL = 1ULL << 38, + IB_UVERBS_DEVICE_FLUSH_PERSISTENT = 1ULL << 39, }; enum ib_uverbs_raw_packet_caps { -- 2.31.1