From c4be78fddc3aa32bef6bfce26070d1003be46837 Mon Sep 17 00:00:00 2001 From: Sean Hefty Date: Thu, 22 Dec 2011 00:08:59 -0800 Subject: [PATCH] import --- meta | 5 +- patches/xrc-man | 249 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 252 insertions(+), 2 deletions(-) create mode 100644 patches/xrc-man diff --git a/meta b/meta index b215f07..5af9c70 100644 --- a/meta +++ b/meta @@ -1,8 +1,9 @@ Version: 1 -Previous: 386012477758e8ceb9703b791bfd111aa0a85449 -Head: 563fb8c3e4ac4b1bb34706822e65c761cbb918d3 +Previous: 4356ca27e3658bb2b5a0d1303b3e275893f53725 +Head: 58e80c2ab74c3897a6c8f6df09095ff521e83232 Applied: ext: bd9562c3a152f1aeb3cd985d906fd28d1da11fe1 xrc: 563fb8c3e4ac4b1bb34706822e65c761cbb918d3 + xrc-man: 58e80c2ab74c3897a6c8f6df09095ff521e83232 Unapplied: Hidden: diff --git a/patches/xrc-man b/patches/xrc-man new file mode 100644 index 0000000..1ad984f --- /dev/null +++ b/patches/xrc-man @@ -0,0 +1,249 @@ +Bottom: a0265ef5f6b473946c507e2dda5d758c15c85e98 +Top: 7b3aa2b21ba60be16914f41821f67e5c9e95a8e3 +Author: Sean Hefty +Date: 2011-12-22 00:08:59 -0800 + +Add/update man pages for xrc verbs + +Signed-off-by: Sean Hefty + + +--- + +diff --git a/Makefile.am b/Makefile.am +index cd00a65..0552e89 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -54,7 +54,8 @@ man_MANS = man/ibv_asyncwatch.1 man/ibv_devices.1 man/ibv_devinfo.1 \ + man/ibv_post_srq_recv.3 man/ibv_query_device.3 man/ibv_query_gid.3 \ + man/ibv_query_pkey.3 man/ibv_query_port.3 man/ibv_query_qp.3 \ + man/ibv_query_srq.3 man/ibv_rate_to_mult.3 man/ibv_reg_mr.3 \ +- man/ibv_req_notify_cq.3 man/ibv_resize_cq.3 ++ man/ibv_req_notify_cq.3 man/ibv_resize_cq.3 man/ibv_open_xrcd.3 \ ++ man/ibv_create_xsrq.3 + + DEBIAN = debian/changelog debian/compat debian/control debian/copyright \ + debian/ibverbs-utils.install debian/libibverbs1.install \ +diff --git a/man/ibv_create_qp.3 b/man/ibv_create_qp.3 +index 5301ad8..3f6305f 100644 +--- a/man/ibv_create_qp.3 ++++ b/man/ibv_create_qp.3 +@@ -1,6 +1,6 @@ + .\" -*- nroff -*- + .\" +-.TH IBV_CREATE_QP 3 2006-10-31 libibverbs "Libibverbs Programmer's Manual" ++.TH IBV_CREATE_QP 3 2011-06-17 libibverbs "Libibverbs Programmer's Manual" + .SH "NAME" + ibv_create_qp, ibv_destroy_qp \- create or destroy a queue pair (QP) + .SH "SYNOPSIS" +@@ -28,8 +28,17 @@ struct ibv_cq *send_cq; /* CQ to be associated with the Send Que + struct ibv_cq *recv_cq; /* CQ to be associated with the Receive Queue (RQ) */ + struct ibv_srq *srq; /* SRQ handle if QP is to be associated with an SRQ, otherwise NULL */ + struct ibv_qp_cap cap; /* QP capabilities */ +-enum ibv_qp_type qp_type; /* QP Transport Service Type: IBV_QPT_RC, IBV_QPT_UC, or IBV_QPT_UD */ ++enum ibv_qp_type qp_type; /* QP Transport Service Type */ + int sq_sig_all; /* If set, each Work Request (WR) submitted to the SQ generates a completion entry */ ++union { ++.in +8 ++struct { ++.in +8 ++struct ibv_xrcd *xrcd; /* XRC domain associated with XRC receive QPs */ ++.in -8 ++} xrc_recv; ++.in -8 ++} ext; + .in -8 + }; + .sp +diff --git a/man/ibv_create_xsrq.3 b/man/ibv_create_xsrq.3 +new file mode 100644 +index 0000000..a5162dd +--- /dev/null ++++ b/man/ibv_create_xsrq.3 +@@ -0,0 +1,80 @@ ++.\" -*- nroff -*- ++.\" ++.TH IBV_CREATE_XSRQ 3 2011-06-17 libibverbs "Libibverbs Programmer's Manual" ++.SH "NAME" ++ibv_create_xsrq, ibv_destroy_srq \- create or destroy a shared receive queue (SRQ) ++.SH "SYNOPSIS" ++.nf ++.B #include ++.sp ++.BI "struct ibv_srq *ibv_create_xsrq(struct ibv_pd " "*pd" ", struct " ++.BI " ibv_srq_init_attr " "*srq_init_attr" ); ++.sp ++.BI "int ibv_destroy_srq(struct ibv_srq " "*srq" ); ++.fi ++.SH "DESCRIPTION" ++.B ibv_create_xsrq() ++creates a shared receive queue (SRQ) associated with the protection domain ++.I pd\fR. ++The argument ++.I srq_init_attr ++is an ibv_srq_init_attr struct, as defined in . ++.PP ++.nf ++struct ibv_srq_init_attr { ++.in +8 ++void *srq_context; /* Associated context of the SRQ */ ++struct ibv_srq_attr attr; /* SRQ attributes */ ++enum ibv_srq_type srq_type; /* Specifies type of SRQ to create */ ++union { ++.in +8 ++struct { ++.in +8 ++struct ibv_xrcd *xrcd; /* XRC domain associated with an XRC SRQ */ ++struct ibv_cq *cq; /* completion queue for an XRC SRQ*/ ++.in -8 ++} xrc; /* Extended attributes for IBV_SRQT_XRC type SRQs */ ++.in -8 ++} ext; ++.in -8 ++}; ++.sp ++.nf ++struct ibv_srq_attr { ++.in +8 ++uint32_t max_wr; /* Requested max number of outstanding work requests (WRs) in the SRQ */ ++uint32_t max_sge; /* Requested max number of scatter elements per WR */ ++uint32_t srq_limit; /* The limit value of the SRQ (ignored for ibv_create_srq) */ ++.in -8 ++}; ++.fi ++.PP ++The function ++.B ibv_create_xsrq() ++will update the ++.I srq_init_attr ++struct with the original values of the SRQ that was created; the ++values of max_wr and max_sge will be greater than or equal to the ++values requested. ++.PP ++.B ibv_destroy_srq() ++destroys the SRQ ++.I srq\fR. ++.SH "RETURN VALUE" ++.B ibv_create_xsrq() ++returns a pointer to the created SRQ, or NULL if the request fails. ++.PP ++.B ibv_destroy_srq() ++returns 0 on success, or the value of errno on failure (which indicates the failure reason). ++.SH "NOTES" ++.B ibv_destroy_srq() ++fails if any queue pair is still associated with this SRQ. ++.SH "SEE ALSO" ++.BR ibv_alloc_pd (3), ++.BR ibv_create_cq (3), ++.BR ibv_open_xrcd (3), ++.BR ibv_modify_srq (3), ++.BR ibv_query_srq (3) ++.SH "AUTHORS" ++.TP ++Sean Hefty +diff --git a/man/ibv_open_xrcd.3 b/man/ibv_open_xrcd.3 +new file mode 100644 +index 0000000..f0ae30c +--- /dev/null ++++ b/man/ibv_open_xrcd.3 +@@ -0,0 +1,65 @@ ++.\" -*- nroff -*- ++.\" ++.TH IBV_OPEN_XRCD 3 2011-06-17 libibverbs "Libibverbs Programmer's Manual" ++.SH "NAME" ++ibv_open_xrcd, ibv_close_xrcd \- open or close an XRC protection domain (XRCDs) ++.SH "SYNOPSIS" ++.nf ++.B #include ++.sp ++.BI "struct ibv_xrcd *ibv_open_xrcd(struct ibv_context " "*context" "," ++.BI " int " "fd" ", int " "oflag" ); ++.sp ++.BI "int ibv_close_xrcd(struct ibv_xrcd " "*xrcd" ); ++.fi ++.SH "DESCRIPTION" ++.B ibv_open_xrcd() ++open an XRC domain for the RDMA device context ++.I context ++.I fd ++is the file descriptor to associate with the XRCD. ++.I oflag ++describes the desired creation attributes. It is a bitwise OR of zero or more ++of the following flags: ++.PP ++.TP ++.B O_CREAT ++Indicates that an XRCD should be created and associated with the inode referenced ++by the given fd. If the XRCD exists, this flag has no effect except as noted under ++.BR O_EXCL ++below.\fR ++.TP ++.B O_EXCL ++If ++.BR O_EXCL ++and ++.BR O_CREAT ++are set, open will fail if an XRCD associated with the inode exists. ++.PP ++If ++.I fd ++equals -1, no inode is associated with the XRCD, and the only valid value for ++.I oflag ++is ++.B O_CREAT\fR. ++.PP ++.B ibv_close_xrcd() ++closes the XRCD ++.I xrcd\fR. ++If this is the last reference, the XRCD will be destroyed. ++.SH "RETURN VALUE" ++.B ibv_open_xrcd() ++returns a pointer to the opened XRCD, or NULL if the request fails. ++.PP ++.B ibv_close_xrcd() ++returns 0 on success, or the value of errno on failure (which indicates the ++failure reason). ++.SH "NOTES" ++.B ibv_close_xrcd() ++may fail if any other resource is still associated with the XRCD being closed. ++.SH "SEE ALSO" ++.BR ibv_create_xsrq (3), ++.BR ibv_create_qp (3), ++.SH "AUTHORS" ++.TP ++Sean Hefty +diff --git a/man/ibv_post_send.3 b/man/ibv_post_send.3 +index 33fbb50..cc0fa09 100644 +--- a/man/ibv_post_send.3 ++++ b/man/ibv_post_send.3 +@@ -1,6 +1,6 @@ + .\" -*- nroff -*- + .\" +-.TH IBV_POST_SEND 3 2006-10-31 libibverbs "Libibverbs Programmer's Manual" ++.TH IBV_POST_SEND 3 2011-06-17 libibverbs "Libibverbs Programmer's Manual" + .SH "NAME" + ibv_post_send \- post a list of work requests (WRs) to a send queue + .SH "SYNOPSIS" +@@ -58,6 +58,13 @@ uint32_t remote_qpn; /* QP number of the destination QP */ + uint32_t remote_qkey; /* Q_Key number of the destination QP */ + .in -8 + } ud; ++struct { ++.in +8 ++uint64_t reserved[3]; ++uint32_t reserved2; ++uint32_t remote_srqn; /* SRQ number of the destination XRC SRQ */ ++.in -8 ++} xrc; + .in -8 + } wr; + .in -8 +@@ -87,6 +94,8 @@ IBV_WR_ATOMIC_CMP_AND_SWP | | | X + IBV_WR_ATOMIC_FETCH_AND_ADD | | | X + .fi + .PP ++IBV_QPT_XRC_SEND transports behave similar to IBV_QPT_RC and support the same set of operations. ++.PP + The attribute send_flags describes the properties of the \s-1WR\s0. It is either 0 or the bitwise \s-1OR\s0 of one or more of the following flags: + .PP + .TP -- 2.41.0