From patchwork Tue Feb 26 09:18:59 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gal Pressman X-Patchwork-Id: 10829745 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 4629D1515 for ; Tue, 26 Feb 2019 09:19:41 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 33FF02AF1F for ; Tue, 26 Feb 2019 09:19:41 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 27A592AF22; Tue, 26 Feb 2019 09:19:41 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 9C3C02AF1F for ; Tue, 26 Feb 2019 09:19:40 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727426AbfBZJTj (ORCPT ); Tue, 26 Feb 2019 04:19:39 -0500 Received: from smtp-fw-2101.amazon.com ([72.21.196.25]:51193 "EHLO smtp-fw-2101.amazon.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725941AbfBZJTj (ORCPT ); Tue, 26 Feb 2019 04:19:39 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amazon.com; i=@amazon.com; q=dns/txt; s=amazon201209; t=1551172778; x=1582708778; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version; bh=wJ5Tfww1MChF3DVG7PP4pjjisQ43+/MKM7hg5NUpTlI=; b=eAZH9Ix/7sWExtXa9sx37VaENWChA0fAqX3CQr0uD49MLBEMXVs8fD0Z nPmcVJYl/ls8bb86zwH3pC/NBegjHqRRh+HAFG2Dq7rCtJXWuf+0jAtei xnKiv7CE4ljPzzY+9XY4pST1arzB0Xypk4ih2YP6Z5r4Yr4Au/kqugQY3 A=; X-IronPort-AV: E=Sophos;i="5.58,415,1544486400"; d="scan'208";a="719490842" Received: from iad6-co-svc-p1-lb1-vlan2.amazon.com (HELO email-inbound-relay-2a-119b4f96.us-west-2.amazon.com) ([10.124.125.2]) by smtp-border-fw-out-2101.iad2.amazon.com with ESMTP/TLS/DHE-RSA-AES256-SHA; 26 Feb 2019 09:19:36 +0000 Received: from EX13MTAUEA001.ant.amazon.com (pdx1-ws-svc-p6-lb9-vlan3.pdx.amazon.com [10.236.137.198]) by email-inbound-relay-2a-119b4f96.us-west-2.amazon.com (8.14.7/8.14.7) with ESMTP id x1Q9JXu5046757 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=FAIL); Tue, 26 Feb 2019 09:19:35 GMT Received: from EX13D02EUB004.ant.amazon.com (10.43.166.221) by EX13MTAUEA001.ant.amazon.com (10.43.61.243) with Microsoft SMTP Server (TLS) id 15.0.1367.3; Tue, 26 Feb 2019 09:19:25 +0000 Received: from EX13MTAUEA001.ant.amazon.com (10.43.61.82) by EX13D02EUB004.ant.amazon.com (10.43.166.221) with Microsoft SMTP Server (TLS) id 15.0.1367.3; Tue, 26 Feb 2019 09:19:24 +0000 Received: from galpress-VirtualBox.hfa16.amazon.com (10.218.62.29) by mail-relay.amazon.com (10.43.61.243) with Microsoft SMTP Server id 15.0.1367.3 via Frontend Transport; Tue, 26 Feb 2019 09:19:20 +0000 From: Gal Pressman To: Jason Gunthorpe , Doug Ledford CC: Yossi Leybovich , Alexander Matushevsky , Leah Shalev , Dave Goodell , Brian Barrett , , Sean Hefty , "Dennis Dalessandro" , Leon Romanovsky , Christoph Hellwig , Parav Pandit , Sagi Grimberg , Gal Pressman Subject: [PATCH rdma-core 3/3] efa: Elastic Fabric Adapter (EFA) direct verbs man pages Date: Tue, 26 Feb 2019 11:18:59 +0200 Message-ID: <1551172739-399-4-git-send-email-galpress@amazon.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1551172739-399-1-git-send-email-galpress@amazon.com> References: <1551172739-399-1-git-send-email-galpress@amazon.com> MIME-Version: 1.0 Sender: linux-rdma-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-rdma@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Document EFA direct verbs feature. Signed-off-by: Gal Pressman --- CMakeLists.txt | 1 + debian/libibverbs-dev.install | 2 ++ providers/efa/man/CMakeLists.txt | 4 ++++ providers/efa/man/efadv.7 | 29 +++++++++++++++++++++++ providers/efa/man/efadv_create_driver_qp.3 | 38 ++++++++++++++++++++++++++++++ redhat/rdma-core.spec | 2 ++ suse/rdma-core.spec | 2 ++ 7 files changed, 78 insertions(+) create mode 100644 providers/efa/man/CMakeLists.txt create mode 100644 providers/efa/man/efadv.7 create mode 100644 providers/efa/man/efadv_create_driver_qp.3 diff --git a/CMakeLists.txt b/CMakeLists.txt index d0f42283ff8a..e4ad09cb8317 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -580,6 +580,7 @@ add_subdirectory(providers/bnxt_re) add_subdirectory(providers/cxgb3) # NO SPARSE add_subdirectory(providers/cxgb4) # NO SPARSE add_subdirectory(providers/efa) +add_subdirectory(providers/efa/man) add_subdirectory(providers/hns) add_subdirectory(providers/i40iw) # NO SPARSE add_subdirectory(providers/mlx4) diff --git a/debian/libibverbs-dev.install b/debian/libibverbs-dev.install index b0c77825fd6c..5b8dd5f5da69 100644 --- a/debian/libibverbs-dev.install +++ b/debian/libibverbs-dev.install @@ -28,6 +28,8 @@ usr/share/man/man3/ibv_* usr/share/man/man3/mbps_to_ibv_rate.3 usr/share/man/man3/mlx4dv_*.3 usr/share/man/man3/mlx5dv_*.3 +usr/share/man/man3/efadv_*.3 usr/share/man/man3/mult_to_ibv_rate.3 usr/share/man/man7/mlx4dv.7 usr/share/man/man7/mlx5dv.7 +usr/share/man/man7/efadv.7 diff --git a/providers/efa/man/CMakeLists.txt b/providers/efa/man/CMakeLists.txt new file mode 100644 index 000000000000..435cd51c464a --- /dev/null +++ b/providers/efa/man/CMakeLists.txt @@ -0,0 +1,4 @@ +rdma_man_pages( + efadv_create_driver_qp.3 + efadv.7 +) diff --git a/providers/efa/man/efadv.7 b/providers/efa/man/efadv.7 new file mode 100644 index 000000000000..731dac241f0f --- /dev/null +++ b/providers/efa/man/efadv.7 @@ -0,0 +1,29 @@ +.\" -*- nroff -*- +.\" +.TH EFADV 7 2019-01-19 1.0.0 +.SH "NAME" +efadv \- Direct verbs for efa devices +.br +This provides low level access to efa devices to perform direct operations, +without general branching performed by libibverbs. + +.SH "DESCRIPTION" +The libibverbs API is an abstract one. It is agnostic to any underlying +provider specific implementation. While this abstraction has the advantage +of user applications portability, it has a performance penalty. For some +applications optimizing performance is more important than portability. + +The efa direct verbs API is intended for such applications. +It exposes efa specific low level operations, allowing the application +to bypass the libibverbs API. + +The direct include of efadv.h together with linkage to efa library will +allow usage of this new interface. + +.SH "SEE ALSO" +.BR verbs (7) + +.SH "AUTHORS" +.TP +Gal Pressman + diff --git a/providers/efa/man/efadv_create_driver_qp.3 b/providers/efa/man/efadv_create_driver_qp.3 new file mode 100644 index 000000000000..6b7374609977 --- /dev/null +++ b/providers/efa/man/efadv_create_driver_qp.3 @@ -0,0 +1,38 @@ +.\" -*- nroff -*- +.\" +.TH EFADV_QUERY_DEVICE 3 2019-01-23 1.0.0 +.SH "NAME" +efadv_create_driver_qp \- Create EFA specific Queue Pair +.SH "SYNOPSIS" +.nf +.B #include +.sp +.BI "struct ibv_qp *efadv_create_driver_qp(struct ibv_pd *ibvpd, +.BI " struct ibv_qp_init_attr *attr, +.BI " uint32_t driver_qp_type); +.fi +.SH "DESCRIPTION" +.B efadv_create_driver_qp() +Create device-specific Queue Pairs. +.PP +Scalable Reliable Datagram (SRD) transport provides reliable out-of-order +delivery, transparently utilizing multiple network paths to reduce network tail +latency. Its interface is similar to UD, in particular it supports message size +up to MTU, with error handling extended to support reliable communication. +.PP +.nf +enum { +.in +8 +EFADV_QP_DRIVER_TYPE_SRD = 0, +.in -8 +}; + +.fi +.SH "RETURN VALUE" +efadv_create_driver_qp() returns a pointer to the created QP, or NULL if the request fails. +.SH "SEE ALSO" +.BR efadv (7) +.SH "AUTHORS" +.TP +Gal Pressman + diff --git a/redhat/rdma-core.spec b/redhat/rdma-core.spec index 6c291aaff8a2..ef33172e76d7 100644 --- a/redhat/rdma-core.spec +++ b/redhat/rdma-core.spec @@ -404,8 +404,10 @@ rm -rf %{buildroot}/%{_sbindir}/srp_daemon.sh %{_mandir}/man7/rdma_cm.* %{_mandir}/man3/mlx5dv* %{_mandir}/man3/mlx4dv* +%{_mandir}/man3/efadv* %{_mandir}/man7/mlx5dv* %{_mandir}/man7/mlx4dv* +%{_mandir}/man7/efadv* %files -n libibverbs %dir %{_sysconfdir}/libibverbs.d diff --git a/suse/rdma-core.spec b/suse/rdma-core.spec index 6b235571ef28..4c6b244c9199 100644 --- a/suse/rdma-core.spec +++ b/suse/rdma-core.spec @@ -592,8 +592,10 @@ rm -rf %{buildroot}/%{_sbindir}/srp_daemon.sh %if 0%{?dma_coherent} %{_mandir}/man3/mlx5dv* %{_mandir}/man3/mlx4dv* +%{_mandir}/man3/efadv* %{_mandir}/man7/mlx5dv* %{_mandir}/man7/mlx4dv* +%{_mandir}/man7/efadv* %endif %files -n libibverbs