All of lore.kernel.org
 help / color / mirror / Atom feed
* [GIT PULL 00/13] perf/core improvements and fixes
@ 2014-03-18 21:25 Arnaldo Carvalho de Melo
  2014-03-18 21:25 ` [PATCH 01/13] perf timechart: Fix off-by-one error in 'record' argv handling Arnaldo Carvalho de Melo
                   ` (13 more replies)
  0 siblings, 14 replies; 22+ messages in thread
From: Arnaldo Carvalho de Melo @ 2014-03-18 21:25 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, Arnaldo Carvalho de Melo, Adrian Hunter,
	Andi Kleen, Corey Ashford, David Ahern, Don Zickus,
	Frederic Weisbecker, Jiri Olsa, Joe Mario, Mike Galbraith,
	Namhyung Kim, Paul Mackerras, Peter Zijlstra,
	Ramkumar Ramachandra, Stanislav Fomichev, Stephane Eranian,
	Arnaldo Carvalho de Melo

From: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>

Hi Ingo,

	Please consider pulling,

- Arnaldo

The following changes since commit 0afd2d51029961281572d02545c7bde1b3f4292c:

  Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core (2014-03-18 09:23:09 +0100)

are available in the git repository at:


  git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux tags/perf-core-for-mingo

for you to fetch changes up to a51e87cb5a0fbebee15a3373d951dbf6f59a76c2:

  perf tools: Remove unused simple_strtoul() function (2014-03-18 18:17:07 -0300)

----------------------------------------------------------------
perf/core improvements and fixes:

User visible:

. Fixup header alignment in 'perf sched latency' output (Ramkumar Ramachandra)

. Fix off-by-one error in 'perf timechart record' argv handling (Ramkumar Ramachandra)

. Print the evsel name in the annotate stdio output, prep to fix support
  outputting annotation for multiple events, not just for the first one
  (Arnaldo Carvalho de Melo)

Internals:

. Use tid in mmap/mmap2 events to find maps (Don Zickus)

. Record the reason for filtering an address_location (Namhyung Kim)

. Apply all filters to an addr_location (Namhyung Kim)

. Merge al->filtered with hist_entry->filtered in report/hists (Namhyung Kim)

. Fix memory leak when synthesizing thread records (Namhyung Kim)

. Use ui__has_annotation() in 'report' (Namhyung Kim)

Cleanups:

. Remove unused thread__find_map function (Jiri Olsa)

. Remove unused simple_strtoul() function (Ramkumar Ramachandra)

Documentation:

. Update function names in debug messages (Ramkumar Ramachandra)

. Update some code references in design.txt (Ramkumar Ramachandra)

Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

----------------------------------------------------------------
Arnaldo Carvalho de Melo (1):
      perf annotate: Print the evsel name in the stdio output

Don Zickus (1):
      perf tools: Use tid in mmap/mmap2 events to find maps

Jiri Olsa (1):
      perf tools: Remove thread__find_map function

Namhyung Kim (5):
      perf symbols: Record the reason for filtering an address_location
      perf symbols: Apply all filters to an addr_location
      perf report: Merge al->filtered with hist_entry->filtered
      perf tools: Fix memory leak when synthesizing thread records
      perf report: Use ui__has_annotation()

Ramkumar Ramachandra (5):
      perf timechart: Fix off-by-one error in 'record' argv handling
      perf sched: Fixup header alignment in 'latency' output
      perf evsel: Update function names in debug messages
      perf tools: Update some code references in design.txt
      perf tools: Remove unused simple_strtoul() function

 tools/perf/builtin-report.c            |  4 ++--
 tools/perf/builtin-sched.c             | 10 +++++-----
 tools/perf/builtin-timechart.c         |  4 ++--
 tools/perf/design.txt                  | 12 ++++++------
 tools/perf/tests/hists_link.c          |  1 +
 tools/perf/util/annotate.c             | 14 +++++++++-----
 tools/perf/util/event.c                | 34 +++++++++++++++++-----------------
 tools/perf/util/evsel.c                |  4 ++--
 tools/perf/util/hist.c                 |  9 +--------
 tools/perf/util/hist.h                 |  9 +++++++++
 tools/perf/util/include/linux/kernel.h |  6 ------
 tools/perf/util/machine.c              |  6 +++---
 tools/perf/util/symbol.h               |  2 +-
 tools/perf/util/thread.h               |  6 ------
 14 files changed, 58 insertions(+), 63 deletions(-)

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

* [PATCH 01/13] perf timechart: Fix off-by-one error in 'record' argv handling
  2014-03-18 21:25 [GIT PULL 00/13] perf/core improvements and fixes Arnaldo Carvalho de Melo
@ 2014-03-18 21:25 ` Arnaldo Carvalho de Melo
  2014-03-18 21:25 ` [PATCH 02/13] perf sched: Fixup header alignment in 'latency' output Arnaldo Carvalho de Melo
                   ` (12 subsequent siblings)
  13 siblings, 0 replies; 22+ messages in thread
From: Arnaldo Carvalho de Melo @ 2014-03-18 21:25 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, Ramkumar Ramachandra, David Ahern, Jiri Olsa,
	Namhyung Kim, Stanislav Fomichev, Arnaldo Carvalho de Melo

From: Ramkumar Ramachandra <artagnon@gmail.com>

Since 367b315 (perf timechart: Add support for -P and -T in timechart
recording, 2013-11-01), the 'perf timechart record' command stopped
working:

  $ perf timechart record -- git status
  Workload failed: No such file or directory

This happens because of an off-by-one error while preparing the argv for
cmd_record(): it attempts to execute the command 'status' and complains
that it doesn't exist. Fix this error.

Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
Acked-by: Stanislav Fomichev <stfomichev@yandex-team.ru>
Cc: David Ahern <dsahern@gmail.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Stanislav Fomichev <stfomichev@yandex-team.ru>
Link: http://lkml.kernel.org/r/1394985965-2332-1-git-send-email-artagnon@gmail.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
 tools/perf/builtin-timechart.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/perf/builtin-timechart.c b/tools/perf/builtin-timechart.c
index 25526d6eae59..d4991a235155 100644
--- a/tools/perf/builtin-timechart.c
+++ b/tools/perf/builtin-timechart.c
@@ -1238,7 +1238,7 @@ static int timechart__record(struct timechart *tchart, int argc, const char **ar
 	for (i = 0; i < old_power_args_nr; i++)
 		*p++ = strdup(old_power_args[i]);
 
-	for (j = 1; j < (unsigned int)argc; j++)
+	for (j = 0; j < (unsigned int)argc; j++)
 		*p++ = argv[j];
 
 	return cmd_record(rec_argc, rec_argv, NULL);
-- 
1.8.1.4


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

* [PATCH 02/13] perf sched: Fixup header alignment in 'latency' output
  2014-03-18 21:25 [GIT PULL 00/13] perf/core improvements and fixes Arnaldo Carvalho de Melo
  2014-03-18 21:25 ` [PATCH 01/13] perf timechart: Fix off-by-one error in 'record' argv handling Arnaldo Carvalho de Melo
