mlx5dv_devx_umem_import(3) — Linux manual page

NAME | SYNOPSIS | DESCRIPTION | ARGUMENTS | RETURN VALUE | SEE ALSO | AUTHOR | COLOPHON

mlx5dv_d..._unimport(3)  Library Functions Manual mlx5dv_d..._unimport(3)

NAME         top

       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

SYNOPSIS         top

              #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);

DESCRIPTION         top

       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.

ARGUMENTS         top

   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().

RETURN VALUE         top

       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.

SEE ALSO         top

       mlx5dv_devx_umem_reg, mlx5dv_get_export_sizes, mlx5dv_open_device

AUTHOR         top

       Maher Sanalla ⟨msanalla@nvidia.com⟩

COLOPHON         top

       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)