[PATCH] perf annotate: Skip DSOs not found

Namhyung Kim posted 1 patch 1 year, 10 months ago
tools/perf/util/disasm.c | 2 ++
1 file changed, 2 insertions(+)
[PATCH] perf annotate: Skip DSOs not found
Posted by Namhyung Kim 1 year, 10 months ago
In some data file, I see the following messages repeated.  It seems it
doesn't have DSOs in the system and the dso->binary_type is set to
DSO_BINARY_TYPE__NOT_FOUND.  Let's skip them to avoid the followings.

  No output from objdump  --start-address=0x0000000000000000 --stop-address=0x00000000000000d4  -d --no-show-raw-insn       -C "$1"
  Error running objdump  --start-address=0x0000000000000000 --stop-address=0x0000000000000631  -d --no-show-raw-insn       -C "$1"
  ...

Signed-off-by: Namhyung Kim <namhyung@kernel.org>
---
 tools/perf/util/disasm.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/tools/perf/util/disasm.c b/tools/perf/util/disasm.c
index a1219eb930aa..92937809be85 100644
--- a/tools/perf/util/disasm.c
+++ b/tools/perf/util/disasm.c
@@ -1669,6 +1669,8 @@ int symbol__disassemble(struct symbol *sym, struct annotate_args *args)
 		return symbol__disassemble_bpf(sym, args);
 	} else if (dso->binary_type == DSO_BINARY_TYPE__BPF_IMAGE) {
 		return symbol__disassemble_bpf_image(sym, args);
+	} else if (dso->binary_type == DSO_BINARY_TYPE__NOT_FOUND) {
+		return -1;
 	} else if (dso__is_kcore(dso)) {
 		kce.kcore_filename = symfs_filename;
 		kce.addr = map__rip_2objdump(map, sym->start);
-- 
2.44.0.478.gd926399ef9-goog
Re: [PATCH] perf annotate: Skip DSOs not found
Posted by Ian Rogers 1 year, 10 months ago
On Wed, Apr 10, 2024 at 11:51 AM Namhyung Kim <namhyung@kernel.org> wrote:
>
> In some data file, I see the following messages repeated.  It seems it
> doesn't have DSOs in the system and the dso->binary_type is set to
> DSO_BINARY_TYPE__NOT_FOUND.  Let's skip them to avoid the followings.
>
>   No output from objdump  --start-address=0x0000000000000000 --stop-address=0x00000000000000d4  -d --no-show-raw-insn       -C "$1"
>   Error running objdump  --start-address=0x0000000000000000 --stop-address=0x0000000000000631  -d --no-show-raw-insn       -C "$1"
>   ...
>
> Signed-off-by: Namhyung Kim <namhyung@kernel.org>

Perhaps: Closes:
https://lore.kernel.org/linux-perf-users/15e1a2847b8cebab4de57fc68e033086aa6980ce.camel@yandex.ru/

Reviewed-by: Ian Rogers <irogers@google.com>

Thanks,
Ian


> ---
>  tools/perf/util/disasm.c | 2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/tools/perf/util/disasm.c b/tools/perf/util/disasm.c
> index a1219eb930aa..92937809be85 100644
> --- a/tools/perf/util/disasm.c
> +++ b/tools/perf/util/disasm.c
> @@ -1669,6 +1669,8 @@ int symbol__disassemble(struct symbol *sym, struct annotate_args *args)
>                 return symbol__disassemble_bpf(sym, args);
>         } else if (dso->binary_type == DSO_BINARY_TYPE__BPF_IMAGE) {
>                 return symbol__disassemble_bpf_image(sym, args);
> +       } else if (dso->binary_type == DSO_BINARY_TYPE__NOT_FOUND) {
> +               return -1;
>         } else if (dso__is_kcore(dso)) {
>                 kce.kcore_filename = symfs_filename;
>                 kce.addr = map__rip_2objdump(map, sym->start);
> --
> 2.44.0.478.gd926399ef9-goog
>
Re: [PATCH] perf annotate: Skip DSOs not found
Posted by Arnaldo Carvalho de Melo 1 year, 10 months ago
On Wed, Apr 10, 2024 at 12:14:37PM -0700, Ian Rogers wrote:
> On Wed, Apr 10, 2024 at 11:51 AM Namhyung Kim <namhyung@kernel.org> wrote:
> >
> > In some data file, I see the following messages repeated.  It seems it
> > doesn't have DSOs in the system and the dso->binary_type is set to
> > DSO_BINARY_TYPE__NOT_FOUND.  Let's skip them to avoid the followings.
> >
> >   No output from objdump  --start-address=0x0000000000000000 --stop-address=0x00000000000000d4  -d --no-show-raw-insn       -C "$1"
> >   Error running objdump  --start-address=0x0000000000000000 --stop-address=0x0000000000000631  -d --no-show-raw-insn       -C "$1"
> >   ...
> >
> > Signed-off-by: Namhyung Kim <namhyung@kernel.org>
> 
> Perhaps: Closes:
> https://lore.kernel.org/linux-perf-users/15e1a2847b8cebab4de57fc68e033086aa6980ce.camel@yandex.ru/

I added:

Closes: https://lore.kernel.org/linux-perf-users/15e1a2847b8cebab4de57fc68e033086aa6980ce.camel@yandex.ru/
Reported-by: Konstantin Kharlamov <Hi-Angel@yandex.ru>
Reviewed-by: Ian Rogers <irogers@google.com>
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Tested-by: Konstantin Kharlamov <Hi-Angel@yandex.ru>

> Reviewed-by: Ian Rogers <irogers@google.com>

Thanks,

- Arnaldo