Signed-off-by: speech_white <humin29@huawei.com> (cherry picked from commit 39c2c5154122fef74060ffd6dbbe8cd4fdd9d21b)
91 lines
2.9 KiB
Diff
91 lines
2.9 KiB
Diff
From a91c0f253dd9b31cbe30bf5470a818aa0a909e26 Mon Sep 17 00:00:00 2001
|
|
From: "Min Hu (Connor)" <humin29@huawei.com>
|
|
Date: Sat, 19 Feb 2022 09:37:46 +0800
|
|
Subject: [PATCH 02/13] app/procinfo: add device private info dump
|
|
|
|
This patch adds support for dump the device private info from a running
|
|
application. It can help developers locate the problem.
|
|
|
|
Signed-off-by: Min Hu (Connor) <humin29@huawei.com>
|
|
---
|
|
app/proc-info/main.c | 28 ++++++++++++++++++++++++++++
|
|
1 file changed, 28 insertions(+)
|
|
|
|
diff --git a/app/proc-info/main.c b/app/proc-info/main.c
|
|
index ce140aaf84..fbc1715ce9 100644
|
|
--- a/app/proc-info/main.c
|
|
+++ b/app/proc-info/main.c
|
|
@@ -84,6 +84,8 @@ static char bdr_str[MAX_STRING_LEN];
|
|
|
|
/**< Enable show port. */
|
|
static uint32_t enable_shw_port;
|
|
+/**< Enable show port private info. */
|
|
+static uint32_t enable_shw_port_priv;
|
|
/**< Enable show tm. */
|
|
static uint32_t enable_shw_tm;
|
|
/**< Enable show crypto. */
|
|
@@ -123,6 +125,7 @@ proc_info_usage(const char *prgname)
|
|
" --collectd-format: to print statistics to STDOUT in expected by collectd format\n"
|
|
" --host-id STRING: host id used to identify the system process is running on\n"
|
|
" --show-port: to display ports information\n"
|
|
+ " --show-port-private: to display ports private information\n"
|
|
" --show-tm: to display traffic manager information for ports\n"
|
|
" --show-crypto: to display crypto information\n"
|
|
" --show-ring[=name]: to display ring information\n"
|
|
@@ -232,6 +235,7 @@ proc_info_parse_args(int argc, char **argv)
|
|
{"xstats-ids", 1, NULL, 1},
|
|
{"host-id", 0, NULL, 0},
|
|
{"show-port", 0, NULL, 0},
|
|
+ {"show-port-private", 0, NULL, 0},
|
|
{"show-tm", 0, NULL, 0},
|
|
{"show-crypto", 0, NULL, 0},
|
|
{"show-ring", optional_argument, NULL, 0},
|
|
@@ -284,6 +288,9 @@ proc_info_parse_args(int argc, char **argv)
|
|
else if (!strncmp(long_option[option_index].name,
|
|
"show-port", MAX_LONG_OPT_SZ))
|
|
enable_shw_port = 1;
|
|
+ else if (!strncmp(long_option[option_index].name,
|
|
+ "show-port-private", MAX_LONG_OPT_SZ))
|
|
+ enable_shw_port_priv = 1;
|
|
else if (!strncmp(long_option[option_index].name,
|
|
"show-tm", MAX_LONG_OPT_SZ))
|
|
enable_shw_tm = 1;
|
|
@@ -887,6 +894,25 @@ show_port(void)
|
|
}
|
|
}
|
|
|
|
+static void
|
|
+show_port_private_info(void)
|
|
+{
|
|
+ int i;
|
|
+
|
|
+ snprintf(bdr_str, MAX_STRING_LEN, " show - Port PMD Private ");
|
|
+ STATS_BDR_STR(10, bdr_str);
|
|
+
|
|
+ RTE_ETH_FOREACH_DEV(i) {
|
|
+ /* Skip if port is not in mask */
|
|
+ if ((enabled_port_mask & (1ul << i)) == 0)
|
|
+ continue;
|
|
+
|
|
+ snprintf(bdr_str, MAX_STRING_LEN, " Port %u ", i);
|
|
+ STATS_BDR_STR(5, bdr_str);
|
|
+ rte_eth_dev_priv_dump(i, stdout);
|
|
+ }
|
|
+}
|
|
+
|
|
static void
|
|
display_nodecap_info(int is_leaf, struct rte_tm_node_capabilities *cap)
|
|
{
|
|
@@ -1549,6 +1575,8 @@ main(int argc, char **argv)
|
|
/* show information for PMD */
|
|
if (enable_shw_port)
|
|
show_port();
|
|
+ if (enable_shw_port_priv)
|
|
+ show_port_private_info();
|
|
if (enable_shw_tm)
|
|
show_tm();
|
|
if (enable_shw_crypto)
|
|
--
|
|
2.30.0
|
|
|