#include <uapi/rdma/rdma_netlink.h>
#include <linux/mlx5/rsc_dump.h>
#include <rdma/ib_umem_odp.h>
#include <rdma/restrack.h>
#include "mlx5_ib.h"
#include "restrack.h"
#define MAX_DUMP_SIZE …
static int dump_rsc(struct mlx5_core_dev *dev, enum mlx5_sgmt_type type,
int index, void *data, int *data_len)
{ … }
static int fill_res_raw(struct sk_buff *msg, struct mlx5_ib_dev *dev,
enum mlx5_sgmt_type type, u32 key)
{ … }
static int fill_stat_mr_entry(struct sk_buff *msg, struct ib_mr *ibmr)
{ … }
static int fill_res_mr_entry_raw(struct sk_buff *msg, struct ib_mr *ibmr)
{ … }
static int fill_res_mr_entry(struct sk_buff *msg, struct ib_mr *ibmr)
{ … }
static int fill_res_cq_entry_raw(struct sk_buff *msg, struct ib_cq *ibcq)
{ … }
static int fill_res_qp_entry(struct sk_buff *msg, struct ib_qp *ibqp)
{ … }
static int fill_res_qp_entry_raw(struct sk_buff *msg, struct ib_qp *ibqp)
{ … }
static const struct ib_device_ops restrack_ops = …;
int mlx5_ib_restrack_init(struct mlx5_ib_dev *dev)
{ … }