DPDK patches and discussions
 help / color / mirror / Atom feed
From: Bruce Richardson <bruce.richardson@intel.com>
To: fengchengwen <fengchengwen@huawei.com>
Cc: <thomas@monjalon.net>, <ferruh.yigit@amd.com>,
	<andrew.rybchenko@oktetlabs.ru>, <dev@dpdk.org>,
	<ciara.power@intel.com>, <kevin.laatz@intel.com>
Subject: Re: [PATCH v5 2/5] telemetry: fix repeated display when callback don't set dict
Date: Fri, 6 Jan 2023 16:07:45 +0000	[thread overview]
Message-ID: <Y7hHUZ3e0ME3ufdr@bricha3-MOBL.ger.corp.intel.com> (raw)
In-Reply-To: <82dd43d3-661f-64dc-8ce0-a7b6b2a62d79@huawei.com>

On Mon, Dec 26, 2022 at 12:53:57PM +0800, fengchengwen wrote:
> On 2022/12/19 17:33, Bruce Richardson wrote:
> > On Mon, Dec 19, 2022 at 09:07:20AM +0000, Chengwen Feng wrote:
> >> When telemetry callback didn't set dict and return a non-negative
> >> number, the telemetry will repeat to display the last result.
> >>
> >> Fixes: 6dd571fd07c3 ("telemetry: introduce new functionality")
> >> Cc: stable@dpdk.org
> >>
> >> Signed-off-by: Chengwen Feng <fengchengwen@huawei.com>
> >> ---
> > 
> > Hi Chengwen,
> > 
> > I'm a little curious about this bug. Can you describe some steps to
> > reproduce it as I'm curious as to exactly what is happening. The fix seems
> > a little strange to me so I'd like to investigate a little more to see if
> > other approaches might work.
> 
> Hi Bruce,
> 
> Sorry for late reply.
> 
> The steps:
>   1. applay "[PATCH v5 1/5] dmadev: support stats reset telemetry command"
>   2. compile
>   3. start dpdk-dma: dpdk-dma -a DMA.BDF -a NIC.BDF -- -c hw
>   4. start telemetry, and execute /dmadev/stats,0, and then /dmadev/stats_reset,0
>      the output of /dmadev/stats_reset,0 will be the same of previous cmd "/dmadev/stats,0"
>      e.g. my environment:
> --> /dmadev/stats,0
> {
>   "/dmadev/stats": {
>     "submitted": 23,
>     "completed": 23,
>     "errors": 0
>   }
> }
> --> /dmadev/stats_reset,0
> {
>   "/dmadev/stats_reset": {
>     "submitted": 23,
>     "completed": 23,
>     "errors": 0
>   }
> }
> 
> The rootcause is that the /dmadev/stats_reset don't set the outer parameter "struct rte_tel_data *info"
> and return zero.
>
Thanks for the fuller explanation, I'll hopefully test it out myself.

