diff options
| author | Namhyung Kim <namhyung@kernel.org> | 2024-03-18 22:51:14 -0700 |
|---|---|---|
| committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2024-03-21 10:41:29 -0300 |
| commit | 55ee3d005d62279d3951a26d5c211a4d9aebc222 (patch) | |
| tree | d01e4d07b797c6a650c922622e7b36f558b65700 /tools/perf/util/dso.h | |
| parent | b3c95109c131fcc959d2473e7c384d8cc62d23d0 (diff) | |
| download | linux-55ee3d005d62279d3951a26d5c211a4d9aebc222.tar.gz linux-55ee3d005d62279d3951a26d5c211a4d9aebc222.tar.bz2 linux-55ee3d005d62279d3951a26d5c211a4d9aebc222.zip | |
perf annotate-data: Add a cache for global variable types
They are often searched by many different places. Let's add a cache
for them to reduce the duplicate DWARF access.
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Ian Rogers <irogers@google.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
Link: https://lore.kernel.org/r/20240319055115.4063940-23-namhyung@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf/util/dso.h')
| -rw-r--r-- | tools/perf/util/dso.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/tools/perf/util/dso.h b/tools/perf/util/dso.h index ce9f3849a773..2cdcd1e2ef8b 100644 --- a/tools/perf/util/dso.h +++ b/tools/perf/util/dso.h @@ -154,7 +154,8 @@ struct dso { size_t symbol_names_len; struct rb_root_cached inlined_nodes; struct rb_root_cached srclines; - struct rb_root data_types; + struct rb_root data_types; + struct rb_root global_vars; struct { u64 addr; @@ -411,4 +412,7 @@ int dso__strerror_load(struct dso *dso, char *buf, size_t buflen); void reset_fd_limit(void); +u64 dso__find_global_type(struct dso *dso, u64 addr); +u64 dso__findnew_global_type(struct dso *dso, u64 addr, u64 offset); + #endif /* __PERF_DSO */ |
