From: Arnaldo Carvalho de Melo <acme@infradead.org>
To: Jiri Olsa <jolsa@redhat.com>
Cc: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>,
Ingo Molnar <mingo@kernel.org>,
Namhyung Kim <namhyung@kernel.org>,
Peter Zijlstra <a.p.zijlstra@chello.nl>,
David Ahern <dsahern@gmail.com>,
linux-kernel@vger.kernel.org, Martin Cermak <mcermak@redhat.com>
Subject: Re: [RFC] perf probe: -x option position issue
Date: Mon, 30 Mar 2015 16:48:49 -0300 [thread overview]
Message-ID: <20150330194849.GH32560@kernel.org> (raw)
In-Reply-To: <20150330174655.GA27546@krava.redhat.com>
Em Mon, Mar 30, 2015 at 07:46:55PM +0200, Jiri Olsa escreveu:
> hi,
> Martin found out following issue.. having following ex binary:
>
> ---
> int main(void)
> {
> return 0;
> }
> ---
>
> following will create uprobe on main:
>
> [root@dell-per510-01 perf]# gcc -g -o ex ex.c
> [root@dell-per510-01 perf]# ./perf probe -x ./ex -a main
> Added new event:
> probe_ex:main (on main in /root/linux/tools/perf/ex)
>
> You can now use it in all perf tools, such as:
>
> perf record -e probe_ex:main -aR sleep 1
>
> [root@dell-per510-01 perf]# cat /sys/kernel/debug/tracing/uprobe_events
> p:probe_ex/main /root/linux/tools/perf/ex:0x00000000000004f6
>
>
> while following will create (?) kprobe with complain in dmesg:
Right, it looks like it will create the probe on the currently selected
DSO, which, if you have none, will be the kernel, thus the kprobe
(probe:main), while if you do a '-x ./ex -a main' you are selecting the
'ex' DSO and then asking for the probe to be added to a function named
'main', on that DSO, that 'perf probe' realizes is a userspace binary,
thus creates a uprobe: probe_%DSONAME:%FUNCTIONAME.
I wonder if I can do:
[root@ssdandy acme]# perf probe -a icmp_rcv -x ./ex -a main
Probe point 'icmp_rcv' not found.
Error: Failed to add events.
No, I can't, I'd say we should support that, i.e. inserting multiple
probes per command line, for different DSOs, etc. I.e. the above would
be equivalent to these two calls:
[root@ssdandy acme]# perf probe -a icmp_rcv
Added new event:
probe:icmp_rcv (on icmp_rcv)
You can now use it in all perf tools, such as:
perf record -e probe:icmp_rcv -aR sleep 1
[root@ssdandy acme]# perf probe -x ./ex -a main
Added new event:
probe_ex:main (on main in /home/acme/ex)
You can now use it in all perf tools, such as:
perf record -e probe_ex:main -aR sleep 1
[root@ssdandy acme]#
But it isn't like that, so, yes, what you report is a bug, both for your
expectation (that I think is that it should put a uprobes with both your
examples) and for mine (that it would add the first to the kernel, and
the second to the selected DSO via -x).
- Arnaldo
> [root@dell-per510-01 perf]# gcc -g -o ex ex.c
> [root@dell-per510-01 perf]# ./perf probe -a main -x ./ex
> Added new event:
> probe:main (on main in ex)
>
> You can now use it in all perf tools, such as:
>
> perf record -e probe:main -aR sleep 1
>
> [root@dell-per510-01 perf]# dmesg | tail -2
> [16986.182159] Could not insert probe at ex:main+0: -2
> [16986.187030] This probe might be able to register aftertarget module is loaded. Continue.
>
>
> that does not seem as an expected behaviour, or am I missing something?
>
> thanks,
> jirka
next prev parent reply other threads:[~2015-03-30 19:48 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-03-30 17:46 [RFC] perf probe: -x option position issue Jiri Olsa
2015-03-30 19:48 ` Arnaldo Carvalho de Melo [this message]
2015-03-31 8:04 ` Masami Hiramatsu
2015-03-31 13:33 ` Arnaldo Carvalho de Melo
2015-04-01 8:37 ` Masami Hiramatsu
2015-04-01 10:25 ` [PATCH perf/core 1/2] perf-probe: Support multiple probes on different binaries Masami Hiramatsu
2015-04-11 6:37 ` [tip:perf/core] perf probe: " tip-bot for Masami Hiramatsu
2015-04-01 10:25 ` [PATCH perf/core 2/2] perf-probe: Check the orphaned -x option Masami Hiramatsu
2015-04-01 11:11 ` Jiri Olsa
2015-04-10 6:51 ` Masami Hiramatsu
2015-04-10 13:22 ` Arnaldo Carvalho de Melo
2015-04-11 6:38 ` [tip:perf/core] perf probe: " tip-bot for Masami Hiramatsu
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=20150330194849.GH32560@kernel.org \
--to=acme@infradead.org \
--cc=a.p.zijlstra@chello.nl \
--cc=dsahern@gmail.com \
--cc=jolsa@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=masami.hiramatsu.pt@hitachi.com \
--cc=mcermak@redhat.com \
--cc=mingo@kernel.org \
--cc=namhyung@kernel.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.