perf pmu-events: Don't lower case MetricExpr
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. Signed-off-by: Ian Rogers <irogers@google.com> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Andi Kleen <ak@linux.intel.com> Cc: Jiri Olsa <jolsa@redhat.com> Cc: John Garry <john.garry@huawei.com> Cc: Kajol Jain <kjain@linux.ibm.com> Cc: Kan Liang <kan.liang@linux.intel.com> Cc: Mark Rutland <mark.rutland@arm.com> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Paul Clarke <pc@us.ibm.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Stephane Eranian <eranian@google.com> Link: http://lore.kernel.org/lkml/20211126071305.3733878-1-irogers@google.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
parent
f56ef30a31
commit
c0dd94558d
|
@ -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++)
|
||||
|
|
|
@ -407,7 +407,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;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue