Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

ibv_dereg_mr(3) [debian man page]

IBV_REG_MR(3)						  Libibverbs Programmer's Manual					     IBV_REG_MR(3)

NAME
ibv_reg_mr, ibv_dereg_mr - register or deregister a memory region (MR) SYNOPSIS
#include <infiniband/verbs.h> struct ibv_mr *ibv_reg_mr(struct ibv_pd *pd, void *addr, size_t length, int access); int ibv_dereg_mr(struct ibv_mr *mr); DESCRIPTION
ibv_reg_mr() registers a memory region (MR) associated with the protection domain pd. The MR's starting address is addr and its size is length. The argument access describes the desired memory protection attributes; it is either 0 or the bitwise OR of one or more of the following flags: IBV_ACCESS_LOCAL_WRITE Enable Local Write Access IBV_ACCESS_REMOTE_WRITE Enable Remote Write Access IBV_ACCESS_REMOTE_READ Enable Remote Read Access IBV_ACCESS_REMOTE_ATOMIC Enable Remote Atomic Operation Access (if supported) IBV_ACCESS_MW_BIND Enable Memory Window Binding If IBV_ACCESS_REMOTE_WRITE or IBV_ACCESS_REMOTE_ATOMIC is set, then IBV_ACCESS_LOCAL_WRITE must be set too. Local read access is always enabled for the MR. ibv_dereg_mr() deregisters the MR mr. RETURN VALUE
ibv_reg_mr() returns a pointer to the registered MR, or NULL if the request fails. The local key (L_Key) field lkey is used as the lkey field of struct ibv_sge when posting buffers with ibv_post_* verbs, and the the remote key (R_Key) field rkey is used by remote processes to perform Atomic and RDMA operations. The remote process places this rkey as the rkey field of struct ibv_send_wr passed to the ibv_post_send function. ibv_dereg_mr() returns 0 on success, or the value of errno on failure (which indicates the failure reason). NOTES
ibv_dereg_mr() fails if any memory window is still bound to this MR. SEE ALSO
ibv_alloc_pd(3), ibv_post_send(3), ibv_post_recv(3), ibv_post_srq_recv(3) AUTHORS
Dotan Barak <dotanba@gmail.com> libibverbs 2006-10-31 IBV_REG_MR(3)

Check Out this Related Man Page

RDMA_POST_READ(3)					   Librdmacm Programmer's Manual					 RDMA_POST_READ(3)

NAME
rdma_post_read - post an RDMA read work request. SYNOPSIS
#include <rdma/rdma_verbs.h> int rdma_post_read (struct rdma_cm_id *id, void *context, void *addr, size_t length, struct ibv_mr *mr, int flags, uint64_t remote_addr, uint32_t rkey); ARGUMENTS
id A reference to a communication identifier where the request will be posted. context User-defined context associated with the request. addr The address of the local destination of the read request. length The length of the read operation. mr Registered memory region associated with the local buffer. flags Optional flags used to control the read operation. remote_addr The address of the remote registered memory to read from. rkey The registered memory key associated with the remote address. DESCRIPTION
Posts a work request to the send queue of the queue pair associated with the rdma_cm_id. The contents of the remote memory region will be read into the local data buffer. RETURN VALUE
Returns 0 on success, or -1 on error. If an error occurs, errno will be set to indicate the failure reason. NOTES
For a list of supported flags, see ibv_post_send. Both the remote and local data buffers must have been registered before the read is issued, and the buffers must remain registered until the read completes. Read operations may not be posted to an rdma_cm_id or the corresponding queue pair until it has been connected. The user-defined context associated with the read request will be returned to the user through the work completion wr_id, work request identifier, field. SEE ALSO
rdma_cm(7), rdma_connect(3), rdma_accept(3), ibv_post_send(3), rdma_post_readv(3), rdma_reg_read(3), rdma_reg_msgs(3) librdmacm 2010-07-19 RDMA_POST_READ(3)
Man Page