2019-08-20 14:05:32

by Jiri Olsa

[permalink] [raw]
Subject: [PATCH] perf c2c: Display proper cpu count in nodes column

There's wrong bitmap considered when checking
for cpu count of specific node.

We do the needed computation for 'set' variable,
but at the end we use the 'c2c_he->cpuset' weight,
which shows misleading numbers.

Reported-by: Joe Mario <[email protected]>
Link: https://lkml.kernel.org/n/[email protected]
Signed-off-by: Jiri Olsa <[email protected]>
---
tools/perf/builtin-c2c.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/perf/builtin-c2c.c b/tools/perf/builtin-c2c.c
index f0aae6e13a33..9240c6bf70f5 100644
--- a/tools/perf/builtin-c2c.c
+++ b/tools/perf/builtin-c2c.c
@@ -1106,7 +1106,7 @@ node_entry(struct perf_hpp_fmt *fmt __maybe_unused, struct perf_hpp *hpp,
break;
case 1:
{
- int num = bitmap_weight(c2c_he->cpuset, c2c.cpus_cnt);
+ int num = bitmap_weight(set, c2c.cpus_cnt);
struct c2c_stats *stats = &c2c_he->node_stats[node];

ret = scnprintf(hpp->buf, hpp->size, "%2d{%2d ", node, num);
--
2.21.0


2019-08-20 14:18:33

by Arnaldo Carvalho de Melo

[permalink] [raw]
Subject: Re: [PATCH] perf c2c: Display proper cpu count in nodes column

Em Tue, Aug 20, 2019 at 04:02:19PM +0200, Jiri Olsa escreveu:
> There's wrong bitmap considered when checking
> for cpu count of specific node.
>
> We do the needed computation for 'set' variable,
> but at the end we use the 'c2c_he->cpuset' weight,
> which shows misleading numbers.
>
> Reported-by: Joe Mario <[email protected]>

You forgot to add this:

Fixes: 1e181b92a2da ("perf c2c report: Add 'node' sort key")

Can you please confirm that that is the cset being fixed? This helps
with backporters, stable@, etc.

- Arnaldo


> Link: https://lkml.kernel.org/n/[email protected]
> Signed-off-by: Jiri Olsa <[email protected]>
> ---
> tools/perf/builtin-c2c.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/tools/perf/builtin-c2c.c b/tools/perf/builtin-c2c.c
> index f0aae6e13a33..9240c6bf70f5 100644
> --- a/tools/perf/builtin-c2c.c
> +++ b/tools/perf/builtin-c2c.c
> @@ -1106,7 +1106,7 @@ node_entry(struct perf_hpp_fmt *fmt __maybe_unused, struct perf_hpp *hpp,
> break;
> case 1:
> {
> - int num = bitmap_weight(c2c_he->cpuset, c2c.cpus_cnt);
> + int num = bitmap_weight(set, c2c.cpus_cnt);
> struct c2c_stats *stats = &c2c_he->node_stats[node];
>
> ret = scnprintf(hpp->buf, hpp->size, "%2d{%2d ", node, num);
> --
> 2.21.0

--

- Arnaldo

2019-08-20 14:24:39

by Jiri Olsa

[permalink] [raw]
Subject: Re: [PATCH] perf c2c: Display proper cpu count in nodes column

On Tue, Aug 20, 2019 at 11:16:52AM -0300, Arnaldo Carvalho de Melo wrote:
> Em Tue, Aug 20, 2019 at 04:02:19PM +0200, Jiri Olsa escreveu:
> > There's wrong bitmap considered when checking
> > for cpu count of specific node.
> >
> > We do the needed computation for 'set' variable,
> > but at the end we use the 'c2c_he->cpuset' weight,
> > which shows misleading numbers.
> >
> > Reported-by: Joe Mario <[email protected]>
>
> You forgot to add this:
>
> Fixes: 1e181b92a2da ("perf c2c report: Add 'node' sort key")
>
> Can you please confirm that that is the cset being fixed? This helps
> with backporters, stable@, etc.

oops sry, yes, that's correct commit

thanks,
jirka

Subject: [tip: perf/core] perf c2c: Display proper cpu count in nodes column

The following commit has been merged into the perf/core branch of tip:

Commit-ID: 67260e8c0e681a9bb9ed861514b4c80c2d0eb2e5
Gitweb: https://git.kernel.org/tip/67260e8c0e681a9bb9ed861514b4c80c2d0eb2e5
Author: Jiri Olsa <[email protected]>
AuthorDate: Tue, 20 Aug 2019 16:02:19 +02:00
Committer: Arnaldo Carvalho de Melo <[email protected]>
CommitterDate: Thu, 29 Aug 2019 17:38:31 -03:00

perf c2c: Display proper cpu count in nodes column

There's wrong bitmap considered when checking for cpu count of specific
node.

We do the needed computation for 'set' variable, but at the end we use
the 'c2c_he->cpuset' weight, which shows misleading numbers.

Fixes: 1e181b92a2da ("perf c2c report: Add 'node' sort key")
Reported-by: Joe Mario <[email protected]>
Signed-off-by: Jiri Olsa <[email protected]>
Cc: Alexander Shishkin <[email protected]>
Cc: Michael Petlan <[email protected]>
Cc: Namhyung Kim <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Link: http://lore.kernel.org/lkml/[email protected]
Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
---
tools/perf/builtin-c2c.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/perf/builtin-c2c.c b/tools/perf/builtin-c2c.c
index 73782d9..8335a40 100644
--- a/tools/perf/builtin-c2c.c
+++ b/tools/perf/builtin-c2c.c
@@ -1107,7 +1107,7 @@ node_entry(struct perf_hpp_fmt *fmt __maybe_unused, struct perf_hpp *hpp,
break;
case 1:
{
- int num = bitmap_weight(c2c_he->cpuset, c2c.cpus_cnt);
+ int num = bitmap_weight(set, c2c.cpus_cnt);
struct c2c_stats *stats = &c2c_he->node_stats[node];

ret = scnprintf(hpp->buf, hpp->size, "%2d{%2d ", node, num);