rdma: Simplify code to reuse existing functions

Remove duplicated functions in favour general res_print_uint() call.

Reviewed-by: Steve Wise <swise@opengridcomputing.com>
Signed-off-by: Leon Romanovsky <leonro@mellanox.com>
Signed-off-by: David Ahern <dsahern@gmail.com>
This commit is contained in:
Leon Romanovsky 2019-02-23 11:15:20 +02:00 committed by David Ahern
parent 835d83216b
commit 05846c9cd3
7 changed files with 13 additions and 62 deletions

View File

@ -227,12 +227,12 @@ int res_cm_id_parse_cb(const struct nlmsghdr *nlh, void *data)
print_link(rd, idx, name, port, nla_line); print_link(rd, idx, name, port, nla_line);
if (nla_line[RDMA_NLDEV_ATTR_RES_LQPN]) if (nla_line[RDMA_NLDEV_ATTR_RES_LQPN])
print_lqpn(rd, lqpn); res_print_uint(rd, "lqpn", lqpn);
if (nla_line[RDMA_NLDEV_ATTR_RES_TYPE]) if (nla_line[RDMA_NLDEV_ATTR_RES_TYPE])
print_qp_type(rd, type); print_qp_type(rd, type);
print_cm_id_state(rd, state); print_cm_id_state(rd, state);
print_ps(rd, ps); print_ps(rd, ps);
print_pid(rd, pid); res_print_uint(rd, "pid", pid);
print_comm(rd, comm, nla_line); print_comm(rd, comm, nla_line);
if (nla_line[RDMA_NLDEV_ATTR_RES_CM_IDN]) if (nla_line[RDMA_NLDEV_ATTR_RES_CM_IDN])
res_print_uint(rd, "cm-idn", cm_idn); res_print_uint(rd, "cm-idn", cm_idn);

View File

