[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20191025213633.b1227d0721b97edc8e8f9335@kernel.org>
Date: Fri, 25 Oct 2019 21:36:33 +0900
From: Masami Hiramatsu <mhiramat@...nel.org>
To: Arnaldo Carvalho de Melo <acme@...nel.org>
Cc: Jiri Olsa <jolsa@...hat.com>, Namhyung Kim <namhyung@...nel.org>,
linux-kernel@...r.kernel.org
Subject: Re: [BUGFIX PATCH 1/6] perf/probe: Fix wrong address verification
Hi,
On Fri, 25 Oct 2019 09:14:48 -0300
Arnaldo Carvalho de Melo <acme@...nel.org> wrote:
> Em Fri, Oct 25, 2019 at 05:46:25PM +0900, Masami Hiramatsu escreveu:
> > Since there are some DIE which has only ranges instead of the
> > combination of entrypc/highpc, address verification must use
> > dwarf_haspc() instead of dwarf_entrypc/dwarf_highpc.
> >
> > Also, the ranges only DIE will have a partial code in different
> > section (e.g. unlikely code will be in text.unlikely as "FUNC.cold"
> > symbol). In that case, we can not use dwarf_entrypc() or
> > die_entrypc(), because the offset from original DIE can be
> > a minus value.
> >
> > Instead, this simply gets the symbol and offset from symtab.
> >
> > Without this patch;
> > # tools/perf/perf probe -D clear_tasks_mm_cpumask:1
> > Failed to get entry address of clear_tasks_mm_cpumask
> > Error: Failed to add events.
> >
> > And with this patch
> > # tools/perf/perf probe -D clear_tasks_mm_cpumask:1
> > p:probe/clear_tasks_mm_cpumask clear_tasks_mm_cpumask+0
> > p:probe/clear_tasks_mm_cpumask_1 clear_tasks_mm_cpumask+5
> > p:probe/clear_tasks_mm_cpumask_2 clear_tasks_mm_cpumask+8
> > p:probe/clear_tasks_mm_cpumask_3 clear_tasks_mm_cpumask+16
> > p:probe/clear_tasks_mm_cpumask_4 clear_tasks_mm_cpumask+82
>
> Ok, so this just asks for the definition, but doesn't try to actually
> _use_ it, which I did and it fails:
>
> [root@...co tracebuffer]# perf probe -D clear_tasks_mm_cpumask:1
> p:probe/clear_tasks_mm_cpumask _text+919968
> p:probe/clear_tasks_mm_cpumask_1 _text+919973
> p:probe/clear_tasks_mm_cpumask_2 _text+919976
> [root@...co tracebuffer]#
> [root@...co tracebuffer]# perf probe clear_tasks_mm_cpumask
> Probe point 'clear_tasks_mm_cpumask' not found.
> Error: Failed to add events.
> [root@...co tracebuffer]#
>
> So I'll tentatively continue to apply the other patches in this series,
> maybe one of them will fix this.
Yes, it should be fixed by [2/6] :)
Actually, a probe point with offset line and no-offset are handled
a bit differently.
Thank you,
--
Masami Hiramatsu <mhiramat@...nel.org>
Powered by blists - more mailing lists