From: Shy Shyman <shys@mellanox.com>
To: dev@dpdk.org
Cc: viacheslavo@mellanox.com, stable@dpdk.org
Subject: [dpdk-stable] [PATCH] net/mlx5: fix file path location of HW counters
Date: Wed, 15 Jul 2020 13:40:04 +0300 [thread overview]
Message-ID: <20200715104004.79574-1-shys@mellanox.com> (raw)
When debugging performance of a DPDK application the user may
need to view the different statistics of DPDK(for example out_of_buffer)
This can be enabled by using testpmd command 'show port xstats
<port_id>' for example.
The current implementation assumes legacy mode in which the
counters
are at <ibdev_path>/<port_id>/hw_counters/<file_name>.
In switchdev mode the counters file is located right after the device
name, hence resides at <ibdev_path>/hw_counters.
The fix tries to open the path in the second location after a failure
to open the file from the first location.
Fixes: 9c0a9eed37f1 ("net/mlx5: switch to the names in the shared IB context")
Cc: stable@dpdk.org
Cc: viacheslavo@mellanox.com
Signed-off-by: Shy Shyman <shys@mellanox.com>
---
drivers/net/mlx5/linux/mlx5_os.c | 16 +++++++++++++---
1 file changed, 13 insertions(+), 3 deletions(-)
diff --git a/drivers/net/mlx5/linux/mlx5_os.c b/drivers/net/mlx5/linux/mlx5_os.c
index 2dc57b20ef..0edc96299c 100644
--- a/drivers/net/mlx5/linux/mlx5_os.c
+++ b/drivers/net/mlx5/linux/mlx5_os.c
@@ -1948,10 +1948,20 @@ mlx5_os_read_dev_stat(struct mlx5_priv *priv, const char *ctr_name,
if (priv->sh) {
MKSTR(path, "%s/ports/%d/hw_counters/%s",
- priv->sh->ibdev_path,
- priv->dev_port,
- ctr_name);
+ priv->sh->ibdev_path,
+ priv->dev_port,
+ ctr_name);
fd = open(path, O_RDONLY);
+ /*
+ * in switchdev the file location is not per port
+ * but rather in <ibdev_path>/hw_counters/<file_name>.
+ */
+ if (fd == -1) {
+ MKSTR(path1, "%s/hw_counters/%s",
+ priv->sh->ibdev_path,
+ ctr_name);
+ fd = open(path1, O_RDONLY);
+ }
if (fd != -1) {
char buf[21] = {'\0'};
ssize_t n = read(fd, buf, sizeof(buf));
--
2.21.0
next reply other threads:[~2020-07-15 10:40 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-07-15 10:40 Shy Shyman [this message]
2020-07-15 10:50 Shy Shyman
2020-07-15 10:54 ` Slava Ovsiienko
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200715104004.79574-1-shys@mellanox.com \
--to=shys@mellanox.com \
--cc=dev@dpdk.org \
--cc=stable@dpdk.org \
--cc=viacheslavo@mellanox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).