perf report: Show the IP only in --verbose mode
authorArnaldo Carvalho de Melo <acme@redhat.com>
Tue, 26 May 2009 22:46:14 +0000 (19:46 -0300)
committerIngo Molnar <mingo@elte.hu>
Wed, 27 May 2009 07:10:37 +0000 (09:10 +0200)
perf: report should show the IP only in --verbose mode

[acme@emilia ~]$ perf report | head
 4.95          find [k] _spin_lock
 2.19          find [k] ext3fs_dirhash [ext3]
 1.87          find [k] __rcu_read_lock
 1.86          find [k] _atomic_dec_and_lock
 1.86          find [.] /lib64/libc-2.5.so: __GI_strlen
 1.85          find [k] __kmalloc
 1.62          find [.] /lib64/libc-2.5.so: vfprintf
 1.59          find [k] __rcu_read_unlock
 1.55          find [k] __d_lookup

Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
Cc: Marcelo Tosatti <mtosatti@redhat.com>
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: John Kacur <jkacur@redhat.com>
Cc: Steven Rostedt <rostedt@goodmis.org>
LKML-Reference: <20090526224614.GK4424@ghostprotocols.net>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Documentation/perf_counter/builtin-report.c

index ed3da9d..2d65d9c 100644 (file)
@@ -22,6 +22,7 @@ static int            input;
 static int             show_mask = SHOW_KERNEL | SHOW_USER | SHOW_HV;
 
 static int             dump_trace = 0;
+static int             verbose;
 
 static unsigned long   page_size;
 static unsigned long   mmap_window = 32;
@@ -551,9 +552,12 @@ symhist__fprintf(struct symhist *self, uint64_t total_samples, FILE *fp)
        else
                ret = fprintf(fp, "%12d", self->count);
 
-       ret += fprintf(fp, "%14s [%c] %#018llx ",
+       ret += fprintf(fp, "%14s [%c] ",
                       thread__name(self->thread, bf, sizeof(bf)),
-                      self->level, (unsigned long long)self->ip);
+                      self->level);
+
+       if (verbose)
+               ret += fprintf(fp, "%#018llx ", (unsigned long long)self->ip);
 
        if (self->level != '.')
                ret += fprintf(fp, "%s\n",
@@ -974,6 +978,8 @@ static const char * const report_usage[] = {
 static const struct option options[] = {
        OPT_STRING('i', "input", &input_name, "file",
                    "input file name"),
+       OPT_BOOLEAN('v', "verbose", &verbose,
+                   "be more verbose (show symbol address, etc)"),
        OPT_BOOLEAN('D', "dump-raw-trace", &dump_trace,
                    "dump raw trace in ASCII"),
        OPT_END()