mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs.git
synced 2026-11-01 06:46:35 +01:00
perf pmu-events: Fix testing with JEVENTS_ARCH=all
The #slots literal will return NAN when not on ARM64 which causes a
perf test failure when not on an ARM64 for a JEVENTS_ARCH=all build:
..
10.4: Parsing of PMU event table metrics with fake PMUs : FAILED!
..
Add an is_test boolean so that the failure can be avoided when running
as a test.
Fixes: acef233b7c ("perf pmu: Add #slots literal support for arm64")
Reviewed-by: John Garry <[email protected]>
Reviewed-by: Kajol Jain <[email protected]>
Signed-off-by: Ian Rogers <[email protected]>
Cc: Adrian Hunter <[email protected]>
Cc: Alexander Shishkin <[email protected]>
Cc: Caleb Biggers <[email protected]>
Cc: Florian Fischer <[email protected]>
Cc: Ian Rogers <[email protected]>
Cc: Ingo Molnar <[email protected]>
Cc: James Clark <[email protected]>
Cc: Jing Zhang <[email protected]>
Cc: Jiri Olsa <[email protected]>
Cc: Kan Liang <[email protected]>
Cc: Kang Minchul <[email protected]>
Cc: Kim Phillips <[email protected]>
Cc: Leo Yan <[email protected]>
Cc: Mark Rutland <[email protected]>
Cc: Mike Leach <[email protected]>
Cc: Namhyung Kim <[email protected]>
Cc: Perry Taylor <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: Ravi Bangoria <[email protected]>
Cc: Rob Herring <[email protected]>
Cc: Sandipan Das <[email protected]>
Cc: Stephane Eranian <[email protected]>
Cc: Will Deacon <[email protected]>
Cc: Xing Zhengjun <[email protected]>
Cc: [email protected]
Cc: [email protected]
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
This commit is contained in:
1 parent
5a09b1fd1b
commit
3340a08354
3 files changed
+7
-3
No files matched your search
@@ -950,6 +950,7 @@ static int metric_parse_fake(const char *metric_name, const char *str)
|
||||
pr_debug("expr__ctx_new failed");
|
||||
return TEST_FAIL;
|
||||
}
|
||||
ctx->sctx.is_test = true;
|
||||
if (expr__find_ids(str, NULL, ctx) < 0) {
|
||||
pr_err("expr__find_ids failed\n");
|
||||
return -1;
|
||||
|
||||
@@ -9,6 +9,7 @@ struct expr_scanner_ctx {
|
||||
char *user_requested_cpu_list;
|
||||
int runtime;
|
||||
bool system_wide;
|
||||
bool is_test;
|
||||
};
|
||||
|
||||
struct expr_parse_ctx {
|
||||
|
||||
@@ -87,9 +87,11 @@ static int literal(yyscan_t scanner, const struct expr_scanner_ctx *sctx)
|
||||
YYSTYPE *yylval = expr_get_lval(scanner);
|
||||
|
||||
yylval->num = expr__get_literal(expr_get_text(scanner), sctx);
|
||||
if (isnan(yylval->num))
|
||||
return EXPR_ERROR;
|
||||
|
||||
if (isnan(yylval->num)) {
|
||||
if (!sctx->is_test)
|
||||
return EXPR_ERROR;
|
||||
yylval->num = 1;
|
||||
}
|
||||
return LITERAL;
|
||||
}
|
||||
%}
|
||||
|
||||
Reference in new issue
Block a user