All of lore.kernel.org
 help / color / mirror / Atom feed
* [GIT PULL 0/3] perf/core fixes
@ 2011-10-17 13:54 Arnaldo Carvalho de Melo
  2011-10-17 13:54 ` [PATCH 1/3] perf top: Honour --hide_{user,kernel}_symbols and the 'U' hotkey Arnaldo Carvalho de Melo
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Arnaldo Carvalho de Melo @ 2011-10-17 13:54 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, Arnaldo Carvalho de Melo, David Ahern,
	Frederic Weisbecker, Mike Galbraith, Paul Mackerras,
	Peter Zijlstra, Stephane Eranian, arnaldo.melo

Hi Ingo,

        Please consider pulling from:

git://github.com/acmel/linux.git perf/core

Regards,

- Arnaldo

Arnaldo Carvalho de Melo (2):
  perf top: Honour --hide_{user,kernel}_symbols and the 'U' hotkey
  perf top: Fix the 'E' hotkey, select among multiple events

Mike Galbraith (1):
  perf hists browser: Add missing stdarg.h include

 tools/perf/builtin-top.c      |    9 +++++++--
 tools/perf/util/hist.c        |   17 +++++++++++------
 tools/perf/util/hist.h        |    5 +++--
 tools/perf/util/ui/helpline.h |    1 +
 4 files changed, 22 insertions(+), 10 deletions(-)


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

* [PATCH 1/3] perf top: Honour --hide_{user,kernel}_symbols and the 'U' hotkey
  2011-10-17 13:54 [GIT PULL 0/3] perf/core fixes Arnaldo Carvalho de Melo
@ 2011-10-17 13:54 ` Arnaldo Carvalho de Melo
  2011-10-17 13:54 ` [PATCH 2/3] perf top: Fix the 'E' hotkey, select among multiple events Arnaldo Carvalho de Melo
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: Arnaldo Carvalho de Melo @ 2011-10-17 13:54 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, Arnaldo Carvalho de Melo, David Ahern,
	Frederic Weisbecker, Mike Galbraith, Paul Mackerras,
	Peter Zijlstra, Stephane Eranian

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

The new decay routine (__hists__decay_entries) wasn't being passed the
toggles, fix it.

Reported-by: Mike Galbraith <efault@gmx.de>
Cc: David Ahern <dsahern@gmail.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lkml.kernel.org/n/tip-hg6m0mi1colket982oq9hhly@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
 tools/perf/builtin-top.c |    8 ++++++--
 tools/perf/util/hist.c   |   17 +++++++++++------
 tools/perf/util/hist.h   |    5 +++--
 3 files changed, 20 insertions(+), 10 deletions(-)

diff --git a/tools/perf/builtin-top.c b/tools/perf/builtin-top.c
index e211304..bf368f1 100644
--- a/tools/perf/builtin-top.c
+++ b/tools/perf/builtin-top.c
@@ -304,7 +304,9 @@ static void print_sym_table(void)
 
 	hists__collapse_resort_threaded(&top.sym_evsel->hists);
 	hists__output_resort_threaded(&top.sym_evsel->hists);
-	hists__decay_entries_threaded(&top.sym_evsel->hists);
+	hists__decay_entries_threaded(&top.sym_evsel->hists,
+				      top.hide_user_symbols,
+				      top.hide_kernel_symbols);
 	hists__output_recalc_col_len(&top.sym_evsel->hists, winsize.ws_row - 3);
 	putchar('\n');
 	hists__fprintf(&top.sym_evsel->hists, NULL, false, false,
@@ -555,7 +557,9 @@ static void perf_top__sort_new_samples(void *arg)
 
 	hists__collapse_resort_threaded(&t->sym_evsel->hists);
 	hists__output_resort_threaded(&t->sym_evsel->hists);
-	hists__decay_entries_threaded(&t->sym_evsel->hists);
+	hists__decay_entries_threaded(&t->sym_evsel->hists,
+				      top.hide_user_symbols,
+				      top.hide_kernel_symbols);
 	hists__output_recalc_col_len(&t->sym_evsel->hists, winsize.ws_row - 3);
 }
 
diff --git a/tools/perf/util/hist.c b/tools/perf/util/hist.c
index a7193c5..48da373 100644
--- a/tools/perf/util/hist.c
+++ b/tools/perf/util/hist.c
@@ -108,7 +108,8 @@ static bool hists__decay_entry(struct hists *hists, struct hist_entry *he)
 	return he->period == 0;
 }
 
-static void __hists__decay_entries(struct hists *hists, bool threaded)
+static void __hists__decay_entries(struct hists *hists, bool zap_user,
+				   bool zap_kernel, bool threaded)
 {
 	struct rb_node *next = rb_first(&hists->entries);
 	struct hist_entry *n;
@@ -121,7 +122,10 @@ static void __hists__decay_entries(struct hists *hists, bool threaded)
 		 * case some it gets new samples, we'll eventually free it when
 		 * the user stops browsing and it agains gets fully decayed.
 		 */
-		if (hists__decay_entry(hists, n) && !n->used) {
+		if (((zap_user && n->level == '.') ||
+		     (zap_kernel && n->level != '.') ||
+		     hists__decay_entry(hists, n)) &&
+		    !n->used) {
 			rb_erase(&n->rb_node, &hists->entries);
 
 			if (sort__need_collapse || threaded)
@@ -133,14 +137,15 @@ static void __hists__decay_entries(struct hists *hists, bool threaded)
 	}
 }
 
-void hists__decay_entries(struct hists *hists)
+void hists__decay_entries(struct hists *hists, bool zap_user, bool zap_kernel)
 {
-	return __hists__decay_entries(hists, false);
+	return __hists__decay_entries(hists, zap_user, zap_kernel, false);
 }
 
-void hists__decay_entries_threaded(struct hists *hists)
+void hists__decay_entries_threaded(struct hists *hists,
+				   bool zap_user, bool zap_kernel)
 {
-	return __hists__decay_entries(hists, true);
+	return __hists__decay_entries(hists, zap_user, zap_kernel, true);
 }
 
 /*
diff --git a/tools/perf/util/hist.h b/tools/perf/util/hist.h
index bcc8ab9..ea96c1c 100644
--- a/tools/perf/util/hist.h
+++ b/tools/perf/util/hist.h
@@ -78,8 +78,9 @@ void hists__output_resort_threaded(struct hists *hists);
 void hists__collapse_resort(struct hists *self);
 void hists__collapse_resort_threaded(struct hists *hists);
 
-void hists__decay_entries(struct hists *hists);
-void hists__decay_entries_threaded(struct hists *hists);
+void hists__decay_entries(struct hists *hists, bool zap_user, bool zap_kernel);
+void hists__decay_entries_threaded(struct hists *hists, bool zap_user,
+				   bool zap_kernel);
 void hists__output_recalc_col_len(struct hists *hists, int max_rows);
 
 void hists__inc_nr_events(struct hists *self, u32 type);
-- 
1.6.2.5


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

* [PATCH 2/3] perf top: Fix the 'E' hotkey, select among multiple events
  2011-10-17 13:54 [GIT PULL 0/3] perf/core fixes Arnaldo Carvalho de Melo
  2011-10-17 13:54 ` [PATCH 1/3] perf top: Honour --hide_{user,kernel}_symbols and the 'U' hotkey Arnaldo Carvalho de Melo
