From: Arnaldo Carvalho de Melo <acme@kernel.org>
To: He Kuang <hekuang@huawei.com>
Cc: masami.hiramatsu.pt@hitachi.com, a.p.zijlstra@chello.nl,
mingo@redhat.com, namhyung@kernel.org, wangnan0@huawei.com,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH 1/3] perf probe: Set retprobe flag when probe in address-based alternative mode
Date: Mon, 13 Apr 2015 11:39:03 -0300 [thread overview]
Message-ID: <20150413143903.GG3200@kernel.org> (raw)
In-Reply-To: <1428925290-5623-1-git-send-email-hekuang@huawei.com>
Em Mon, Apr 13, 2015 at 07:41:28PM +0800, He Kuang escreveu:
> Perf probe misses to set retprobe flag back when falling back to
> address-based alternative mode.
And when is that happens, can you explain? Because I tried to follow your
instructions, but in my case it worked in the same way before and after your
patch.
Can you please provide more context for reviewing your patch?
Here are my results:
Before:
[root@ssdandy ~]# perf probe -v --add='sys_write%return'
probe-definition(0): sys_write%return
symbol:sys_write file:(null) line:0 offset:0 return:1 lazy:(null)
0 arguments
Using /root/.debug/.build-id/dd/32e51921ede0fd46f034091b7f6a0f2e01ebda for symbols
Could not open debuginfo. Try to use symbols.
Opening /sys/kernel/debug/tracing/kprobe_events write=1
Added new event:
Writing event: r:probe/sys_write sys_write+0
probe:sys_write (on sys_write%return)
You can now use it in all perf tools, such as:
perf record -e probe:sys_write -aR sleep 1
[root@ssdandy ~]# cat /sys/kernel/debug/tracing/kprobe_events
r:probe/sys_write sys_write
Remove it:
[root@ssdandy ~]# perf probe --del *:*
Removed event: probe:sys_write
After:
[root@ssdandy ~]# perf probe -v --add='sys_write%return'
probe-definition(0): sys_write%return
symbol:sys_write file:(null) line:0 offset:0 return:1 lazy:(null)
0 arguments
Using /root/.debug/.build-id/dd/32e51921ede0fd46f034091b7f6a0f2e01ebda for symbols
Could not open debuginfo. Try to use symbols.
Opening /sys/kernel/debug/tracing/kprobe_events write=1
Added new event:
Writing event: r:probe/sys_write sys_write+0
probe:sys_write (on sys_write%return)
You can now use it in all perf tools, such as:
perf record -e probe:sys_write -aR sleep 1
[root@ssdandy ~]#
[root@ssdandy ~]# cat /sys/kernel/debug/tracing/kprobe_events
r:probe/sys_write sys_write
Humm, noticed one other problem, but not with your patch, about this message:
"Could not open debuginfo. Try to use symbols."
That is really not clear, specially that "try to use symbols" :-)
[root@ssdandy ~]# ls -la /root/.debug/.build-id/dd/32e51921ede0fd46f034091b7f6a0f2e01ebda
lrwxrwxrwx. 1 root root 86 Apr 10 18:02 /root/.debug/.build-id/dd/32e51921ede0fd46f034091b7f6a0f2e01ebda -> ../../home/acme/git/build/v4.0.0-rc6+/vmlinux/dd32e51921ede0fd46f034091b7f6a0f2e01ebda
[root@ssdandy ~]# ls -la /root/.debug/.build-id/dd/../../home/acme/git/build/v4.0.0-rc6+/vmlinux/dd32e51921ede0fd46f034091b7f6a0f2e01ebda
-rwxr-xr-x. 1 root root 22698661 Apr 10 18:02 /root/.debug/.build-id/dd/../../home/acme/git/build/v4.0.0-rc6+/vmlinux/dd32e51921ede0fd46f034091b7f6a0f2e01ebda
[root@ssdandy ~]# ls -la /root/.debug/.build-id/dd/../../home/acme/git/build/v4.0.0-rc6+/vmlinux/dd32e51921ede0fd46f034091b7f6a0f2e01ebda
I.e. it managed to read the debuginfo, its just that it has no symbols in it :-)
Anyway, digression ended.
- Arnaldo
> 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>
> ---
> 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;
> }
>
> --
> 2.3.3.220.g9ab698f
next prev parent reply other threads:[~2015-04-13 14:39 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-04-13 11:41 [PATCH 1/3] perf probe: Set retprobe flag when probe in address-based alternative mode He Kuang
2015-04-13 11:41 ` [PATCH 2/3] perf probe: Make --source avaiable when probe with lazy_line He Kuang
2015-04-13 15:41 ` Masami Hiramatsu
2015-04-13 16:05 ` Arnaldo Carvalho de Melo
2015-04-13 20:56 ` Arnaldo Carvalho de Melo
2015-04-13 20:57 ` Arnaldo Carvalho de Melo
2015-04-13 21:00 ` Arnaldo Carvalho de Melo
2015-04-13 11:41 ` [PATCH 3/3] perf probe: Fix segfault when probe with lazy_line to file He Kuang
2015-04-13 16:03 ` Masami Hiramatsu
2015-04-14 12:18 ` [tip:perf/urgent] " tip-bot for He Kuang
2015-04-13 14:39 ` Arnaldo Carvalho de Melo [this message]
2015-04-13 14:42 ` [PATCH 1/3] perf probe: Set retprobe flag when probe in address-based alternative mode Arnaldo Carvalho de Melo
2015-04-13 15:38 ` He Kuang
2015-04-13 20:42 ` Arnaldo Carvalho de Melo
2015-04-13 15:23 ` He Kuang
2015-04-13 16:23 ` Arnaldo Carvalho de Melo
2015-04-13 15:42 ` Masami Hiramatsu
2015-04-13 16:05 ` Arnaldo Carvalho de Melo
2015-04-14 12:17 ` [tip:perf/urgent] " tip-bot for He Kuang
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20150413143903.GG3200@kernel.org \
--to=acme@kernel.org \
--cc=a.p.zijlstra@chello.nl \
--cc=hekuang@huawei.com \
--cc=linux-kernel@vger.kernel.org \
--cc=masami.hiramatsu.pt@hitachi.com \
--cc=mingo@redhat.com \
--cc=namhyung@kernel.org \
--cc=wangnan0@huawei.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox