All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arnaldo Carvalho de Melo <acme@kernel.org>
To: Ian Rogers <irogers@google.com>
Cc: Peter Zijlstra <peterz@infradead.org>,
	Ingo Molnar <mingo@redhat.com>,
	Mark Rutland <mark.rutland@arm.com>,
	Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Jiri Olsa <jolsa@kernel.org>, Namhyung Kim <namhyung@kernel.org>,
	Adrian Hunter <adrian.hunter@intel.com>,
	Kan Liang <kan.liang@linux.intel.com>,
	Zhengjun Xing <zhengjun.xing@linux.intel.com>,
	John Garry <john.g.garry@oracle.com>,
	Kajol Jain <kjain@linux.ibm.com>,
	Thomas Richter <tmricht@linux.ibm.com>,
	linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org
Subject: Re: [PATCH v3 14/15] perf jevents: Add support for metricgroup descriptions
Date: Tue, 23 May 2023 16:18:24 -0300	[thread overview]
Message-ID: <ZG0RgAjiqQHoVXQR@kernel.org> (raw)
In-Reply-To: <CAP-5=fXKvhqySuomqHU5FMh17N=R-TVoJgLEWU=UgM+HVhSdLQ@mail.gmail.com>

Em Tue, May 23, 2023 at 08:58:25AM -0700, Ian Rogers escreveu:
> On Tue, May 23, 2023 at 8:16 AM Arnaldo Carvalho de Melo
> <acme@kernel.org> wrote:
> >
> > Em Wed, May 17, 2023 at 10:38:03AM -0700, Ian Rogers escreveu:
> > > Metrics have a field where the groups they belong to are listed like
> > > the following from
> > > tools/perf/pmu-events/arch/x86/skylakex/skx-metrics.json:
> > >
> > >         "MetricGroup": "PGO;TmaL1;TopdownL1;tma_L1_group",
> > >         "MetricName": "tma_frontend_bound",
> >
> >   LD      /tmp/build/perf-tools-next/util/perf-in.o
> >   LD      /tmp/build/perf-tools-next/perf-in.o
> >   CC      /tmp/build/perf-tools-next/pmu-events/pmu-events.o
> > In file included from /var/home/acme/git/perf-tools-next/tools/include/linux/bitmap.h:9,
> >                  from /var/home/acme/git/perf-tools-next/tools/perf/util/header.h:10,
> >                  from /tmp/build/perf-tools-next/pmu-events/pmu-events.c:3:
> > /tmp/build/perf-tools-next/pmu-events/pmu-events.c: In function ‘describe_metricgroup’:
> > /var/home/acme/git/perf-tools-next/tools/include/linux/kernel.h:102:25: error: overflow in conversion from ‘long unsigned int’ to ‘int’ changes value from ‘18446744073709551615’ to ‘-1’ [-Werror=overflow]
> >   102 | #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr))
> >       |                         ^
> > /tmp/build/perf-tools-next/pmu-events/pmu-events.c:61603:29: note: in expansion of macro ‘ARRAY_SIZE’
> > 61603 |         int low = 0, high = ARRAY_SIZE(metricgroups) - 1;
> >       |                             ^~~~~~~~~~
> > cc1: all warnings being treated as errors
> > make[3]: *** [/var/home/acme/git/perf-tools-next/tools/build/Makefile.build:98: /tmp/build/perf-tools-next/pmu-events/pmu-events.o] Error 1
> > make[2]: *** [Makefile.perf:679: /tmp/build/perf-tools-next/pmu-events/pmu-events-in.o] Error 2
> > make[1]: *** [Makefile.perf:236: sub-make] Error 2
> > make: *** [Makefile:113: install-bin] Error 2
> > make: Leaving directory '/var/home/acme/git/perf-tools-next/tools/perf'
> >
> >  Performance counter stats for 'make -k BUILD_BPF_SKEL=1 CORESIGHT=1 O=/tmp/build/perf-tools-next -C tools/perf install-bin':
> >
> >       241752971879      cycles:u
> >       296060193784      instructions:u                   #    1.22  insn per cycle
> >
> >        6.129451072 seconds time elapsed
> >
> >       59.018259000 seconds user
> >       12.132871000 seconds sys
> >
> >
> > ⬢[acme@toolbox perf-tools-next]$ fg
> > git rebase -i HEAD~15
> >
> > [1]+  Stopped                 git rebase -i HEAD~15
> > ⬢[acme@toolbox perf-tools-next]$ git log --oneline -1
> > 995a2beaa64deb7b (HEAD) perf jevents: Add support for metricgroup descriptions
> > ⬢[acme@toolbox perf-tools-next]$
> >
> > Applied 1-13, pushing to tmp.perf-tools-next,
> >
> > - Arnaldo
> 
> Thanks, there's a missing (int) cast on ARRAY_SIZE. It doesn't make
> sense to resend the entire series so I'll wait to rebase, add the cast
> and then resend in v2 - that's unless you beat me to it ;-)