@ 2011-10-17 13:54 ` Arnaldo Carvalho de Melo
  2011-10-17 13:54 ` [PATCH 3/3] perf hists browser: Add missing stdarg.h include Arnaldo Carvalho de Melo
  2011-10-18  6:33 ` [GIT PULL 0/3] perf/core fixes Ingo Molnar
  3 siblings, 0 replies; 5+ messages in thread
From: Arnaldo Carvalho de Melo @ 2011-10-17 13:54 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, Arnaldo Carvalho de Melo, David Ahern,
	Frederic Weisbecker, Mike Galbraith, Paul Mackerras,
	Peter Zijlstra, Stephane Eranian

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

We were not recognizing 'E' as a hotkey due to a bug introduced when
switching to the new, hist_entry based top. Fix it by returning that 'E'
is mapped if evlist->nr_entries > 1.

Reported-by: Mike Galbraith <efault@gmx.de>
Cc: David Ahern <dsahern@gmail.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lkml.kernel.org/n/tip-zcx055vnhagddvqlaqxvdhtb@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
 tools/perf/builtin-top.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/tools/perf/builtin-top.c b/tools/perf/builtin-top.c
index bf368f1..7a87171 100644
--- a/tools/perf/builtin-top.c
+++ b/tools/perf/builtin-top.c
@@ -438,6 +438,7 @@ static int key_mapped(int c)
 		case 'S':
 			return 1;
 		case 'E':
+			return top.evlist->nr_entries > 1 ? 1 : 0;
 		default:
 			break;
 	}
-- 
1.6.2.5


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

* [PATCH 3/3] perf hists browser: Add missing stdarg.h include
  2011-10-17 13:54 [GIT PULL 0/3] perf/core fixes Arnaldo Carvalho de Melo
  2011-10-17 13:54 ` [PATCH 1/3] perf top: Honour --hide_{user,kernel}_symbols and the 'U' hotkey Arnaldo Carvalho de Melo
  2011-10-17 13:54 ` [PATCH 2/3] perf top: Fix the 'E' hotkey, select among multiple events Arnaldo Carvalho de Melo
@ 2011-10-17 13:54 ` Arnaldo Carvalho de Melo
  2011-10-18  6:33 ` [GIT PULL 0/3] perf/core fixes Ingo Molnar
  3 siblings, 0 replies; 5+ messages in thread
From: Arnaldo Carvalho de Melo @ 2011-10-17 13:54 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: linux-kernel, Mike Galbraith, Arnaldo Carvalho de Melo

From: Mike Galbraith <efault@gmx.de>

    CC util/ui/browsers/annotate.o
In file included from util/ui/browsers/annotate.c:2:0:
util/ui/browsers/../helpline.h:9:42: error: expected declaration
specifiers or ‘...’ before ‘va_list’
    CC util/ui/browsers/hists.o
make: *** [util/ui/browsers/annotate.o] Error 1
make: *** Waiting for unfinished jobs....

Signed-off-by: Mike Galbraith <efault@gmx.de>
Link: http://lkml.kernel.org/n/tip-9vefl2807smi7t4luhs00tg6@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
 tools/perf/util/ui/helpline.h |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/tools/perf/util/ui/helpline.h b/tools/perf/util/ui/helpline.h
index 8099757..fdcbc02 100644
--- a/tools/perf/util/ui/helpline.h
+++ b/tools/perf/util/ui/helpline.h
@@ -2,6 +2,7 @@
 #define _PERF_UI_HELPLINE_H_ 1
 
 #include <stdio.h>
+#include <stdarg.h>
 
 void ui_helpline__init(void);
 void ui_helpline__pop(void);
-- 
1.6.2.5


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

* Re: [GIT PULL 0/3] perf/core fixes
  2011-10-17 13:54 [GIT PULL 0/3] perf/core fixes Arnaldo Carvalho de Melo
                   ` (2 preceding siblings ...)
  2011-10-17 13:54 ` [PATCH 3/3] perf hists browser: Add missing stdarg.h include Arnaldo Carvalho de Melo
@ 2011-10-18  6:33 ` Ingo Molnar
  3 siblings, 0 replies; 5+ messages in thread
