From: Franck Bui-Huu <vagabon.xyz@gmail.com>
To: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
Cc: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>,
lkml <linux-kernel@vger.kernel.org>,
2nddept-manager@sdl.hitachi.co.jp
Subject: Re: [PATCH] perf-probe: make "perf-probe -L <function>" display the absolute path and absolute line number
Date: Fri, 14 Jan 2011 10:03:53 +0100 [thread overview]
Message-ID: <m3tyhb6eme.fsf@gmail.com> (raw)
In-Reply-To: <4D2FC17D.5010203@hitachi.com> (Masami Hiramatsu's message of "Fri, 14 Jan 2011 12:22:37 +0900")
Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com> writes:
> (2011/01/14 4:42), Franck Bui-Huu wrote:
[...]
>> Well, for consistency, I thought that the additional information
>> (given inside angle brackets) should always be the same: a full path
>> and an absolute line number which clearly identify which source file
>> perf-probe is listing.
>
> No, that is NOT an additional information. That indicates from where
> those lines are started
But this indication is currently not enough, it's too ambiguous to be
usefull:
<schedule:10>
there might be several 'schedule()' functions inside the kernel, also we
don't know which kernel tree is used.
BTW, if there're several 'do_something' functions defined inside the
kernel, what is the behaviour of:
$ perf probe do_something
Does it set a probe to all 'do_something' functions ? I don't think it's
documented.
> , and also gives you a hint how you can specify the actual probe
> point. For example,
>
> $ perf probe -L schedule:10
> <schedule:10>
> 10 rq = cpu_rq(cpu);
> 11 rcu_note_context_switch(cpu);
> 12 prev = rq->curr;
>
> this indicates the lines started from 10th line of schedule(), and
but I'm not sure it's really usefull since you've asked for it when
invoking perf-probe so it seems to be redundant.
> if you want to put a new event on "prev = rq->curr;" line, you just
> need to say "perf probe schedule:12"
yes and this patch doesn't change that, does it ?
> $ perf probe -L kernel/sched.c:4077
> </home/mhiramat/ksrc/linux-2.6-tip/kernel/sched.c:4077>
> 4077 rq = cpu_rq(cpu);
> 4078 rcu_note_context_switch(cpu);
> 4079 prev = rq->curr;
>
> And this also gives you a hint to say (just copy & paste)
No copy & paste in my case, I just reuse the shell history. This is the
reason why I didn't understand your suggestion.
So to get back to my initial suggestion and with this patch applied:
$ perf probe -L schedule:10-15
</usr/src/debug/kernel-2.6.35.fc14/linux-2.6.35.x86_64/kernel/sched.c:3823>
10 rq = cpu_rq(cpu);
11 rcu_note_context_switch(cpu);
12 prev = rq->curr;
13 switch_count = &prev->nivcsw;
15 release_kernel_lock(prev);
I know exactly which bit of code I'm looking at, and to put a probe I
can still simply do (without any copy and paste):
$ perf probe schedule:12
I still use the function name of the probe and the relative line number
showed by perf-probe.
For probe specified by filename:
$ perf probe -L kernel/sched.c:3823-3826
</usr/src/debug/kernel-2.6.35.fc14/linux-2.6.35.x86_64/kernel/sched.c:3823>
3823 rq = cpu_rq(cpu);
3824 rcu_note_context_switch(cpu);
3825 prev = rq->curr;
3826 switch_count = &prev->nivcsw;
now to set a probe, I would do:
$ perf probe kernel/sched.c:3825
I still use the linenum showed by perf-probe, and the additional
information is always consistent and still usefull since it shows which
tree perf-probe is using.
But if you think it should be used to hint for a probe point syntax,
(you'll probably use copy & paste since it uses absolute path name),
then this patch is wrong.
Thanks
--
Franck
next prev parent reply other threads:[~2011-01-14 9:04 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-01-13 10:20 [PATCH] perf-probe: make "perf-probe -L <function>" display the absolute path and absolute line number Franck Bui-Huu
2011-01-13 11:03 ` Masami Hiramatsu
2011-01-13 19:42 ` Franck Bui-Huu
2011-01-14 3:22 ` Masami Hiramatsu
2011-01-14 9:03 ` Franck Bui-Huu [this message]
2011-01-14 10:08 ` Masami Hiramatsu
2011-01-14 10:33 ` Masami Hiramatsu
2011-01-14 19:53 ` Franck Bui-Huu
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=m3tyhb6eme.fsf@gmail.com \
--to=vagabon.xyz@gmail.com \
--cc=2nddept-manager@sdl.hitachi.co.jp \
--cc=acme@ghostprotocols.net \
--cc=linux-kernel@vger.kernel.org \
--cc=masami.hiramatsu.pt@hitachi.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