2020-05-01 17:35:36

by Ian Rogers

[permalink] [raw]
Subject: [PATCH v4 01/12] perf expr: unlimited escaped characters in a symbol

Current expression allows 2 escaped '-,=' characters. However, some
metrics require more, for example Haswell DRAM_BW_Use.

Fixes: 26226a97724d (perf expr: Move expr lexer to flex)
Signed-off-by: Ian Rogers <[email protected]>
---
tools/perf/util/expr.l | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/perf/util/expr.l b/tools/perf/util/expr.l
index 74b9b59b1aa5..73db6a9ef97e 100644
--- a/tools/perf/util/expr.l
+++ b/tools/perf/util/expr.l
@@ -86,7 +86,7 @@ number [0-9]+
sch [-,=]
spec \\{sch}
sym [0-9a-zA-Z_\.:@?]+
-symbol {spec}*{sym}*{spec}*{sym}*{spec}*{sym}
+symbol ({spec}|{sym})+

%%
struct expr_scanner_ctx *sctx = expr_get_extra(yyscanner);
--
2.26.2.526.g744177e7f7-goog


2020-05-04 06:51:59

by kajoljain

[permalink] [raw]
Subject: Re: [PATCH v4 01/12] perf expr: unlimited escaped characters in a symbol



On 5/1/20 11:03 PM, Ian Rogers wrote:
> Current expression allows 2 escaped '-,=' characters. However, some
> metrics require more, for example Haswell DRAM_BW_Use.
>
> Fixes: 26226a97724d (perf expr: Move expr lexer to flex)
> Signed-off-by: Ian Rogers <[email protected]>
> ---
> tools/perf/util/expr.l | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/tools/perf/util/expr.l b/tools/perf/util/expr.l
> index 74b9b59b1aa5..73db6a9ef97e 100644
> --- a/tools/perf/util/expr.l
> +++ b/tools/perf/util/expr.l
> @@ -86,7 +86,7 @@ number [0-9]+
> sch [-,=]
> spec \\{sch}
> sym [0-9a-zA-Z_\.:@?]+
> -symbol {spec}*{sym}*{spec}*{sym}*{spec}*{sym}
> +symbol ({spec}|{sym})+

Acked and Tested By: Kajol Jain <[email protected]>
>
> %%
> struct expr_scanner_ctx *sctx = expr_get_extra(yyscanner);
>