diff mbox series

[rdma-core,3/3] efa: Elastic Fabric Adapter (EFA) direct verbs man pages

Message ID 1551172739-399-4-git-send-email-galpress@amazon.com (mailing list archive)
State Not Applicable
Headers show
Series efa: Elastic Fabric Adapter (EFA) userspace RDMA provider | expand

Commit Message

Gal Pressman Feb. 26, 2019, 9:18 a.m. UTC
Document EFA direct verbs feature.

Signed-off-by: Gal Pressman <galpress@amazon.com>
---
 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 mbox series

Patch

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 <galpress@amazon.com>
+
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 <infiniband/efadv.h>
+.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 <galpress@amazon.com>
+
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