All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] perf tools: Move graph_line and graph_dotted_line from top
@ 2009-11-23 19:51 Arnaldo Carvalho de Melo
  2009-11-23 19:51   ` Arnaldo Carvalho de Melo
  0 siblings, 1 reply; 10+ messages in thread
From: Arnaldo Carvalho de Melo @ 2009-11-23 19:51 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, Arnaldo Carvalho de Melo,
	Frédéric Weisbecker, Mike Galbraith, Peter Zijlstra,
	Paul Mackerras

From: Arnaldo Carvalho de Melo <acme@redhat.com>

So that they can be used in other tools.

Cc: Frédéric Weisbecker <fweisbec@gmail.com>
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 |    7 -------
 tools/perf/util/ctype.c  |    8 ++++++++
 tools/perf/util/util.h   |    3 +++
 3 files changed, 11 insertions(+), 7 deletions(-)

diff --git a/tools/perf/builtin-top.c b/tools/perf/builtin-top.c
index eef9caa..6a5de90 100644
--- a/tools/perf/builtin-top.c
+++ b/tools/perf/builtin-top.c
@@ -80,13 +80,6 @@ static bool			hide_kernel_symbols		=  false;
 static bool			hide_user_symbols		=  false;
 static struct winsize		winsize;
 const char 			*vmlinux_name;
-static const char		*graph_line			=
-	"_____________________________________________________________________"
-	"_____________________________________________________________________";
-static const char		*graph_dotted_line			=
-	"---------------------------------------------------------------------"
-	"---------------------------------------------------------------------"
-	"---------------------------------------------------------------------";
 
 /*
  * Source
diff --git a/tools/perf/util/ctype.c b/tools/perf/util/ctype.c
index 0b791bd..3507362 100644
--- a/tools/perf/util/ctype.c
+++ b/tools/perf/util/ctype.c
@@ -29,3 +29,11 @@ unsigned char sane_ctype[256] = {
 	A, A, A, A, A, A, A, A, A, A, A, R, R, P, P, 0,		/* 112..127 */
 	/* Nothing in the 128.. range */
 };
+
+const char *graph_line =
+	"_____________________________________________________________________"
+	"_____________________________________________________________________";
+const char *graph_dotted_line =
+	"---------------------------------------------------------------------"
+	"---------------------------------------------------------------------"
+	"---------------------------------------------------------------------";
diff --git a/tools/perf/util/util.h b/tools/perf/util/util.h
index f2203a0..e1c623e 100644
--- a/tools/perf/util/util.h
+++ b/tools/perf/util/util.h
@@ -84,6 +84,9 @@
 #include <iconv.h>
 #endif
 
+extern const char *graph_line;
+extern const char *graph_dotted_line;
+
 /* On most systems <limits.h> would have given us this, but
  * not on some systems (e.g. GNU/Hurd).
  */
-- 
1.6.2.5


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 2/2] perf kmem: resolve symbols
  2009-11-23 19:51 [PATCH 1/2] perf tools: Move graph_line and graph_dotted_line from top Arnaldo Carvalho de Melo
@ 2009-11-23 19:51   ` Arnaldo Carvalho de Melo
  0 siblings, 0 replies; 10+ messages in thread
From: Arnaldo Carvalho de Melo @ 2009-11-23 19:51 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, Arnaldo Carvalho de Melo,
	Eduard - Gabriel Munteanu, Frédéric Weisbecker,
	linux-mm, Li Zefan, Mike Galbraith, Paul Mackerras, Pekka Enberg,
	Peter Zijlstra, Steven Rostedt

From: Arnaldo Carvalho de Melo <acme@redhat.com>

E.g.

