Messages in this thread Patch in this message | | | Date | Thu, 25 Nov 2021 23:13:05 -0800 | Subject | [RFC PATCH] perf pmu-events: Don't lower case MetricExpr | From | Ian Rogers <> |
| |
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.
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
| |