@ 2014-03-18 21:25 ` Arnaldo Carvalho de Melo
  2014-03-18 21:25 ` [PATCH 03/13] perf symbols: Record the reason for filtering an address_location Arnaldo Carvalho de Melo
                   ` (11 subsequent siblings)
  13 siblings, 0 replies; 22+ messages in thread
From: Arnaldo Carvalho de Melo @ 2014-03-18 21:25 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, Ramkumar Ramachandra, David Ahern,
	Frederic Weisbecker, Jiri Olsa, Arnaldo Carvalho de Melo

From: Ramkumar Ramachandra <artagnon@gmail.com>

Before:

 ---------------------------------------------------------------------------------------------------------------
  Task                  |   Runtime ms  | Switches | Average delay ms | Maximum delay ms | Maximum delay at     |
 ---------------------------------------------------------------------------------------------------------------
  ...                   |               |          |                  |                  |
  git:24540             |    336.622 ms |       10 | avg:    0.032 ms | max:    0.062 ms | max at: 115610.111046 s
  git:24541             |      0.457 ms |        1 | avg:    0.000 ms | max:    0.000 ms | max at:  0.000000 s
 -----------------------------------------------------------------------------------------
  TOTAL:                |    396.542 ms |      353 |
 ---------------------------------------------------

After:

 -----------------------------------------------------------------------------------------------------------------
  Task                  |   Runtime ms  | Switches | Average delay ms | Maximum delay ms | Maximum delay at       |
 -----------------------------------------------------------------------------------------------------------------
  ...                   |               |          |                  |                  |
  git:24540             |    336.622 ms |       10 | avg:    0.032 ms | max:    0.062 ms | max at: 115610.111046 s
  git:24541             |      0.457 ms |        1 | avg:    0.000 ms | max:    0.000 ms | max at:      0.000000 s
 -----------------------------------------------------------------------------------------------------------------
  TOTAL:                |    396.542 ms |      353 |
 ---------------------------------------------------

Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Link: http://lkml.kernel.org/r/1395065901-25740-1-git-send-email-artagnon@gmail.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
 tools/perf/builtin-sched.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/tools/perf/builtin-sched.c b/tools/perf/builtin-sched.c
index 6a76a07b6789..9ac0a495c954 100644
--- a/tools/perf/builtin-sched.c
+++ b/tools/perf/builtin-sched.c
@@ -1124,7 +1124,7 @@ static void output_lat_thread(struct perf_sched *sched, struct work_atoms *work_
 
 	avg = work_list->total_lat / work_list->nb_atoms;
 
-	printf("|%11.3f ms |%9" PRIu64 " | avg:%9.3f ms | max:%9.3f ms | max at: %9.6f s\n",
+	printf("|%11.3f ms |%9" PRIu64 " | avg:%9.3f ms | max:%9.3f ms | max at: %13.6f s\n",
 	      (double)work_list->total_runtime / 1e6,
 		 work_list->nb_atoms, (double)avg / 1e6,
 		 (double)work_list->max_lat / 1e6,
@@ -1527,9 +1527,9 @@ static int perf_sched__lat(struct perf_sched *sched)
 
 	perf_sched__sort_lat(sched);
 
-	printf("\n ---------------------------------------------------------------------------------------------------------------\n");
-	printf("  Task                  |   Runtime ms  | Switches | Average delay ms | Maximum delay ms | Maximum delay at     |\n");
-	printf(" ---------------------------------------------------------------------------------------------------------------\n");
+	printf("\n -----------------------------------------------------------------------------------------------------------------\n");
+	printf("  Task                  |   Runtime ms  | Switches | Average delay ms | Maximum delay ms | Maximum delay at       |\n");
+	printf(" -----------------------------------------------------------------------------------------------------------------\n");
 
 	next = rb_first(&sched->sorted_atom_root);
 
@@ -1541,7 +1541,7 @@ static int perf_sched__lat(struct perf_sched *sched)
 		next = rb_next(next);
 	}
 
-	printf(" -----------------------------------------------------------------------------------------\n");
+	printf(" -----------------------------------------------------------------------------------------------------------------\n");
 	printf("  TOTAL:                |%11.3f ms |%9" PRIu64 " |\n",
 		(double)sched->all_runtime / 1e6, sched->all_count);
 
-- 
1.8.1.4


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

* [PATCH 03/13] perf symbols: Record the reason for filtering an address_location
  2014-03-18 21:25 [GIT PULL 00/13] perf/core improvements and fixes Arnaldo Carvalho de Melo
  2014-03-18 21:25 ` [PATCH 01/13] perf timechart: Fix off-by-one error in 'record' argv handling Arnaldo Carvalho de Melo
  2014-03-18 21:25 ` [PATCH 02/13] perf sched: Fixup header alignment in 'latency' output Arnaldo Carvalho de Melo
@ 2014-03-18 21:25 ` Arnaldo Carvalho de Melo
  2014-03-18 21:25 ` [PATCH 04/13] perf symbols: Apply all filters to an addr_location Arnaldo Carvalho de Melo
                   ` (10 subsequent siblings)
  13 siblings, 0 replies; 22+ messages in thread
From: Arnaldo Carvalho de Melo @ 2014-03-18 21:25 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, Namhyung Kim, Namhyung Kim, Andi Kleen,
	David Ahern, Jiri Olsa, Paul Mackerras, Peter Zijlstra,
	Arnaldo Carvalho de Melo

From: Namhyung Kim <namhyung@kernel.org>

By turning the addr_location->filtered member from a boolean to a u8
bitmap, reusing (and extending) the hist_filter enum for that.

This patch doesn't change the logic at all, as it keeps the meaning of
al->filtered !0 to mean that the entry _was_ filtered, so no change in
how this value is interpreted needs to be done at this point.

This will be soon used in upcoming patches.

Signed-off-by: Namhyung Kim <namhyung.kim@lge.com>
Acked-by: Jiri Olsa <jolsa@redhat.com>
Cc: Andi Kleen <andi@firstfloor.org>
Cc: David Ahern <dsahern@gmail.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Namhyung Kim <namhyung.kim@lge.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/n/tip-89hmfgtr9t22sky1lyg7nw7l@git.kernel.org
[ yanked this out of a previous patch ]
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
 tools/perf/builtin-timechart.c |  2 +-
 tools/perf/util/event.c        | 20 +++++++++++++-------
 tools/perf/util/hist.c         |  7 -------
 tools/perf/util/hist.h         |  9 +++++++++
 tools/perf/util/machine.c      |  2 +-
 tools/perf/util/symbol.h       |  2 +-
 6 files changed, 25 insertions(+), 17 deletions(-)

diff --git a/tools/perf/builtin-timechart.c b/tools/perf/builtin-timechart.c
index d4991a235155..74db2568b867 100644
--- a/tools/perf/builtin-timechart.c
+++ b/tools/perf/builtin-timechart.c
@@ -494,7 +494,7 @@ static const char *cat_backtrace(union perf_event *event,
 			continue;
 		}
 
-		tal.filtered = false;
+		tal.filtered = 0;
 		thread__find_addr_location(al.thread, machine, cpumode,
 					   MAP__FUNCTION, ip, &tal);
 
diff --git a/tools/perf/util/event.c b/tools/perf/util/event.c
index 3e580be0f6fb..0da09db5f9f6 100644
--- a/tools/perf/util/event.c
+++ b/tools/perf/util/event.c
@@ -1,6 +1,7 @@
 #include <linux/types.h>
 #include "event.h"
 #include "debug.h"
+#include "hist.h"
 #include "machine.h"
 #include "sort.h"
 #include "string.h"
