rpma_mr_reg(3)

rpma_mr_reg3

Create a local memory registration object

Usage

      #include <librpma.h>
      struct rpma_peer;
      struct rpma_mr_local;
      int rpma_mr_reg(struct rpma_peer *peer, void *ptr, size_t size, int usage,
              struct rpma_mr_local **mr_ptr);

Overview

rpma_mr_reg() registers a memory region and creates a local memory registration object. The usage parameter specifies the operations that can be performed on the given memory region which should be expressed as bitwise-inclusive OR of the following:

•

RPMA_MR_USAGE_READ_SRC - memory used as a source of the read operation

•

RPMA_MR_USAGE_READ_DST - memory used as a destination of the read operation

•

RPMA_MR_USAGE_WRITE_SRC - memory used as a source of the write operation

•

RPMA_MR_USAGE_WRITE_DST - memory used as a destination of the write operation

•

RPMA_MR_USAGE_FLUSH_TYPE_VISIBILITY - memory with available flush operation

•

RPMA_MR_USAGE_FLUSH_TYPE_PERSISTENT - memory with available persistent flush operation

•

RPMA_MR_USAGE_SEND - memory used for send operation

•

RPMA_MR_USAGE_RECV - memory used for receive operation

Return value

The rpma_mr_reg() function returns 0 on success or a negative error code on failure. rpma_mr_reg() does not set *mr_ptr value on failure.

Errors

rpma_mr_reg() can fail with the following errors:

•

RPMA_E_INVAL - peer or ptr or mr_ptr is NULL

•

RPMA_E_INVAL - size equals 0

•

RPMA_E_NOMEM - out of memory

•

RPMA_E_PROVIDER - memory registration failed

Releases

2 releases since Debian 12 (Bookworm); the text changed 1 time.

  1. 12
  2. 13

From librpma-dev 1.3.0-2+b3 in Debian 13 (Trixie). Parsed by carta from the page's man source.