* [PATCH 1/2] perf top: fix annotate for userspace
@ 2010-02-07 13:46 Arnaldo Carvalho de Melo
2010-02-07 13:46 ` [PATCH 2/2] perf top: Use address pattern in lookup_sym_source Arnaldo Carvalho de Melo
2010-02-07 16:33 ` [tip:perf/core] perf top: Fix annotate for userspace tip-bot for Kirill Smelkov
0 siblings, 2 replies; 6+ messages in thread
From: Arnaldo Carvalho de Melo @ 2010-02-07 13:46 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Kirill Smelkov, Mike Galbraith,
Arnaldo Carvalho de Melo
From: Kirill Smelkov <kirr@landau.phys.spbu.ru>
First, for programs and prelinked libraries, annotate code was fooled by
objdump output IPs (src->eip in the code) being wrongly converted to
absolute IPs. In such case there were no conversion needed, but in
src->eip = strtoull(src->line, NULL, 16);
src->eip = map->unmap_ip(map, src->eip); // = eip + map->start - map->pgoff
we were reading absolute address from objdump (e.g. 8048604) and then
almost doubling it, because eip & map->start are approximately close for
small programs.
Needless to say, that later, in record_precise_ip() there was no
matching with real runtime IPs.
And second, like with `perf annotate` the problem with non-prelinked
*.so was that we were doing rip -> objdump address conversion wrong.
Also, because unlike `perf annotate`, `perf top` code does annotation based on
absolute IPs for performance reasons(*), new helper for mapping objdump
addresse to IP is introduced.
(*) we get samples info in absolute IPs, and since we do lots of
hit-testing on absolute IPs at runtime in record_precise_ip(), it's
better to convert objdump addresses to IPs once and do no conversion
at runtime.
I also had to fix how objdump output is parsed (with hardcoded 8/16
characters format, which was inappropriate for ET_DYN dsos with small
addresses like '4ac')
Also note, that not all objdump output lines has associtated IPs, e.g.
look at source lines here:
000004ac <my_strlen>:
extern "C"
int my_strlen(const char *s)
4ac: 55 push %ebp
4ad: 89 e5 mov %esp,%ebp
4af: 83 ec 10 sub $0x10,%esp
{
int len = 0;
4b2: c7 45 fc 00 00 00 00 movl $0x0,-0x4(%ebp)
4b9: eb 08 jmp 4c3 <my_strlen+0x17>
while (*s) {
++len;
4bb: 83 45 fc 01 addl $0x1,-0x4(%ebp)
++s;
4bf: 83 45 08 01 addl $0x1,0x8(%ebp)
So we mark them with eip=0, and ignore such lines in annotate lookup
code.
Commiter note: one hunk of this patch was applied by Mike in 57d8188.
Cc: Mike Galbraith <efault@gmx.de>
Signed-off-by: Kirill Smelkov <kirr@landau.phys.spbu.ru>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/builtin-top.c | 18 +++++++++---------
tools/perf/util/map.c | 8 ++++++++
tools/perf/util/map.h | 4 ++--
3 files changed, 19 insertions(+), 11 deletions(-)
diff --git a/tools/perf/builtin-top.c b/tools/perf/builtin-top.c
index e4156bc..befa57e 100644
--- a/tools/perf/builtin-top.c
+++ b/tools/perf/builtin-top.c
@@ -216,7 +216,7 @@ static void parse_source(struct sym_entry *syme)
while (!feof(file)) {
struct source_line *src;
size_t dummy = 0;
- char *c;
+ char *c, *sep;
src = malloc(sizeof(struct source_line));
assert(src != NULL);
@@ -235,14 +235,11 @@ static void parse_source(struct sym_entry *syme)
*source->lines_tail = src;
source->lines_tail = &src->next;
- if (strlen(src->line)>8 && src->line[8] == ':') {
- src->eip = strtoull(src->line, NULL, 16);
- src->eip = map->unmap_ip(map, src->eip);
- }
- if (strlen(src->line)>8 && src->line[16] == ':') {
- src->eip = strtoull(src->line, NULL, 16);
- src->eip = map->unmap_ip(map, src->eip);
- }
+ src->eip = strtoull(src->line, &sep, 16);
+ if (*sep == ':')
+ src->eip = map__objdump_2ip(map, src->eip);
+ else /* this line has no ip info (e.g. source line) */
+ src->eip = 0;
}
pclose(file);
out_assign:
@@ -277,6 +274,9 @@ static void record_precise_ip(struct sym_entry *syme, int counter, u64 ip)
goto out_unlock;
for (line = syme->src->lines; line; line = line->next) {
+ /* skip lines without IP info */
+ if (line->eip == 0)
+ continue;
if (line->eip == ip) {
line->count[counter]++;
break;
diff --git a/tools/perf/util/map.c b/tools/perf/util/map.c
index af5805f..138e3cb 100644
--- a/tools/perf/util/map.c
+++ b/tools/perf/util/map.c
@@ -222,3 +222,11 @@ u64 map__rip_2objdump(struct map *map, u64 rip)
rip;
return addr;
}
+
+u64 map__objdump_2ip(struct map *map, u64 addr)
+{
+ u64 ip = map->dso->adjust_symbols ?
+ addr :
+ map->unmap_ip(map, addr); /* RIP -> IP */
+ return ip;
+}
diff --git a/tools/perf/util/map.h b/tools/perf/util/map.h
index 9cee9c7..86f77cb 100644
--- a/tools/perf/util/map.h
+++ b/tools/perf/util/map.h
@@ -61,9 +61,9 @@ static inline u64 identity__map_ip(struct map *map __used, u64 ip)
}
-/* rip -> addr suitable for passing to `objdump --start-address=` */
+/* rip/ip <-> addr suitable for passing to `objdump --start-address=` */
u64 map__rip_2objdump(struct map *map, u64 rip);
-
+u64 map__objdump_2ip(struct map *map, u64 addr);
struct symbol;
struct mmap_event;
--
1.6.2.5
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 2/2] perf top: Use address pattern in lookup_sym_source
2010-02-07 13:46 [PATCH 1/2] perf top: fix annotate for userspace Arnaldo Carvalho de Melo
@ 2010-02-07 13:46 ` Arnaldo Carvalho de Melo
2010-02-07 16:33 ` [tip:perf/core] perf top: Fix annotate for userspace tip-bot for Kirill Smelkov
1 sibling, 0 replies; 6+ messages in thread
From: Arnaldo Carvalho de Melo @ 2010-02-07 13:46 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Arnaldo Carvalho de Melo,
Frédéric Weisbecker, Kirill Smelkov, Mike Galbraith,
Peter Zijlstra, Paul Mackerras
From: Arnaldo Carvalho de Melo <acme@redhat.com>
Because we may have aliases, like __GI___strcoll_l in
/lib64/libc-2.10.2.so that appears in objdump as:
$ objdump --start-address=0x0000003715a86420 \
--stop-address=0x0000003715a872dc -dS /lib64/libc-2.10.2.so
0000003715a86420 <__strcoll_l>:
3715a86420: 55 push %rbp
3715a86421: 48 89 e5 mov %rsp,%rbp
3715a86424: 41 57 push %r15
[root@doppio linux-2.6-tip]#
So look for the address exactly at the start of the line instead so that
annotation can work for in these cases.
Cc: Frédéric Weisbecker <fweisbec@gmail.com>
Cc: Kirill Smelkov <kirr@landau.phys.spbu.ru>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Paul Mackerras <paulus@samba.org>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/builtin-top.c | 15 ++++++++-------
1 files changed, 8 insertions(+), 7 deletions(-)
diff --git a/tools/perf/builtin-top.c b/tools/perf/builtin-top.c
index befa57e..c72ab50 100644
--- a/tools/perf/builtin-top.c
+++ b/tools/perf/builtin-top.c
@@ -202,10 +202,9 @@ static void parse_source(struct sym_entry *syme)
len = sym->end - sym->start;
sprintf(command,
- "objdump --start-address=0x%016Lx "
- "--stop-address=0x%016Lx -dS %s",
- map__rip_2objdump(map, sym->start),
- map__rip_2objdump(map, sym->end), path);
+ "objdump --start-address=%#0*Lx --stop-address=%#0*Lx -dS %s",
+ BITS_PER_LONG / 4, map__rip_2objdump(map, sym->start),
+ BITS_PER_LONG / 4, map__rip_2objdump(map, sym->end), path);
file = popen(command, "r");
if (!file)
@@ -292,13 +291,15 @@ static void lookup_sym_source(struct sym_entry *syme)
{
struct symbol *symbol = sym_entry__symbol(syme);
struct source_line *line;
- char pattern[PATH_MAX];
+ const size_t pattern_len = BITS_PER_LONG / 4 + 2;
+ char pattern[pattern_len + 1];
- sprintf(pattern, "<%s>:", symbol->name);
+ sprintf(pattern, "%0*Lx <", BITS_PER_LONG / 4,
+ map__rip_2objdump(syme->map, symbol->start));
pthread_mutex_lock(&syme->src->lock);
for (line = syme->src->lines; line; line = line->next) {
- if (strstr(line->line, pattern)) {
+ if (memcmp(line->line, pattern, pattern_len) == 0) {
syme->src->source = line;
break;
}
--
1.6.2.5
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [tip:perf/core] perf top: Fix annotate for userspace
2010-02-07 13:46 [PATCH 1/2] perf top: fix annotate for userspace Arnaldo Carvalho de Melo
2010-02-07 13:46 ` [PATCH 2/2] perf top: Use address pattern in lookup_sym_source Arnaldo Carvalho de Melo
@ 2010-02-07 16:33 ` tip-bot for Kirill Smelkov
2010-02-12 16:20 ` Kirill Smelkov
1 sibling, 1 reply; 6+ messages in thread
From: tip-bot for Kirill Smelkov @ 2010-02-07 16:33 UTC (permalink / raw)
To: linux-tip-commits
Cc: linux-kernel, acme, hpa, mingo, kirr, efault, tglx, mingo
Commit-ID: ee11b90b12eb1ec25e1044bac861e90bfd19ec9e
Gitweb: http://git.kernel.org/tip/ee11b90b12eb1ec25e1044bac861e90bfd19ec9e
Author: Kirill Smelkov <kirr@landau.phys.spbu.ru>
AuthorDate: Sun, 7 Feb 2010 11:46:15 -0200
Committer: Ingo Molnar <mingo@elte.hu>
CommitDate: Sun, 7 Feb 2010 17:30:20 +0100
perf top: Fix annotate for userspace
First, for programs and prelinked libraries, annotate code was
fooled by objdump output IPs (src->eip in the code) being
wrongly converted to absolute IPs. In such case there were no
conversion needed, but in
src->eip = strtoull(src->line, NULL, 16);
src->eip = map->unmap_ip(map, src->eip); // = eip + map->start - map->pgoff
we were reading absolute address from objdump (e.g. 8048604) and
then almost doubling it, because eip & map->start are
approximately close for small programs.
Needless to say, that later, in record_precise_ip() there was no
matching with real runtime IPs.
And second, like with `perf annotate` the problem with
non-prelinked *.so was that we were doing rip -> objdump address
conversion wrong.
Also, because unlike `perf annotate`, `perf top` code does
annotation based on absolute IPs for performance reasons(*), new
helper for mapping objdump addresse to IP is introduced.
(*) we get samples info in absolute IPs, and since we do lots of
hit-testing on absolute IPs at runtime in record_precise_ip(), it's
better to convert objdump addresses to IPs once and do no conversion
at runtime.
I also had to fix how objdump output is parsed (with hardcoded
8/16 characters format, which was inappropriate for ET_DYN dsos
with small addresses like '4ac')
Also note, that not all objdump output lines has associtated
IPs, e.g. look at source lines here:
000004ac <my_strlen>:
extern "C"
int my_strlen(const char *s)
4ac: 55 push %ebp
4ad: 89 e5 mov %esp,%ebp
4af: 83 ec 10 sub $0x10,%esp
{
int len = 0;
4b2: c7 45 fc 00 00 00 00 movl $0x0,-0x4(%ebp)
4b9: eb 08 jmp 4c3 <my_strlen+0x17>
while (*s) {
++len;
4bb: 83 45 fc 01 addl $0x1,-0x4(%ebp)
++s;
4bf: 83 45 08 01 addl $0x1,0x8(%ebp)
So we mark them with eip=0, and ignore such lines in annotate
lookup code.
Signed-off-by: Kirill Smelkov <kirr@landau.phys.spbu.ru>
[ Note: one hunk of this patch was applied by Mike in 57d8188 ]
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Mike Galbraith <efault@gmx.de>
LKML-Reference: <1265550376-12665-1-git-send-email-acme@infradead.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
---
tools/perf/builtin-top.c | 18 +++++++++---------
tools/perf/util/map.c | 8 ++++++++
tools/perf/util/map.h | 4 ++--
3 files changed, 19 insertions(+), 11 deletions(-)
diff --git a/tools/perf/builtin-top.c b/tools/perf/builtin-top.c
index e4156bc..befa57e 100644
--- a/tools/perf/builtin-top.c
+++ b/tools/perf/builtin-top.c
@@ -216,7 +216,7 @@ static void parse_source(struct sym_entry *syme)
while (!feof(file)) {
struct source_line *src;
size_t dummy = 0;
- char *c;
+ char *c, *sep;
src = malloc(sizeof(struct source_line));
assert(src != NULL);
@@ -235,14 +235,11 @@ static void parse_source(struct sym_entry *syme)
*source->lines_tail = src;
source->lines_tail = &src->next;
- if (strlen(src->line)>8 && src->line[8] == ':') {
- src->eip = strtoull(src->line, NULL, 16);
- src->eip = map->unmap_ip(map, src->eip);
- }
- if (strlen(src->line)>8 && src->line[16] == ':') {
- src->eip = strtoull(src->line, NULL, 16);
- src->eip = map->unmap_ip(map, src->eip);
- }
+ src->eip = strtoull(src->line, &sep, 16);
+ if (*sep == ':')
+ src->eip = map__objdump_2ip(map, src->eip);
+ else /* this line has no ip info (e.g. source line) */
+ src->eip = 0;
}
pclose(file);
out_assign:
@@ -277,6 +274,9 @@ static void record_precise_ip(struct sym_entry *syme, int counter, u64 ip)
goto out_unlock;
for (line = syme->src->lines; line; line = line->next) {
+ /* skip lines without IP info */
+ if (line->eip == 0)
+ continue;
if (line->eip == ip) {
line->count[counter]++;
break;
diff --git a/tools/perf/util/map.c b/tools/perf/util/map.c
index af5805f..138e3cb 100644
--- a/tools/perf/util/map.c
+++ b/tools/perf/util/map.c
@@ -222,3 +222,11 @@ u64 map__rip_2objdump(struct map *map, u64 rip)
rip;
return addr;
}
+
+u64 map__objdump_2ip(struct map *map, u64 addr)
+{
+ u64 ip = map->dso->adjust_symbols ?
+ addr :
+ map->unmap_ip(map, addr); /* RIP -> IP */
+ return ip;
+}
diff --git a/tools/perf/util/map.h b/tools/perf/util/map.h
index 9cee9c7..86f77cb 100644
--- a/tools/perf/util/map.h
+++ b/tools/perf/util/map.h
@@ -61,9 +61,9 @@ static inline u64 identity__map_ip(struct map *map __used, u64 ip)
}
-/* rip -> addr suitable for passing to `objdump --start-address=` */
+/* rip/ip <-> addr suitable for passing to `objdump --start-address=` */
u64 map__rip_2objdump(struct map *map, u64 rip);
-
+u64 map__objdump_2ip(struct map *map, u64 addr);
struct symbol;
struct mmap_event;
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [tip:perf/core] perf top: Fix annotate for userspace
2010-02-07 16:33 ` [tip:perf/core] perf top: Fix annotate for userspace tip-bot for Kirill Smelkov
@ 2010-02-12 16:20 ` Kirill Smelkov
2010-02-12 18:53 ` Arnaldo Carvalho de Melo
2010-02-14 9:13 ` [tip:perf/urgent] perf top: Fix help text alignment tip-bot for Kirill Smelkov
0 siblings, 2 replies; 6+ messages in thread
From: Kirill Smelkov @ 2010-02-12 16:20 UTC (permalink / raw)
To: acme, mingo, mingo; +Cc: linux-kernel, hpa, efault, tglx, linux-tip-commits
On Sun, Feb 07, 2010 at 04:33:40PM +0000, tip-bot for Kirill Smelkov wrote:
> Commit-ID: ee11b90b12eb1ec25e1044bac861e90bfd19ec9e
> Gitweb: http://git.kernel.org/tip/ee11b90b12eb1ec25e1044bac861e90bfd19ec9e
> Author: Kirill Smelkov <kirr@landau.phys.spbu.ru>
> AuthorDate: Sun, 7 Feb 2010 11:46:15 -0200
> Committer: Ingo Molnar <mingo@elte.hu>
> CommitDate: Sun, 7 Feb 2010 17:30:20 +0100
>
> perf top: Fix annotate for userspace
[...]
Arnaldo, Ingo, thanks for finally applying it
( though shouldn't, AuthorDate be ``Fri, 8 Jan 2010 15:23:08 +0300'',
just like in my post for this patch
http://marc.info/?l=linux-kernel&m=126295508002536&w=2 ?)
----
Also, could you please apply one last cosmetic patch from my original
series
http://marc.info/?l=linux-kernel&m=126295502702502&w=2
That would logically complete my holiday journey to perf land.
For convenience I'm providing this one last patch here (applies to
tip/master cleanly).
Thanks beforehand,
Kirill
From: Kirill Smelkov <kirr@landau.phys.spbu.ru>
Subject: [PATCH 2/6] perf top: align help text on keys
Date: Fri, 8 Jan 2010 15:23:05 +0300
Mapped keys:
[d] display refresh delay. (2)
[e] display entries (lines). (46)
[f] profile display filter (count). (5)
[F] annotate display filter (percent). (5%)
[s] annotate symbol. (NULL)
[S] stop annotation.
[K] hide kernel_symbols symbols. (no)
[U] hide user symbols. (no)
[z] toggle sample zeroing. (0)
[qQ] quit.
instead of
Mapped keys:
[d] display refresh delay. (2)
[e] display entries (lines). (46)
[f] profile display filter (count). (5)
[F] annotate display filter (percent). (5%)
[s] annotate symbol. (NULL)
[S] stop annotation.
[K] hide kernel_symbols symbols. (no)
[U] hide user symbols. (no)
[z] toggle sample zeroing. (0)
[qQ] quit.
Signed-off-by: Kirill Smelkov <kirr@landau.phys.spbu.ru>
---
tools/perf/builtin-top.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/tools/perf/builtin-top.c b/tools/perf/builtin-top.c
index 9c7de93..9dc8070 100644
--- a/tools/perf/builtin-top.c
+++ b/tools/perf/builtin-top.c
@@ -704,7 +704,7 @@ static void print_mapped_keys(void)
fprintf(stdout, "\t[w] toggle display weighted/count[E]r. \t(%d)\n", display_weighted ? 1 : 0);
fprintf(stdout,
- "\t[K] hide kernel_symbols symbols. \t(%s)\n",
+ "\t[K] hide kernel_symbols symbols. \t(%s)\n",
hide_kernel_symbols ? "yes" : "no");
fprintf(stdout,
"\t[U] hide user symbols. \t(%s)\n",
--
1.6.6.79.gd514e.dirty
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [tip:perf/core] perf top: Fix annotate for userspace
2010-02-12 16:20 ` Kirill Smelkov
@ 2010-02-12 18:53 ` Arnaldo Carvalho de Melo
2010-02-14 9:13 ` [tip:perf/urgent] perf top: Fix help text alignment tip-bot for Kirill Smelkov
1 sibling, 0 replies; 6+ messages in thread
From: Arnaldo Carvalho de Melo @ 2010-02-12 18:53 UTC (permalink / raw)
To: Kirill Smelkov
Cc: mingo, mingo, linux-kernel, hpa, efault, tglx, linux-tip-commits
Em Fri, Feb 12, 2010 at 07:20:59PM +0300, Kirill Smelkov escreveu:
> On Sun, Feb 07, 2010 at 04:33:40PM +0000, tip-bot for Kirill Smelkov wrote:
> > Commit-ID: ee11b90b12eb1ec25e1044bac861e90bfd19ec9e
> > Gitweb: http://git.kernel.org/tip/ee11b90b12eb1ec25e1044bac861e90bfd19ec9e
> > Author: Kirill Smelkov <kirr@landau.phys.spbu.ru>
> > AuthorDate: Sun, 7 Feb 2010 11:46:15 -0200
> > Committer: Ingo Molnar <mingo@elte.hu>
> > CommitDate: Sun, 7 Feb 2010 17:30:20 +0100
> >
> > perf top: Fix annotate for userspace
>
> [...]
>
> Arnaldo, Ingo, thanks for finally applying it
>
> ( though shouldn't, AuthorDate be ``Fri, 8 Jan 2010 15:23:08 +0300'',
> just like in my post for this patch
> http://marc.info/?l=linux-kernel&m=126295508002536&w=2 ?)
>
> ----
>
> Also, could you please apply one last cosmetic patch from my original
> series
>
> http://marc.info/?l=linux-kernel&m=126295502702502&w=2
>
>
> That would logically complete my holiday journey to perf land.
>
>
> For convenience I'm providing this one last patch here (applies to
> tip/master cleanly).
Ingo, you may take this one now or wait till my next series, your
choice,
Acked-by: Arnaldo Carvalho de Melo <acme@redhat.com>
> Thanks beforehand,
> Kirill
>
>
> From: Kirill Smelkov <kirr@landau.phys.spbu.ru>
> Subject: [PATCH 2/6] perf top: align help text on keys
> Date: Fri, 8 Jan 2010 15:23:05 +0300
>
> Mapped keys:
> [d] display refresh delay. (2)
> [e] display entries (lines). (46)
> [f] profile display filter (count). (5)
> [F] annotate display filter (percent). (5%)
> [s] annotate symbol. (NULL)
> [S] stop annotation.
> [K] hide kernel_symbols symbols. (no)
> [U] hide user symbols. (no)
> [z] toggle sample zeroing. (0)
> [qQ] quit.
>
> instead of
>
> Mapped keys:
> [d] display refresh delay. (2)
> [e] display entries (lines). (46)
> [f] profile display filter (count). (5)
> [F] annotate display filter (percent). (5%)
> [s] annotate symbol. (NULL)
> [S] stop annotation.
> [K] hide kernel_symbols symbols. (no)
> [U] hide user symbols. (no)
> [z] toggle sample zeroing. (0)
> [qQ] quit.
>
> Signed-off-by: Kirill Smelkov <kirr@landau.phys.spbu.ru>
> ---
> tools/perf/builtin-top.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/tools/perf/builtin-top.c b/tools/perf/builtin-top.c
> index 9c7de93..9dc8070 100644
> --- a/tools/perf/builtin-top.c
> +++ b/tools/perf/builtin-top.c
> @@ -704,7 +704,7 @@ static void print_mapped_keys(void)
> fprintf(stdout, "\t[w] toggle display weighted/count[E]r. \t(%d)\n", display_weighted ? 1 : 0);
>
> fprintf(stdout,
> - "\t[K] hide kernel_symbols symbols. \t(%s)\n",
> + "\t[K] hide kernel_symbols symbols. \t(%s)\n",
> hide_kernel_symbols ? "yes" : "no");
> fprintf(stdout,
> "\t[U] hide user symbols. \t(%s)\n",
> --
> 1.6.6.79.gd514e.dirty
^ permalink raw reply [flat|nested] 6+ messages in thread
* [tip:perf/urgent] perf top: Fix help text alignment
2010-02-12 16:20 ` Kirill Smelkov
2010-02-12 18:53 ` Arnaldo Carvalho de Melo
@ 2010-02-14 9:13 ` tip-bot for Kirill Smelkov
1 sibling, 0 replies; 6+ messages in thread
From: tip-bot for Kirill Smelkov @ 2010-02-14 9:13 UTC (permalink / raw)
To: linux-tip-commits
Cc: linux-kernel, paulus, acme, hpa, mingo, a.p.zijlstra, kirr,
efault, fweisbec, tglx, mingo
Commit-ID: 1a72cfa6856e7d58e049c42c6e6a789669478479
Gitweb: http://git.kernel.org/tip/1a72cfa6856e7d58e049c42c6e6a789669478479
Author: Kirill Smelkov <kirr@landau.phys.spbu.ru>
AuthorDate: Fri, 12 Feb 2010 19:20:59 +0300
Committer: Ingo Molnar <mingo@elte.hu>
CommitDate: Sun, 14 Feb 2010 09:46:02 +0100
perf top: Fix help text alignment
Print this:
Mapped keys:
[d] display refresh delay. (2)
[e] display entries (lines). (46)
[f] profile display filter (count). (5)
[F] annotate display filter (percent). (5%)
[s] annotate symbol. (NULL)
[S] stop annotation.
[K] hide kernel_symbols symbols. (no)
[U] hide user symbols. (no)
[z] toggle sample zeroing. (0)
[qQ] quit.
instead of:
Mapped keys:
[d] display refresh delay. (2)
[e] display entries (lines). (46)
[f] profile display filter (count). (5)
[F] annotate display filter (percent). (5%)
[s] annotate symbol. (NULL)
[S] stop annotation.
[K] hide kernel_symbols symbols. (no)
[U] hide user symbols. (no)
[z] toggle sample zeroing. (0)
[qQ] quit.
Signed-off-by: Kirill Smelkov <kirr@landau.phys.spbu.ru>
Acked-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: Frederic Weisbecker <fweisbec@gmail.com>
LKML-Reference: <20100212162059.GA30041@landau.phys.spbu.ru>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
---
tools/perf/builtin-top.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/tools/perf/builtin-top.c b/tools/perf/builtin-top.c
index ddc584b..4b91d8c 100644
--- a/tools/perf/builtin-top.c
+++ b/tools/perf/builtin-top.c
@@ -705,7 +705,7 @@ static void print_mapped_keys(void)
fprintf(stdout, "\t[w] toggle display weighted/count[E]r. \t(%d)\n", display_weighted ? 1 : 0);
fprintf(stdout,
- "\t[K] hide kernel_symbols symbols. \t(%s)\n",
+ "\t[K] hide kernel_symbols symbols. \t(%s)\n",
hide_kernel_symbols ? "yes" : "no");
fprintf(stdout,
"\t[U] hide user symbols. \t(%s)\n",
^ permalink raw reply related [flat|nested] 6+ messages in thread
end of thread, other threads:[~2010-02-14 9:15 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-02-07 13:46 [PATCH 1/2] perf top: fix annotate for userspace Arnaldo Carvalho de Melo
2010-02-07 13:46 ` [PATCH 2/2] perf top: Use address pattern in lookup_sym_source Arnaldo Carvalho de Melo
2010-02-07 16:33 ` [tip:perf/core] perf top: Fix annotate for userspace tip-bot for Kirill Smelkov
2010-02-12 16:20 ` Kirill Smelkov
2010-02-12 18:53 ` Arnaldo Carvalho de Melo
2010-02-14 9:13 ` [tip:perf/urgent] perf top: Fix help text alignment tip-bot for Kirill Smelkov
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.