|
NAME | SYNOPSIS | DESCRIPTION | ARGUMENTS | RETURN VALUE | SEE ALSO | AUTHOR | COLOPHON |
|
|
|
mlx5dv_de..._unimport(3) Library Functions Manualmlx5dv_de..._unimport(3)
mlx5dv_devx_obj_export - Export DEVX object attributes for
cross-process sharing
mlx5dv_devx_obj_import - Import a DEVX object from exported
attributes
mlx5dv_devx_obj_unimport - Unimport a DEVX object
#include <infiniband/mlx5dv.h>
int mlx5dv_devx_obj_export(struct mlx5dv_devx_obj *obj, void *data);
struct mlx5dv_devx_obj *mlx5dv_devx_obj_import(struct ibv_context *context,
void *data);
void mlx5dv_devx_obj_unimport(struct mlx5dv_devx_obj *obj);
These functions enable cross-process sharing of DEVX objects.
mlx5dv_devx_obj_export() exports DEVX object attributes into a
buffer. The buffer must be allocated by the caller with at least
the size returned by mlx5dv_get_export_sizes() in the
devx_obj_attrs_size field.
mlx5dv_devx_obj_import() returns a DEVX object that is associated
with the exported attributes in the given context. The data
buffer must have been previously filled by
mlx5dv_devx_obj_export().
The context can be the original object creating context or any
context sharing the same kernel resources (e.g., via
ibv_import_device()).
mlx5dv_devx_obj_unimport() unimports a DEVX object that was
imported via mlx5dv_devx_obj_import(). Once the object usage has
ended, either mlx5dv_devx_obj_destroy() or
mlx5dv_devx_obj_unimport() should be called.
mlx5dv_devx_obj_destroy() destroys the kernel object, while
mlx5dv_devx_obj_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 object. Once destroy is done, no other
process can use the object except for unimport. All users must
collaborate to ensure this.
mlx5dv_devx_obj_export
obj The DEVX object to export.
data Pointer to a buffer to be filled with the exported
attributes. The buffer must be at least
devx_obj_attrs_size bytes as returned by
mlx5dv_get_export_sizes().
mlx5dv_devx_obj_import
context
RDMA device context to import the DEVX object into.
data Pointer to a buffer previously filled by
mlx5dv_devx_obj_export().
mlx5dv_devx_obj_export() returns 0 on success, or the value of
errno on error.
mlx5dv_devx_obj_import() returns a pointer to a struct
mlx5dv_devx_obj on success, or NULL on error with errno set.
mlx5dv_devx_obj_create, 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_de..._unimport(3)