mlx5dv_create_cq(3) | mlx5 Programmer’s Manual | mlx5dv_create_cq(3) |
mlx5dv_create_cq - creates a completion queue (CQ)
#include <infiniband/mlx5dv.h> struct ibv_cq_ex *mlx5dv_create_cq(struct ibv_context *context,
struct ibv_cq_init_attr_ex *cq_attr,
struct mlx5dv_cq_init_attr *mlx5_cq_attr);
mlx5dv_create_cq() creates a completion queue (CQ) with specific driver properties.
Please see ibv_create_cq_ex(3) man page for context and cq_attr
struct mlx5dv_cq_init_attr {
uint64_t comp_mask;
uint8_t cqe_comp_res_format;
uint32_t flags;
uint16_t cqe_size; };
MLX5DV_CQ_INIT_ATTR_MASK_COMPRESSED_CQE enables creating a CQ in a mode that few CQEs may be compressed into a single CQE, valid values in cqe_comp_res_format
MLX5DV_CQ_INIT_ATTR_MASK_FLAGS valid values in flags
MLX5DV_CQ_INIT_ATTR_MASK_CQE_SIZE valid values in cqe_size
MLX5DV_CQE_RES_FORMAT_HASH CQE compression with hash
MLX5DV_CQE_RES_FORMAT_CSUM CQE compression with RX checksum
MLX5DV_CQE_RES_FORMAT_CSUM_STRIDX CQE compression with stride index
MLX5DV_CQ_INIT_ATTR_FLAGS_CQE_PAD create a padded 128B CQE
mlx5dv_create_cq() returns a pointer to the created CQ, or NULL if the request fails and errno will be set.
Yonatan Cohen <yonatanc@mellanox.com>
2018-9-1 | mlx5 |