summaryrefslogtreecommitdiffstats
path: root/tools/perf/util/pmu.y
diff options
context:
space:
mode:
authorIan Rogers <irogers@google.com>2023-04-06 08:52:23 +0200
committerArnaldo Carvalho de Melo <acme@redhat.com>2023-04-07 02:40:28 +0200
commit3d88aec0d42eec26b633fb2a473e294a1125bbd7 (patch)
tree863dfa7c6b567419ded68258bd4d774a9de733c6 /tools/perf/util/pmu.y
parentperf map: Add accessor for start and end (diff)
downloadlinux-3d88aec0d42eec26b633fb2a473e294a1125bbd7.tar.xz
linux-3d88aec0d42eec26b633fb2a473e294a1125bbd7.zip
perf pmu: Make parser reentrant
By default bison uses global state for compatibility with yacc. Make the parser reentrant so that it may be used in asynchronous and multithreaded situations. Signed-off-by: Ian Rogers <irogers@google.com> Acked-by: Jiri Olsa <jolsa@kernel.org> Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Gaosheng Cui <cuigaosheng1@huawei.com> Cc: German Gomez <german.gomez@arm.com> Cc: Ingo Molnar <mingo@redhat.com> Cc: James Clark <james.clark@arm.com> Cc: Jing Zhang <renyu.zj@linux.alibaba.com> Cc: Leo Yan <leo.yan@linaro.org> Cc: Mark Rutland <mark.rutland@arm.com> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Ravi Bangoria <ravi.bangoria@amd.com> Cc: Rob Herring <robh@kernel.org> Cc: Sean Christopherson <seanjc@google.com> Cc: Suzuki Poulouse <suzuki.poulose@arm.com> Link: https://lore.kernel.org/r/20230406065224.2553640-1-irogers@google.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf/util/pmu.y')
-rw-r--r--tools/perf/util/pmu.y5
1 files changed, 4 insertions, 1 deletions
diff --git a/tools/perf/util/pmu.y b/tools/perf/util/pmu.y
index e675d79a0274..dff4e892ac4d 100644
--- a/tools/perf/util/pmu.y
+++ b/tools/perf/util/pmu.y
@@ -1,6 +1,8 @@
-
+%define api.pure full
%parse-param {struct list_head *format}
%parse-param {char *name}
+%parse-param {void *scanner}
+%lex-param {void* scanner}
%{
@@ -78,6 +80,7 @@ PP_VALUE
void perf_pmu_error(struct list_head *list __maybe_unused,
char *name __maybe_unused,
+ void *scanner __maybe_unused,
char const *msg __maybe_unused)
{
}