From: Ingo Molnar @ 2011-10-18  6:33 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo
  Cc: linux-kernel, David Ahern, Frederic Weisbecker, Mike Galbraith,
	Paul Mackerras, Peter Zijlstra, Stephane Eranian, arnaldo.melo


* Arnaldo Carvalho de Melo <acme@infradead.org> wrote:

> Hi Ingo,
> 
>         Please consider pulling from:
> 
> git://github.com/acmel/linux.git perf/core
> 
> Regards,
> 
> - Arnaldo
> 
> Arnaldo Carvalho de Melo (2):
>   perf top: Honour --hide_{user,kernel}_symbols and the 'U' hotkey
>   perf top: Fix the 'E' hotkey, select among multiple events
> 
> Mike Galbraith (1):
>   perf hists browser: Add missing stdarg.h include
> 
>  tools/perf/builtin-top.c      |    9 +++++++--
>  tools/perf/util/hist.c        |   17 +++++++++++------
>  tools/perf/util/hist.h        |    5 +++--
>  tools/perf/util/ui/helpline.h |    1 +
>  4 files changed, 22 insertions(+), 10 deletions(-)

Pulled, thanks Arnaldo!

	Ingo

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

end of thread, other threads:[~2011-10-18  6:35 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-10-17 13:54 [GIT PULL 0/3] perf/core fixes Arnaldo Carvalho de Melo
2011-10-17 13:54 ` [PATCH 1/3] perf top: Honour --hide_{user,kernel}_symbols and the 'U' hotkey Arnaldo Carvalho de Melo
2011-10-17 13:54 ` [PATCH 2/3] perf top: Fix the 'E' hotkey, select among multiple events Arnaldo Carvalho de Melo
2011-10-17 13:54 ` [PATCH 3/3] perf hists browser: Add missing stdarg.h include Arnaldo Carvalho de Melo
2011-10-18  6:33 ` [GIT PULL 0/3] perf/core fixes Ingo Molnar

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.