@ -7,14 +7,6 @@
#include "res.h" #include "res.h"
#include <inttypes.h> #include <inttypes.h>
static void print_cqe(struct rd *rd, uint32_t val)
{
if (rd->json_output)
jsonw_uint_field(rd->jw, "cqe", val);
else
pr_out("cqe %u ", val);
}
static const char *poll_ctx_to_str(uint8_t idx) static const char *poll_ctx_to_str(uint8_t idx)
{ {
static const char * const cm_id_states_str[] = { static const char * const cm_id_states_str[] = {
@ -120,11 +112,11 @@ int res_cq_parse_cb(const struct nlmsghdr *nlh, void *data)
jsonw_start_array(rd->jw); jsonw_start_array(rd->jw);
print_dev(rd, idx, name); print_dev(rd, idx, name);
print_cqe(rd, cqe); res_print_uint(rd, "cqe", cqe);
print_users(rd, users); res_print_uint(rd, "users", users);
if (nla_line[RDMA_NLDEV_ATTR_RES_POLL_CTX]) if (nla_line[RDMA_NLDEV_ATTR_RES_POLL_CTX])
print_poll_ctx(rd, poll_ctx); print_poll_ctx(rd, poll_ctx);
print_pid(rd, pid); res_print_uint(rd, "pid", pid);
print_comm(rd, comm, nla_line); print_comm(rd, comm, nla_line);
if (nla_line[RDMA_NLDEV_ATTR_RES_CQN]) if (nla_line[RDMA_NLDEV_ATTR_RES_CQN])

View File

@ -97,7 +97,7 @@ int res_mr_parse_cb(const struct nlmsghdr *nlh, void *data)
if (nla_line[RDMA_NLDEV_ATTR_RES_IOVA]) if (nla_line[RDMA_NLDEV_ATTR_RES_IOVA])
print_key(rd, "iova", iova); print_key(rd, "iova", iova);
res_print_uint(rd, "mrlen", mrlen); res_print_uint(rd, "mrlen", mrlen);
print_pid(rd, pid); res_print_uint(rd, "pid", pid);
print_comm(rd, comm, nla_line); print_comm(rd, comm, nla_line);
if (nla_line[RDMA_NLDEV_ATTR_RES_MRN]) if (nla_line[RDMA_NLDEV_ATTR_RES_MRN])

View File

@ -89,10 +89,10 @@ int res_pd_parse_cb(const struct nlmsghdr *nlh, void *data)
print_dev(rd, idx, name); print_dev(rd, idx, name);
if (nla_line[RDMA_NLDEV_ATTR_RES_LOCAL_DMA_LKEY]) if (nla_line[RDMA_NLDEV_ATTR_RES_LOCAL_DMA_LKEY])
print_key(rd, "local_dma_lkey", local_dma_lkey); print_key(rd, "local_dma_lkey", local_dma_lkey);
print_users(rd, users); res_print_uint(rd, "users", users);
if (nla_line[RDMA_NLDEV_ATTR_RES_UNSAFE_GLOBAL_RKEY]) if (nla_line[RDMA_NLDEV_ATTR_RES_UNSAFE_GLOBAL_RKEY])
print_key(rd, "unsafe_global_rkey", unsafe_global_rkey); print_key(rd, "unsafe_global_rkey", unsafe_global_rkey);
print_pid(rd, pid); res_print_uint(rd, "pid", pid);
print_comm(rd, comm, nla_line); print_comm(rd, comm, nla_line);
if (nla_line[RDMA_NLDEV_ATTR_RES_CTXN]) if (nla_line[RDMA_NLDEV_ATTR_RES_CTXN])
res_print_uint(rd, "ctxn", ctxn); res_print_uint(rd, "ctxn", ctxn);

View File

@ -66,14 +66,6 @@ static void print_rqpsn(struct rd *rd, uint32_t val, struct nlattr **nla_line)
pr_out("rq-psn %u ", val); pr_out("rq-psn %u ", val);
} }
static void print_sqpsn(struct rd *rd, uint32_t val)
{
if (rd->json_output)
jsonw_uint_field(rd->jw, "sq-psn", val);
else
pr_out("sq-psn %u ", val);
}
static void print_pathmig(struct rd *rd, uint32_t val, struct nlattr **nla_line) static void print_pathmig(struct rd *rd, uint32_t val, struct nlattr **nla_line)
{ {
if (!nla_line[RDMA_NLDEV_ATTR_RES_PATH_MIG_STATE]) if (!nla_line[RDMA_NLDEV_ATTR_RES_PATH_MIG_STATE])
@ -209,7 +201,7 @@ int res_qp_parse_cb(const struct nlmsghdr *nlh, void *data)
print_link(rd, idx, name, port, nla_line); print_link(rd, idx, name, port, nla_line);
print_lqpn(rd, lqpn); res_print_uint(rd, "lqpn", lqpn);
if (nla_line[RDMA_NLDEV_ATTR_RES_PDN]) if (nla_line[RDMA_NLDEV_ATTR_RES_PDN])
res_print_uint(rd, "pdn", pdn); res_print_uint(rd, "pdn", pdn);
print_rqpn(rd, rqpn, nla_line); print_rqpn(rd, rqpn, nla_line);
@ -218,10 +210,10 @@ int res_qp_parse_cb(const struct nlmsghdr *nlh, void *data)
print_state(rd, state); print_state(rd, state);
print_rqpsn(rd, rq_psn, nla_line); print_rqpsn(rd, rq_psn, nla_line);
print_sqpsn(rd, sq_psn); res_print_uint(rd, "sq-psn", sq_psn);
print_pathmig(rd, path_mig_state, nla_line); print_pathmig(rd, path_mig_state, nla_line);
print_pid(rd, pid); res_print_uint(rd, "pid", pid);
print_comm(rd, comm, nla_line); print_comm(rd, comm, nla_line);
if (nla_line[RDMA_NLDEV_ATTR_RES_PID]) if (nla_line[RDMA_NLDEV_ATTR_RES_PID])

View File

@ -35,7 +35,6 @@ static int res_print_summary(struct rd *rd, struct nlattr **tb)
mnl_attr_for_each_nested(nla_entry, nla_table) { mnl_attr_for_each_nested(nla_entry, nla_table) {
struct nlattr *nla_line[RDMA_NLDEV_ATTR_MAX] = {}; struct nlattr *nla_line[RDMA_NLDEV_ATTR_MAX] = {};
char json_name[32];
err = mnl_attr_parse_nested(nla_entry, rd_attr_cb, nla_line); err = mnl_attr_parse_nested(nla_entry, rd_attr_cb, nla_line);
if (err != MNL_CB_OK) if (err != MNL_CB_OK)
@ -48,12 +47,7 @@ static int res_print_summary(struct rd *rd, struct nlattr **tb)
name = mnl_attr_get_str(nla_line[RDMA_NLDEV_ATTR_RES_SUMMARY_ENTRY_NAME]); name = mnl_attr_get_str(nla_line[RDMA_NLDEV_ATTR_RES_SUMMARY_ENTRY_NAME]);
curr = mnl_attr_get_u64(nla_line[RDMA_NLDEV_ATTR_RES_SUMMARY_ENTRY_CURR]); curr = mnl_attr_get_u64(nla_line[RDMA_NLDEV_ATTR_RES_SUMMARY_ENTRY_CURR]);
if (rd->json_output) { res_print_uint(rd, name, curr);
snprintf(json_name, 32, "%s", name);
jsonw_lluint_field(rd->jw, json_name, curr);
} else {
pr_out("%s %"PRId64 " ", name, curr);
}
} }
return 0; return 0;
} }
@ -127,22 +121,6 @@ const char *qp_types_to_str(uint8_t idx)
return "UNKNOWN"; return "UNKNOWN";
} }
void print_lqpn(struct rd *rd, uint32_t val)
{
if (rd->json_output)
jsonw_uint_field(rd->jw, "lqpn", val);
else
pr_out("lqpn %u ", val);
}
void print_pid(struct rd *rd, uint32_t val)
{
if (rd->json_output)
jsonw_uint_field(rd->jw, "pid", val);
else
pr_out("pid %u ", val);
}
void print_comm(struct rd *rd, const char *str, struct nlattr **nla_line) void print_comm(struct rd *rd, const char *str, struct nlattr **nla_line)
{ {
char tmp[18]; char tmp[18];
@ -221,19 +199,11 @@ void print_key(struct rd *rd, const char *name, uint64_t val)
void res_print_uint(struct rd *rd, const char *name, uint64_t val) void res_print_uint(struct rd *rd, const char *name, uint64_t val)
{ {
if (rd->json_output) if (rd->json_output)
jsonw_uint_field(rd->jw, name, val); jsonw_u64_field(rd->jw, name, val);
else else
pr_out("%s %" PRIu64 " ", name, val); pr_out("%s %" PRIu64 " ", name, val);
} }
void print_users(struct rd *rd, uint64_t val)
{
if (rd->json_output)
jsonw_uint_field(rd->jw, "users", val);
else
pr_out("users %" PRIu64 " ", val);
}
RES_FUNC(res_no_args, RDMA_NLDEV_CMD_RES_GET, NULL, true); RES_FUNC(res_no_args, RDMA_NLDEV_CMD_RES_GET, NULL, true);
static int res_show(struct rd *rd) static int res_show(struct rd *rd)

View File

@ -112,12 +112,9 @@ char *get_task_name(uint32_t pid);
void print_dev(struct rd *rd, uint32_t idx, const char *name); void print_dev(struct rd *rd, uint32_t idx, const char *name);
void print_link(struct rd *rd, uint32_t idx, const char *name, uint32_t port, void print_link(struct rd *rd, uint32_t idx, const char *name, uint32_t port,
struct nlattr **nla_line); struct nlattr **nla_line);
void print_users(struct rd *rd, uint64_t val);
void print_key(struct rd *rd, const char *name, uint64_t val); void print_key(struct rd *rd, const char *name, uint64_t val);
void res_print_uint(struct rd *rd, const char *name, uint64_t val); void res_print_uint(struct rd *rd, const char *name, uint64_t val);
void print_pid(struct rd *rd, uint32_t val);
void print_comm(struct rd *rd, const char *str, struct nlattr **nla_line); void print_comm(struct rd *rd, const char *str, struct nlattr **nla_line);
const char *qp_types_to_str(uint8_t idx); const char *qp_types_to_str(uint8_t idx);
void print_lqpn(struct rd *rd, uint32_t val);
#endif /* _RDMA_TOOL_RES_H_ */ #endif /* _RDMA_TOOL_RES_H_ */