lkml.org 
[lkml]   [2011]   [Jan]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    SubjectRe: [PATCH] perf-probe: make "perf-probe -L <function>" display the absolute path and absolute line number
    (2011/01/13 19:20), Franck Bui-Huu wrote:
    > From: Franck Bui-Huu <fbuihuu@gmail.com>
    >
    > It should be more usefull to get the full location of the function
    > (absolute line number + full path) instead of repeating the name of
    > the function and the start line number given by the command line.
    >
    > So we had before:
    >
    > $ perf probe -L schedule | head -n3
    > <schedule:0>
    > 0 asmlinkage void __sched schedule(void)
    > 1 {
    >
    > and now we get:
    >
    > $ perf probe -L schedule | head -n3
    > </usr/src/debug/kernel-2.6.35.fc14/linux-2.6.35.x86_64/kernel/sched.c:3813>
    > 0 asmlinkage void __sched schedule(void)
    > 1 {

    Indeed, it could be useful for users to see where the function is...

    However, I think that should be optional, because the output lines
    have the relative line numbers from the function, and those numbers
    are important for users who want to probe a specific line by using
    function relative line numbers. e.g. "schedule:10"

    And with that option, I'd suggest to show absolute line numbers on each line.

    $ perf probe -L schedule:0-1 --by-source
    </usr/src/debug/kernel-2.6.35.fc14/linux-2.6.35.x86_64/kernel/sched.c:3813>
    3813 asmlinkage void __sched schedule(void)
    3814 {

    Or, just show source file as an additional information.

    $ perf probe -L schedule:0-1
    <schedule@/usr/src/debug/kernel-2.6.35.fc14/linux-2.6.35.x86_64/kernel/sched.c:0>
    0 asmlinkage void __sched schedule(void)
    1 {

    I just would like to keep the consistency of the output/input format.
    In above cases, users can define a new event just by replacing the last
    number with the line number which they see.

    Thank you,

    >
    > Signed-off-by: Franck Bui-Huu <fbuihuu@gmail.com>
    > ---
    > tools/perf/util/probe-event.c | 6 +-----
    > 1 files changed, 1 insertions(+), 5 deletions(-)
    >
    > diff --git a/tools/perf/util/probe-event.c b/tools/perf/util/probe-event.c
    > index fcbb543..bd09b87 100644
    > --- a/tools/perf/util/probe-event.c
    > +++ b/tools/perf/util/probe-event.c
    > @@ -382,11 +382,7 @@ int show_line_range(struct line_range *lr, const char *module)
    >
    > setup_pager();
    >
    > - if (lr->function)
    > - fprintf(stdout, "<%s:%d>\n", lr->function,
    > - lr->start - lr->offset);
    > - else
    > - fprintf(stdout, "<%s:%d>\n", lr->path, lr->start);
    > + fprintf(stdout, "<%s:%d>\n", lr->path, lr->start);
    >
    > fp = fopen(lr->path, "r");
    > if (fp == NULL) {


    --
    Masami HIRAMATSU
    2nd Dept. Linux Technology Center
    Hitachi, Ltd., Systems Development Laboratory
    E-mail: masami.hiramatsu.pt@hitachi.com


    \
     
     \ /
      Last update: 2011-01-13 12:05    [W:0.037 / U:0.272 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site