lkml.org 
[lkml]   [2022]   [Jan]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [RFC PATCH] perf pmu-events: Don't lower case MetricExpr
Em Wed, Jan 12, 2022 at 09:22:51AM -0800, Ian Rogers escreveu:
> On Thu, Nov 25, 2021 at 11:13 PM Ian Rogers <irogers@google.com> wrote:
> >
> > This patch changes MetricExpr to be written out in the same case. This
> > enables events in metrics to use modifiers like 'G' which currently
> > yield parse errors when made lower case. To keep tests passing the
> > literal #smt_on is compared in a non-case sensitive way - #SMT_on is
> > present in at least SkylakeX metrics.
>
> Ping.

I tried applying 20211124001231.3277836-1-irogers@google.com on top of
your perf_cpu series, it failed, will check.

BTW, I got the two other patches in that series:

⬢[acme@toolbox perf]$ git log --oneline -2
6dd8646939a770e4 (HEAD -> perf/core) perf tools: Probe non-deprecated sysfs path 1st
0ce05781f4905fcf perf tools: Fix SMT fallback with large core counts
⬢[acme@toolbox perf]$

- Arnaldo

> Thanks,
> Ian
>
> > This patch is on top of:
> > https://lore.kernel.org/lkml/20211124001231.3277836-1-irogers@google.com/
> >
> > Signed-off-by: Ian Rogers <irogers@google.com>
> > ---
> > tools/perf/pmu-events/jevents.c | 2 --
> > tools/perf/util/expr.c | 2 +-
> > 2 files changed, 1 insertion(+), 3 deletions(-)
> >
> > diff --git a/tools/perf/pmu-events/jevents.c b/tools/perf/pmu-events/jevents.c
> > index 2e7c4153875b..1a57c3f81dd4 100644
> > --- a/tools/perf/pmu-events/jevents.c
> > +++ b/tools/perf/pmu-events/jevents.c
> > @@ -672,8 +672,6 @@ static int json_events(const char *fn,
> > addfield(map, &je.metric_constraint, "", "", val);
> > } else if (json_streq(map, field, "MetricExpr")) {
> > addfield(map, &je.metric_expr, "", "", val);
> > - for (s = je.metric_expr; *s; s++)
> > - *s = tolower(*s);
> > } else if (json_streq(map, field, "ArchStdEvent")) {
> > addfield(map, &arch_std, "", "", val);
> > for (s = arch_std; *s; s++)
> > diff --git a/tools/perf/util/expr.c b/tools/perf/util/expr.c
> > index cdbab4f959fe..5cd6b9ff2489 100644
> > --- a/tools/perf/util/expr.c
> > +++ b/tools/perf/util/expr.c
> > @@ -397,7 +397,7 @@ double expr__get_literal(const char *literal)
> > static struct cpu_topology *topology;
> > double result = NAN;
> >
> > - if (!strcmp("#smt_on", literal)) {
> > + if (!strcasecmp("#smt_on", literal)) {
> > result = smt_on() > 0 ? 1.0 : 0.0;
> > goto out;
> > }
> > --
> > 2.34.0.rc2.393.gf8c9666880-goog
> >

--

- Arnaldo

\
 
 \ /
  Last update: 2022-01-12 18:46    [W:1.457 / U:0.016 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site