diff options
author | Ingo Molnar <mingo@elte.hu> | 2009-06-05 14:13:18 +0200 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-06-05 14:13:18 +0200 |
commit | 8edd4286f99f78fe07fe9196e69d5643da86cada (patch) | |
tree | 1a61df71db834138f94af06902ab342ed690cc4c | |
parent | perf report: Deal with maps (diff) | |
download | linux-8edd4286f99f78fe07fe9196e69d5643da86cada.tar.xz linux-8edd4286f99f78fe07fe9196e69d5643da86cada.zip |
perf report: Display user/kernel differentiator
Before:
25.96% copy_user_generic_string
15.23% two_op
15.19% one_op
6.92% enough_duration
1.23% alloc_pages_current
1.14% acpi_os_read_port
1.08% _spin_lock
After:
25.96% [k] copy_user_generic_string
15.23% [.] two_op
15.19% [.] one_op
6.92% [.] enough_duration
1.23% [k] alloc_pages_current
1.14% [k] acpi_os_read_port
1.08% [k] _spin_lock
The '[k]' differentiator is a quick clue that it's a kernel symbol,
without having to bring in the full dso column.
Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
LKML-Reference: <new-submission>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
-rw-r--r-- | Documentation/perf_counter/builtin-report.c | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/Documentation/perf_counter/builtin-report.c b/Documentation/perf_counter/builtin-report.c index 9783d1e493c4..ca303fd74a71 100644 --- a/Documentation/perf_counter/builtin-report.c +++ b/Documentation/perf_counter/builtin-report.c @@ -504,7 +504,7 @@ sort__comm_print(FILE *fp, struct hist_entry *self) } static struct sort_entry sort_comm = { - .header = " Command", + .header = " Command", .cmp = sort__comm_cmp, .collapse = sort__comm_collapse, .print = sort__comm_print, @@ -569,10 +569,12 @@ sort__sym_print(FILE *fp, struct hist_entry *self) if (verbose) ret += fprintf(fp, "%#018llx ", (__u64)self->ip); - if (self->sym) - ret += fprintf(fp, "%s", self->sym->name); - else + if (self->sym) { + ret += fprintf(fp, "[%c] %s", + self->dso == kernel_dso ? 'k' : '.', self->sym->name); + } else { ret += fprintf(fp, "%#016llx", (__u64)self->ip); + } return ret; } @@ -586,9 +588,9 @@ static struct sort_entry sort_sym = { static int sort__need_collapse = 0; struct sort_dimension { - char *name; - struct sort_entry *entry; - int taken; + char *name; + struct sort_entry *entry; + int taken; }; static struct sort_dimension sort_dimensions[] = { |