[root@doppio linux-2.6-tip]# perf kmem record sleep 3s
[ perf record: Woken up 2 times to write data ]
[ perf record: Captured and wrote 0.804 MB perf.data (~35105 samples) ]
[root@doppio linux-2.6-tip]# perf kmem --stat caller | head -10
------------------------------------------------------------------------------
Callsite                    |Total_alloc/Per | Total_req/Per | Hit  | Frag
------------------------------------------------------------------------------
getname/40                  | 1519616/4096   | 1519616/4096  |   371|   0.000%
seq_read/a2                 |  987136/4096   |  987136/4096  |   241|   0.000%
__netdev_alloc_skb/43       |  260368/1049   |  259968/1048  |   248|   0.154%
__alloc_skb/5a              |   77312/256    |   77312/256   |   302|   0.000%
proc_alloc_inode/33         |   76480/632    |   76472/632   |   121|   0.010%
get_empty_filp/8d           |   70272/192    |   70272/192   |   366|   0.000%
split_vma/8e                |   42064/176    |   42064/176   |   239|   0.000%
[root@doppio linux-2.6-tip]#

Cc: Eduard - Gabriel Munteanu <eduard.munteanu@linux360.ro>
Cc: Frédéric Weisbecker <fweisbec@gmail.com>
Cc: linux-mm@kvack.org <linux-mm@kvack.org>
Cc: Li Zefan <lizf@cn.fujitsu.com>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Pekka Enberg <penberg@cs.helsinki.fi>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
 tools/perf/builtin-kmem.c |   37 +++++++++++++++++++++++--------------
 1 files changed, 23 insertions(+), 14 deletions(-)

