summaryrefslogtreecommitdiff
path: root/tools/perf/util/evsel.h
diff options
context:
space:
mode:
authorRiccardo Mancini <rickyman7@gmail.com>2021-08-21 12:19:30 +0300
committerArnaldo Carvalho de Melo <acme@redhat.com>2021-08-31 22:52:27 +0300
commit28667a526980bd713ccd55e955e9a9a9c9bc7724 (patch)
tree31c8a34f09ae95864482c55385e2a5f36c1157d3 /tools/perf/util/evsel.h
parent91233d003b0906f146765fbef3572509c99d9386 (diff)
downloadlinux-28667a526980bd713ccd55e955e9a9a9c9bc7724.tar.xz
perf evsel: Handle precise_ip fallback in evsel__open_cpu()
This is another patch in the effort to separate the fallback mechanisms from the open itself. In case of precise_ip fallback, the original precise_ip will be stored in the evsel (it was stored in a local variable) and the open will be retried. Since the precise_ip fallback will be the first in the chain of fallbacks, there should be no functional change with this patch. Signed-off-by: Riccardo Mancini <rickyman7@gmail.com> Cc: Ian Rogers <irogers@google.com> Cc: Jiri Olsa <jolsa@redhat.com> Cc: Mark Rutland <mark.rutland@arm.com> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Link: http://lore.kernel.org/lkml/74208c433d2024a6c4af9c0b140b54ed6b5ea810.1629490974.git.rickyman7@gmail.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf/util/evsel.h')
-rw-r--r--tools/perf/util/evsel.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/tools/perf/util/evsel.h b/tools/perf/util/evsel.h
index b749bee2c7a6..1b3eeab5f188 100644
--- a/tools/perf/util/evsel.h
+++ b/tools/perf/util/evsel.h
@@ -151,6 +151,7 @@ struct evsel {
struct bperf_follower_bpf *follower_skel;
};
unsigned long open_flags;
+ int precise_ip_original;
};
struct perf_missing_features {
@@ -298,6 +299,7 @@ bool evsel__ignore_missing_thread(struct evsel *evsel,
int nr_cpus, int cpu,
struct perf_thread_map *threads,
int thread, int err);
+bool evsel__precise_ip_fallback(struct evsel *evsel);
struct perf_sample;