author | Christophe Juhasz <Chris.Juhasz@Sun.COM> |
Wed, 16 May 2012 12:10:05 -0700 | |
changeset 817 | f45ca7242301 |
permissions | -rw-r--r-- |
817
f45ca7242301
7154945 userland FMR and shared PD OFUV libraries support
Christophe Juhasz <Chris.Juhasz@Sun.COM>
parents:
diff
changeset
|
1 |
.\" -*- nroff -*- |
f45ca7242301
7154945 userland FMR and shared PD OFUV libraries support
Christophe Juhasz <Chris.Juhasz@Sun.COM>
parents:
diff
changeset
|
2 |
.\" |
f45ca7242301
7154945 userland FMR and shared PD OFUV libraries support
Christophe Juhasz <Chris.Juhasz@Sun.COM>
parents:
diff
changeset
|
3 |
.TH IBV_REG_MR_RELAXED 3 2012-02-29 libibverbs "Libibverbs Programmer's Manual" |
f45ca7242301
7154945 userland FMR and shared PD OFUV libraries support
Christophe Juhasz <Chris.Juhasz@Sun.COM>
parents:
diff
changeset
|
4 |
.SH "NAME" |
f45ca7242301
7154945 userland FMR and shared PD OFUV libraries support
Christophe Juhasz <Chris.Juhasz@Sun.COM>
parents:
diff
changeset
|
5 |
ibv_reg_mr_relaxed, ibv_dereg_mr_relaxed, ibv_flush_relaxed_mr \- register or deregister a memory region (MR) in relaxed mode, flush relaxed MRs |
f45ca7242301
7154945 userland FMR and shared PD OFUV libraries support
Christophe Juhasz <Chris.Juhasz@Sun.COM>
parents:
diff
changeset
|
6 |
.SH "SYNOPSIS" |
f45ca7242301
7154945 userland FMR and shared PD OFUV libraries support
Christophe Juhasz <Chris.Juhasz@Sun.COM>
parents:
diff
changeset
|
7 |
.nf |
f45ca7242301
7154945 userland FMR and shared PD OFUV libraries support
Christophe Juhasz <Chris.Juhasz@Sun.COM>
parents:
diff
changeset
|
8 |
.B #include <infiniband/verbs.h> |
f45ca7242301
7154945 userland FMR and shared PD OFUV libraries support
Christophe Juhasz <Chris.Juhasz@Sun.COM>
parents:
diff
changeset
|
9 |
.sp |
f45ca7242301
7154945 userland FMR and shared PD OFUV libraries support
Christophe Juhasz <Chris.Juhasz@Sun.COM>
parents:
diff
changeset
|
10 |
.BI "struct ibv_mr *ibv_reg_mr_relaxed(struct ibv_pd " "*pd" ", void " "*addr" , |
f45ca7242301
7154945 userland FMR and shared PD OFUV libraries support
Christophe Juhasz <Chris.Juhasz@Sun.COM>
parents:
diff
changeset
|
11 |
.BI " size_t " "length" ", int " "access" ); |
f45ca7242301
7154945 userland FMR and shared PD OFUV libraries support
Christophe Juhasz <Chris.Juhasz@Sun.COM>
parents:
diff
changeset
|
12 |
.sp |
f45ca7242301
7154945 userland FMR and shared PD OFUV libraries support
Christophe Juhasz <Chris.Juhasz@Sun.COM>
parents:
diff
changeset
|
13 |
.BI "int ibv_dereg_mr_relaxed(struct ibv_mr " "*mr" ); |
f45ca7242301
7154945 userland FMR and shared PD OFUV libraries support
Christophe Juhasz <Chris.Juhasz@Sun.COM>
parents:
diff
changeset
|
14 |
.sp |
f45ca7242301
7154945 userland FMR and shared PD OFUV libraries support
Christophe Juhasz <Chris.Juhasz@Sun.COM>
parents:
diff
changeset
|
15 |
.BI "int ibv_flush_relaxed_mr(struct ibv_pd " "*pd" ); |
f45ca7242301
7154945 userland FMR and shared PD OFUV libraries support
Christophe Juhasz <Chris.Juhasz@Sun.COM>
parents:
diff
changeset
|
16 |
.fi |
f45ca7242301
7154945 userland FMR and shared PD OFUV libraries support
Christophe Juhasz <Chris.Juhasz@Sun.COM>
parents:
diff
changeset
|
17 |
.SH "DESCRIPTION" |
f45ca7242301
7154945 userland FMR and shared PD OFUV libraries support
Christophe Juhasz <Chris.Juhasz@Sun.COM>
parents:
diff
changeset
|
18 |
Relaxed MRs are different from normal MRs in following ways : |
f45ca7242301
7154945 userland FMR and shared PD OFUV libraries support
Christophe Juhasz <Chris.Juhasz@Sun.COM>
parents:
diff
changeset
|
19 |
.PP |
f45ca7242301
7154945 userland FMR and shared PD OFUV libraries support
Christophe Juhasz <Chris.Juhasz@Sun.COM>
parents:
diff
changeset
|
20 |
.PP |
f45ca7242301
7154945 userland FMR and shared PD OFUV libraries support
Christophe Juhasz <Chris.Juhasz@Sun.COM>
parents:
diff
changeset
|
21 |
* Registration is done using Fast Memory Registration(FMR) interface provided by the RDMA device. |
f45ca7242301
7154945 userland FMR and shared PD OFUV libraries support
Christophe Juhasz <Chris.Juhasz@Sun.COM>
parents:
diff
changeset
|
22 |
.PP |
f45ca7242301
7154945 userland FMR and shared PD OFUV libraries support
Christophe Juhasz <Chris.Juhasz@Sun.COM>
parents:
diff
changeset
|
23 |
* Access permissions are extended to specified memory area's last page boundary. |
f45ca7242301
7154945 userland FMR and shared PD OFUV libraries support
Christophe Juhasz <Chris.Juhasz@Sun.COM>
parents:
diff
changeset
|
24 |
.PP |
f45ca7242301
7154945 userland FMR and shared PD OFUV libraries support
Christophe Juhasz <Chris.Juhasz@Sun.COM>
parents:
diff
changeset
|
25 |
* There could be a finite time gap between the deregistration call and actual invalidation in the RDMA device for an MR. |
f45ca7242301
7154945 userland FMR and shared PD OFUV libraries support
Christophe Juhasz <Chris.Juhasz@Sun.COM>
parents:
diff
changeset
|
26 |
.sp |
f45ca7242301
7154945 userland FMR and shared PD OFUV libraries support
Christophe Juhasz <Chris.Juhasz@Sun.COM>
parents:
diff
changeset
|
27 |
.PP |
f45ca7242301
7154945 userland FMR and shared PD OFUV libraries support
Christophe Juhasz <Chris.Juhasz@Sun.COM>
parents:
diff
changeset
|
28 |
|
f45ca7242301
7154945 userland FMR and shared PD OFUV libraries support
Christophe Juhasz <Chris.Juhasz@Sun.COM>
parents:
diff
changeset
|
29 |
.B ibv_reg_mr_relaxed() |
f45ca7242301
7154945 userland FMR and shared PD OFUV libraries support
Christophe Juhasz <Chris.Juhasz@Sun.COM>
parents:
diff
changeset
|
30 |
registers a memory region (MR) associated with the protection domain |
f45ca7242301
7154945 userland FMR and shared PD OFUV libraries support
Christophe Juhasz <Chris.Juhasz@Sun.COM>
parents:
diff
changeset
|
31 |
.I pd\fR. |
f45ca7242301
7154945 userland FMR and shared PD OFUV libraries support
Christophe Juhasz <Chris.Juhasz@Sun.COM>
parents:
diff
changeset
|
32 |
The MR's starting address is |
f45ca7242301
7154945 userland FMR and shared PD OFUV libraries support
Christophe Juhasz <Chris.Juhasz@Sun.COM>
parents:
diff
changeset
|
33 |
.I addr |
f45ca7242301
7154945 userland FMR and shared PD OFUV libraries support
Christophe Juhasz <Chris.Juhasz@Sun.COM>
parents:
diff
changeset
|
34 |
and its size is |
f45ca7242301
7154945 userland FMR and shared PD OFUV libraries support
Christophe Juhasz <Chris.Juhasz@Sun.COM>
parents:
diff
changeset
|
35 |
.I length\fR. |
f45ca7242301
7154945 userland FMR and shared PD OFUV libraries support
Christophe Juhasz <Chris.Juhasz@Sun.COM>
parents:
diff
changeset
|
36 |
The argument |
f45ca7242301
7154945 userland FMR and shared PD OFUV libraries support
Christophe Juhasz <Chris.Juhasz@Sun.COM>
parents:
diff
changeset
|
37 |
.I access |
f45ca7242301
7154945 userland FMR and shared PD OFUV libraries support
Christophe Juhasz <Chris.Juhasz@Sun.COM>
parents:
diff
changeset
|
38 |
describes the desired memory protection attributes; for details on |
f45ca7242301
7154945 userland FMR and shared PD OFUV libraries support
Christophe Juhasz <Chris.Juhasz@Sun.COM>
parents:
diff
changeset
|
39 |
.I access |
f45ca7242301
7154945 userland FMR and shared PD OFUV libraries support
Christophe Juhasz <Chris.Juhasz@Sun.COM>
parents:
diff
changeset
|
40 |
options see description of |
f45ca7242301
7154945 userland FMR and shared PD OFUV libraries support
Christophe Juhasz <Chris.Juhasz@Sun.COM>
parents:
diff
changeset
|
41 |
.B ibv_reg_mr()\fR. |
f45ca7242301
7154945 userland FMR and shared PD OFUV libraries support
Christophe Juhasz <Chris.Juhasz@Sun.COM>
parents:
diff
changeset
|
42 |
.PP |
f45ca7242301
7154945 userland FMR and shared PD OFUV libraries support
Christophe Juhasz <Chris.Juhasz@Sun.COM>
parents:
diff
changeset
|
43 |
.B ibv_dereg_mr_relaxed() |
f45ca7242301
7154945 userland FMR and shared PD OFUV libraries support
Christophe Juhasz <Chris.Juhasz@Sun.COM>
parents:
diff
changeset
|
44 |
deregisters the MR |
f45ca7242301
7154945 userland FMR and shared PD OFUV libraries support
Christophe Juhasz <Chris.Juhasz@Sun.COM>
parents:
diff
changeset
|
45 |
.I mr\fR. |
f45ca7242301
7154945 userland FMR and shared PD OFUV libraries support
Christophe Juhasz <Chris.Juhasz@Sun.COM>
parents:
diff
changeset
|
46 |
This call marks |
f45ca7242301
7154945 userland FMR and shared PD OFUV libraries support
Christophe Juhasz <Chris.Juhasz@Sun.COM>
parents:
diff
changeset
|
47 |
.I mr |
f45ca7242301
7154945 userland FMR and shared PD OFUV libraries support
Christophe Juhasz <Chris.Juhasz@Sun.COM>
parents:
diff
changeset
|
48 |
as ready to be invalidated; however actual invalidation happens later. |
f45ca7242301
7154945 userland FMR and shared PD OFUV libraries support
Christophe Juhasz <Chris.Juhasz@Sun.COM>
parents:
diff
changeset
|
49 |
.PP |
f45ca7242301
7154945 userland FMR and shared PD OFUV libraries support
Christophe Juhasz <Chris.Juhasz@Sun.COM>
parents:
diff
changeset
|
50 |
.B ibv_flush_relaxed_mr() |
f45ca7242301
7154945 userland FMR and shared PD OFUV libraries support
Christophe Juhasz <Chris.Juhasz@Sun.COM>
parents:
diff
changeset
|
51 |
forces all deregistered relaxed MRs under PD |
f45ca7242301
7154945 userland FMR and shared PD OFUV libraries support
Christophe Juhasz <Chris.Juhasz@Sun.COM>
parents:
diff
changeset
|
52 |
.I pd |
f45ca7242301
7154945 userland FMR and shared PD OFUV libraries support
Christophe Juhasz <Chris.Juhasz@Sun.COM>
parents:
diff
changeset
|
53 |
to be invalidated by the RDMA device. |
f45ca7242301
7154945 userland FMR and shared PD OFUV libraries support
Christophe Juhasz <Chris.Juhasz@Sun.COM>
parents:
diff
changeset
|
54 |
.SH "RETURN VALUE" |
f45ca7242301
7154945 userland FMR and shared PD OFUV libraries support
Christophe Juhasz <Chris.Juhasz@Sun.COM>
parents:
diff
changeset
|
55 |
.B ibv_reg_mr_relaxed() |
f45ca7242301
7154945 userland FMR and shared PD OFUV libraries support
Christophe Juhasz <Chris.Juhasz@Sun.COM>
parents:
diff
changeset
|
56 |
returns a pointer to the registered MR, or NULL if the request fails. |
f45ca7242301
7154945 userland FMR and shared PD OFUV libraries support
Christophe Juhasz <Chris.Juhasz@Sun.COM>
parents:
diff
changeset
|
57 |
The local key (\fBL_Key\fR) field |
f45ca7242301
7154945 userland FMR and shared PD OFUV libraries support
Christophe Juhasz <Chris.Juhasz@Sun.COM>
parents:
diff
changeset
|
58 |
.B lkey |
f45ca7242301
7154945 userland FMR and shared PD OFUV libraries support
Christophe Juhasz <Chris.Juhasz@Sun.COM>
parents:
diff
changeset
|
59 |
is used as the lkey field of struct ibv_sge when posting buffers with |
f45ca7242301
7154945 userland FMR and shared PD OFUV libraries support
Christophe Juhasz <Chris.Juhasz@Sun.COM>
parents:
diff
changeset
|
60 |
ibv_post_* verbs, and the remote key (\fBR_Key\fR) |
f45ca7242301
7154945 userland FMR and shared PD OFUV libraries support
Christophe Juhasz <Chris.Juhasz@Sun.COM>
parents:
diff
changeset
|
61 |
field |
f45ca7242301
7154945 userland FMR and shared PD OFUV libraries support
Christophe Juhasz <Chris.Juhasz@Sun.COM>
parents:
diff
changeset
|
62 |
.B rkey |
f45ca7242301
7154945 userland FMR and shared PD OFUV libraries support
Christophe Juhasz <Chris.Juhasz@Sun.COM>
parents:
diff
changeset
|
63 |
is used by remote processes to perform Atomic and RDMA operations. The remote process places this |
f45ca7242301
7154945 userland FMR and shared PD OFUV libraries support
Christophe Juhasz <Chris.Juhasz@Sun.COM>
parents:
diff
changeset
|
64 |
.B rkey |
f45ca7242301
7154945 userland FMR and shared PD OFUV libraries support
Christophe Juhasz <Chris.Juhasz@Sun.COM>
parents:
diff
changeset
|
65 |
as the rkey field of struct ibv_send_wr passed to the ibv_post_send function. |
f45ca7242301
7154945 userland FMR and shared PD OFUV libraries support
Christophe Juhasz <Chris.Juhasz@Sun.COM>
parents:
diff
changeset
|
66 |
.PP |
f45ca7242301
7154945 userland FMR and shared PD OFUV libraries support
Christophe Juhasz <Chris.Juhasz@Sun.COM>
parents:
diff
changeset
|
67 |
.B ibv_dereg_mr_relaxed() |
f45ca7242301
7154945 userland FMR and shared PD OFUV libraries support
Christophe Juhasz <Chris.Juhasz@Sun.COM>
parents:
diff
changeset
|
68 |
returns 0 on success, or the value of errno on failure (which indicates the failure reason). |
f45ca7242301
7154945 userland FMR and shared PD OFUV libraries support
Christophe Juhasz <Chris.Juhasz@Sun.COM>
parents:
diff
changeset
|
69 |
.PP |
f45ca7242301
7154945 userland FMR and shared PD OFUV libraries support
Christophe Juhasz <Chris.Juhasz@Sun.COM>
parents:
diff
changeset
|
70 |
.B ibv_flush_relaxed_mr() |
f45ca7242301
7154945 userland FMR and shared PD OFUV libraries support
Christophe Juhasz <Chris.Juhasz@Sun.COM>
parents:
diff
changeset
|
71 |
returns 0 on success, or the value of errno on failure. |
f45ca7242301
7154945 userland FMR and shared PD OFUV libraries support
Christophe Juhasz <Chris.Juhasz@Sun.COM>
parents:
diff
changeset
|
72 |
|
f45ca7242301
7154945 userland FMR and shared PD OFUV libraries support
Christophe Juhasz <Chris.Juhasz@Sun.COM>
parents:
diff
changeset
|
73 |
.SH "NOTES" |
f45ca7242301
7154945 userland FMR and shared PD OFUV libraries support
Christophe Juhasz <Chris.Juhasz@Sun.COM>
parents:
diff
changeset
|
74 |
.B ibv_reg_mr_relaxed() |
f45ca7242301
7154945 userland FMR and shared PD OFUV libraries support
Christophe Juhasz <Chris.Juhasz@Sun.COM>
parents:
diff
changeset
|
75 |
can return transient error EAGAIN. User may retry the operation after sometime. |
f45ca7242301
7154945 userland FMR and shared PD OFUV libraries support
Christophe Juhasz <Chris.Juhasz@Sun.COM>
parents:
diff
changeset
|
76 |
.PP |
f45ca7242301
7154945 userland FMR and shared PD OFUV libraries support
Christophe Juhasz <Chris.Juhasz@Sun.COM>
parents:
diff
changeset
|
77 |
The user of relaxed memory regions should take care to avoid reliance on |
f45ca7242301
7154945 userland FMR and shared PD OFUV libraries support
Christophe Juhasz <Chris.Juhasz@Sun.COM>
parents:
diff
changeset
|
78 |
immediate deregistration behavior. Also, because of the page granularity |
f45ca7242301
7154945 userland FMR and shared PD OFUV libraries support
Christophe Juhasz <Chris.Juhasz@Sun.COM>
parents:
diff
changeset
|
79 |
of relaxed memory regions, it is often advisable to use page sized |
f45ca7242301
7154945 userland FMR and shared PD OFUV libraries support
Christophe Juhasz <Chris.Juhasz@Sun.COM>
parents:
diff
changeset
|
80 |
registrations or to align registered regions to a page boundary. |
f45ca7242301
7154945 userland FMR and shared PD OFUV libraries support
Christophe Juhasz <Chris.Juhasz@Sun.COM>
parents:
diff
changeset
|
81 |
.SH "SEE ALSO" |
f45ca7242301
7154945 userland FMR and shared PD OFUV libraries support
Christophe Juhasz <Chris.Juhasz@Sun.COM>
parents:
diff
changeset
|
82 |
.BR ibv_alloc_pd (3), |
f45ca7242301
7154945 userland FMR and shared PD OFUV libraries support
Christophe Juhasz <Chris.Juhasz@Sun.COM>
parents:
diff
changeset
|
83 |
.BR ibv_post_send (3), |
f45ca7242301
7154945 userland FMR and shared PD OFUV libraries support
Christophe Juhasz <Chris.Juhasz@Sun.COM>
parents:
diff
changeset
|
84 |
.BR ibv_post_recv (3), |
f45ca7242301
7154945 userland FMR and shared PD OFUV libraries support
Christophe Juhasz <Chris.Juhasz@Sun.COM>
parents:
diff
changeset
|
85 |
.BR ibv_post_srq_recv (3) |
f45ca7242301
7154945 userland FMR and shared PD OFUV libraries support
Christophe Juhasz <Chris.Juhasz@Sun.COM>
parents:
diff
changeset
|
86 |
.SH "AUTHORS" |
f45ca7242301
7154945 userland FMR and shared PD OFUV libraries support
Christophe Juhasz <Chris.Juhasz@Sun.COM>
parents:
diff
changeset
|
87 |
.TP |
f45ca7242301
7154945 userland FMR and shared PD OFUV libraries support
Christophe Juhasz <Chris.Juhasz@Sun.COM>
parents:
diff
changeset
|
88 |
Arun Kaimalettu <gotoarunk at gmail dot com> |