@@ -705,7 +706,7 @@ void thread__find_addr_map(struct thread *thread,
 	al->thread = thread;
 	al->addr = addr;
 	al->cpumode = cpumode;
-	al->filtered = false;
+	al->filtered = 0;
 
 	if (machine == NULL) {
 		al->map = NULL;
@@ -731,11 +732,11 @@ void thread__find_addr_map(struct thread *thread,
 		if ((cpumode == PERF_RECORD_MISC_GUEST_USER ||
 			cpumode == PERF_RECORD_MISC_GUEST_KERNEL) &&
 			!perf_guest)
-			al->filtered = true;
+			al->filtered |= (1 << HIST_FILTER__GUEST);
 		if ((cpumode == PERF_RECORD_MISC_USER ||
 			cpumode == PERF_RECORD_MISC_KERNEL) &&
 			!perf_host)
-			al->filtered = true;
+			al->filtered |= (1 << HIST_FILTER__HOST);
 
 		return;
 	}
@@ -792,8 +793,10 @@ int perf_event__preprocess_sample(const union perf_event *event,
 	if (thread == NULL)
 		return -1;
 
-	if (thread__is_filtered(thread))
+	if (thread__is_filtered(thread)) {
+		al->filtered |= (1 << HIST_FILTER__THREAD);
 		goto out_filtered;
+	}
 
 	dump_printf(" ... thread: %s:%d\n", thread__comm_str(thread), thread->tid);
 	/*
@@ -823,8 +826,10 @@ int perf_event__preprocess_sample(const union perf_event *event,
 						  dso->short_name) ||
 			       (dso->short_name != dso->long_name &&
 				strlist__has_entry(symbol_conf.dso_list,
-						   dso->long_name)))))
+						   dso->long_name))))) {
+			al->filtered |= (1 << HIST_FILTER__DSO);
 			goto out_filtered;
+		}
 
 		al->sym = map__find_symbol(al->map, al->addr,
 					   machine->symbol_filter);
@@ -832,12 +837,13 @@ int perf_event__preprocess_sample(const union perf_event *event,
 
 	if (symbol_conf.sym_list &&
 		(!al->sym || !strlist__has_entry(symbol_conf.sym_list,
-						al->sym->name)))
+						al->sym->name))) {
+		al->filtered |= (1 << HIST_FILTER__SYMBOL);
 		goto out_filtered;
+	}
 
 	return 0;
 
 out_filtered:
-	al->filtered = true;
 	return 0;
 }
diff --git a/tools/perf/util/hist.c b/tools/perf/util/hist.c
index 0466efa71140..9507f33b02ff 100644
--- a/tools/perf/util/hist.c
+++ b/tools/perf/util/hist.c
@@ -13,13 +13,6 @@ static bool hists__filter_entry_by_thread(struct hists *hists,
 static bool hists__filter_entry_by_symbol(struct hists *hists,
 					  struct hist_entry *he);
 
-enum hist_filter {
-	HIST_FILTER__DSO,
-	HIST_FILTER__THREAD,
-	HIST_FILTER__PARENT,
-	HIST_FILTER__SYMBOL,
-};
-
 struct callchain_param	callchain_param = {
 	.mode	= CHAIN_GRAPH_REL,
 	.min_percent = 0.5,
diff --git a/tools/perf/util/hist.h b/tools/perf/util/hist.h
index 0c76bf972736..1f1f513dfe7f 100644
--- a/tools/perf/util/hist.h
+++ b/tools/perf/util/hist.h
@@ -14,6 +14,15 @@ struct hist_entry;
 struct addr_location;
 struct symbol;
 
+enum hist_filter {
+	HIST_FILTER__DSO,
+	HIST_FILTER__THREAD,
+	HIST_FILTER__PARENT,
+	HIST_FILTER__SYMBOL,
+	HIST_FILTER__GUEST,
+	HIST_FILTER__HOST,
+};
+
 /*
  * The kernel collects the number of events it couldn't send in a stretch and
  * when possible sends this number in a PERF_RECORD_LOST event. The number of
diff --git a/tools/perf/util/machine.c b/tools/perf/util/machine.c
index 5cecd98c1bc0..d280bf210183 100644
--- a/tools/perf/util/machine.c
+++ b/tools/perf/util/machine.c
@@ -1312,7 +1312,7 @@ static int machine__resolve_callchain_sample(struct machine *machine,
 			continue;
 		}
 
-		al.filtered = false;
+		al.filtered = 0;
 		thread__find_addr_location(thread, machine, cpumode,
 					   MAP__FUNCTION, ip, &al);
 		if (al.sym != NULL) {
diff --git a/tools/perf/util/symbol.h b/tools/perf/util/symbol.h
index 2553ae04b788..501e4e722e8e 100644
--- a/tools/perf/util/symbol.h
+++ b/tools/perf/util/symbol.h
@@ -186,7 +186,7 @@ struct addr_location {
 	struct symbol *sym;
 	u64	      addr;
 	char	      level;
-	bool	      filtered;
+	u8	      filtered;
 	u8	      cpumode;
 	s32	      cpu;
 };
-- 
1.8.1.4


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

* [PATCH 04/13] perf symbols: Apply all filters to an addr_location
  2014-03-18 21:25 [GIT PULL 00/13] perf/core improvements and fixes Arnaldo Carvalho de Melo
                   ` (2 preceding siblings ...)
  2014-03-18 21:25 ` [PATCH 03/13] perf symbols: Record the reason for filtering an address_location Arnaldo Carvalho de Melo
@ 2014-03-18 21:25 ` Arnaldo Carvalho de Melo
  2014-03-18 21:25 ` [PATCH 05/13] perf report: Merge al->filtered with hist_entry->filtered Arnaldo Carvalho de Melo
                   ` (9 subsequent siblings)
  13 siblings, 0 replies; 22+ messages in thread
From: Arnaldo Carvalho de Melo @ 2014-03-18 21:25 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, Namhyung Kim, Namhyung Kim, Andi Kleen,
	David Ahern, Jiri Olsa, Paul Mackerras, Peter Zijlstra,
	Arnaldo Carvalho de Melo

From: Namhyung Kim <namhyung@kernel.org>

Instead of bailing out as soon as we find a filter that applies, go on
checking all of them so that we can zoom in/out filters.

We also need to make sure we only update al->filtered after
thread__find_addr_map(), because there is where al->filtered gets
initialized to zero.

This will increase the cost of processing when all we don't need this
toggling, but will provide flexibility for the TUI and GTK+ interfaces,
that will incur in creating the hist_entries just once.

Signed-off-by: Namhyung Kim <namhyung.kim@lge.com>
Acked-by: Jiri Olsa <jolsa@redhat.com>
Cc: Andi Kleen <andi@firstfloor.org>
Cc: David Ahern <dsahern@gmail.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Namhyung Kim <namhyung.kim@lge.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/n/tip-fhv9lhzdjxgp9w3w3668lsfw@git.kernel.org
[ yanked this out of a previous patch ]
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
 tools/perf/util/event.c | 14 ++++----------
 1 file changed, 4 insertions(+), 10 deletions(-)

diff --git a/tools/perf/util/event.c b/tools/perf/util/event.c
index 0da09db5f9f6..ebb48a623407 100644
--- a/tools/perf/util/event.c
+++ b/tools/perf/util/event.c
@@ -793,11 +793,6 @@ int perf_event__preprocess_sample(const union perf_event *event,
 	if (thread == NULL)
 		return -1;
 
-	if (thread__is_filtered(thread)) {
-		al->filtered |= (1 << HIST_FILTER__THREAD);
-		goto out_filtered;
-	}
-
 	dump_printf(" ... thread: %s:%d\n", thread__comm_str(thread), thread->tid);
 	/*
 	 * Have we already created the kernel maps for this machine?
@@ -815,6 +810,10 @@ int perf_event__preprocess_sample(const union perf_event *event,
 	dump_printf(" ...... dso: %s\n",
 		    al->map ? al->map->dso->long_name :
 			al->level == 'H' ? "[hypervisor]" : "<not found>");
+
+	if (thread__is_filtered(thread))
+		al->filtered |= (1 << HIST_FILTER__THREAD);
+
 	al->sym = NULL;
 	al->cpu = sample->cpu;
 
@@ -828,7 +827,6 @@ int perf_event__preprocess_sample(const union perf_event *event,
 				strlist__has_entry(symbol_conf.dso_list,
 						   dso->long_name))))) {
 			al->filtered |= (1 << HIST_FILTER__DSO);
-			goto out_filtered;
 		}
 
 		al->sym = map__find_symbol(al->map, al->addr,
@@ -839,11 +837,7 @@ int perf_event__preprocess_sample(const union perf_event *event,
 		(!al->sym || !strlist__has_entry(symbol_conf.sym_list,
 						al->sym->name))) {
 		al->filtered |= (1 << HIST_FILTER__SYMBOL);
-		goto out_filtered;
 	}
 
 	return 0;
-
-out_filtered:
-	return 0;
 }
-- 
1.8.1.4


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

* [PATCH 05/13] perf report: Merge al->filtered with hist_entry->filtered
  2014-03-18 21:25 [GIT PULL 00/13] perf/core improvements and fixes Arnaldo Carvalho de Melo
                   ` (3 preceding siblings ...)
  2014-03-18 21:25 ` [PATCH 04/13] perf symbols: Apply all filters to an addr_location Arnaldo Carvalho de Melo
@ 2014-03-18 21:25 ` Arnaldo Carvalho de Melo
  2014-03-18 21:25 ` [PATCH 06/13] perf tools: Use tid in mmap/mmap2 events to find maps Arnaldo Carvalho de Melo
                   ` (8 subsequent siblings)
  13 siblings, 0 replies; 22+ messages in thread
From: Arnaldo Carvalho de Melo @ 2014-03-18 21:25 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, Namhyung Kim, Namhyung Kim, Andi Kleen,
	David Ahern, Jiri Olsa, Paul Mackerras, Peter Zijlstra,
	Arnaldo Carvalho de Melo

From: Namhyung Kim <namhyung@kernel.org>

I.e. don't drop al->filtered entries, create the hist_entries and use
its ->filtered bitmap, that is kept with the same semantics for its
bitmap, leaving the filtering to be done at the hist_entry level, i.e.
in the UIs.

This will allow zooming in/out the filters.

Signed-off-by: Namhyung Kim <namhyung.kim@lge.com>
Acked-by: Jiri Olsa <jolsa@redhat.com>
Cc: Andi Kleen <andi@firstfloor.org>
Cc: David Ahern <dsahern@gmail.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Namhyung Kim <namhyung.kim@lge.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/n/tip-xeyhkepu7plw716lrtb0zlnu@git.kernel.org
[ yanked this out of a previous patch ]
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
 tools/perf/builtin-report.c | 2 +-
 tools/perf/util/hist.c      | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/tools/perf/builtin-report.c b/tools/perf/builtin-report.c
index c47bf586fcba..a74059f0c45f 100644
--- a/tools/perf/builtin-report.c
+++ b/tools/perf/builtin-report.c
@@ -231,7 +231,7 @@ static int process_sample_event(struct perf_tool *tool,
 		return -1;
 	}
 
-	if (al.filtered || (rep->hide_unresolved && al.sym == NULL))
+	if (rep->hide_unresolved && al.sym == NULL)
 		return 0;
 
 	if (rep->cpu_list && !test_bit(sample->cpu, rep->cpu_bitmap))
diff --git a/tools/perf/util/hist.c b/tools/perf/util/hist.c
index 9507f33b02ff..f38590d7561b 100644
--- a/tools/perf/util/hist.c
+++ b/tools/perf/util/hist.c
@@ -422,7 +422,7 @@ struct hist_entry *__hists__add_entry(struct hists *hists,
 			.weight = weight,
 		},
 		.parent = sym_parent,
-		.filtered = symbol__parent_filter(sym_parent),
+		.filtered = symbol__parent_filter(sym_parent) | al->filtered,
 		.hists	= hists,
 		.branch_info = bi,
 		.mem_info = mi,
-- 
1.8.1.4


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

* [PATCH 06/13] perf tools: Use tid in mmap/mmap2 events to find maps
  2014-03-18 21:25 [GIT PULL 00/13] perf/core improvements and fixes Arnaldo Carvalho de Melo
                   ` (4 preceding siblings ...)
  2014-03-18 21:25 ` [PATCH 05/13] perf report: Merge al->filtered with hist_entry->filtered Arnaldo Carvalho de Melo
@ 2014-03-18 21:25 ` Arnaldo Carvalho de Melo
  2014-03-19  7:13   ` Adrian Hunter
  2014-03-18 21:25 ` [PATCH 07/13] perf tools: Fix memory leak when synthesizing thread records Arnaldo Carvalho de Melo
                   ` (7 subsequent siblings)
  13 siblings, 1 reply; 22+ messages in thread
From: Arnaldo Carvalho de Melo @ 2014-03-18 21:25 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, Don Zickus, Jiri Olsa, Stephane Eranian,
	Arnaldo Carvalho de Melo

From: Don Zickus <dzickus@redhat.com>

Now that we can properly synthesize threads system-wide, make sure the
mmap and mmap2 events use tids instead of pids to locate their maps.

Signed-off-by: Don Zickus <dzickus@redhat.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lkml.kernel.org/r/1393429527-167840-3-git-send-email-dzickus@redhat.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
 tools/perf/tests/hists_link.c | 1 +
 tools/perf/util/machine.c     | 4 ++--
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/tools/perf/tests/hists_link.c b/tools/perf/tests/hists_link.c
index 2b6519e0e36f..7ccbc7b6ae77 100644
--- a/tools/perf/tests/hists_link.c
+++ b/tools/perf/tests/hists_link.c
@@ -101,6 +101,7 @@ static struct machine *setup_fake_machine(struct machines *machines)
 			.mmap = {
 				.header = { .misc = PERF_RECORD_MISC_USER, },
 				.pid = fake_mmap_info[i].pid,
+				.tid = fake_mmap_info[i].pid,
 				.start = fake_mmap_info[i].start,
 				.len = 0x1000ULL,
 				.pgoff = 0ULL,
diff --git a/tools/perf/util/machine.c b/tools/perf/util/machine.c
index d280bf210183..a53cd0b8c151 100644
--- a/tools/perf/util/machine.c
+++ b/tools/perf/util/machine.c
@@ -1027,7 +1027,7 @@ int machine__process_mmap2_event(struct machine *machine,
 	}
 
 	thread = machine__findnew_thread(machine, event->mmap2.pid,
-					event->mmap2.pid);
+					event->mmap2.tid);
 	if (thread == NULL)
 		goto out_problem;
 
@@ -1075,7 +1075,7 @@ int machine__process_mmap_event(struct machine *machine, union perf_event *event
 	}
 
 	thread = machine__findnew_thread(machine, event->mmap.pid,
-					 event->mmap.pid);
+					 event->mmap.tid);
 	if (thread == NULL)
 		goto out_problem;
 
-- 
1.8.1.4


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

* [PATCH 07/13] perf tools: Fix memory leak when synthesizing thread records
  2014-03-18 21:25 [GIT PULL 00/13] perf/core improvements and fixes Arnaldo Carvalho de Melo
                   ` (5 preceding siblings ...)
  2014-03-18 21:25 ` [PATCH 06/13] perf tools: Use tid in mmap/mmap2 events to find maps Arnaldo Carvalho de Melo
@ 2014-03-18 21:25 ` Arnaldo Carvalho de Melo
  2014-03-18 21:26 ` [PATCH 08/13] perf report: Use ui__has_annotation() Arnaldo Carvalho de Melo
                   ` (6 subsequent siblings)
  13 siblings, 0 replies; 22+ messages in thread
From: Arnaldo Carvalho de Melo @ 2014-03-18 21:25 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, Namhyung Kim, Don Zickus, Jiri Olsa, Joe Mario,
	Arnaldo Carvalho de Melo

From: Namhyung Kim <namhyung@kernel.org>

Checking default guest machine should be done before allocating event
structures otherwise it'll leak memory.

Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Cc: Don Zickus <dzickus@redhat.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Joe Mario <jmario@redhat.com>
Link: http://lkml.kernel.org/r/87ob15tx6a.fsf@sejong.aot.lge.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
 tools/perf/util/event.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/tools/perf/util/event.c b/tools/perf/util/event.c
index ebb48a623407..9d12aa6dd485 100644
--- a/tools/perf/util/event.c
+++ b/tools/perf/util/event.c
@@ -446,6 +446,9 @@ int perf_event__synthesize_threads(struct perf_tool *tool,
 	union perf_event *comm_event, *mmap_event, *fork_event;
 	int err = -1;
 
+	if (machine__is_default_guest(machine))
+		return 0;
+
 	comm_event = malloc(sizeof(comm_event->comm) + machine->id_hdr_size);
 	if (comm_event == NULL)
 		goto out;
@@ -458,9 +461,6 @@ int perf_event__synthesize_threads(struct perf_tool *tool,
 	if (fork_event == NULL)
 		goto out_free_mmap;
 
-	if (machine__is_default_guest(machine))
-		return 0;
-
 	snprintf(proc_path, sizeof(proc_path), "%s/proc", machine->root_dir);
 	proc = opendir(proc_path);
 
-- 
1.8.1.4


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

* [PATCH 08/13] perf report: Use ui__has_annotation()
  2014-03-18 21:25 [GIT PULL 00/13] perf/core improvements and fixes Arnaldo Carvalho de Melo
                   ` (6 preceding siblings ...)
  2014-03-18 21:25 ` [PATCH 07/13] perf tools: Fix memory leak when synthesizing thread records Arnaldo Carvalho de Melo
@ 2014-03-18 21:26 ` Arnaldo Carvalho de Melo
  2014-03-18 21:26 ` [PATCH 09/13] perf annotate: Print the evsel name in the stdio output Arnaldo Carvalho de Melo
                   ` (5 subsequent siblings)
  13 siblings, 0 replies; 22+ messages in thread
From: Arnaldo Carvalho de Melo @ 2014-03-18 21:26 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, Namhyung Kim, Andi Kleen, David Ahern, Jiri Olsa,
	Namhyung Kim, Paul Mackerras, Peter Zijlstra,
	Arnaldo Carvalho de Melo

From: Namhyung Kim <namhyung@kernel.org>

Since we introduced the ui__has_annotation() for that, don't open code
it.

Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Cc: Andi Kleen <andi@firstfloor.org>
Cc: David Ahern <dsahern@gmail.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Namhyung Kim <namhyung.kim@lge.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/1395124359-11744-2-git-send-email-namhyung@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
 tools/perf/builtin-report.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/perf/builtin-report.c b/tools/perf/builtin-report.c
index a74059f0c45f..c8f21137dfd8 100644
--- a/tools/perf/builtin-report.c
+++ b/tools/perf/builtin-report.c
@@ -928,7 +928,7 @@ repeat:
 	 * so don't allocate extra space that won't be used in the stdio
 	 * implementation.
 	 */
-	if (use_browser == 1 && sort__has_sym) {
+	if (ui__has_annotation()) {
 		symbol_conf.priv_size = sizeof(struct annotation);
 		machines__set_symbol_filter(&session->machines,
 					    symbol__annotate_init);
-- 
1.8.1.4


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

* [PATCH 09/13] perf annotate: Print the evsel name in the stdio output
  2014-03-18 21:25 [GIT PULL 00/13] perf/core improvements and fixes Arnaldo Carvalho de Melo
                   ` (7 preceding siblings ...)
  2014-03-18 21:26 ` [PATCH 08/13] perf report: Use ui__has_annotation() Arnaldo Carvalho de Melo
@ 2014-03-18 21:26 ` Arnaldo Carvalho de Melo
  2014-03-18 21:26 ` [PATCH 10/13] perf tools: Remove thread__find_map function Arnaldo Carvalho de Melo
                   ` (4 subsequent siblings)
  13 siblings, 0 replies; 22+ messages in thread
From: Arnaldo Carvalho de Melo @ 2014-03-18 21:26 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, Arnaldo Carvalho de Melo, Adrian Hunter,
	David Ahern, Frederic Weisbecker, Jiri Olsa, Mike Galbraith,
	Namhyung Kim, Paul Mackerras, Peter Zijlstra, Stephane Eranian

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

So that when showing multiple events annotations, we can figure out
which is which:

  # perf record -a -e instructions,cycles sleep 1
  [ perf record: Woken up 1 times to write data ]
  [ perf record: Captured and wrote 0.826 MB perf.data (~36078 samples) ]
  # perf evlist
  instructions
  cycles
  # perf annotate intel_idle 2> /dev/null | head -1
   Percent |	Source code & Disassembly of vmlinux for instructions
  #

Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Namhyung Kim <namhyung@kernel.org>
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-n1r51l329434js84qtb2c6l9@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
 tools/perf/util/annotate.c | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/tools/perf/util/annotate.c b/tools/perf/util/annotate.c
index 3aa555ff9d89..809b4c50beae 100644
--- a/tools/perf/util/annotate.c
+++ b/tools/perf/util/annotate.c
@@ -1236,6 +1236,7 @@ int symbol__annotate_printf(struct symbol *sym, struct map *map,
 	struct dso *dso = map->dso;
 	char *filename;
 	const char *d_filename;
+	const char *evsel_name = perf_evsel__name(evsel);
 	struct annotation *notes = symbol__annotation(sym);
 	struct disasm_line *pos, *queue = NULL;
 	u64 start = map__rip_2objdump(map, sym->start);
@@ -1243,7 +1244,7 @@ int symbol__annotate_printf(struct symbol *sym, struct map *map,
 	int more = 0;
 	u64 len;
 	int width = 8;
-	int namelen;
+	int namelen, evsel_name_len, graph_dotted_len;
 
 	filename = strdup(dso->long_name);
 	if (!filename)
@@ -1256,14 +1257,17 @@ int symbol__annotate_printf(struct symbol *sym, struct map *map,
 
 	len = symbol__size(sym);
 	namelen = strlen(d_filename);
+	evsel_name_len = strlen(evsel_name);
 
 	if (perf_evsel__is_group_event(evsel))
 		width *= evsel->nr_members;
 
-	printf(" %-*.*s|	Source code & Disassembly of %s\n",
-	       width, width, "Percent", d_filename);
-	printf("-%-*.*s-------------------------------------\n",
-	       width+namelen, width+namelen, graph_dotted_line);
+	printf(" %-*.*s|	Source code & Disassembly of %s for %s\n",
+	       width, width, "Percent", d_filename, evsel_name);
+
+	graph_dotted_len = width + namelen + evsel_name_len;
+	printf("-%-*.*s-----------------------------------------\n",
+	       graph_dotted_len, graph_dotted_len, graph_dotted_line);
 
 	if (verbose)
 		symbol__annotate_hits(sym, evsel);
-- 
1.8.1.4


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

* [PATCH 10/13] perf tools: Remove thread__find_map function
  2014-03-18 21:25 [GIT PULL 00/13] perf/core improvements and fixes Arnaldo Carvalho de Melo
                   ` (8 preceding siblings ...)
  2014-03-18 21:26 ` [PATCH 09/13] perf annotate: Print the evsel name in the stdio output Arnaldo Carvalho de Melo
@ 2014-03-18 21:26 ` Arnaldo Carvalho de Melo
  2014-03-18 21:26 ` [PATCH 11/13] perf evsel: Update function names in debug messages Arnaldo Carvalho de Melo
                   ` (3 subsequent siblings)
  13 siblings, 0 replies; 22+ messages in thread
From: Arnaldo Carvalho de Melo @ 2014-03-18 21:26 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, Jiri Olsa, Corey Ashford, David Ahern, Don Zickus,
	Frederic Weisbecker, Namhyung Kim, Paul Mackerras,
	Peter Zijlstra, Arnaldo Carvalho de Melo

From: Jiri Olsa <jolsa@redhat.com>

Because it's not used any more.

Signed-off-by: Jiri Olsa <jolsa@redhat.com>
Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Don Zickus <dzickus@redhat.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/1395154016-26709-3-git-send-email-jolsa@redhat.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
 tools/perf/util/thread.h | 6 ------
 1 file changed, 6 deletions(-)

diff --git a/tools/perf/util/thread.h b/tools/perf/util/thread.h
index 9a070743270c..9b29f085aede 100644
--- a/tools/perf/util/thread.h
+++ b/tools/perf/util/thread.h
@@ -44,12 +44,6 @@ void thread__insert_map(struct thread *thread, struct map *map);
 int thread__fork(struct thread *thread, struct thread *parent, u64 timestamp);
 size_t thread__fprintf(struct thread *thread, FILE *fp);
 
-static inline struct map *thread__find_map(struct thread *thread,
-					   enum map_type type, u64 addr)
-{
-	return thread ? map_groups__find(&thread->mg, type, addr) : NULL;
-}
-
 void thread__find_addr_map(struct thread *thread, struct machine *machine,
 			   u8 cpumode, enum map_type type, u64 addr,
 			   struct addr_location *al);
-- 
1.8.1.4


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

* [PATCH 11/13] perf evsel: Update function names in debug messages
  2014-03-18 21:25 [GIT PULL 00/13] perf/core improvements and fixes Arnaldo Carvalho de Melo
                   ` (9 preceding siblings ...)
  2014-03-18 21:26 ` [PATCH 10/13] perf tools: Remove thread__find_map function Arnaldo Carvalho de Melo
@ 2014-03-18 21:26 ` Arnaldo Carvalho de Melo
  2014-03-18 21:26 ` [PATCH 12/13] perf tools: Update some code references in design.txt Arnaldo Carvalho de Melo
                   ` (2 subsequent siblings)
  13 siblings, 0 replies; 22+ messages in thread
From: Arnaldo Carvalho de Melo @ 2014-03-18 21:26 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, Ramkumar Ramachandra, David Ahern, Jiri Olsa,
	Arnaldo Carvalho de Melo

From: Ramkumar Ramachandra <artagnon@gmail.com>

perf_event_open() was renamed to sys_perf_event_open(); update the debug
messages to reflect this.

Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Link: http://lkml.kernel.org/r/1395169842-1399-1-git-send-email-artagnon@gmail.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
 tools/perf/util/evsel.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/tools/perf/util/evsel.c b/tools/perf/util/evsel.c
index 26b67b11c65b..5c28d82b76c4 100644
--- a/tools/perf/util/evsel.c
+++ b/tools/perf/util/evsel.c
@@ -1023,7 +1023,7 @@ retry_sample_id:
 
 			group_fd = get_group_fd(evsel, cpu, thread);
 retry_open:
-			pr_debug2("perf_event_open: pid %d  cpu %d  group_fd %d  flags %#lx\n",
+			pr_debug2("sys_perf_event_open: pid %d  cpu %d  group_fd %d  flags %#lx\n",
 				  pid, cpus->map[cpu], group_fd, flags);
 
 			FD(evsel, cpu, thread) = sys_perf_event_open(&evsel->attr,
@@ -1032,7 +1032,7 @@ retry_open:
 								     group_fd, flags);
 			if (FD(evsel, cpu, thread) < 0) {
 				err = -errno;
-				pr_debug2("perf_event_open failed, error %d\n",
+				pr_debug2("sys_perf_event_open failed, error %d\n",
 					  err);
 				goto try_fallback;
 			}
-- 
1.8.1.4


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

* [PATCH 12/13] perf tools: Update some code references in design.txt
  2014-03-18 21:25 [GIT PULL 00/13] perf/core improvements and fixes Arnaldo Carvalho de Melo
                   ` (10 preceding siblings ...)
  2014-03-18 21:26 ` [PATCH 11/13] perf evsel: Update function names in debug messages Arnaldo Carvalho de Melo
@ 2014-03-18 21:26 ` Arnaldo Carvalho de Melo
  2014-03-18 21:26 ` [PATCH 13/13] perf tools: Remove unused simple_strtoul() function Arnaldo Carvalho de Melo
  2014-03-19  7:07 ` [GIT PULL 00/13] perf/core improvements and fixes Ingo Molnar
  13 siblings, 0 replies; 22+ messages in thread
From: Arnaldo Carvalho de Melo @ 2014-03-18 21:26 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, Ramkumar Ramachandra, David Ahern, Jiri Olsa,
	Arnaldo Carvalho de Melo

From: Ramkumar Ramachandra <artagnon@gmail.com>

Update the names of some functions and enums in design.txt. The document
still has some stale information, but the motivation behind this patch
is to allow a developer to quickly grep and learn about the associated
structures.

Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Link: http://lkml.kernel.org/r/1395169804-1293-1-git-send-email-artagnon@gmail.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
 tools/perf/design.txt | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/tools/perf/design.txt b/tools/perf/design.txt
index 63a0e6f04a01..a28dca2582aa 100644
--- a/tools/perf/design.txt
+++ b/tools/perf/design.txt
@@ -18,7 +18,7 @@ underlying hardware counters.
 Performance counters are accessed via special file descriptors.
 There's one file descriptor per virtual counter used.
 
-The special file descriptor is opened via the perf_event_open()
+The special file descriptor is opened via the sys_perf_event_open()
 system call:
 
    int sys_perf_event_open(struct perf_event_attr *hw_event_uptr,
@@ -82,7 +82,7 @@ machine-specific.
 If 'raw_type' is 0, then the 'type' field says what kind of counter
 this is, with the following encoding:
 
-enum perf_event_types {
+enum perf_type_id {
 	PERF_TYPE_HARDWARE		= 0,
 	PERF_TYPE_SOFTWARE		= 1,
 	PERF_TYPE_TRACEPOINT		= 2,
@@ -95,7 +95,7 @@ specified by 'event_id':
  * Generalized performance counter event types, used by the hw_event.event_id
  * parameter of the sys_perf_event_open() syscall:
  */
-enum hw_event_ids {
+enum perf_hw_id {
 	/*
 	 * Common hardware events, generalized by the kernel:
 	 */
@@ -129,7 +129,7 @@ software events, selected by 'event_id':
  * physical and sw events of the kernel (and allow the profiling of them as
  * well):
  */
-enum sw_event_ids {
+enum perf_sw_ids {
 	PERF_COUNT_SW_CPU_CLOCK		= 0,
 	PERF_COUNT_SW_TASK_CLOCK	= 1,
 	PERF_COUNT_SW_PAGE_FAULTS	= 2,
@@ -230,7 +230,7 @@ these events are recorded in the ring-buffer (see below).
 The 'comm' bit allows tracking of process comm data on process creation.
 This too is recorded in the ring-buffer (see below).
 
-The 'pid' parameter to the perf_event_open() system call allows the
+The 'pid' parameter to the sys_perf_event_open() system call allows the
 counter to be specific to a task:
 
  pid == 0: if the pid parameter is zero, the counter is attached to the
@@ -260,7 +260,7 @@ The 'flags' parameter is currently unused and must be zero.
 
 The 'group_fd' parameter allows counter "groups" to be set up.  A
 counter group has one counter which is the group "leader".  The leader
-is created first, with group_fd = -1 in the perf_event_open call
+is created first, with group_fd = -1 in the sys_perf_event_open call
 that creates it.  The rest of the group members are created
 subsequently, with group_fd giving the fd of the group leader.
 (A single counter on its own is created with group_fd = -1 and is
-- 
1.8.1.4


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

* [PATCH 13/13] perf tools: Remove unused simple_strtoul() function
  2014-03-18 21:25 [GIT PULL 00/13] perf/core improvements and fixes Arnaldo Carvalho de Melo
                   ` (11 preceding siblings ...)
  2014-03-18 21:26 ` [PATCH 12/13] perf tools: Update some code references in design.txt Arnaldo Carvalho de Melo
@ 2014-03-18 21:26 ` Arnaldo Carvalho de Melo
  2014-03-19  7:07 ` [GIT PULL 00/13] perf/core improvements and fixes Ingo Molnar
  13 siblings, 0 replies; 22+ messages in thread
From: Arnaldo Carvalho de Melo @ 2014-03-18 21:26 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, Ramkumar Ramachandra, David Ahern, Jiri Olsa,
	Arnaldo Carvalho de Melo

From: Ramkumar Ramachandra <artagnon@gmail.com>

Moreover, the corresponding function in include/linux/kernel.h is marked
obsolete.

Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Link: http://lkml.kernel.org/r/1395176715-4465-1-git-send-email-artagnon@gmail.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
 tools/perf/util/include/linux/kernel.h | 6 ------
 1 file changed, 6 deletions(-)

diff --git a/tools/perf/util/include/linux/kernel.h b/tools/perf/util/include/linux/kernel.h
index d8c927c868ee..9844c31b7c2b 100644
--- a/tools/perf/util/include/linux/kernel.h
+++ b/tools/perf/util/include/linux/kernel.h
@@ -94,12 +94,6 @@ static inline int scnprintf(char * buf, size_t size, const char * fmt, ...)
 	return (i >= ssize) ? (ssize - 1) : i;
 }
 
-static inline unsigned long
-simple_strtoul(const char *nptr, char **endptr, int base)
-{
-	return strtoul(nptr, endptr, base);
-}
-
 int eprintf(int level,
 	    const char *fmt, ...) __attribute__((format(printf, 2, 3)));
 
-- 
1.8.1.4


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

* Re: [GIT PULL 00/13] perf/core improvements and fixes
  2014-03-18 21:25 [GIT PULL 00/13] perf/core improvements and fixes Arnaldo Carvalho de Melo
                   ` (12 preceding siblings ...)
  2014-03-18 21:26 ` [PATCH 13/13] perf tools: Remove unused simple_strtoul() function Arnaldo Carvalho de Melo
@ 2014-03-19  7:07 ` Ingo Molnar
  13 siblings, 0 replies; 22+ messages in thread
From: Ingo Molnar @ 2014-03-19  7:07 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo
  Cc: linux-kernel, Arnaldo Carvalho de Melo, Adrian Hunter,
	Andi Kleen, Corey Ashford, David Ahern, Don Zickus,
	Frederic Weisbecker, Jiri Olsa, Joe Mario, Mike Galbraith,
	Namhyung Kim, Paul Mackerras, Peter Zijlstra,
	Ramkumar Ramachandra, Stanislav Fomichev, Stephane Eranian,
	Arnaldo Carvalho de Melo


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

> From: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
> 
> Hi Ingo,
> 
> 	Please consider pulling,
> 
> - Arnaldo
> 
> The following changes since commit 0afd2d51029961281572d02545c7bde1b3f4292c:
> 
>   Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core (2014-03-18 09:23:09 +0100)
> 
> are available in the git repository at:
> 
> 
>   git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux tags/perf-core-for-mingo
> 
> for you to fetch changes up to a51e87cb5a0fbebee15a3373d951dbf6f59a76c2:
> 
>   perf tools: Remove unused simple_strtoul() function (2014-03-18 18:17:07 -0300)
> 
> ----------------------------------------------------------------
> perf/core improvements and fixes:
> 
> User visible:
> 
> . Fixup header alignment in 'perf sched latency' output (Ramkumar Ramachandra)
> 
> . Fix off-by-one error in 'perf timechart record' argv handling (Ramkumar Ramachandra)
> 
> . Print the evsel name in the annotate stdio output, prep to fix support
>   outputting annotation for multiple events, not just for the first one
>   (Arnaldo Carvalho de Melo)
> 
> Internals:
> 
> . Use tid in mmap/mmap2 events to find maps (Don Zickus)
> 
> . Record the reason for filtering an address_location (Namhyung Kim)
> 
> . Apply all filters to an addr_location (Namhyung Kim)
> 
> . Merge al->filtered with hist_entry->filtered in report/hists (Namhyung Kim)
> 
> . Fix memory leak when synthesizing thread records (Namhyung Kim)
> 
> . Use ui__has_annotation() in 'report' (Namhyung Kim)
> 
> Cleanups:
> 
> . Remove unused thread__find_map function (Jiri Olsa)
> 
> . Remove unused simple_strtoul() function (Ramkumar Ramachandra)
> 
> Documentation:
> 
> . Update function names in debug messages (Ramkumar Ramachandra)
> 
> . Update some code references in design.txt (Ramkumar Ramachandra)
> 
> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
> 
> ----------------------------------------------------------------
> Arnaldo Carvalho de Melo (1):
>       perf annotate: Print the evsel name in the stdio output
> 
> Don Zickus (1):
>       perf tools: Use tid in mmap/mmap2 events to find maps
> 
> Jiri Olsa (1):
>       perf tools: Remove thread__find_map function
> 
> Namhyung Kim (5):
>       perf symbols: Record the reason for filtering an address_location
>       perf symbols: Apply all filters to an addr_location
>       perf report: Merge al->filtered with hist_entry->filtered
>       perf tools: Fix memory leak when synthesizing thread records
>       perf report: Use ui__has_annotation()
> 
> Ramkumar Ramachandra (5):
>       perf timechart: Fix off-by-one error in 'record' argv handling
>       perf sched: Fixup header alignment in 'latency' output
>       perf evsel: Update function names in debug messages
>       perf tools: Update some code references in design.txt
>       perf tools: Remove unused simple_strtoul() function
> 
>  tools/perf/builtin-report.c            |  4 ++--
>  tools/perf/builtin-sched.c             | 10 +++++-----
>  tools/perf/builtin-timechart.c         |  4 ++--
>  tools/perf/design.txt                  | 12 ++++++------
>  tools/perf/tests/hists_link.c          |  1 +
>  tools/perf/util/annotate.c             | 14 +++++++++-----
>  tools/perf/util/event.c                | 34 +++++++++++++++++-----------------
>  tools/perf/util/evsel.c                |  4 ++--
>  tools/perf/util/hist.c                 |  9 +--------
>  tools/perf/util/hist.h                 |  9 +++++++++
>  tools/perf/util/include/linux/kernel.h |  6 ------
>  tools/perf/util/machine.c              |  6 +++---
>  tools/perf/util/symbol.h               |  2 +-
>  tools/perf/util/thread.h               |  6 ------
>  14 files changed, 58 insertions(+), 63 deletions(-)

Pulled, thanks a lot Arnaldo!

	Ingo

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

* Re: [PATCH 06/13] perf tools: Use tid in mmap/mmap2 events to find maps
  2014-03-18 21:25 ` [PATCH 06/13] perf tools: Use tid in mmap/mmap2 events to find maps Arnaldo Carvalho de Melo
@ 2014-03-19  7:13   ` Adrian Hunter
  2014-03-19 10:19     ` Jiri Olsa
       [not found]     ` <20140319131945.GW25953@redhat.com>
  0 siblings, 2 replies; 22+ messages in thread
From: Adrian Hunter @ 2014-03-19  7:13 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo, Ingo Molnar
  Cc: linux-kernel, Don Zickus, Jiri Olsa, Stephane Eranian,
	Arnaldo Carvalho de Melo

On 18.03.2014 23:25, Arnaldo Carvalho de Melo wrote:
> From: Don Zickus <dzickus@redhat.com>
> 
> Now that we can properly synthesize threads system-wide, make sure the
> mmap and mmap2 events use tids instead of pids to locate their maps.

This is a good change but it cannot go yet because it is dependent on Jiri's
"perf tools: Share map groups within process" series.

perf tools assume that threads share virtual memory.  That means that a
mapping created by one thread is visible to all threads in the thread group.
 That was implemented by putting all the maps on the thread group leader
(pid == tid).  The alternative is to share the map groups instead, which is
what Jiri is doing.

> 
> Signed-off-by: Don Zickus <dzickus@redhat.com>
> Cc: Jiri Olsa <jolsa@redhat.com>
> Cc: Stephane Eranian <eranian@google.com>
> Link: http://lkml.kernel.org/r/1393429527-167840-3-git-send-email-dzickus@redhat.com
> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
> ---
>  tools/perf/tests/hists_link.c | 1 +
>  tools/perf/util/machine.c     | 4 ++--
>  2 files changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/tools/perf/tests/hists_link.c b/tools/perf/tests/hists_link.c
> index 2b6519e0e36f..7ccbc7b6ae77 100644
> --- a/tools/perf/tests/hists_link.c
> +++ b/tools/perf/tests/hists_link.c
> @@ -101,6 +101,7 @@ static struct machine *setup_fake_machine(struct machines *machines)
>  			.mmap = {
>  				.header = { .misc = PERF_RECORD_MISC_USER, },
>  				.pid = fake_mmap_info[i].pid,
> +				.tid = fake_mmap_info[i].pid,
>  				.start = fake_mmap_info[i].start,
>  				.len = 0x1000ULL,
>  				.pgoff = 0ULL,
> diff --git a/tools/perf/util/machine.c b/tools/perf/util/machine.c
> index d280bf210183..a53cd0b8c151 100644
> --- a/tools/perf/util/machine.c
> +++ b/tools/perf/util/machine.c
> @@ -1027,7 +1027,7 @@ int machine__process_mmap2_event(struct machine *machine,
>  	}
>  
>  	thread = machine__findnew_thread(machine, event->mmap2.pid,
> -					event->mmap2.pid);
> +					event->mmap2.tid);
>  	if (thread == NULL)
>  		goto out_problem;
>  
> @@ -1075,7 +1075,7 @@ int machine__process_mmap_event(struct machine *machine, union perf_event *event
>  	}
>  
>  	thread = machine__findnew_thread(machine, event->mmap.pid,
> -					 event->mmap.pid);
> +					 event->mmap.tid);
>  	if (thread == NULL)
>  		goto out_problem;
>  
> 


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

* Re: [PATCH 06/13] perf tools: Use tid in mmap/mmap2 events to find maps
  2014-03-19  7:13   ` Adrian Hunter
@ 2014-03-19 10:19     ` Jiri Olsa
       [not found]     ` <20140319131945.GW25953@redhat.com>
  1 sibling, 0 replies; 22+ messages in thread
From: Jiri Olsa @ 2014-03-19 10:19 UTC (permalink / raw)
  To: Adrian Hunter
  Cc: Arnaldo Carvalho de Melo, Ingo Molnar, linux-kernel, Don Zickus,
	Stephane Eranian, Arnaldo Carvalho de Melo

On Wed, Mar 19, 2014 at 09:13:38AM +0200, Adrian Hunter wrote:
> On 18.03.2014 23:25, Arnaldo Carvalho de Melo wrote:
> > From: Don Zickus <dzickus@redhat.com>
> > 
> > Now that we can properly synthesize threads system-wide, make sure the
> > mmap and mmap2 events use tids instead of pids to locate their maps.
> 
> This is a good change but it cannot go yet because it is dependent on Jiri's
> "perf tools: Share map groups within process" series.
> 
> perf tools assume that threads share virtual memory.  That means that a
> mapping created by one thread is visible to all threads in the thread group.
>  That was implemented by putting all the maps on the thread group leader
> (pid == tid).  The alternative is to share the map groups instead, which is
> what Jiri is doing.

right, this needs the sharing map groups changes
(or the 1/2 patch Don sent prior to this patch)

jirka

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

* Re: [PATCH 06/13] perf tools: Use tid in mmap/mmap2 events to find maps
       [not found]     ` <20140319131945.GW25953@redhat.com>
@ 2014-03-19 13:30       ` Jiri Olsa
  2014-03-19 14:27         ` Adrian Hunter
  2014-03-20 14:44         ` Arnaldo Carvalho de Melo
  0 siblings, 2 replies; 22+ messages in thread
From: Jiri Olsa @ 2014-03-19 13:30 UTC (permalink / raw)
  To: Don Zickus
  Cc: Adrian Hunter, Arnaldo Carvalho de Melo, Ingo Molnar,
	linux-kernel, Stephane Eranian, Arnaldo Carvalho de Melo

On Wed, Mar 19, 2014 at 09:19:45AM -0400, Don Zickus wrote:
> On Wed, Mar 19, 2014 at 09:13:38AM +0200, Adrian Hunter wrote:
> > On 18.03.2014 23:25, Arnaldo Carvalho de Melo wrote:
> > > From: Don Zickus <dzickus@redhat.com>
> > > 
> > > Now that we can properly synthesize threads system-wide, make sure the
> > > mmap and mmap2 events use tids instead of pids to locate their maps.
> > 
> > This is a good change but it cannot go yet because it is dependent on Jiri's
> > "perf tools: Share map groups within process" series.
> 
> No it isn't. :-) Commit bfd66cc71a3f831ba7c2116d79416cfb8883f6cf is the
> reason why.  It synthesizes thread events to make this work correctly.

ok, I haven't realized this one was pulled in as well ;-)
it's ok then..

Arnaldo, I'll rebase the perf/core_mmaps (shared map groups) to your
latest perf/core

jirka

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

* Re: [PATCH 06/13] perf tools: Use tid in mmap/mmap2 events to find maps
  2014-03-19 13:30       ` Jiri Olsa
@ 2014-03-19 14:27         ` Adrian Hunter
  2014-03-19 14:43           ` Don Zickus
  2014-03-20 14:44         ` Arnaldo Carvalho de Melo
  1 sibling, 1 reply; 22+ messages in thread
From: Adrian Hunter @ 2014-03-19 14:27 UTC (permalink / raw)
  To: Jiri Olsa, Don Zickus
  Cc: Arnaldo Carvalho de Melo, Ingo Molnar, linux-kernel,
	Stephane Eranian, Arnaldo Carvalho de Melo

On 19.03.2014 15:30, Jiri Olsa wrote:
> On Wed, Mar 19, 2014 at 09:19:45AM -0400, Don Zickus wrote:
>> On Wed, Mar 19, 2014 at 09:13:38AM +0200, Adrian Hunter wrote:
>>> On 18.03.2014 23:25, Arnaldo Carvalho de Melo wrote:
>>>> From: Don Zickus <dzickus@redhat.com>
>>>>
>>>> Now that we can properly synthesize threads system-wide, make sure the
>>>> mmap and mmap2 events use tids instead of pids to locate their maps.
>>>
>>> This is a good change but it cannot go yet because it is dependent on Jiri's
>>> "perf tools: Share map groups within process" series.
>>
>> No it isn't. :-) Commit bfd66cc71a3f831ba7c2116d79416cfb8883f6cf is the
>> reason why.  It synthesizes thread events to make this work correctly.
> 
> ok, I haven't realized this one was pulled in as well ;-)
> it's ok then..

No, you mustn't split up the maps between threads.  We currently assume
CLONE_VM is always used to create threads.

> 
> Arnaldo, I'll rebase the perf/core_mmaps (shared map groups) to your
> latest perf/core
> 
> jirka
> 
> 


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

* Re: [PATCH 06/13] perf tools: Use tid in mmap/mmap2 events to find maps
  2014-03-19 14:27         ` Adrian Hunter
@ 2014-03-19 14:43           ` Don Zickus
  2014-03-19 15:17             ` Adrian Hunter
  0 siblings, 1 reply; 22+ messages in thread
From: Don Zickus @ 2014-03-19 14:43 UTC (permalink / raw)
  To: Adrian Hunter
  Cc: Jiri Olsa, Arnaldo Carvalho de Melo, Ingo Molnar, linux-kernel,
	Stephane Eranian, Arnaldo Carvalho de Melo

On Wed, Mar 19, 2014 at 04:27:25PM +0200, Adrian Hunter wrote:
> On 19.03.2014 15:30, Jiri Olsa wrote:
> > On Wed, Mar 19, 2014 at 09:19:45AM -0400, Don Zickus wrote:
> >> On Wed, Mar 19, 2014 at 09:13:38AM +0200, Adrian Hunter wrote:
> >>> On 18.03.2014 23:25, Arnaldo Carvalho de Melo wrote:
> >>>> From: Don Zickus <dzickus@redhat.com>
> >>>>
> >>>> Now that we can properly synthesize threads system-wide, make sure the
> >>>> mmap and mmap2 events use tids instead of pids to locate their maps.
> >>>
> >>> This is a good change but it cannot go yet because it is dependent on Jiri's
> >>> "perf tools: Share map groups within process" series.
> >>
> >> No it isn't. :-) Commit bfd66cc71a3f831ba7c2116d79416cfb8883f6cf is the
> >> reason why.  It synthesizes thread events to make this work correctly.
> > 
> > ok, I haven't realized this one was pulled in as well ;-)
> > it's ok then..
> 
> No, you mustn't split up the maps between threads.  We currently assume
> CLONE_VM is always used to create threads.

But that doesn't work when you try to synthesize threads which was the
problem I was trying to solve.

Cheers,
Don

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

* Re: [PATCH 06/13] perf tools: Use tid in mmap/mmap2 events to find maps
  2014-03-19 14:43           ` Don Zickus
@ 2014-03-19 15:17             ` Adrian Hunter
  0 siblings, 0 replies; 22+ messages in thread
From: Adrian Hunter @ 2014-03-19 15:17 UTC (permalink / raw)
  To: Don Zickus
  Cc: Jiri Olsa, Arnaldo Carvalho de Melo, Ingo Molnar, linux-kernel,
	Stephane Eranian, Arnaldo Carvalho de Melo

On 19/03/2014 4:43 p.m., Don Zickus wrote:
> On Wed, Mar 19, 2014 at 04:27:25PM +0200, Adrian Hunter wrote:
>> On 19.03.2014 15:30, Jiri Olsa wrote:
>>> On Wed, Mar 19, 2014 at 09:19:45AM -0400, Don Zickus wrote:
>>>> On Wed, Mar 19, 2014 at 09:13:38AM +0200, Adrian Hunter wrote:
>>>>> On 18.03.2014 23:25, Arnaldo Carvalho de Melo wrote:
>>>>>> From: Don Zickus <dzickus@redhat.com>
>>>>>>
>>>>>> Now that we can properly synthesize threads system-wide, make sure the
>>>>>> mmap and mmap2 events use tids instead of pids to locate their maps.
>>>>>
>>>>> This is a good change but it cannot go yet because it is dependent on Jiri's
>>>>> "perf tools: Share map groups within process" series.
>>>>
>>>> No it isn't. :-) Commit bfd66cc71a3f831ba7c2116d79416cfb8883f6cf is the
>>>> reason why.  It synthesizes thread events to make this work correctly.
>>>
>>> ok, I haven't realized this one was pulled in as well ;-)
>>> it's ok then..
>>
>> No, you mustn't split up the maps between threads.  We currently assume
>> CLONE_VM is always used to create threads.
>
> But that doesn't work when you try to synthesize threads which was the
> problem I was trying to solve.

It worked if you looked up the maps on the pid not the tid.

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

* Re: [PATCH 06/13] perf tools: Use tid in mmap/mmap2 events to find maps
  2014-03-19 13:30       ` Jiri Olsa
  2014-03-19 14:27         ` Adrian Hunter
@ 2014-03-20 14:44         ` Arnaldo Carvalho de Melo
  1 sibling, 0 replies; 22+ messages in thread
From: Arnaldo Carvalho de Melo @ 2014-03-20 14:44 UTC (permalink / raw)
  To: Jiri Olsa
  Cc: Don Zickus, Adrian Hunter, Ingo Molnar, linux-kernel, Stephane Eranian

Em Wed, Mar 19, 2014 at 02:30:25PM +0100, Jiri Olsa escreveu:
> On Wed, Mar 19, 2014 at 09:19:45AM -0400, Don Zickus wrote:
> > On Wed, Mar 19, 2014 at 09:13:38AM +0200, Adrian Hunter wrote:
> > > On 18.03.2014 23:25, Arnaldo Carvalho de Melo wrote:
> > > > From: Don Zickus <dzickus@redhat.com>
> > > > 
> > > > Now that we can properly synthesize threads system-wide, make sure the
> > > > mmap and mmap2 events use tids instead of pids to locate their maps.
> > > 
> > > This is a good change but it cannot go yet because it is dependent on Jiri's
> > > "perf tools: Share map groups within process" series.
> > 
> > No it isn't. :-) Commit bfd66cc71a3f831ba7c2116d79416cfb8883f6cf is the
> > reason why.  It synthesizes thread events to make this work correctly.
> 
> ok, I haven't realized this one was pulled in as well ;-)
> it's ok then..
> 
> Arnaldo, I'll rebase the perf/core_mmaps (shared map groups) to your
> latest perf/core

Thanks!

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

end of thread, other threads:[~2014-03-20 14:45 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-03-18 21:25 [GIT PULL 00/13] perf/core improvements and fixes Arnaldo Carvalho de Melo
2014-03-18 21:25 ` [PATCH 01/13] perf timechart: Fix off-by-one error in 'record' argv handling Arnaldo Carvalho de Melo
2014-03-18 21:25 ` [PATCH 02/13] perf sched: Fixup header alignment in 'latency' output Arnaldo Carvalho de Melo
2014-03-18 21:25 ` [PATCH 03/13] perf symbols: Record the reason for filtering an address_location Arnaldo Carvalho de Melo
2014-03-18 21:25 ` [PATCH 04/13] perf symbols: Apply all filters to an addr_location Arnaldo Carvalho de Melo
2014-03-18 21:25 ` [PATCH 05/13] perf report: Merge al->filtered with hist_entry->filtered Arnaldo Carvalho de Melo
2014-03-18 21:25 ` [PATCH 06/13] perf tools: Use tid in mmap/mmap2 events to find maps Arnaldo Carvalho de Melo
2014-03-19  7:13   ` Adrian Hunter
2014-03-19 10:19     ` Jiri Olsa
     [not found]     ` <20140319131945.GW25953@redhat.com>
2014-03-19 13:30       ` Jiri Olsa
2014-03-19 14:27         ` Adrian Hunter
2014-03-19 14:43           ` Don Zickus
2014-03-19 15:17             ` Adrian Hunter
2014-03-20 14:44         ` Arnaldo Carvalho de Melo
2014-03-18 21:25 ` [PATCH 07/13] perf tools: Fix memory leak when synthesizing thread records Arnaldo Carvalho de Melo
2014-03-18 21:26 ` [PATCH 08/13] perf report: Use ui__has_annotation() Arnaldo Carvalho de Melo
2014-03-18 21:26 ` [PATCH 09/13] perf annotate: Print the evsel name in the stdio output Arnaldo Carvalho de Melo
2014-03-18 21:26 ` [PATCH 10/13] perf tools: Remove thread__find_map function Arnaldo Carvalho de Melo
2014-03-18 21:26 ` [PATCH 11/13] perf evsel: Update function names in debug messages Arnaldo Carvalho de Melo
2014-03-18 21:26 ` [PATCH 12/13] perf tools: Update some code references in design.txt Arnaldo Carvalho de Melo
2014-03-18 21:26 ` [PATCH 13/13] perf tools: Remove unused simple_strtoul() function Arnaldo Carvalho de Melo
2014-03-19  7:07 ` [GIT PULL 00/13] perf/core improvements and 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.