aboutsummaryrefslogtreecommitdiff
path: root/tools/perf/util/dlfilter.c
diff options
context:
space:
mode:
authorGravatar Ian Rogers <irogers@google.com> 2023-03-20 14:22:36 -0700
committerGravatar Arnaldo Carvalho de Melo <acme@redhat.com> 2023-04-04 16:54:11 -0300
commite5116f46d44b72ede59a6923829f68a8b8f84e76 (patch)
treedee083046469fd43de89269845b2b7cab62fe545 /tools/perf/util/dlfilter.c
parentperf map: Add accessor for dso (diff)
downloadlinux-e5116f46d44b72ede59a6923829f68a8b8f84e76.tar.gz
linux-e5116f46d44b72ede59a6923829f68a8b8f84e76.tar.bz2
linux-e5116f46d44b72ede59a6923829f68a8b8f84e76.zip
perf map: Add accessor for start and end
Later changes will add reference count checking for struct map, start and end are frequently accessed variables. Add an accessor so that the reference count check is only necessary in one place. Signed-off-by: Ian Rogers <irogers@google.com> Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Alexey Bayduraev <alexey.v.bayduraev@linux.intel.com> Cc: Andi Kleen <ak@linux.intel.com> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Cc: Darren Hart <dvhart@infradead.org> Cc: Davidlohr Bueso <dave@stgolabs.net> Cc: Dmitriy Vyukov <dvyukov@google.com> Cc: Eric Dumazet <edumazet@google.com> Cc: German Gomez <german.gomez@arm.com> Cc: Hao Luo <haoluo@google.com> Cc: Ingo Molnar <mingo@redhat.com> Cc: James Clark <james.clark@arm.com> Cc: Jiri Olsa <jolsa@kernel.org> Cc: John Garry <john.g.garry@oracle.com> Cc: Kajol Jain <kjain@linux.ibm.com> Cc: Kan Liang <kan.liang@linux.intel.com> Cc: Leo Yan <leo.yan@linaro.org> Cc: Madhavan Srinivasan <maddy@linux.ibm.com> Cc: Mark Rutland <mark.rutland@arm.com> Cc: Masami Hiramatsu <mhiramat@kernel.org> Cc: Miaoqian Lin <linmq006@gmail.com> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Riccardo Mancini <rickyman7@gmail.com> Cc: Shunsuke Nakamura <nakamura.shun@fujitsu.com> Cc: Song Liu <song@kernel.org> Cc: Stephane Eranian <eranian@google.com> Cc: Stephen Brennan <stephen.s.brennan@oracle.com> Cc: Steven Rostedt (VMware) <rostedt@goodmis.org> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Thomas Richter <tmricht@linux.ibm.com> Cc: Yury Norov <yury.norov@gmail.com> Link: https://lore.kernel.org/r/20230320212248.1175731-2-irogers@google.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf/util/dlfilter.c')
-rw-r--r--tools/perf/util/dlfilter.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/tools/perf/util/dlfilter.c b/tools/perf/util/dlfilter.c
index 8a7ffe0d805a..fe401fa4be02 100644
--- a/tools/perf/util/dlfilter.c
+++ b/tools/perf/util/dlfilter.c
@@ -51,7 +51,7 @@ static void al_to_d_al(struct addr_location *al, struct perf_dlfilter_al *d_al)
if (al->addr < sym->end)
d_al->symoff = al->addr - sym->start;
else
- d_al->symoff = al->addr - al->map->start - sym->start;
+ d_al->symoff = al->addr - map__start(al->map) - sym->start;
d_al->sym_binding = sym->binding;
} else {
d_al->sym = NULL;
@@ -268,7 +268,7 @@ static __s32 dlfilter__object_code(void *ctx, __u64 ip, void *buf, __u32 len)
map = al->map;
- if (map && ip >= map->start && ip < map->end &&
+ if (map && ip >= map__start(map) && ip < map__end(map) &&
machine__kernel_ip(d->machine, ip) == machine__kernel_ip(d->machine, d->sample->ip))
goto have_map;
@@ -279,8 +279,8 @@ static __s32 dlfilter__object_code(void *ctx, __u64 ip, void *buf, __u32 len)
map = a.map;
have_map:
offset = map->map_ip(map, ip);
- if (ip + len >= map->end)
- len = map->end - ip;
+ if (ip + len >= map__end(map))
+ len = map__end(map) - ip;
return dso__data_read_offset(map__dso(map), d->machine, offset, buf, len);
}