|
NAME | SYNOPSIS | DESCRIPTION | ARGUMENTS | RETURN VALUE | SEE ALSO | AUTHOR | COLOPHON |
|
|
|
mlx5dv_d..._unimport(3) Library Functions Manual mlx5dv_d..._unimport(3)
mlx5dv_devx_umem_export - Export DEVX UMEM attributes for
cross-process sharing
mlx5dv_devx_umem_import - Import a DEVX UMEM from exported
attributes
mlx5dv_devx_umem_unimport - Unimport a DEVX UMEM
#include <infiniband/mlx5dv.h>
int mlx5dv_devx_umem_export(struct mlx5dv_devx_umem *umem, void *data);
struct mlx5dv_devx_umem *
mlx5dv_devx_umem_import(struct ibv_context *context, void *data);
void mlx5dv_devx_umem_unimport(struct mlx5dv_devx_umem *umem);
These functions enable cross-process sharing of DEVX UMEM objects.
mlx5dv_devx_umem_export() exports DEVX UMEM attributes into a data
buffer. The buffer must be allocated by the caller with at least
the size returned by mlx5dv_get_export_sizes() in the
devx_umem_attrs_size field.
mlx5dv_devx_umem_import() returns a DEVX UMEM that is associated
with the exported attributes in the given context. The data
buffer must have been previously filled by
mlx5dv_devx_umem_export().
The context can be the original UMEM registering context or any
context sharing the same kernel resources (e.g., via
ibv_import_device()).
mlx5dv_devx_umem_unimport() unimports a DEVX UMEM that was
imported via mlx5dv_devx_umem_import(). Once the UMEM usage has
ended, either mlx5dv_devx_umem_dereg() or
mlx5dv_devx_umem_unimport() should be called.
mlx5dv_devx_umem_dereg() deregisters the kernel object, while
mlx5dv_devx_umem_unimport() only cleans up local resources without
affecting the kernel object.
It is the responsibility of the application to coordinate between
all contexts that use this UMEM. Once deregistration is done, no
other process can use the object except for unimport. All users
must collaborate to ensure this.
mlx5dv_devx_umem_export
umem The DEVX UMEM to export.
data Pointer to a buffer to be filled with the exported
attributes. The buffer must be at least
devx_umem_attrs_size bytes as returned by
mlx5dv_get_export_sizes().
mlx5dv_devx_umem_import
context
RDMA device context to import the DEVX UMEM into.
data Pointer to a buffer previously filled by
mlx5dv_devx_umem_export().
mlx5dv_devx_umem_export() returns 0 on success, or the value of
errno on error.
mlx5dv_devx_umem_import() returns a pointer to a struct
mlx5dv_devx_umem on success, or NULL on error with errno set.
mlx5dv_devx_umem_reg, mlx5dv_get_export_sizes, mlx5dv_open_device
Maher Sanalla ⟨msanalla@nvidia.com⟩
This page is part of the rdma-core (RDMA Core Userspace Libraries
and Daemons) project. Information about the project can be found
at ⟨https://github.com/linux-rdma/rdma-core⟩. If you have a bug
report for this manual page, send it to
linux-rdma@vger.kernel.org. This page was obtained from the
project's upstream Git repository
⟨https://github.com/linux-rdma/rdma-core.git⟩ on 2026-05-24. (At
that time, the date of the most recent commit that was found in
the repository was 2026-05-20.) If you discover any rendering
problems in this HTML version of the page, or you believe there is
a better or more up-to-date source for the page, or you have
corrections or improvements to the information in this COLOPHON
(which is not part of the original manual page), send a mail to
man-pages@man7.org
mlx5dv_d..._unimport(3)