I made the amendment below, now lets see why it is not building after
the next patch is applied...

- Arnaldo

diff --git a/tools/perf/pmu-events/jevents.py b/tools/perf/pmu-events/jevents.py
index 8fca7c9adee0c354..7ed258be18292241 100755
--- a/tools/perf/pmu-events/jevents.py
+++ b/tools/perf/pmu-events/jevents.py
@@ -938,7 +938,7 @@ static const int metricgroups[][2] = {
 
 const char *describe_metricgroup(const char *group)
 {
-        int low = 0, high = ARRAY_SIZE(metricgroups) - 1;
+        int low = 0, high = (int)ARRAY_SIZE(metricgroups) - 1;
 
         while (low <= high) {
                 int mid = (low + high) / 2;

  reply	other threads:[~2023-05-23 19:18 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-05-17 17:37 [PATCH v3 00/15] Event, metric and metric group improvements Ian Rogers
2023-05-17 17:37 ` [PATCH v3 01/15] perf vendor events intel: Update alderlake events/metrics Ian Rogers
2023-05-17 17:37 ` [PATCH v3 02/15] perf vendor events intel: Update broadwell variant events/metrics Ian Rogers
2023-05-17 17:37 ` [PATCH v3 03/15] perf vendor events intel: Update cascadelakex events/metrics Ian Rogers
2023-05-17 17:37 ` [PATCH v3 04/15] perf vendor events intel: Update elkhartlake events Ian Rogers
2023-05-17 17:37 ` [PATCH v3 05/15] perf vendor events intel: Update haswell(x) metrics Ian Rogers
2023-05-17 17:37 ` [PATCH v3 06/15] perf vendor events intel: Update icelake/icelakex events/metrics Ian Rogers
2023-05-17 17:37 ` [PATCH v3 07/15] perf vendor events intel: Update ivybridge/ivytown metrics Ian Rogers
2023-05-17 17:37 ` [PATCH v3 08/15] perf vendor events intel: Update jaketown metrics Ian Rogers
2023-05-17 17:37 ` [PATCH v3 09/15] perf vendor events intel: Update sandybridge metrics Ian Rogers
2023-05-17 17:37 ` [PATCH v3 10/15] perf vendor events intel: Update sapphirerapids events/metrics Ian Rogers
2023-05-17 17:38 ` [PATCH v3 11/15] perf vendor events intel: Update skylake/skylakex events/metrics Ian Rogers
2023-05-17 17:38 ` [PATCH v3 12/15] perf vendor events intel: Update snowridgex events Ian Rogers
2023-05-17 17:38 ` [PATCH v3 13/15] perf vendor events intel: Update tigerlake events/metrics Ian Rogers
2023-05-17 17:38 ` [PATCH v3 14/15] perf jevents: Add support for metricgroup descriptions Ian Rogers
2023-05-23 15:15   ` Arnaldo Carvalho de Melo
2023-05-23 15:58     ` Ian Rogers
2023-05-23 19:18       ` Arnaldo Carvalho de Melo [this message]
2023-05-23 19:28         ` Arnaldo Carvalho de Melo
2023-05-17 17:38 ` [PATCH v3 15/15] perf vendor events intel: Add metricgroup descriptions for all models Ian Rogers
2023-05-17 20:26 ` [PATCH v3 00/15] Event, metric and metric group improvements Liang, Kan

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=ZG0RgAjiqQHoVXQR@kernel.org \
    --to=acme@kernel.org \
    --cc=adrian.hunter@intel.com \
    --cc=alexander.shishkin@linux.intel.com \
    --cc=irogers@google.com \
    --cc=john.g.garry@oracle.com \
    --cc=jolsa@kernel.org \
    --cc=kan.liang@linux.intel.com \
    --cc=kjain@linux.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-perf-users@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=mingo@redhat.com \
    --cc=namhyung@kernel.org \
    --cc=peterz@infradead.org \
    --cc=tmricht@linux.ibm.com \
    --cc=zhengjun.xing@linux.intel.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.