infiniband/mlx5dv.h \
func mlx5dv_alloc_var \
$(AUTOCONF_OUTPUT)
+ $Q sh -- '$<' '$@' \
+ HAVE_MLX5DV_DR_MEM_RECLAIM \
+ infiniband/mlx5dv.h \
+ func mlx5dv_dr_domain_set_reclaim_device_memory \
+ $(AUTOCONF_OUTPUT)
$Q sh -- '$<' '$@' \
HAVE_ETHTOOL_LINK_MODE_25G \
/usr/include/linux/ethtool.h \
'RDMA_NLDEV_ATTR_NDEV_INDEX' ],
[ 'HAVE_MLX5_DR_FLOW_DUMP', 'infiniband/mlx5dv.h',
'mlx5dv_dump_dr_domain'],
+ [ 'HAVE_MLX5DV_DR_MEM_RECLAIM', 'infiniband/mlx5dv.h',
+ 'mlx5dv_dr_domain_set_reclaim_device_memory'],
[ 'HAVE_DEVLINK', 'linux/devlink.h', 'DEVLINK_GENL_NAME' ],
]
config = configuration_data()
#endif
}
+
+static void
+mlx5_glue_dr_reclaim_domain_memory(void *domain, uint32_t enable)
+{
+#ifdef HAVE_MLX5DV_DR_MEM_RECLAIM
+ mlx5dv_dr_domain_set_reclaim_device_memory(domain, enable);
+#else
+ (void)(enable);
+ (void)(domain);
+#endif
+}
+
__rte_cache_aligned
const struct mlx5_glue *mlx5_glue = &(const struct mlx5_glue) {
.version = MLX5_GLUE_VERSION,
.devx_qp_query = mlx5_glue_devx_qp_query,
.devx_port_query = mlx5_glue_devx_port_query,
.dr_dump_domain = mlx5_glue_dr_dump_domain,
+ .dr_reclaim_domain_memory = mlx5_glue_dr_reclaim_domain_memory,
.devx_query_eqn = mlx5_glue_devx_query_eqn,
.devx_create_event_channel = mlx5_glue_devx_create_event_channel,
.devx_destroy_event_channel = mlx5_glue_devx_destroy_event_channel,
(struct mlx5dv_devx_event_channel *event_channel,
struct mlx5dv_devx_async_event_hdr *event_data,
size_t event_resp_len);
+ void (*dr_reclaim_domain_memory)(void *domain, uint32_t enable);
};
extern const struct mlx5_glue *mlx5_glue;