However, in the meantime, looking at the telemetry library code, would the
following change work rather than explicitly always setting the telemetry
data to a dictionary by default? Zeroing the data by default sets it to a
null return which is what you probably want as default rather than an empty
dictionary. (And it's also a smaller diff)

/Bruce

diff --git a/lib/telemetry/telemetry.c b/lib/telemetry/telemetry.c
index 8fbb4f3060..7b905355cd 100644
--- a/lib/telemetry/telemetry.c
+++ b/lib/telemetry/telemetry.c
@@ -333,7 +333,7 @@ output_json(const char *cmd, const struct rte_tel_data *d, int s)
 static void
 perform_command(telemetry_cb fn, const char *cmd, const char *param, int s)
 {
-       struct rte_tel_data data;
+       struct rte_tel_data data = {0};
 
        int ret = fn(cmd, param, &data);
        if (ret < 0) {
 

  reply	other threads:[~2023-01-06 16:08 UTC|newest]

Thread overview: 61+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-12-19  9:07 [PATCH v5 0/5] support dmadev/ethdev stats reset Chengwen Feng
2022-12-19  9:07 ` [PATCH v5 1/5] dmadev: support stats reset telemetry command Chengwen Feng
2022-12-19  9:07 ` [PATCH v5 2/5] telemetry: fix repeated display when callback don't set dict Chengwen Feng
2022-12-19  9:33   ` Bruce Richardson
2022-12-26  4:53     ` fengchengwen
2023-01-06 16:07       ` Bruce Richardson [this message]
2023-01-06 17:33         ` Bruce Richardson
2023-01-11 12:38           ` fengchengwen
2022-12-19  9:07 ` [PATCH v5 3/5] ethdev: support xstats reset telemetry command Chengwen Feng
2022-12-19  9:07 ` [PATCH v5 4/5] ethdev: telemetry xstats support hide zero Chengwen Feng
2022-12-19  9:07 ` [PATCH v5 5/5] ethdev: add newline to telemetry log string Chengwen Feng
2022-12-26  4:55 ` [PATCH v5 0/5] support dmadev/ethdev stats reset fengchengwen
2023-01-11 12:02 ` [PATCH v2 " Chengwen Feng
2023-01-11 12:02   ` [PATCH v2 1/5] dmadev: support stats reset telemetry command Chengwen Feng
2023-01-11 12:02   ` [PATCH v2 2/5] telemetry: fix repeat display when callback don't set dict Chengwen Feng
2023-01-11 12:02   ` [PATCH v2 3/5] ethdev: add newline to telemetry log string Chengwen Feng
2023-01-11 12:02   ` [PATCH v2 4/5] ethdev: support xstats reset telemetry command Chengwen Feng
2023-01-11 12:02   ` [PATCH v2 5/5] ethdev: telemetry xstats support hide zero Chengwen Feng
2023-01-11 12:06 ` [PATCH v2 0/5] support dmadev/ethdev stats reset Chengwen Feng
2023-01-11 12:06   ` [PATCH v2 1/5] dmadev: support stats reset telemetry command Chengwen Feng
2023-01-11 13:58     ` Bruce Richardson
2023-01-11 12:06   ` [PATCH v2 2/5] telemetry: fix repeat display when callback don't set dict Chengwen Feng
2023-01-11 14:01     ` Bruce Richardson
2023-01-11 12:06   ` [PATCH v2 3/5] ethdev: add newline to telemetry log string Chengwen Feng
2023-01-11 12:06   ` [PATCH v2 4/5] ethdev: support xstats reset telemetry command Chengwen Feng
2023-01-11 12:06   ` [PATCH v2 5/5] ethdev: telemetry xstats support hide zero Chengwen Feng
2023-01-11 14:08     ` Bruce Richardson
2023-01-20  3:51       ` fengchengwen
2023-01-11 12:36   ` [PATCH v2 0/5] support dmadev/ethdev stats reset fengchengwen
2023-01-20  3:25 ` [PATCH v3 " Chengwen Feng
2023-01-20  3:25   ` [PATCH v3 1/5] dmadev: support stats reset telemetry command Chengwen Feng
2023-01-20  3:25   ` [PATCH v3 2/5] telemetry: fix repeat display when callback don't init dict Chengwen Feng
2023-01-20  3:25   ` [PATCH v3 3/5] ethdev: add newline to telemetry log string Chengwen Feng
2023-01-20  3:25   ` [PATCH v3 4/5] ethdev: support xstats reset telemetry command Chengwen Feng
2023-01-20  3:25   ` [PATCH v3 5/5] ethdev: telemetry xstats support hide zero Chengwen Feng
2023-01-20  3:34 ` [PATCH v4 0/5] support dmadev/ethdev stats reset Chengwen Feng
2023-01-20  3:34   ` [PATCH v4 1/5] dmadev: support stats reset telemetry command Chengwen Feng
2023-01-20  3:34   ` [PATCH v4 2/5] telemetry: fix repeat display when callback don't init dict Chengwen Feng
2023-02-08 14:15     ` Bruce Richardson
2023-02-09  1:33       ` fengchengwen
2023-01-20  3:34   ` [PATCH v4 3/5] ethdev: add newline to telemetry log string Chengwen Feng
2023-01-20  3:34   ` [PATCH v4 4/5] ethdev: support xstats reset telemetry command Chengwen Feng
2023-01-20  3:34   ` [PATCH v4 5/5] ethdev: telemetry xstats support hide zero Chengwen Feng
2023-02-06  8:39   ` [PATCH v4 0/5] support dmadev/ethdev stats reset Thomas Monjalon
2023-02-08 14:17   ` Bruce Richardson
2023-02-09  1:45     ` fengchengwen
2023-02-09  2:32 ` [PATCH v5 0/2] " Chengwen Feng
2023-02-09  2:32   ` [PATCH v5 1/2] dmadev: support stats reset telemetry command Chengwen Feng
2023-02-09  2:32   ` [PATCH v5 2/2] ethdev: support xstats " Chengwen Feng
2023-02-15  3:19     ` Dongdong Liu
2023-02-16 11:53       ` fengchengwen
2023-02-16 12:06         ` Ferruh Yigit
2023-02-16 12:42           ` fengchengwen
2023-02-16 12:54             ` Bruce Richardson
2023-02-16 12:55               ` Bruce Richardson
2023-02-17  9:44               ` fengchengwen
2023-02-20 13:05                 ` Thomas Monjalon
2023-07-03  3:58                   ` fengchengwen
2023-07-03  7:20                     ` Thomas Monjalon
2023-07-03 13:44                       ` Morten Brørup
2023-07-04  6:41                         ` fengchengwen

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=Y7hHUZ3e0ME3ufdr@bricha3-MOBL.ger.corp.intel.com \
    --to=bruce.richardson@intel.com \
    --cc=andrew.rybchenko@oktetlabs.ru \
    --cc=ciara.power@intel.com \
    --cc=dev@dpdk.org \
    --cc=fengchengwen@huawei.com \
    --cc=ferruh.yigit@amd.com \
    --cc=kevin.laatz@intel.com \
    --cc=thomas@monjalon.net \
    /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).