Re: [PATCH 1/3] perf probe: Set retprobe flag when probe in address-based alternative mode

Arnaldo Carvalho de Melo
2015-04-13T16:05:58Z

Em Tue, Apr 14, 2015 at 12:42:52AM +0900, Masami Hiramatsu escreveu:
> (2015/04/13 20:41), He Kuang wrote:
> > Perf probe misses to set retprobe flag back when falling back to
> > address-based alternative mode.
> >
> > Can be reproduced as following:
> >
> > $ perf probe -v -k vmlinux --add='sys_write%return'
> > ...
> > Added new event:
> > Writing event: p:probe/sys_write _stext+1584952
> > probe:sys_write (on sys_write%return)
> >
> > $ cat /sys/kernel/debug/tracing/kprobe_events
> > p:probe/sys_write _stext+1584952
> >
> > After this patch:
> >
> > $ perf probe -v -k vmlinux --add='sys_write%return'
> > Added new event:
> > Writing event: r:probe/sys_write SyS_write+0
> > probe:sys_write (on sys_write%return)
> >
> > $ cat /sys/kernel/debug/tracing/kprobe_events
> > r:probe/sys_write SyS_write
> >
> > Signed-off-by: He Kuang <hekuang@huawei.com>
>
> Oops, I missed that!
>
> Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
>
> Thank you!

Thanks to both of you, will add the extra comments from He and apply
after testing with a freshly build kernel with CONFIG_DEBUG_INFO=y.

- Arnaldo

> > ---
> > tools/perf/util/probe-event.c | 1 +
> > 1 file changed, 1 insertion(+)
> >
> > diff --git a/tools/perf/util/probe-event.c b/tools/perf/util/probe-event.c
> > index 30545ce..5483d98 100644
> > --- a/tools/perf/util/probe-event.c
> > +++ b/tools/perf/util/probe-event.c
> > @@ -332,6 +332,7 @@ static int find_alternative_probe_point(struct debuginfo *dinfo,
> > else {
> > result->offset += pp->offset;
> > result->line += pp->line;
> > + result->retprobe = pp->retprobe;
> > ret = 0;
> > }
> >
> >
>
>
> --
> Masami HIRAMATSU
> Linux Technology Research Center, System Productivity Research Dept.
> Center for Technology Innovation - Systems Engineering
> Hitachi, Ltd., Research & Development Group
> E-mail: masami.hiramatsu.pt@hitachi.com
>