diff --git a/tools/perf/builtin-kmem.c b/tools/perf/builtin-kmem.c
index 5d8aeae..256d18f 100644
--- a/tools/perf/builtin-kmem.c
+++ b/tools/perf/builtin-kmem.c
@@ -307,25 +307,34 @@ static void __print_result(struct rb_root *root, int n_lines, int is_caller)
 {
 	struct rb_node *next;
 
-	printf("\n ------------------------------------------------------------------------------\n");
-	if (is_caller)
-		printf(" Callsite          |");
-	else
-		printf(" Alloc Ptr         |");
-	printf(" Total_alloc/Per |  Total_req/Per  |  Hit   | Fragmentation\n");
-	printf(" ------------------------------------------------------------------------------\n");
+	printf("%.78s\n", graph_dotted_line);
+	printf("%-28s|",  is_caller ? "Callsite": "Alloc Ptr");
+	printf("Total_alloc/Per | Total_req/Per | Hit  | Frag\n");
+	printf("%.78s\n", graph_dotted_line);
 
 	next = rb_first(root);
 
 	while (next && n_lines--) {
-		struct alloc_stat *data;
-
-		data = rb_entry(next, struct alloc_stat, node);
+		struct alloc_stat *data = rb_entry(next, struct alloc_stat,
+						   node);
+		struct symbol *sym = NULL;
+		char bf[BUFSIZ];
+		u64 addr;
+
+		if (is_caller) {
+			addr = data->call_site;
+			sym = kernel_maps__find_symbol(addr, NULL, NULL);
+		} else
+			addr = data->ptr;
+
+		if (sym != NULL)
+			snprintf(bf, sizeof(bf), "%s/%Lx", sym->name,
+				 addr - sym->start);
+		else
+			snprintf(bf, sizeof(bf), "%#Lx", addr);
 
-		printf(" %-16p  | %8llu/%-6lu | %8llu/%-6lu | %6lu | %8.3f%%\n",
-		       is_caller ? (void *)(unsigned long)data->call_site :
-				   (void *)(unsigned long)data->ptr,
-		       (unsigned long long)data->bytes_alloc,
+		printf("%-28s|%8llu/%-6lu |%8llu/%-6lu|%6lu|%8.3f%%\n",
+		       bf, (unsigned long long)data->bytes_alloc,
 		       (unsigned long)data->bytes_alloc / data->hit,
 		       (unsigned long long)data->bytes_req,
 		       (unsigned long)data->bytes_req / data->hit,
-- 
1.6.2.5


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 2/2] perf kmem: resolve symbols
@ 2009-11-23 19:51   ` Arnaldo Carvalho de Melo
  0 siblings, 0 replies; 10+ messages in thread
From: Arnaldo Carvalho de Melo @ 2009-11-23 19:51 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, Arnaldo Carvalho de Melo,
	Eduard - Gabriel Munteanu, Frédéric Weisbecker,
	linux-mm, Li Zefan, Mike Galbraith, Paul Mackerras, Pekka Enberg,
	Peter Zijlstra, Steven Rostedt

From: Arnaldo Carvalho de Melo <acme@redhat.com>

E.g.

[root@doppio linux-2.6-tip]# perf kmem record sleep 3s
[ perf record: Woken up 2 times to write data ]
[ perf record: Captured and wrote 0.804 MB perf.data (~35105 samples) ]
[root@doppio linux-2.6-tip]# perf kmem --stat caller | head -10
------------------------------------------------------------------------------
Callsite                    |Total_alloc/Per | Total_req/Per | Hit  | Frag
------------------------------------------------------------------------------
getname/40                  | 1519616/4096   | 1519616/4096  |   371|   0.000%
seq_read/a2                 |  987136/4096   |  987136/4096  |   241|   0.000%
__netdev_alloc_skb/43       |  260368/1049   |  259968/1048  |   248|   0.154%
__alloc_skb/5a              |   77312/256    |   77312/256   |   302|   0.000%
proc_alloc_inode/33         |   76480/632    |   76472/632   |   121|   0.010%
get_empty_filp/8d           |   70272/192    |   70272/192   |   366|   0.000%
split_vma/8e                |   42064/176    |   42064/176   |   239|   0.000%
[root@doppio linux-2.6-tip]#

Cc: Eduard - Gabriel Munteanu <eduard.munteanu@linux360.ro>
Cc: FrA(C)dA(C)ric Weisbecker <fweisbec@gmail.com>
Cc: linux-mm@kvack.org <linux-mm@kvack.org>
Cc: Li Zefan <lizf@cn.fujitsu.com>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Pekka Enberg <penberg@cs.helsinki.fi>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
 tools/perf/builtin-kmem.c |   37 +++++++++++++++++++++++--------------
 1 files changed, 23 insertions(+), 14 deletions(-)

diff --git a/tools/perf/builtin-kmem.c b/tools/perf/builtin-kmem.c
index 5d8aeae..256d18f 100644
--- a/tools/perf/builtin-kmem.c
+++ b/tools/perf/builtin-kmem.c
@@ -307,25 +307,34 @@ static void __print_result(struct rb_root *root, int n_lines, int is_caller)
 {
 	struct rb_node *next;
 
-	printf("\n ------------------------------------------------------------------------------\n");
-	if (is_caller)
-		printf(" Callsite          |");
-	else
-		printf(" Alloc Ptr         |");
-	printf(" Total_alloc/Per |  Total_req/Per  |  Hit   | Fragmentation\n");
-	printf(" ------------------------------------------------------------------------------\n");
+	printf("%.78s\n", graph_dotted_line);
+	printf("%-28s|",  is_caller ? "Callsite": "Alloc Ptr");
+	printf("Total_alloc/Per | Total_req/Per | Hit  | Frag\n");
+	printf("%.78s\n", graph_dotted_line);
 
 	next = rb_first(root);
 
 	while (next && n_lines--) {
-		struct alloc_stat *data;
-
-		data = rb_entry(next, struct alloc_stat, node);
+		struct alloc_stat *data = rb_entry(next, struct alloc_stat,
+						   node);
+		struct symbol *sym = NULL;
+		char bf[BUFSIZ];
+		u64 addr;
+
+		if (is_caller) {
+			addr = data->call_site;
+			sym = kernel_maps__find_symbol(addr, NULL, NULL);
+		} else
+			addr = data->ptr;
+
+		if (sym != NULL)
+			snprintf(bf, sizeof(bf), "%s/%Lx", sym->name,
+				 addr - sym->start);
+		else
+			snprintf(bf, sizeof(bf), "%#Lx", addr);
 
-		printf(" %-16p  | %8llu/%-6lu | %8llu/%-6lu | %6lu | %8.3f%%\n",
-		       is_caller ? (void *)(unsigned long)data->call_site :
-				   (void *)(unsigned long)data->ptr,
-		       (unsigned long long)data->bytes_alloc,
+		printf("%-28s|%8llu/%-6lu |%8llu/%-6lu|%6lu|%8.3f%%\n",
+		       bf, (unsigned long long)data->bytes_alloc,
 		       (unsigned long)data->bytes_alloc / data->hit,
 		       (unsigned long long)data->bytes_req,
 		       (unsigned long)data->bytes_req / data->hit,
-- 
1.6.2.5

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [PATCH 2/2] perf kmem: resolve symbols
  2009-11-23 19:51   ` Arnaldo Carvalho de Melo
@ 2009-11-23 20:03     ` Pekka Enberg
  -1 siblings, 0 replies; 10+ messages in thread
From: Pekka Enberg @ 2009-11-23 20:03 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo
  Cc: Ingo Molnar, linux-kernel, Arnaldo Carvalho de Melo,
	Eduard - Gabriel Munteanu, Frédéric Weisbecker,
	linux-mm, Li Zefan, Mike Galbraith, Paul Mackerras,
	Peter Zijlstra, Steven Rostedt

On Mon, Nov 23, 2009 at 9:51 PM, Arnaldo Carvalho de Melo
<acme@infradead.org> wrote:
> From: Arnaldo Carvalho de Melo <acme@redhat.com>
>
> E.g.
>
> [root@doppio linux-2.6-tip]# perf kmem record sleep 3s
> [ perf record: Woken up 2 times to write data ]
> [ perf record: Captured and wrote 0.804 MB perf.data (~35105 samples) ]
> [root@doppio linux-2.6-tip]# perf kmem --stat caller | head -10
> ------------------------------------------------------------------------------
> Callsite                    |Total_alloc/Per | Total_req/Per | Hit  | Frag
> ------------------------------------------------------------------------------
> getname/40                  | 1519616/4096   | 1519616/4096  |   371|   0.000%
> seq_read/a2                 |  987136/4096   |  987136/4096  |   241|   0.000%
> __netdev_alloc_skb/43       |  260368/1049   |  259968/1048  |   248|   0.154%
> __alloc_skb/5a              |   77312/256    |   77312/256   |   302|   0.000%
> proc_alloc_inode/33         |   76480/632    |   76472/632   |   121|   0.010%
> get_empty_filp/8d           |   70272/192    |   70272/192   |   366|   0.000%
> split_vma/8e                |   42064/176    |   42064/176   |   239|   0.000%
> [root@doppio linux-2.6-tip]#
>
> Cc: Eduard - Gabriel Munteanu <eduard.munteanu@linux360.ro>
> Cc: Frédéric Weisbecker <fweisbec@gmail.com>
> Cc: linux-mm@kvack.org <linux-mm@kvack.org>
> Cc: Li Zefan <lizf@cn.fujitsu.com>
> Cc: Mike Galbraith <efault@gmx.de>
> Cc: Paul Mackerras <paulus@samba.org>
> Cc: Pekka Enberg <penberg@cs.helsinki.fi>
> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
> Cc: Steven Rostedt <rostedt@goodmis.org>
> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

Looks good to me!

Acked-by: Pekka Enberg <penberg@cs.helsinki.fi>

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 2/2] perf kmem: resolve symbols
@ 2009-11-23 20:03     ` Pekka Enberg
  0 siblings, 0 replies; 10+ messages in thread
From: Pekka Enberg @ 2009-11-23 20:03 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo
  Cc: Ingo Molnar, linux-kernel, Arnaldo Carvalho de Melo,
	Eduard - Gabriel Munteanu, Frédéric Weisbecker,
	linux-mm, Li Zefan, Mike Galbraith, Paul Mackerras,
	Peter Zijlstra, Steven Rostedt

On Mon, Nov 23, 2009 at 9:51 PM, Arnaldo Carvalho de Melo
<acme@infradead.org> wrote:
> From: Arnaldo Carvalho de Melo <acme@redhat.com>
>
> E.g.
>
> [root@doppio linux-2.6-tip]# perf kmem record sleep 3s
> [ perf record: Woken up 2 times to write data ]
> [ perf record: Captured and wrote 0.804 MB perf.data (~35105 samples) ]
> [root@doppio linux-2.6-tip]# perf kmem --stat caller | head -10
> ------------------------------------------------------------------------------
> Callsite                    |Total_alloc/Per | Total_req/Per | Hit  | Frag
> ------------------------------------------------------------------------------
> getname/40                  | 1519616/4096   | 1519616/4096  |   371|   0.000%
> seq_read/a2                 |  987136/4096   |  987136/4096  |   241|   0.000%
> __netdev_alloc_skb/43       |  260368/1049   |  259968/1048  |   248|   0.154%
> __alloc_skb/5a              |   77312/256    |   77312/256   |   302|   0.000%
> proc_alloc_inode/33         |   76480/632    |   76472/632   |   121|   0.010%
> get_empty_filp/8d           |   70272/192    |   70272/192   |   366|   0.000%
> split_vma/8e                |   42064/176    |   42064/176   |   239|   0.000%
> [root@doppio linux-2.6-tip]#
>
> Cc: Eduard - Gabriel Munteanu <eduard.munteanu@linux360.ro>
> Cc: Frédéric Weisbecker <fweisbec@gmail.com>
> Cc: linux-mm@kvack.org <linux-mm@kvack.org>
> Cc: Li Zefan <lizf@cn.fujitsu.com>
> Cc: Mike Galbraith <efault@gmx.de>
> Cc: Paul Mackerras <paulus@samba.org>
> Cc: Pekka Enberg <penberg@cs.helsinki.fi>
> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
> Cc: Steven Rostedt <rostedt@goodmis.org>
> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

Looks good to me!

Acked-by: Pekka Enberg <penberg@cs.helsinki.fi>

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [tip:perf/core] perf kmem: Resolve symbols
  2009-11-23 19:51   ` Arnaldo Carvalho de Melo
  (?)
  (?)
@ 2009-11-23 21:22   ` tip-bot for Arnaldo Carvalho de Melo
  -1 siblings, 0 replies; 10+ messages in thread
From: tip-bot for Arnaldo Carvalho de Melo @ 2009-11-23 21:22 UTC (permalink / raw)
  To: linux-tip-commits
  Cc: linux-kernel, paulus, acme, hpa, mingo, a.p.zijlstra, lizf,
	penberg, efault, eduard.munteanu, fweisbec, rostedt, tglx,
	linux-mm, mingo

Commit-ID:  1b145ae58035f30353d78d25bea665091df9b438
Gitweb:     http://git.kernel.org/tip/1b145ae58035f30353d78d25bea665091df9b438
Author:     Arnaldo Carvalho de Melo <acme@redhat.com>
AuthorDate: Mon, 23 Nov 2009 17:51:09 -0200
Committer:  Ingo Molnar <mingo@elte.hu>
CommitDate: Mon, 23 Nov 2009 21:55:20 +0100

perf kmem: Resolve symbols

E.g.:

  [root@doppio linux-2.6-tip]# perf kmem record sleep 3s
  [ perf record: Woken up 2 times to write data ]
  [ perf record: Captured and wrote 0.804 MB perf.data (~35105 samples) ]

  [root@doppio linux-2.6-tip]# perf kmem --stat caller | head -10
  ------------------------------------------------------------------------------
  Callsite                    |Total_alloc/Per | Total_req/Per | Hit  | Frag
  ------------------------------------------------------------------------------
  getname/40                  | 1519616/4096   | 1519616/4096  |   371|   0.000%
  seq_read/a2                 |  987136/4096   |  987136/4096  |   241|   0.000%
  __netdev_alloc_skb/43       |  260368/1049   |  259968/1048  |   248|   0.154%
  __alloc_skb/5a              |   77312/256    |   77312/256   |   302|   0.000%
  proc_alloc_inode/33         |   76480/632    |   76472/632   |   121|   0.010%
  get_empty_filp/8d           |   70272/192    |   70272/192   |   366|   0.000%
  split_vma/8e                |   42064/176    |   42064/176   |   239|   0.000%
  [root@doppio linux-2.6-tip]#

Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Acked-by: Pekka Enberg <penberg@cs.helsinki.fi>
Cc: Eduard - Gabriel Munteanu <eduard.munteanu@linux360.ro>
Cc: FrA(C)dA(C)ric Weisbecker <fweisbec@gmail.com>
Cc: linux-mm@kvack.org <linux-mm@kvack.org>
Cc: Li Zefan <lizf@cn.fujitsu.com>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Steven Rostedt <rostedt@goodmis.org>
LKML-Reference: <1259005869-13487-2-git-send-email-acme@infradead.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
---
 tools/perf/builtin-kmem.c |   37 +++++++++++++++++++++++--------------
 1 files changed, 23 insertions(+), 14 deletions(-)

diff --git a/tools/perf/builtin-kmem.c b/tools/perf/builtin-kmem.c
index 5d8aeae..256d18f 100644
--- a/tools/perf/builtin-kmem.c
+++ b/tools/perf/builtin-kmem.c
@@ -307,25 +307,34 @@ static void __print_result(struct rb_root *root, int n_lines, int is_caller)
 {
 	struct rb_node *next;
 
-	printf("\n ------------------------------------------------------------------------------\n");
-	if (is_caller)
-		printf(" Callsite          |");
-	else
-		printf(" Alloc Ptr         |");
-	printf(" Total_alloc/Per |  Total_req/Per  |  Hit   | Fragmentation\n");
-	printf(" ------------------------------------------------------------------------------\n");
+	printf("%.78s\n", graph_dotted_line);
+	printf("%-28s|",  is_caller ? "Callsite": "Alloc Ptr");
+	printf("Total_alloc/Per | Total_req/Per | Hit  | Frag\n");
+	printf("%.78s\n", graph_dotted_line);
 
 	next = rb_first(root);
 
 	while (next && n_lines--) {
-		struct alloc_stat *data;
-
-		data = rb_entry(next, struct alloc_stat, node);
+		struct alloc_stat *data = rb_entry(next, struct alloc_stat,
+						   node);
+		struct symbol *sym = NULL;
+		char bf[BUFSIZ];
+		u64 addr;
+
+		if (is_caller) {
+			addr = data->call_site;
+			sym = kernel_maps__find_symbol(addr, NULL, NULL);
+		} else
+			addr = data->ptr;
+
+		if (sym != NULL)
+			snprintf(bf, sizeof(bf), "%s/%Lx", sym->name,
+				 addr - sym->start);
+		else
+			snprintf(bf, sizeof(bf), "%#Lx", addr);
 
-		printf(" %-16p  | %8llu/%-6lu | %8llu/%-6lu | %6lu | %8.3f%%\n",
-		       is_caller ? (void *)(unsigned long)data->call_site :
-				   (void *)(unsigned long)data->ptr,
-		       (unsigned long long)data->bytes_alloc,
+		printf("%-28s|%8llu/%-6lu |%8llu/%-6lu|%6lu|%8.3f%%\n",
+		       bf, (unsigned long long)data->bytes_alloc,
 		       (unsigned long)data->bytes_alloc / data->hit,
 		       (unsigned long long)data->bytes_req,
 		       (unsigned long)data->bytes_req / data->hit,

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [PATCH 2/2] perf kmem: resolve symbols
  2009-11-23 19:51   ` Arnaldo Carvalho de Melo
@ 2009-11-24  0:50     ` Li Zefan
  -1 siblings, 0 replies; 10+ messages in thread
From: Li Zefan @ 2009-11-24  0:50 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo
  Cc: Ingo Molnar, linux-kernel, Arnaldo Carvalho de Melo,
	Eduard - Gabriel Munteanu, Frédéric Weisbecker,
	linux-mm, Mike Galbraith, Paul Mackerras, Pekka Enberg,
	Peter Zijlstra, Steven Rostedt

Arnaldo Carvalho de Melo wrote:
> From: Arnaldo Carvalho de Melo <acme@redhat.com>
> 
> E.g.
> 
> [root@doppio linux-2.6-tip]# perf kmem record sleep 3s
> [ perf record: Woken up 2 times to write data ]
> [ perf record: Captured and wrote 0.804 MB perf.data (~35105 samples) ]
> [root@doppio linux-2.6-tip]# perf kmem --stat caller | head -10
> ------------------------------------------------------------------------------
> Callsite                    |Total_alloc/Per | Total_req/Per | Hit  | Frag
> ------------------------------------------------------------------------------
> getname/40                  | 1519616/4096   | 1519616/4096  |   371|   0.000%
> seq_read/a2                 |  987136/4096   |  987136/4096  |   241|   0.000%
> __netdev_alloc_skb/43       |  260368/1049   |  259968/1048  |   248|   0.154%
> __alloc_skb/5a              |   77312/256    |   77312/256   |   302|   0.000%
> proc_alloc_inode/33         |   76480/632    |   76472/632   |   121|   0.010%
> get_empty_filp/8d           |   70272/192    |   70272/192   |   366|   0.000%
> split_vma/8e                |   42064/176    |   42064/176   |   239|   0.000%
> [root@doppio linux-2.6-tip]#
> 
> Cc: Eduard - Gabriel Munteanu <eduard.munteanu@linux360.ro>
> Cc: Frédéric Weisbecker <fweisbec@gmail.com>
> Cc: linux-mm@kvack.org <linux-mm@kvack.org>
> Cc: Li Zefan <lizf@cn.fujitsu.com>
> Cc: Mike Galbraith <efault@gmx.de>
> Cc: Paul Mackerras <paulus@samba.org>
> Cc: Pekka Enberg <penberg@cs.helsinki.fi>
> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
> Cc: Steven Rostedt <rostedt@goodmis.org>
> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
> ---
>  tools/perf/builtin-kmem.c |   37 +++++++++++++++++++++++--------------
>  1 files changed, 23 insertions(+), 14 deletions(-)

I was about to send out my version. Any, thanks for doing this!


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 2/2] perf kmem: resolve symbols
@ 2009-11-24  0:50     ` Li Zefan
  0 siblings, 0 replies; 10+ messages in thread
From: Li Zefan @ 2009-11-24  0:50 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo
  Cc: Ingo Molnar, linux-kernel, Arnaldo Carvalho de Melo,
	Eduard - Gabriel Munteanu, Frédéric Weisbecker,
	linux-mm, Mike Galbraith, Paul Mackerras, Pekka Enberg,
	Peter Zijlstra, Steven Rostedt

Arnaldo Carvalho de Melo wrote:
> From: Arnaldo Carvalho de Melo <acme@redhat.com>
> 
> E.g.
> 
> [root@doppio linux-2.6-tip]# perf kmem record sleep 3s
> [ perf record: Woken up 2 times to write data ]
> [ perf record: Captured and wrote 0.804 MB perf.data (~35105 samples) ]
> [root@doppio linux-2.6-tip]# perf kmem --stat caller | head -10
> ------------------------------------------------------------------------------
> Callsite                    |Total_alloc/Per | Total_req/Per | Hit  | Frag
> ------------------------------------------------------------------------------
> getname/40                  | 1519616/4096   | 1519616/4096  |   371|   0.000%
> seq_read/a2                 |  987136/4096   |  987136/4096  |   241|   0.000%
> __netdev_alloc_skb/43       |  260368/1049   |  259968/1048  |   248|   0.154%
> __alloc_skb/5a              |   77312/256    |   77312/256   |   302|   0.000%
> proc_alloc_inode/33         |   76480/632    |   76472/632   |   121|   0.010%
> get_empty_filp/8d           |   70272/192    |   70272/192   |   366|   0.000%
> split_vma/8e                |   42064/176    |   42064/176   |   239|   0.000%
> [root@doppio linux-2.6-tip]#
> 
> Cc: Eduard - Gabriel Munteanu <eduard.munteanu@linux360.ro>
> Cc: Frédéric Weisbecker <fweisbec@gmail.com>
> Cc: linux-mm@kvack.org <linux-mm@kvack.org>
> Cc: Li Zefan <lizf@cn.fujitsu.com>
> Cc: Mike Galbraith <efault@gmx.de>
> Cc: Paul Mackerras <paulus@samba.org>
> Cc: Pekka Enberg <penberg@cs.helsinki.fi>
> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
> Cc: Steven Rostedt <rostedt@goodmis.org>
> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
> ---
>  tools/perf/builtin-kmem.c |   37 +++++++++++++++++++++++--------------
>  1 files changed, 23 insertions(+), 14 deletions(-)

I was about to send out my version. Any, thanks for doing this!

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 2/2] perf kmem: resolve symbols
  2009-11-24  0:50     ` Li Zefan
@ 2009-11-24  1:20       ` Arnaldo Carvalho de Melo
  -1 siblings, 0 replies; 10+ messages in thread
From: Arnaldo Carvalho de Melo @ 2009-11-24  1:20 UTC (permalink / raw)
  To: Li Zefan
  Cc: Ingo Molnar, linux-kernel, Eduard - Gabriel Munteanu,
	Frédéric Weisbecker, linux-mm, Mike Galbraith,
	Paul Mackerras, Pekka Enberg, Peter Zijlstra, Steven Rostedt

Em Tue, Nov 24, 2009 at 08:50:57AM +0800, Li Zefan escreveu:
> Arnaldo Carvalho de Melo wrote:
> > From: Arnaldo Carvalho de Melo <acme@redhat.com>
> >  tools/perf/builtin-kmem.c |   37 +++++++++++++++++++++++--------------
> >  1 files changed, 23 insertions(+), 14 deletions(-)
> 
> I was about to send out my version. Any, thanks for doing this!

Ok, I'll have some sleep now, hack away! :-)

- Arnaldo

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 2/2] perf kmem: resolve symbols
@ 2009-11-24  1:20       ` Arnaldo Carvalho de Melo
  0 siblings, 0 replies; 10+ messages in thread
From: Arnaldo Carvalho de Melo @ 2009-11-24  1:20 UTC (permalink / raw)
  To: Li Zefan
  Cc: Ingo Molnar, linux-kernel, Eduard - Gabriel Munteanu,
	Frédéric Weisbecker, linux-mm, Mike Galbraith,
	Paul Mackerras, Pekka Enberg, Peter Zijlstra, Steven Rostedt

Em Tue, Nov 24, 2009 at 08:50:57AM +0800, Li Zefan escreveu:
> Arnaldo Carvalho de Melo wrote:
> > From: Arnaldo Carvalho de Melo <acme@redhat.com>
> >  tools/perf/builtin-kmem.c |   37 +++++++++++++++++++++++--------------
> >  1 files changed, 23 insertions(+), 14 deletions(-)
> 
> I was about to send out my version. Any, thanks for doing this!

Ok, I'll have some sleep now, hack away! :-)

- Arnaldo

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2009-11-24  1:20 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-11-23 19:51 [PATCH 1/2] perf tools: Move graph_line and graph_dotted_line from top Arnaldo Carvalho de Melo
2009-11-23 19:51 ` [PATCH 2/2] perf kmem: resolve symbols Arnaldo Carvalho de Melo
2009-11-23 19:51   ` Arnaldo Carvalho de Melo
2009-11-23 20:03   ` Pekka Enberg
2009-11-23 20:03     ` Pekka Enberg
2009-11-23 21:22   ` [tip:perf/core] perf kmem: Resolve symbols tip-bot for Arnaldo Carvalho de Melo
2009-11-24  0:50   ` [PATCH 2/2] perf kmem: resolve symbols Li Zefan
2009-11-24  0:50     ` Li Zefan
2009-11-24  1:20     ` Arnaldo Carvalho de Melo
2009-11-24  1:20       ` Arnaldo Carvalho de Melo

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.