Re: [PATCH v1] perf parse-events: Tidy name token matching

From: Ian Rogers
Date: Mon Feb 10 2025 - 14:23:49 EST


On Thu, Jan 9, 2025 at 9:54 AM Ian Rogers <irogers@xxxxxxxxxx> wrote:
>
> Prior to commit 70c90e4a6b2f ("perf parse-events: Avoid scanning PMUs
> before parsing") names (generally event names) excluded hyphen (minus)
> symbols as the formation of legacy names with hyphens was handled in
> the yacc code. That commit allowed hyphens supposedly making
> name_minus unnecessary. However, changing name_minus to name has
> issues in the term config tokens as then name ends up having priority
> over numbers and name allows matching numbers since commit
> 5ceb57990bf4 ("perf parse: Allow tracepoint names to start with digits
> "). It is also permissable for a name to match with a colon (':') in
> it when its in a config term list. To address this rename name_minus
> to term_name, make the pattern match name's except for the colon, add
> number matching into the config term region with a higher priority
> than name matching. This addresses an inconsistency and allows greater
> matching for names inside of term lists, for example, they may start
> with a number.
>
> Rename name_tag to quoted_name and update comments and helper
> functions to avoid str detecting quoted strings which was already done
> by the lexer.
>
> Signed-off-by: Ian Rogers <irogers@xxxxxxxxxx>

Ping. This patch addresses name parsing inconsistencies, in particular
events may start with a number without a PMU, but not with. It also
aims to give better names to patterns than name_minus and name_tag
(with term_name and quoted_name respectively) that have drifted from
their original meaning and become to me less than intention revealing.

Thanks,
Ian