mlx5dv_devx_allo...dv_devx_free_uar(3)
π NAME π
okay bestie, this is the mlx5dv_devx_allo...dv_devx_free_uar(3) page β manual name: mlx5dv_devx_allo...dv_devx_free_uar(3), same iconic abbreviated header energy. It's giving two functions and one UAR lifecycle:
mlx5dv_devx_alloc_uarβ Allocates a DEVX UARmlx5dv_devx_free_uarβ Frees a DEVX UAR
π¦ SYNOPSIS π¦
#include <infiniband/mlx5dv.h>
struct mlx5dv_devx_uar *mlx5dv_devx_alloc_uar(struct ibv_context *context,
uint32_t flags);
void mlx5dv_devx_free_uar(struct mlx5dv_devx_uar *devx_uar);
πΈ DESCRIPTION πΈ
Create / free a DEVX UAR which is needed for other device commands over the DEVX interface. Lowkey essential.
The DEVX API enables direct access from the user space area to the mlx5 device driver, and the UAR information is needed for few commands as of QP creation. No cap.
π ARGUMENTS π
contextβ RDMA device context to work on. That's the vibe.flagsβ Allocation flags for the UAR. The choices are:MLX5DV_UAR_ALLOC_TYPE_BFβ Allocate UAR with Blueflame properties.MLX5DV_UAR_ALLOC_TYPE_NCβ Allocate UAR with non-cache properties.MLX5DV_UAR_ALLOC_TYPE_NC_DEDICATEDβ Allocate a dedicated UAR with non-cache properties.
π§ devx_uar π§
struct mlx5dv_devx_uar {
void *reg_addr;
void *base_addr;
uint32_t page_id;
off_t mmap_off;
uint64_t comp_mask;
};
reg_addrβ The write address of DB/BF.base_addrβ The base address of the UAR.page_idβ The device page id to be used.mmap_offβ The mmap offset parameter to be used for re-mapping, to be used by a secondary process.
π«Ά RETURN VALUE π«Ά
Upon success mlx5dv_devx_alloc_uar will return a new struct mlx5dv_devx_uar, on error NULL will be returned and errno will be set. Periodt.
π₯ SEE ALSO π₯
mlx5dv_open_devicemlx5dv_devx_obj_create
π AUTHOR π
Yishai Hadas <yishaih@mellanox.com>
Sign-off bestie: this page's footer is just mlx5dv_devx_allo...dv_devx_free_uar(3) β same as the header, with no extra source/version/date shown in the original. π
β¨
π¦ where this page comes from
- alpine 3.24: rdma-core-doc 61.0-r0 Β· GPL-2.0-only OR BSD-2-Clause
- centos-stream 10: rdma-core-devel 62.0-3.el10 Β· GPLv2 or BSD
- centos-stream 9: rdma-core-devel 61.0-3.el9 Β· GPLv2 or BSD
- centos-stream 9: rdma-core-devel 61.0-3.el9 Β· GPLv2 or BSD
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms