Re: [PATCH 6/9] perf, tools: Allow events with dot

From: Jiri Olsa
Date: Wed Jul 09 2014 - 18:19:31 EST


On Fri, Jun 27, 2014 at 04:16:01PM -0700, Andi Kleen wrote:
> From: Andi Kleen <ak@xxxxxxxxxxxxxxx>
>
> The Intel events use a dot to separate event name and unit mask.
> Allow dot in names in the scanner, and remove special handling
> of dot as EOF. Also remove the hack in jevents to replace dot
> with underscore. This way dotted events can be specified
> directly by the user.
>
> I'm not fully sure this change to the scanner is correct
> (what was the dot special case good for?), but I haven't
> found anything that breaks with it so far at least.
>
> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx>
> Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx>
> ---
> tools/perf/util/jevents.c | 9 +--------
> tools/perf/util/parse-events.l | 3 +--
> 2 files changed, 2 insertions(+), 10 deletions(-)
>
> diff --git a/tools/perf/util/jevents.c b/tools/perf/util/jevents.c
> index 1fae0b7..43550f7 100644
> --- a/tools/perf/util/jevents.c
> +++ b/tools/perf/util/jevents.c
> @@ -100,15 +100,8 @@ static void addfield(char *map, char **dst, const char *sep,
>
> static void fixname(char *s)
> {
> - for (; *s; s++) {
> + for (; *s; s++)
> *s = tolower(*s);
> - /*
> - * Remove '.' for now, until the parser
> - * can deal with it.
> - */
> - if (*s == '.')
> - *s = '_';
> - }
> }

please submit change below as separated patch
before above 'fixname' is introduced

jirka

>
> static void fixdesc(char *s)
> diff --git a/tools/perf/util/parse-events.l b/tools/perf/util/parse-events.l
> index 3432995..709fa3b 100644
> --- a/tools/perf/util/parse-events.l
> +++ b/tools/perf/util/parse-events.l
> @@ -81,7 +81,7 @@ num_dec [0-9]+
> num_hex 0x[a-fA-F0-9]+
> num_raw_hex [a-fA-F0-9]+
> name [a-zA-Z_*?][a-zA-Z0-9_*?]*
> -name_minus [a-zA-Z_*?][a-zA-Z0-9\-_*?]*
> +name_minus [a-zA-Z_*?][a-zA-Z0-9\-_*?.]*
> /* If you add a modifier you need to update check_modifier() */
> modifier_event [ukhpGHSD]+
> modifier_bp [rwx]{1,3}
> @@ -119,7 +119,6 @@ modifier_bp [rwx]{1,3}
> return PE_EVENT_NAME;
> }
>
> -. |
> <<EOF>> {
> BEGIN(INITIAL); yyless(0);
> }
> --
> 1.9.3
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/