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; 74+ 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] 74+ 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; 74+ 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] 74+ 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; 74+ 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] 74+ 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; 74+ 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] 74+ 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; 74+ 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] 74+ 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; 74+ 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] 74+ 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; 74+ 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] 74+ 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; 74+ 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] 74+ 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; 74+ 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] 74+ 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; 74+ 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] 74+ 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; 74+ 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] 74+ 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; 74+ 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] 74+ 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; 74+ 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] 74+ 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; 74+ 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] 74+ 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; 74+ 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] 74+ 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; 74+ 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] 74+ 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; 74+ 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] 74+ 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; 74+ 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] 74+ 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; 74+ 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] 74+ 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; 74+ 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] 74+ 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; 74+ 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] 74+ 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; 74+ 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] 74+ messages in thread

* Re: [GIT PULL 00/13] perf/core improvements and fixes
  2018-09-19 14:25 ` Arnaldo Carvalho de Melo
@ 2018-09-25  9:21   ` Ingo Molnar
  -1 siblings, 0 replies; 74+ messages in thread
From: Ingo Molnar @ 2018-09-25  9:21 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo
  Cc: Clark Williams, linux-kernel, linux-perf-users, Adrian Hunter,
	Alexander Shishkin, Alexey Budankov, Andi Kleen, David Ahern,
	Ding Xiang, Hendrik Brueckner, Jeremie Galarneau, Jiri Olsa,
	Kate Stewart, Kim Phillips, Markus T Metzger, Namhyung Kim,
	Naveen N . Rao, Peter Zijlstra, Ravi Bangoria, Sandipan Das,
	Stephane Eranian, Thiago Macieira, Thomas Gleixner,
	Thomas Richter, Wang Nan, Will Deacon, Arnaldo Carvalho de Melo


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

> Hi Ingo,
> 
> 	Please consider pulling,
> 
> - Arnaldo
> 
> Test results at the end of this message, as usual.
> 
> The following changes since commit 7f16023bfcc4b1f2bbccf86219dc97473db6e0d6:
> 
>   Merge remote-tracking branch 'acme/perf/urgent' into perf/core (2018-09-18 17:20:41 -0300)
> 
> are available in the Git repository at:
> 
>   git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git tags/perf-core-for-mingo-4.20-20180919
> 
> for you to fetch changes up to 24ef0fd0a1f389b156e6ef0edd71072728831bd9:
> 
>   perf python: Use -Wno-redundant-decls to build with PYTHON=python3 (2018-09-19 10:25:13 -0300)
> 
> ----------------------------------------------------------------
> perf/core improvements and fixes:
> 
> perf test:
> 
> - Add watchpoint entry (Ravi Bangoria)
> 
> Build fixes:
> 
> - Initialize perf_data_file fd field to fix building the CTF (trace format)
>   converter with with gcc 4.8.4 on Ubuntu 14.04 (Jérémie Galarneau)
> 
> - Use -Wno-redundant-decls to build with PYTHON=python3 to
>   build the python binding, fixing the build in systems such
>   as Clear Linux (Arnaldo Carvalho de Melo)
> 
> Hardware tracing:
> 
> - Suppress AUX/OVERWRITE records (Alexander Shishkin)
> 
> Infrastructure:
> 
> - Adopt PTR_ERR_OR_ZERO from the kernel and use it in
>   the bpf-loader instead of open coded equivalent (Ding Xiang)
> 
> - Improve the event ordering code to make it clear and fix
>   a bug related to freeing of events when using pipe mode
>   from 'record' to 'inject' (Jiri Olsa)
> 
> - Some prep work to facilitate per-cpu threads to write
>   record data to per-cpu files (Jiri Olsa)
> 
> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
> 
> ----------------------------------------------------------------
> Alexander Shishkin (1):
>       perf: Suppress AUX/OVERWRITE records
> 
> Arnaldo Carvalho de Melo (1):
>       perf python: Use -Wno-redundant-decls to build with PYTHON=python3
> 
> Ding Xiang (2):
>       tools include: Adopt PTR_ERR_OR_ZERO from the kernel err.h header
>       perf bpf-loader: use PTR_ERR_OR_ZERO inetead of return code
> 
> Jiri Olsa (7):
>       perf ordered_events: Add 'struct ordered_events_buffer' layer
>       perf ordered_events: Prevent crossing max_alloc_size
>       perf tools: Remove perf_tool from event_op2
>       perf tools: Remove perf_tool from event_op3
>       perf auxtrace: Pass struct perf_mmap into mmap__read* functions
>       perf tools: Add 'struct perf_mmap' arg to record__write()
>       perf util: Make copyfile_offset() global
> 
> Jérémie Galarneau (1):
>       perf tools: Initialize perf_data_file fd field
> 
> Ravi Bangoria (1):
>       perf test: Add watchpoint test
> 
>  kernel/events/ring_buffer.c       |  14 ++-
>  tools/include/linux/err.h         |   7 ++
>  tools/perf/builtin-annotate.c     |   7 +-
>  tools/perf/builtin-inject.c       |  37 +++---
>  tools/perf/builtin-record.c       |  51 +++++----
>  tools/perf/builtin-report.c       |   9 +-
>  tools/perf/builtin-script.c       |  38 +++----
>  tools/perf/builtin-stat.c         |  23 ++--
>  tools/perf/tests/Build            |   1 +
>  tools/perf/tests/builtin-test.c   |   9 ++
>  tools/perf/tests/tests.h          |   3 +
>  tools/perf/tests/wp.c             | 229 ++++++++++++++++++++++++++++++++++++++
>  tools/perf/util/auxtrace.c        |  30 +++--
>  tools/perf/util/auxtrace.h        |  21 ++--
>  tools/perf/util/bpf-loader.c      |   2 +-
>  tools/perf/util/data-convert-bt.c |   2 +-
>  tools/perf/util/header.c          |  16 ++-
>  tools/perf/util/header.h          |  15 +--
>  tools/perf/util/mmap.c            |   6 +-
>  tools/perf/util/mmap.h            |   2 +-
>  tools/perf/util/ordered-events.c  |  87 ++++++++++++---
>  tools/perf/util/ordered-events.h  |  37 +++---
>  tools/perf/util/session.c         |  75 ++++++-------
>  tools/perf/util/session.h         |   5 +-
>  tools/perf/util/setup.py          |   2 +-
>  tools/perf/util/stat.c            |   5 +-
>  tools/perf/util/stat.h            |   5 +-
>  tools/perf/util/tool.h            |   7 +-
>  tools/perf/util/util.c            |   2 +-
>  tools/perf/util/util.h            |   2 +
>  30 files changed, 519 insertions(+), 230 deletions(-)
>  create mode 100644 tools/perf/tests/wp.c

Pulled, thanks a lot Arnaldo!

	Ingo

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

* Re: [GIT PULL 00/13] perf/core improvements and fixes
@ 2018-09-25  9:21   ` Ingo Molnar
  0 siblings, 0 replies; 74+ messages in thread
From: Ingo Molnar @ 2018-09-25  9:21 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo
  Cc: Clark Williams, linux-kernel, linux-perf-users, Adrian Hunter,
	Alexander Shishkin, Alexey Budankov, Andi Kleen, David Ahern,
	Ding Xiang, Hendrik Brueckner, Jeremie Galarneau, Jiri Olsa,
	Kate Stewart, Kim Phillips, Markus T Metzger, Namhyung Kim,
	Naveen N . Rao, Peter Zijlstra, Ravi


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

> Hi Ingo,
> 
> 	Please consider pulling,
> 
> - Arnaldo
> 
> Test results at the end of this message, as usual.
> 
> The following changes since commit 7f16023bfcc4b1f2bbccf86219dc97473db6e0d6:
> 
>   Merge remote-tracking branch 'acme/perf/urgent' into perf/core (2018-09-18 17:20:41 -0300)
> 
> are available in the Git repository at:
> 
>   git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git tags/perf-core-for-mingo-4.20-20180919
> 
> for you to fetch changes up to 24ef0fd0a1f389b156e6ef0edd71072728831bd9:
> 
>   perf python: Use -Wno-redundant-decls to build with PYTHON=python3 (2018-09-19 10:25:13 -0300)
> 
> ----------------------------------------------------------------
> perf/core improvements and fixes:
> 
> perf test:
> 
> - Add watchpoint entry (Ravi Bangoria)
> 
> Build fixes:
> 
> - Initialize perf_data_file fd field to fix building the CTF (trace format)
>   converter with with gcc 4.8.4 on Ubuntu 14.04 (Jérémie Galarneau)
> 
> - Use -Wno-redundant-decls to build with PYTHON=python3 to
>   build the python binding, fixing the build in systems such
>   as Clear Linux (Arnaldo Carvalho de Melo)
> 
> Hardware tracing:
> 
> - Suppress AUX/OVERWRITE records (Alexander Shishkin)
> 
> Infrastructure:
> 
> - Adopt PTR_ERR_OR_ZERO from the kernel and use it in
>   the bpf-loader instead of open coded equivalent (Ding Xiang)
> 
> - Improve the event ordering code to make it clear and fix
>   a bug related to freeing of events when using pipe mode
>   from 'record' to 'inject' (Jiri Olsa)
> 
> - Some prep work to facilitate per-cpu threads to write
>   record data to per-cpu files (Jiri Olsa)
> 
> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
> 
> ----------------------------------------------------------------
> Alexander Shishkin (1):
>       perf: Suppress AUX/OVERWRITE records
> 
> Arnaldo Carvalho de Melo (1):
>       perf python: Use -Wno-redundant-decls to build with PYTHON=python3
> 
> Ding Xiang (2):
>       tools include: Adopt PTR_ERR_OR_ZERO from the kernel err.h header
>       perf bpf-loader: use PTR_ERR_OR_ZERO inetead of return code
> 
> Jiri Olsa (7):
>       perf ordered_events: Add 'struct ordered_events_buffer' layer
>       perf ordered_events: Prevent crossing max_alloc_size
>       perf tools: Remove perf_tool from event_op2
>       perf tools: Remove perf_tool from event_op3
>       perf auxtrace: Pass struct perf_mmap into mmap__read* functions
>       perf tools: Add 'struct perf_mmap' arg to record__write()
>       perf util: Make copyfile_offset() global
> 
> Jérémie Galarneau (1):
>       perf tools: Initialize perf_data_file fd field
> 
> Ravi Bangoria (1):
>       perf test: Add watchpoint test
> 
>  kernel/events/ring_buffer.c       |  14 ++-
>  tools/include/linux/err.h         |   7 ++
>  tools/perf/builtin-annotate.c     |   7 +-
>  tools/perf/builtin-inject.c       |  37 +++---
>  tools/perf/builtin-record.c       |  51 +++++----
>  tools/perf/builtin-report.c       |   9 +-
>  tools/perf/builtin-script.c       |  38 +++----
>  tools/perf/builtin-stat.c         |  23 ++--
>  tools/perf/tests/Build            |   1 +
>  tools/perf/tests/builtin-test.c   |   9 ++
>  tools/perf/tests/tests.h          |   3 +
>  tools/perf/tests/wp.c             | 229 ++++++++++++++++++++++++++++++++++++++
>  tools/perf/util/auxtrace.c        |  30 +++--
>  tools/perf/util/auxtrace.h        |  21 ++--
>  tools/perf/util/bpf-loader.c      |   2 +-
>  tools/perf/util/data-convert-bt.c |   2 +-
>  tools/perf/util/header.c          |  16 ++-
>  tools/perf/util/header.h          |  15 +--
>  tools/perf/util/mmap.c            |   6 +-
>  tools/perf/util/mmap.h            |   2 +-
>  tools/perf/util/ordered-events.c  |  87 ++++++++++++---
>  tools/perf/util/ordered-events.h  |  37 +++---
>  tools/perf/util/session.c         |  75 ++++++-------
>  tools/perf/util/session.h         |   5 +-
>  tools/perf/util/setup.py          |   2 +-
>  tools/perf/util/stat.c            |   5 +-
>  tools/perf/util/stat.h            |   5 +-
>  tools/perf/util/tool.h            |   7 +-
>  tools/perf/util/util.c            |   2 +-
>  tools/perf/util/util.h            |   2 +
>  30 files changed, 519 insertions(+), 230 deletions(-)
>  create mode 100644 tools/perf/tests/wp.c

Pulled, thanks a lot Arnaldo!

	Ingo

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

* [GIT PULL 00/13] perf/core improvements and fixes
@ 2018-09-19 14:25 ` Arnaldo Carvalho de Melo
  0 siblings, 0 replies; 74+ messages in thread
From: Arnaldo Carvalho de Melo @ 2018-09-19 14:25 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: Clark Williams, linux-kernel, linux-perf-users,
	Arnaldo Carvalho de Melo, Adrian Hunter, Alexander Shishkin,
	Alexey Budankov, Andi Kleen, David Ahern, Ding Xiang,
	Hendrik Brueckner, Jeremie Galarneau, Jiri Olsa, Kate Stewart,
	Kim Phillips, Markus T Metzger, Namhyung Kim, Naveen N . Rao,
	Peter Zijlstra, Ravi Bangoria, Sandipan Das, Stephane Eranian,
	Thiago Macieira, Thomas Gleixner, Thomas Richter, Wang Nan,
	Will Deacon, Arnaldo Carvalho de Melo

Hi Ingo,

	Please consider pulling,

- Arnaldo

Test results at the end of this message, as usual.

The following changes since commit 7f16023bfcc4b1f2bbccf86219dc97473db6e0d6:

  Merge remote-tracking branch 'acme/perf/urgent' into perf/core (2018-09-18 17:20:41 -0300)

are available in the Git repository at:

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

for you to fetch changes up to 24ef0fd0a1f389b156e6ef0edd71072728831bd9:

  perf python: Use -Wno-redundant-decls to build with PYTHON=python3 (2018-09-19 10:25:13 -0300)

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

perf test:

- Add watchpoint entry (Ravi Bangoria)

Build fixes:

- Initialize perf_data_file fd field to fix building the CTF (trace format)
  converter with with gcc 4.8.4 on Ubuntu 14.04 (Jérémie Galarneau)

- Use -Wno-redundant-decls to build with PYTHON=python3 to
  build the python binding, fixing the build in systems such
  as Clear Linux (Arnaldo Carvalho de Melo)

Hardware tracing:

- Suppress AUX/OVERWRITE records (Alexander Shishkin)

Infrastructure:

- Adopt PTR_ERR_OR_ZERO from the kernel and use it in
  the bpf-loader instead of open coded equivalent (Ding Xiang)

- Improve the event ordering code to make it clear and fix
  a bug related to freeing of events when using pipe mode
  from 'record' to 'inject' (Jiri Olsa)

- Some prep work to facilitate per-cpu threads to write
  record data to per-cpu files (Jiri Olsa)

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

----------------------------------------------------------------
Alexander Shishkin (1):
      perf: Suppress AUX/OVERWRITE records

Arnaldo Carvalho de Melo (1):
      perf python: Use -Wno-redundant-decls to build with PYTHON=python3

Ding Xiang (2):
      tools include: Adopt PTR_ERR_OR_ZERO from the kernel err.h header
      perf bpf-loader: use PTR_ERR_OR_ZERO inetead of return code

Jiri Olsa (7):
      perf ordered_events: Add 'struct ordered_events_buffer' layer
      perf ordered_events: Prevent crossing max_alloc_size
      perf tools: Remove perf_tool from event_op2
      perf tools: Remove perf_tool from event_op3
      perf auxtrace: Pass struct perf_mmap into mmap__read* functions
      perf tools: Add 'struct perf_mmap' arg to record__write()
      perf util: Make copyfile_offset() global

Jérémie Galarneau (1):
      perf tools: Initialize perf_data_file fd field

Ravi Bangoria (1):
      perf test: Add watchpoint test

 kernel/events/ring_buffer.c       |  14 ++-
 tools/include/linux/err.h         |   7 ++
 tools/perf/builtin-annotate.c     |   7 +-
 tools/perf/builtin-inject.c       |  37 +++---
 tools/perf/builtin-record.c       |  51 +++++----
 tools/perf/builtin-report.c       |   9 +-
 tools/perf/builtin-script.c       |  38 +++----
 tools/perf/builtin-stat.c         |  23 ++--
 tools/perf/tests/Build            |   1 +
 tools/perf/tests/builtin-test.c   |   9 ++
 tools/perf/tests/tests.h          |   3 +
 tools/perf/tests/wp.c             | 229 ++++++++++++++++++++++++++++++++++++++
 tools/perf/util/auxtrace.c        |  30 +++--
 tools/perf/util/auxtrace.h        |  21 ++--
 tools/perf/util/bpf-loader.c      |   2 +-
 tools/perf/util/data-convert-bt.c |   2 +-
 tools/perf/util/header.c          |  16 ++-
 tools/perf/util/header.h          |  15 +--
 tools/perf/util/mmap.c            |   6 +-
 tools/perf/util/mmap.h            |   2 +-
 tools/perf/util/ordered-events.c  |  87 ++++++++++++---
 tools/perf/util/ordered-events.h  |  37 +++---
 tools/perf/util/session.c         |  75 ++++++-------
 tools/perf/util/session.h         |   5 +-
 tools/perf/util/setup.py          |   2 +-
 tools/perf/util/stat.c            |   5 +-
 tools/perf/util/stat.h            |   5 +-
 tools/perf/util/tool.h            |   7 +-
 tools/perf/util/util.c            |   2 +-
 tools/perf/util/util.h            |   2 +
 30 files changed, 519 insertions(+), 230 deletions(-)
 create mode 100644 tools/perf/tests/wp.c

Test results:

The first ones are container (docker) based builds of tools/perf with
and without libelf support.  Where clang is available, it is also used
to build perf with/without libelf, and building with LIBCLANGLLVM=1
(built-in clang) with gcc and clang when clang and its devel libraries
are installed.

The objtool and samples/bpf/ builds are disabled now that I'm switching from
using the sources in a local volume to fetching them from a http server to
build it inside the container, to make it easier to build in a container cluster.
Those will come back later.

Several are cross builds, the ones with -x-ARCH and the android one, and those
may not have all the features built, due to lack of multi-arch devel packages,
available and being used so far on just a few, like
debian:experimental-x-{arm64,mipsel}.

The 'perf test' one will perform a variety of tests exercising
tools/perf/util/, tools/lib/{bpf,traceevent,etc}, as well as run perf commands
with a variety of command line event specifications to then intercept the
sys_perf_event syscall to check that the perf_event_attr fields are set up as
expected, among a variety of other unit tests.

Then there is the 'make -C tools/perf build-test' ones, that build tools/perf/
with a variety of feature sets, exercising the build with an incomplete set of
features as well as with a complete one. It is planned to have it run on each
of the containers mentioned above, using some container orchestration
infrastructure. Get in contact if interested in helping having this in place.

The Clear Linux container is building with NO_CLANG=1, the problem preventing
its use has been identified and the next builds will build in ClearLinux with
both gcc and clang. This time around only gcc was used.

   1 alpine:3.4                    : Ok   gcc (Alpine 5.3.0) 5.3.0
   2 alpine:3.5                    : Ok   gcc (Alpine 6.2.1) 6.2.1 20160822
   3 alpine:3.6                    : Ok   gcc (Alpine 6.3.0) 6.3.0
   4 alpine:3.7                    : Ok   gcc (Alpine 6.4.0) 6.4.0
   5 alpine:3.8                    : Ok   gcc (Alpine 6.4.0) 6.4.0
   6 alpine:edge                   : Ok   gcc (Alpine 6.4.0) 6.4.0
   7 amazonlinux:1                 : Ok   gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-28)
   8 amazonlinux:2                 : Ok   gcc (GCC) 7.3.1 20180303 (Red Hat 7.3.1-5)
   9 android-ndk:r12b-arm          : Ok   arm-linux-androideabi-gcc (GCC) 4.9.x 20150123 (prerelease)
  10 android-ndk:r15c-arm          : Ok   arm-linux-androideabi-gcc (GCC) 4.9.x 20150123 (prerelease)
  11 centos:5                      : Ok   gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-55)
  12 centos:6                      : Ok   gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-23)
  13 centos:7                      : Ok   gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-28)
  14 clearlinux:latest             : Ok   gcc (Clear Linux OS for Intel Architecture) 8.2.1 20180502
  15 debian:7                      : Ok   gcc (Debian 4.7.2-5) 4.7.2
  16 debian:8                      : Ok   gcc (Debian 4.9.2-10+deb8u1) 4.9.2
  17 debian:9                      : Ok   gcc (Debian 6.3.0-18+deb9u1) 6.3.0 20170516
  18 debian:experimental           : Ok   gcc (Debian 8.2.0-7) 8.2.0
  19 debian:experimental-x-arm64   : Ok   aarch64-linux-gnu-gcc (Debian 8.2.0-4) 8.2.0
  20 debian:experimental-x-mips    : Ok   mips-linux-gnu-gcc (Debian 8.1.0-12) 8.1.0
  21 debian:experimental-x-mips64  : Ok   mips64-linux-gnuabi64-gcc (Debian 8.1.0-12) 8.1.0
  22 debian:experimental-x-mipsel  : Ok   mipsel-linux-gnu-gcc (Debian 8.1.0-12) 8.1.0
  23 fedora:20                     : Ok   gcc (GCC) 4.8.3 20140911 (Red Hat 4.8.3-7)
  24 fedora:21                     : Ok   gcc (GCC) 4.9.2 20150212 (Red Hat 4.9.2-6)
  25 fedora:22                     : Ok   gcc (GCC) 5.3.1 20160406 (Red Hat 5.3.1-6)
  26 fedora:23                     : Ok   gcc (GCC) 5.3.1 20160406 (Red Hat 5.3.1-6)
  27 fedora:24                     : Ok   gcc (GCC) 6.3.1 20161221 (Red Hat 6.3.1-1)
  28 fedora:24-x-ARC-uClibc        : Ok   arc-linux-gcc (ARCompact ISA Linux uClibc toolchain 2017.09-rc2) 7.1.1 20170710
  29 fedora:25                     : Ok   gcc (GCC) 6.4.1 20170727 (Red Hat 6.4.1-1)
  30 fedora:26                     : Ok   gcc (GCC) 7.3.1 20180130 (Red Hat 7.3.1-2)
  31 fedora:27                     : Ok   gcc (GCC) 7.3.1 20180712 (Red Hat 7.3.1-6)
  32 fedora:28                     : Ok   gcc (GCC) 8.1.1 20180712 (Red Hat 8.1.1-5)
  33 fedora:rawhide                : Ok   gcc (GCC) 8.2.1 20180905 (Red Hat 8.2.1-3)
  34 gentoo-stage3-amd64:latest    : Ok   gcc (Gentoo 7.3.0-r3 p1.4) 7.3.0
  35 mageia:5                      : Ok   gcc (GCC) 4.9.2
  36 mageia:6                      : Ok   gcc (Mageia 5.5.0-1.mga6) 5.5.0
  37 opensuse:13.2                 : Ok   gcc (SUSE Linux) 4.8.3 20140627 [gcc-4_8-branch revision 212064]
  38 opensuse:42.1                 : Ok   gcc (SUSE Linux) 4.8.5
  39 opensuse:42.2                 : Ok   gcc (SUSE Linux) 4.8.5
  40 opensuse:42.3                 : Ok   gcc (SUSE Linux) 4.8.5
  41 opensuse:tumbleweed           : Ok   gcc (SUSE Linux) 7.3.1 20180323 [gcc-7-branch revision 258812]
  42 oraclelinux:6                 : Ok   gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-23.0.1)
  43 oraclelinux:7                 : Ok   gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-28.0.1)
  44 ubuntu:12.04.5                : Ok   gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3
  45 ubuntu:14.04.4                : Ok   gcc (Ubuntu 4.8.4-2ubuntu1~14.04.3) 4.8.4
  46 ubuntu:14.04.4-x-linaro-arm64 : Ok   aarch64-linux-gnu-gcc (Linaro GCC 5.5-2017.10) 5.5.0
  47 ubuntu:16.04                  : Ok   gcc (Ubuntu 5.4.0-6ubuntu1~16.04.10) 5.4.0 20160609
  48 ubuntu:16.04-x-arm            : Ok   arm-linux-gnueabihf-gcc (Ubuntu/Linaro 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
  49 ubuntu:16.04-x-arm64          : Ok   aarch64-linux-gnu-gcc (Ubuntu/Linaro 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
  50 ubuntu:16.04-x-powerpc        : Ok   powerpc-linux-gnu-gcc (Ubuntu 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
  51 ubuntu:16.04-x-powerpc64      : Ok   powerpc64-linux-gnu-gcc (Ubuntu/IBM 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
  52 ubuntu:16.04-x-powerpc64el    : Ok   powerpc64le-linux-gnu-gcc (Ubuntu/IBM 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
  53 ubuntu:16.04-x-s390           : Ok   s390x-linux-gnu-gcc (Ubuntu 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
  54 ubuntu:16.10                  : Ok   gcc (Ubuntu 6.2.0-5ubuntu12) 6.2.0 20161005
  55 ubuntu:17.10                  : Ok   gcc (Ubuntu 7.2.0-8ubuntu3.2) 7.2.0
  56 ubuntu:18.04                  : Ok   gcc (Ubuntu 7.3.0-16ubuntu3) 7.3.0
  57 ubuntu:18.04-x-arm            : Ok   arm-linux-gnueabihf-gcc (Ubuntu/Linaro 7.3.0-16ubuntu3) 7.3.0
  58 ubuntu:18.04-x-arm64          : Ok   aarch64-linux-gnu-gcc (Ubuntu/Linaro 7.3.0-16ubuntu3) 7.3.0
  59 ubuntu:18.04-x-m68k           : Ok   m68k-linux-gnu-gcc (Ubuntu 7.3.0-16ubuntu3) 7.3.0
  60 ubuntu:18.04-x-powerpc        : Ok   powerpc-linux-gnu-gcc (Ubuntu 7.3.0-16ubuntu3) 7.3.0
  61 ubuntu:18.04-x-powerpc64      : Ok   powerpc64-linux-gnu-gcc (Ubuntu 7.3.0-16ubuntu3) 7.3.0
  62 ubuntu:18.04-x-powerpc64el    : Ok   powerpc64le-linux-gnu-gcc (Ubuntu 7.3.0-16ubuntu3) 7.3.0
  63 ubuntu:18.04-x-riscv64        : Ok   riscv64-linux-gnu-gcc (Ubuntu 7.3.0-16ubuntu3) 7.3.0
  64 ubuntu:18.04-x-s390           : Ok   s390x-linux-gnu-gcc (Ubuntu 7.3.0-16ubuntu3) 7.3.0
  65 ubuntu:18.04-x-sh4            : Ok   sh4-linux-gnu-gcc (Ubuntu 7.3.0-16ubuntu3) 7.3.0
  66 ubuntu:18.04-x-sparc64        : Ok   sparc64-linux-gnu-gcc (Ubuntu 7.3.0-16ubuntu3) 7.3.0
  67 ubuntu:18.10                  : Ok   gcc (Ubuntu 8.2.0-4ubuntu1) 8.2.0
  #
  # uname -a
  Linux seventh 4.19.0-rc2-00176-gdb44bf4b4768 #1 SMP Thu Sep 6 14:38:21 -03 2018 x86_64 x86_64 x86_64 GNU/Linux
  # git log --oneline -1
  29715ae86e6c perf python: Use -Wno-redundant-decls to build with PYTHON=python3
  # perf version --build-options
  perf version 4.19.rc2.g29715a
                   dwarf: [ on  ]  # HAVE_DWARF_SUPPORT
      dwarf_getlocations: [ on  ]  # HAVE_DWARF_GETLOCATIONS_SUPPORT
                   glibc: [ on  ]  # HAVE_GLIBC_SUPPORT
                    gtk2: [ on  ]  # HAVE_GTK2_SUPPORT
           syscall_table: [ on  ]  # HAVE_SYSCALL_TABLE_SUPPORT
                  libbfd: [ on  ]  # HAVE_LIBBFD_SUPPORT
                  libelf: [ on  ]  # HAVE_LIBELF_SUPPORT
                 libnuma: [ on  ]  # HAVE_LIBNUMA_SUPPORT
  numa_num_possible_cpus: [ on  ]  # HAVE_LIBNUMA_SUPPORT
                 libperl: [ on  ]  # HAVE_LIBPERL_SUPPORT
               libpython: [ on  ]  # HAVE_LIBPYTHON_SUPPORT
                libslang: [ on  ]  # HAVE_SLANG_SUPPORT
               libcrypto: [ on  ]  # HAVE_LIBCRYPTO_SUPPORT
               libunwind: [ on  ]  # HAVE_LIBUNWIND_SUPPORT
      libdw-dwarf-unwind: [ on  ]  # HAVE_DWARF_SUPPORT
                    zlib: [ on  ]  # HAVE_ZLIB_SUPPORT
                    lzma: [ on  ]  # HAVE_LZMA_SUPPORT
               get_cpuid: [ on  ]  # HAVE_AUXTRACE_SUPPORT
                     bpf: [ on  ]  # HAVE_LIBBPF_SUPPORT
  # perf test
   1: vmlinux symtab matches kallsyms                       : Ok
   2: Detect openat syscall event                           : Ok
   3: Detect openat syscall event on all cpus               : Ok
   4: Read samples using the mmap interface                 : Ok
   5: Test data source output                               : Ok
   6: Parse event definition strings                        : Ok
   7: Simple expression parser                              : Ok
   8: PERF_RECORD_* events & perf_sample fields             : Ok
   9: Parse perf pmu format                                 : Ok
  10: DSO data read                                         : Ok
  11: DSO data cache                                        : Ok
  12: DSO data reopen                                       : Ok
  13: Roundtrip evsel->name                                 : Ok
  14: Parse sched tracepoints fields                        : Ok
  15: syscalls:sys_enter_openat event fields                : Ok
  16: Setup struct perf_event_attr                          : Ok
  17: Match and link multiple hists                         : Ok
  18: 'import perf' in python                               : Ok
  19: Breakpoint overflow signal handler                    : Ok
  20: Breakpoint overflow sampling                          : Ok
  21: Breakpoint accounting                                 : Ok
  22: Watchpoint                                            :
  22.1: Read Only Watchpoint                                : Skip
  22.2: Write Only Watchpoint                               : Ok
  22.3: Read / Write Watchpoint                             : Ok
  22.4: Modify Watchpoint                                   : Ok
  23: Number of exit events of a simple workload            : Ok
  24: Software clock events period values                   : Ok
  25: Object code reading                                   : Ok
  26: Sample parsing                                        : Ok
  27: Use a dummy software event to keep tracking           : Ok
  28: Parse with no sample_id_all bit set                   : Ok
  29: Filter hist entries                                   : Ok
  30: Lookup mmap thread                                    : Ok
  31: Share thread mg                                       : Ok
  32: Sort output of hist entries                           : Ok
  33: Cumulate child hist entries                           : Ok
  34: Track with sched_switch                               : Ok
  35: Filter fds with revents mask in a fdarray             : Ok
  36: Add fd to a fdarray, making it autogrow               : Ok
  37: kmod_path__parse                                      : Ok
  38: Thread map                                            : Ok
  39: LLVM search and compile                               :
  39.1: Basic BPF llvm compile                              : Ok
  39.2: kbuild searching                                    : Ok
  39.3: Compile source for BPF prologue generation          : Ok
  39.4: Compile source for BPF relocation                   : Ok
  40: Session topology                                      : Ok
  41: BPF filter                                            :
  41.1: Basic BPF filtering                                 : Ok
  41.2: BPF pinning                                         : Ok
  41.3: BPF prologue generation                             : Ok
  41.4: BPF relocation checker                              : Ok
  42: Synthesize thread map                                 : Ok
  43: Remove thread map                                     : Ok
  44: Synthesize cpu map                                    : Ok
  45: Synthesize stat config                                : Ok
  46: Synthesize stat                                       : Ok
  47: Synthesize stat round                                 : Ok
  48: Synthesize attr update                                : Ok
  49: Event times                                           : Ok
  50: Read backward ring buffer                             : Ok
  51: Print cpu map                                         : Ok
  52: Probe SDT events                                      : Ok
  53: is_printable_array                                    : Ok
  54: Print bitmap                                          : Ok
  55: perf hooks                                            : Ok
  56: builtin clang support                                 : Skip (not compiled in)
  57: unit_number__scnprintf                                : Ok
  58: mem2node                                              : Ok
  59: x86 rdpmc                                             : Ok
  60: Convert perf time to TSC                              : Ok
  61: DWARF unwind                                          : Ok
  62: x86 instruction decoder - new instructions            : Ok
  63: x86 bp modify                                         : FAILED!
  64: probe libc's inet_pton & backtrace it with ping       : Ok
  65: Check open filename arg using perf trace + vfs_getname: Ok
  66: Use vfs_getname probe to get syscall args filenames   : Ok
  67: Add vfs_getname probe to get syscall args filenames   : Ok

  # uname -a
  Linux seventh 4.19.0-rc2-00176-gdb44bf4b4768 #1 SMP Thu Sep 6 14:38:21 -03 2018 x86_64 x86_64 x86_64 GNU/Linux
  # git log --oneline -1
  29715ae86e6c perf python: Use -Wno-redundant-decls to build with PYTHON=python3
  # perf version --build-options
  perf version 4.19.rc2.g29715a
                   dwarf: [ on  ]  # HAVE_DWARF_SUPPORT
      dwarf_getlocations: [ on  ]  # HAVE_DWARF_GETLOCATIONS_SUPPORT
                   glibc: [ on  ]  # HAVE_GLIBC_SUPPORT
                    gtk2: [ on  ]  # HAVE_GTK2_SUPPORT
           syscall_table: [ on  ]  # HAVE_SYSCALL_TABLE_SUPPORT
                  libbfd: [ on  ]  # HAVE_LIBBFD_SUPPORT
                  libelf: [ on  ]  # HAVE_LIBELF_SUPPORT
                 libnuma: [ on  ]  # HAVE_LIBNUMA_SUPPORT
  numa_num_possible_cpus: [ on  ]  # HAVE_LIBNUMA_SUPPORT
                 libperl: [ on  ]  # HAVE_LIBPERL_SUPPORT
               libpython: [ on  ]  # HAVE_LIBPYTHON_SUPPORT
                libslang: [ on  ]  # HAVE_SLANG_SUPPORT
               libcrypto: [ on  ]  # HAVE_LIBCRYPTO_SUPPORT
               libunwind: [ on  ]  # HAVE_LIBUNWIND_SUPPORT
      libdw-dwarf-unwind: [ on  ]  # HAVE_DWARF_SUPPORT
                    zlib: [ on  ]  # HAVE_ZLIB_SUPPORT
                    lzma: [ on  ]  # HAVE_LZMA_SUPPORT
               get_cpuid: [ on  ]  # HAVE_AUXTRACE_SUPPORT
                     bpf: [ on  ]  # HAVE_LIBBPF_SUPPORT
  # perf test
   1: vmlinux symtab matches kallsyms                       : Ok
   2: Detect openat syscall event                           : Ok
   3: Detect openat syscall event on all cpus               : Ok
   4: Read samples using the mmap interface                 : Ok
   5: Test data source output                               : Ok
   6: Parse event definition strings                        : Ok
   7: Simple expression parser                              : Ok
   8: PERF_RECORD_* events & perf_sample fields             : Ok
   9: Parse perf pmu format                                 : Ok
  10: DSO data read                                         : Ok
  11: DSO data cache                                        : Ok
  12: DSO data reopen                                       : Ok
  13: Roundtrip evsel->name                                 : Ok
  14: Parse sched tracepoints fields                        : Ok
  15: syscalls:sys_enter_openat event fields                : Ok
  16: Setup struct perf_event_attr                          : Ok
  17: Match and link multiple hists                         : Ok
  18: 'import perf' in python                               : Ok
  19: Breakpoint overflow signal handler                    : Ok
  20: Breakpoint overflow sampling                          : Ok
  21: Breakpoint accounting                                 : Ok
  22: Watchpoint                                            :
  22.1: Read Only Watchpoint                                : Skip
  22.2: Write Only Watchpoint                               : Ok
  22.3: Read / Write Watchpoint                             : Ok
  22.4: Modify Watchpoint                                   : Ok
  23: Number of exit events of a simple workload            : Ok
  24: Software clock events period values                   : Ok
  25: Object code reading                                   : Ok
  26: Sample parsing                                        : Ok
  27: Use a dummy software event to keep tracking           : Ok
  28: Parse with no sample_id_all bit set                   : Ok
  29: Filter hist entries                                   : Ok
  30: Lookup mmap thread                                    : Ok
  31: Share thread mg                                       : Ok
  32: Sort output of hist entries                           : Ok
  33: Cumulate child hist entries                           : Ok
  34: Track with sched_switch                               : Ok
  35: Filter fds with revents mask in a fdarray             : Ok
  36: Add fd to a fdarray, making it autogrow               : Ok
  37: kmod_path__parse                                      : Ok
  38: Thread map                                            : Ok
  39: LLVM search and compile                               :
  39.1: Basic BPF llvm compile                              : Ok
  39.2: kbuild searching                                    : Ok
  39.3: Compile source for BPF prologue generation          : Ok
  39.4: Compile source for BPF relocation                   : Ok
  40: Session topology                                      : Ok
  41: BPF filter                                            :
  41.1: Basic BPF filtering                                 : Ok
  41.2: BPF pinning                                         : Ok
  41.3: BPF prologue generation                             : Ok
  41.4: BPF relocation checker                              : Ok
  42: Synthesize thread map                                 : Ok
  43: Remove thread map                                     : Ok
  44: Synthesize cpu map                                    : Ok
  45: Synthesize stat config                                : Ok
  46: Synthesize stat                                       : Ok
  47: Synthesize stat round                                 : Ok
  48: Synthesize attr update                                : Ok
  49: Event times                                           : Ok
  50: Read backward ring buffer                             : Ok
  51: Print cpu map                                         : Ok
  52: Probe SDT events                                      : Ok
  53: is_printable_array                                    : Ok
  54: Print bitmap                                          : Ok
  55: perf hooks                                            : Ok
  56: builtin clang support                                 : Skip (not compiled in)
  57: unit_number__scnprintf                                : Ok
  58: mem2node                                              : Ok
  59: x86 rdpmc                                             : Ok
  60: Convert perf time to TSC                              : Ok
  61: DWARF unwind                                          : Ok
  62: x86 instruction decoder - new instructions            : Ok
  63: x86 bp modify                                         : FAILED!
  64: probe libc's inet_pton & backtrace it with ping       : Ok
  65: Check open filename arg using perf trace + vfs_getname: Ok
  66: Use vfs_getname probe to get syscall args filenames   : Ok
  67: Add vfs_getname probe to get syscall args filenames   : Ok

  [acme@jouet perf]$ time make -C tools/perf build-test
  make: Entering directory '/home/acme/git/perf/tools/perf'
  - tarpkg: ./tests/perf-targz-src-pkg .
              make_clean_all_O: make clean all
            make_no_auxtrace_O: make NO_AUXTRACE=1
            make_no_libaudit_O: make NO_LIBAUDIT=1
                 make_static_O: make LDFLAGS=-static
                make_no_newt_O: make NO_NEWT=1
                    make_doc_O: make doc
             make_util_map_o_O: make util/map.o
           make_no_libbionic_O: make NO_LIBBIONIC=1
           make_no_backtrace_O: make NO_BACKTRACE=1
                make_no_gtk2_O: make NO_GTK2=1
        make_with_babeltrace_O: make LIBBABELTRACE=1
             make_no_libperl_O: make NO_LIBPERL=1
             make_no_libnuma_O: make NO_LIBNUMA=1
                  make_no_ui_O: make NO_NEWT=1 NO_SLANG=1 NO_GTK2=1
                   make_tags_O: make tags
                  make_debug_O: make DEBUG=1
                make_minimal_O: make NO_LIBPERL=1 NO_LIBPYTHON=1 NO_NEWT=1 NO_GTK2=1 NO_DEMANGLE=1 NO_LIBELF=1 NO_LIBUNWIND=1 NO_BACKTRACE=1 NO_LIBNUMA=1 NO_LIBAUDIT=1 NO_LIBBIONIC=1 NO_LIBDW_DWARF_UNWIND=1 NO_AUXTRACE=1 NO_LIBBPF=1 NO_LIBCRYPTO=1 NO_SDT=1 NO_JVMTI=1
  make_no_libdw_dwarf_unwind_O: make NO_LIBDW_DWARF_UNWIND=1
           make_no_libunwind_O: make NO_LIBUNWIND=1
           make_no_libpython_O: make NO_LIBPYTHON=1
       make_util_pmu_bison_o_O: make util/pmu-bison.o
   make_install_prefix_slash_O: make install prefix=/tmp/krava/
                   make_pure_O: make
              make_no_libbpf_O: make NO_LIBBPF=1
         make_install_prefix_O: make install prefix=/tmp/krava
                 make_perf_o_O: make perf.o
            make_no_demangle_O: make NO_DEMANGLE=1
                   make_help_O: make help
                make_install_O: make install
         make_with_clangllvm_O: make LIBCLANGLLVM=1
            make_install_bin_O: make install-bin
             make_no_scripts_O: make NO_LIBPYTHON=1 NO_LIBPERL=1
              make_no_libelf_O: make NO_LIBELF=1
               make_no_slang_O: make NO_SLANG=1
  OK
  make: Leaving directory '/home/acme/git/perf/tools/perf'
$

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

* [GIT PULL 00/13] perf/core improvements and fixes
@ 2018-09-19 14:25 ` Arnaldo Carvalho de Melo
  0 siblings, 0 replies; 74+ messages in thread
From: Arnaldo Carvalho de Melo @ 2018-09-19 14:25 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: Clark Williams, linux-kernel, linux-perf-users,
	Arnaldo Carvalho de Melo, Adrian Hunter, Alexander Shishkin,
	Alexey Budankov, Andi Kleen, David Ahern, Ding Xiang,
	Hendrik Brueckner, Jeremie Galarneau, Jiri Olsa, Kate Stewart,
	Kim Phillips, Markus T Metzger, Namhyung Kim, Naveen N . Rao,
	Peter

Hi Ingo,

	Please consider pulling,

- Arnaldo

Test results at the end of this message, as usual.

The following changes since commit 7f16023bfcc4b1f2bbccf86219dc97473db6e0d6:

  Merge remote-tracking branch 'acme/perf/urgent' into perf/core (2018-09-18 17:20:41 -0300)

are available in the Git repository at:

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

for you to fetch changes up to 24ef0fd0a1f389b156e6ef0edd71072728831bd9:

  perf python: Use -Wno-redundant-decls to build with PYTHON=python3 (2018-09-19 10:25:13 -0300)

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

perf test:

- Add watchpoint entry (Ravi Bangoria)

Build fixes:

- Initialize perf_data_file fd field to fix building the CTF (trace format)
  converter with with gcc 4.8.4 on Ubuntu 14.04 (Jérémie Galarneau)

- Use -Wno-redundant-decls to build with PYTHON=python3 to
  build the python binding, fixing the build in systems such
  as Clear Linux (Arnaldo Carvalho de Melo)

Hardware tracing:

- Suppress AUX/OVERWRITE records (Alexander Shishkin)

Infrastructure:

- Adopt PTR_ERR_OR_ZERO from the kernel and use it in
  the bpf-loader instead of open coded equivalent (Ding Xiang)

- Improve the event ordering code to make it clear and fix
  a bug related to freeing of events when using pipe mode
  from 'record' to 'inject' (Jiri Olsa)

- Some prep work to facilitate per-cpu threads to write
  record data to per-cpu files (Jiri Olsa)

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

----------------------------------------------------------------
Alexander Shishkin (1):
      perf: Suppress AUX/OVERWRITE records

Arnaldo Carvalho de Melo (1):
      perf python: Use -Wno-redundant-decls to build with PYTHON=python3

Ding Xiang (2):
      tools include: Adopt PTR_ERR_OR_ZERO from the kernel err.h header
      perf bpf-loader: use PTR_ERR_OR_ZERO inetead of return code

Jiri Olsa (7):
      perf ordered_events: Add 'struct ordered_events_buffer' layer
      perf ordered_events: Prevent crossing max_alloc_size
      perf tools: Remove perf_tool from event_op2
      perf tools: Remove perf_tool from event_op3
      perf auxtrace: Pass struct perf_mmap into mmap__read* functions
      perf tools: Add 'struct perf_mmap' arg to record__write()
      perf util: Make copyfile_offset() global

Jérémie Galarneau (1):
      perf tools: Initialize perf_data_file fd field

Ravi Bangoria (1):
      perf test: Add watchpoint test

 kernel/events/ring_buffer.c       |  14 ++-
 tools/include/linux/err.h         |   7 ++
 tools/perf/builtin-annotate.c     |   7 +-
 tools/perf/builtin-inject.c       |  37 +++---
 tools/perf/builtin-record.c       |  51 +++++----
 tools/perf/builtin-report.c       |   9 +-
 tools/perf/builtin-script.c       |  38 +++----
 tools/perf/builtin-stat.c         |  23 ++--
 tools/perf/tests/Build            |   1 +
 tools/perf/tests/builtin-test.c   |   9 ++
 tools/perf/tests/tests.h          |   3 +
 tools/perf/tests/wp.c             | 229 ++++++++++++++++++++++++++++++++++++++
 tools/perf/util/auxtrace.c        |  30 +++--
 tools/perf/util/auxtrace.h        |  21 ++--
 tools/perf/util/bpf-loader.c      |   2 +-
 tools/perf/util/data-convert-bt.c |   2 +-
 tools/perf/util/header.c          |  16 ++-
 tools/perf/util/header.h          |  15 +--
 tools/perf/util/mmap.c            |   6 +-
 tools/perf/util/mmap.h            |   2 +-
 tools/perf/util/ordered-events.c  |  87 ++++++++++++---
 tools/perf/util/ordered-events.h  |  37 +++---
 tools/perf/util/session.c         |  75 ++++++-------
 tools/perf/util/session.h         |   5 +-
 tools/perf/util/setup.py          |   2 +-
 tools/perf/util/stat.c            |   5 +-
 tools/perf/util/stat.h            |   5 +-
 tools/perf/util/tool.h            |   7 +-
 tools/perf/util/util.c            |   2 +-
 tools/perf/util/util.h            |   2 +
 30 files changed, 519 insertions(+), 230 deletions(-)
 create mode 100644 tools/perf/tests/wp.c

Test results:

The first ones are container (docker) based builds of tools/perf with
and without libelf support.  Where clang is available, it is also used
to build perf with/without libelf, and building with LIBCLANGLLVM=1
(built-in clang) with gcc and clang when clang and its devel libraries
are installed.

The objtool and samples/bpf/ builds are disabled now that I'm switching from
using the sources in a local volume to fetching them from a http server to
build it inside the container, to make it easier to build in a container cluster.
Those will come back later.

Several are cross builds, the ones with -x-ARCH and the android one, and those
may not have all the features built, due to lack of multi-arch devel packages,
available and being used so far on just a few, like
debian:experimental-x-{arm64,mipsel}.

The 'perf test' one will perform a variety of tests exercising
tools/perf/util/, tools/lib/{bpf,traceevent,etc}, as well as run perf commands
with a variety of command line event specifications to then intercept the
sys_perf_event syscall to check that the perf_event_attr fields are set up as
expected, among a variety of other unit tests.

Then there is the 'make -C tools/perf build-test' ones, that build tools/perf/
with a variety of feature sets, exercising the build with an incomplete set of
features as well as with a complete one. It is planned to have it run on each
of the containers mentioned above, using some container orchestration
infrastructure. Get in contact if interested in helping having this in place.

The Clear Linux container is building with NO_CLANG=1, the problem preventing
its use has been identified and the next builds will build in ClearLinux with
both gcc and clang. This time around only gcc was used.

   1 alpine:3.4                    : Ok   gcc (Alpine 5.3.0) 5.3.0
   2 alpine:3.5                    : Ok   gcc (Alpine 6.2.1) 6.2.1 20160822
   3 alpine:3.6                    : Ok   gcc (Alpine 6.3.0) 6.3.0
   4 alpine:3.7                    : Ok   gcc (Alpine 6.4.0) 6.4.0
   5 alpine:3.8                    : Ok   gcc (Alpine 6.4.0) 6.4.0
   6 alpine:edge                   : Ok   gcc (Alpine 6.4.0) 6.4.0
   7 amazonlinux:1                 : Ok   gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-28)
   8 amazonlinux:2                 : Ok   gcc (GCC) 7.3.1 20180303 (Red Hat 7.3.1-5)
   9 android-ndk:r12b-arm          : Ok   arm-linux-androideabi-gcc (GCC) 4.9.x 20150123 (prerelease)
  10 android-ndk:r15c-arm          : Ok   arm-linux-androideabi-gcc (GCC) 4.9.x 20150123 (prerelease)
  11 centos:5                      : Ok   gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-55)
  12 centos:6                      : Ok   gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-23)
  13 centos:7                      : Ok   gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-28)
  14 clearlinux:latest             : Ok   gcc (Clear Linux OS for Intel Architecture) 8.2.1 20180502
  15 debian:7                      : Ok   gcc (Debian 4.7.2-5) 4.7.2
  16 debian:8                      : Ok   gcc (Debian 4.9.2-10+deb8u1) 4.9.2
  17 debian:9                      : Ok   gcc (Debian 6.3.0-18+deb9u1) 6.3.0 20170516
  18 debian:experimental           : Ok   gcc (Debian 8.2.0-7) 8.2.0
  19 debian:experimental-x-arm64   : Ok   aarch64-linux-gnu-gcc (Debian 8.2.0-4) 8.2.0
  20 debian:experimental-x-mips    : Ok   mips-linux-gnu-gcc (Debian 8.1.0-12) 8.1.0
  21 debian:experimental-x-mips64  : Ok   mips64-linux-gnuabi64-gcc (Debian 8.1.0-12) 8.1.0
  22 debian:experimental-x-mipsel  : Ok   mipsel-linux-gnu-gcc (Debian 8.1.0-12) 8.1.0
  23 fedora:20                     : Ok   gcc (GCC) 4.8.3 20140911 (Red Hat 4.8.3-7)
  24 fedora:21                     : Ok   gcc (GCC) 4.9.2 20150212 (Red Hat 4.9.2-6)
  25 fedora:22                     : Ok   gcc (GCC) 5.3.1 20160406 (Red Hat 5.3.1-6)
  26 fedora:23                     : Ok   gcc (GCC) 5.3.1 20160406 (Red Hat 5.3.1-6)
  27 fedora:24                     : Ok   gcc (GCC) 6.3.1 20161221 (Red Hat 6.3.1-1)
  28 fedora:24-x-ARC-uClibc        : Ok   arc-linux-gcc (ARCompact ISA Linux uClibc toolchain 2017.09-rc2) 7.1.1 20170710
  29 fedora:25                     : Ok   gcc (GCC) 6.4.1 20170727 (Red Hat 6.4.1-1)
  30 fedora:26                     : Ok   gcc (GCC) 7.3.1 20180130 (Red Hat 7.3.1-2)
  31 fedora:27                     : Ok   gcc (GCC) 7.3.1 20180712 (Red Hat 7.3.1-6)
  32 fedora:28                     : Ok   gcc (GCC) 8.1.1 20180712 (Red Hat 8.1.1-5)
  33 fedora:rawhide                : Ok   gcc (GCC) 8.2.1 20180905 (Red Hat 8.2.1-3)
  34 gentoo-stage3-amd64:latest    : Ok   gcc (Gentoo 7.3.0-r3 p1.4) 7.3.0
  35 mageia:5                      : Ok   gcc (GCC) 4.9.2
  36 mageia:6                      : Ok   gcc (Mageia 5.5.0-1.mga6) 5.5.0
  37 opensuse:13.2                 : Ok   gcc (SUSE Linux) 4.8.3 20140627 [gcc-4_8-branch revision 212064]
  38 opensuse:42.1                 : Ok   gcc (SUSE Linux) 4.8.5
  39 opensuse:42.2                 : Ok   gcc (SUSE Linux) 4.8.5
  40 opensuse:42.3                 : Ok   gcc (SUSE Linux) 4.8.5
  41 opensuse:tumbleweed           : Ok   gcc (SUSE Linux) 7.3.1 20180323 [gcc-7-branch revision 258812]
  42 oraclelinux:6                 : Ok   gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-23.0.1)
  43 oraclelinux:7                 : Ok   gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-28.0.1)
  44 ubuntu:12.04.5                : Ok   gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3
  45 ubuntu:14.04.4                : Ok   gcc (Ubuntu 4.8.4-2ubuntu1~14.04.3) 4.8.4
  46 ubuntu:14.04.4-x-linaro-arm64 : Ok   aarch64-linux-gnu-gcc (Linaro GCC 5.5-2017.10) 5.5.0
  47 ubuntu:16.04                  : Ok   gcc (Ubuntu 5.4.0-6ubuntu1~16.04.10) 5.4.0 20160609
  48 ubuntu:16.04-x-arm            : Ok   arm-linux-gnueabihf-gcc (Ubuntu/Linaro 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
  49 ubuntu:16.04-x-arm64          : Ok   aarch64-linux-gnu-gcc (Ubuntu/Linaro 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
  50 ubuntu:16.04-x-powerpc        : Ok   powerpc-linux-gnu-gcc (Ubuntu 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
  51 ubuntu:16.04-x-powerpc64      : Ok   powerpc64-linux-gnu-gcc (Ubuntu/IBM 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
  52 ubuntu:16.04-x-powerpc64el    : Ok   powerpc64le-linux-gnu-gcc (Ubuntu/IBM 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
  53 ubuntu:16.04-x-s390           : Ok   s390x-linux-gnu-gcc (Ubuntu 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
  54 ubuntu:16.10                  : Ok   gcc (Ubuntu 6.2.0-5ubuntu12) 6.2.0 20161005
  55 ubuntu:17.10                  : Ok   gcc (Ubuntu 7.2.0-8ubuntu3.2) 7.2.0
  56 ubuntu:18.04                  : Ok   gcc (Ubuntu 7.3.0-16ubuntu3) 7.3.0
  57 ubuntu:18.04-x-arm            : Ok   arm-linux-gnueabihf-gcc (Ubuntu/Linaro 7.3.0-16ubuntu3) 7.3.0
  58 ubuntu:18.04-x-arm64          : Ok   aarch64-linux-gnu-gcc (Ubuntu/Linaro 7.3.0-16ubuntu3) 7.3.0
  59 ubuntu:18.04-x-m68k           : Ok   m68k-linux-gnu-gcc (Ubuntu 7.3.0-16ubuntu3) 7.3.0
  60 ubuntu:18.04-x-powerpc        : Ok   powerpc-linux-gnu-gcc (Ubuntu 7.3.0-16ubuntu3) 7.3.0
  61 ubuntu:18.04-x-powerpc64      : Ok   powerpc64-linux-gnu-gcc (Ubuntu 7.3.0-16ubuntu3) 7.3.0
  62 ubuntu:18.04-x-powerpc64el    : Ok   powerpc64le-linux-gnu-gcc (Ubuntu 7.3.0-16ubuntu3) 7.3.0
  63 ubuntu:18.04-x-riscv64        : Ok   riscv64-linux-gnu-gcc (Ubuntu 7.3.0-16ubuntu3) 7.3.0
  64 ubuntu:18.04-x-s390           : Ok   s390x-linux-gnu-gcc (Ubuntu 7.3.0-16ubuntu3) 7.3.0
  65 ubuntu:18.04-x-sh4            : Ok   sh4-linux-gnu-gcc (Ubuntu 7.3.0-16ubuntu3) 7.3.0
  66 ubuntu:18.04-x-sparc64        : Ok   sparc64-linux-gnu-gcc (Ubuntu 7.3.0-16ubuntu3) 7.3.0
  67 ubuntu:18.10                  : Ok   gcc (Ubuntu 8.2.0-4ubuntu1) 8.2.0
  #
  # uname -a
  Linux seventh 4.19.0-rc2-00176-gdb44bf4b4768 #1 SMP Thu Sep 6 14:38:21 -03 2018 x86_64 x86_64 x86_64 GNU/Linux
  # git log --oneline -1
  29715ae86e6c perf python: Use -Wno-redundant-decls to build with PYTHON=python3
  # perf version --build-options
  perf version 4.19.rc2.g29715a
                   dwarf: [ on  ]  # HAVE_DWARF_SUPPORT
      dwarf_getlocations: [ on  ]  # HAVE_DWARF_GETLOCATIONS_SUPPORT
                   glibc: [ on  ]  # HAVE_GLIBC_SUPPORT
                    gtk2: [ on  ]  # HAVE_GTK2_SUPPORT
           syscall_table: [ on  ]  # HAVE_SYSCALL_TABLE_SUPPORT
                  libbfd: [ on  ]  # HAVE_LIBBFD_SUPPORT
                  libelf: [ on  ]  # HAVE_LIBELF_SUPPORT
                 libnuma: [ on  ]  # HAVE_LIBNUMA_SUPPORT
  numa_num_possible_cpus: [ on  ]  # HAVE_LIBNUMA_SUPPORT
                 libperl: [ on  ]  # HAVE_LIBPERL_SUPPORT
               libpython: [ on  ]  # HAVE_LIBPYTHON_SUPPORT
                libslang: [ on  ]  # HAVE_SLANG_SUPPORT
               libcrypto: [ on  ]  # HAVE_LIBCRYPTO_SUPPORT
               libunwind: [ on  ]  # HAVE_LIBUNWIND_SUPPORT
      libdw-dwarf-unwind: [ on  ]  # HAVE_DWARF_SUPPORT
                    zlib: [ on  ]  # HAVE_ZLIB_SUPPORT
                    lzma: [ on  ]  # HAVE_LZMA_SUPPORT
               get_cpuid: [ on  ]  # HAVE_AUXTRACE_SUPPORT
                     bpf: [ on  ]  # HAVE_LIBBPF_SUPPORT
  # perf test
   1: vmlinux symtab matches kallsyms                       : Ok
   2: Detect openat syscall event                           : Ok
   3: Detect openat syscall event on all cpus               : Ok
   4: Read samples using the mmap interface                 : Ok
   5: Test data source output                               : Ok
   6: Parse event definition strings                        : Ok
   7: Simple expression parser                              : Ok
   8: PERF_RECORD_* events & perf_sample fields             : Ok
   9: Parse perf pmu format                                 : Ok
  10: DSO data read                                         : Ok
  11: DSO data cache                                        : Ok
  12: DSO data reopen                                       : Ok
  13: Roundtrip evsel->name                                 : Ok
  14: Parse sched tracepoints fields                        : Ok
  15: syscalls:sys_enter_openat event fields                : Ok
  16: Setup struct perf_event_attr                          : Ok
  17: Match and link multiple hists                         : Ok
  18: 'import perf' in python                               : Ok
  19: Breakpoint overflow signal handler                    : Ok
  20: Breakpoint overflow sampling                          : Ok
  21: Breakpoint accounting                                 : Ok
  22: Watchpoint                                            :
  22.1: Read Only Watchpoint                                : Skip
  22.2: Write Only Watchpoint                               : Ok
  22.3: Read / Write Watchpoint                             : Ok
  22.4: Modify Watchpoint                                   : Ok
  23: Number of exit events of a simple workload            : Ok
  24: Software clock events period values                   : Ok
  25: Object code reading                                   : Ok
  26: Sample parsing                                        : Ok
  27: Use a dummy software event to keep tracking           : Ok
  28: Parse with no sample_id_all bit set                   : Ok
  29: Filter hist entries                                   : Ok
  30: Lookup mmap thread                                    : Ok
  31: Share thread mg                                       : Ok
  32: Sort output of hist entries                           : Ok
  33: Cumulate child hist entries                           : Ok
  34: Track with sched_switch                               : Ok
  35: Filter fds with revents mask in a fdarray             : Ok
  36: Add fd to a fdarray, making it autogrow               : Ok
  37: kmod_path__parse                                      : Ok
  38: Thread map                                            : Ok
  39: LLVM search and compile                               :
  39.1: Basic BPF llvm compile                              : Ok
  39.2: kbuild searching                                    : Ok
  39.3: Compile source for BPF prologue generation          : Ok
  39.4: Compile source for BPF relocation                   : Ok
  40: Session topology                                      : Ok
  41: BPF filter                                            :
  41.1: Basic BPF filtering                                 : Ok
  41.2: BPF pinning                                         : Ok
  41.3: BPF prologue generation                             : Ok
  41.4: BPF relocation checker                              : Ok
  42: Synthesize thread map                                 : Ok
  43: Remove thread map                                     : Ok
  44: Synthesize cpu map                                    : Ok
  45: Synthesize stat config                                : Ok
  46: Synthesize stat                                       : Ok
  47: Synthesize stat round                                 : Ok
  48: Synthesize attr update                                : Ok
  49: Event times                                           : Ok
  50: Read backward ring buffer                             : Ok
  51: Print cpu map                                         : Ok
  52: Probe SDT events                                      : Ok
  53: is_printable_array                                    : Ok
  54: Print bitmap                                          : Ok
  55: perf hooks                                            : Ok
  56: builtin clang support                                 : Skip (not compiled in)
  57: unit_number__scnprintf                                : Ok
  58: mem2node                                              : Ok
  59: x86 rdpmc                                             : Ok
  60: Convert perf time to TSC                              : Ok
  61: DWARF unwind                                          : Ok
  62: x86 instruction decoder - new instructions            : Ok
  63: x86 bp modify                                         : FAILED!
  64: probe libc's inet_pton & backtrace it with ping       : Ok
  65: Check open filename arg using perf trace + vfs_getname: Ok
  66: Use vfs_getname probe to get syscall args filenames   : Ok
  67: Add vfs_getname probe to get syscall args filenames   : Ok

  # uname -a
  Linux seventh 4.19.0-rc2-00176-gdb44bf4b4768 #1 SMP Thu Sep 6 14:38:21 -03 2018 x86_64 x86_64 x86_64 GNU/Linux
  # git log --oneline -1
  29715ae86e6c perf python: Use -Wno-redundant-decls to build with PYTHON=python3
  # perf version --build-options
  perf version 4.19.rc2.g29715a
                   dwarf: [ on  ]  # HAVE_DWARF_SUPPORT
      dwarf_getlocations: [ on  ]  # HAVE_DWARF_GETLOCATIONS_SUPPORT
                   glibc: [ on  ]  # HAVE_GLIBC_SUPPORT
                    gtk2: [ on  ]  # HAVE_GTK2_SUPPORT
           syscall_table: [ on  ]  # HAVE_SYSCALL_TABLE_SUPPORT
                  libbfd: [ on  ]  # HAVE_LIBBFD_SUPPORT
                  libelf: [ on  ]  # HAVE_LIBELF_SUPPORT
                 libnuma: [ on  ]  # HAVE_LIBNUMA_SUPPORT
  numa_num_possible_cpus: [ on  ]  # HAVE_LIBNUMA_SUPPORT
                 libperl: [ on  ]  # HAVE_LIBPERL_SUPPORT
               libpython: [ on  ]  # HAVE_LIBPYTHON_SUPPORT
                libslang: [ on  ]  # HAVE_SLANG_SUPPORT
               libcrypto: [ on  ]  # HAVE_LIBCRYPTO_SUPPORT
               libunwind: [ on  ]  # HAVE_LIBUNWIND_SUPPORT
      libdw-dwarf-unwind: [ on  ]  # HAVE_DWARF_SUPPORT
                    zlib: [ on  ]  # HAVE_ZLIB_SUPPORT
                    lzma: [ on  ]  # HAVE_LZMA_SUPPORT
               get_cpuid: [ on  ]  # HAVE_AUXTRACE_SUPPORT
                     bpf: [ on  ]  # HAVE_LIBBPF_SUPPORT
  # perf test
   1: vmlinux symtab matches kallsyms                       : Ok
   2: Detect openat syscall event                           : Ok
   3: Detect openat syscall event on all cpus               : Ok
   4: Read samples using the mmap interface                 : Ok
   5: Test data source output                               : Ok
   6: Parse event definition strings                        : Ok
   7: Simple expression parser                              : Ok
   8: PERF_RECORD_* events & perf_sample fields             : Ok
   9: Parse perf pmu format                                 : Ok
  10: DSO data read                                         : Ok
  11: DSO data cache                                        : Ok
  12: DSO data reopen                                       : Ok
  13: Roundtrip evsel->name                                 : Ok
  14: Parse sched tracepoints fields                        : Ok
  15: syscalls:sys_enter_openat event fields                : Ok
  16: Setup struct perf_event_attr                          : Ok
  17: Match and link multiple hists                         : Ok
  18: 'import perf' in python                               : Ok
  19: Breakpoint overflow signal handler                    : Ok
  20: Breakpoint overflow sampling                          : Ok
  21: Breakpoint accounting                                 : Ok
  22: Watchpoint                                            :
  22.1: Read Only Watchpoint                                : Skip
  22.2: Write Only Watchpoint                               : Ok
  22.3: Read / Write Watchpoint                             : Ok
  22.4: Modify Watchpoint                                   : Ok
  23: Number of exit events of a simple workload            : Ok
  24: Software clock events period values                   : Ok
  25: Object code reading                                   : Ok
  26: Sample parsing                                        : Ok
  27: Use a dummy software event to keep tracking           : Ok
  28: Parse with no sample_id_all bit set                   : Ok
  29: Filter hist entries                                   : Ok
  30: Lookup mmap thread                                    : Ok
  31: Share thread mg                                       : Ok
  32: Sort output of hist entries                           : Ok
  33: Cumulate child hist entries                           : Ok
  34: Track with sched_switch                               : Ok
  35: Filter fds with revents mask in a fdarray             : Ok
  36: Add fd to a fdarray, making it autogrow               : Ok
  37: kmod_path__parse                                      : Ok
  38: Thread map                                            : Ok
  39: LLVM search and compile                               :
  39.1: Basic BPF llvm compile                              : Ok
  39.2: kbuild searching                                    : Ok
  39.3: Compile source for BPF prologue generation          : Ok
  39.4: Compile source for BPF relocation                   : Ok
  40: Session topology                                      : Ok
  41: BPF filter                                            :
  41.1: Basic BPF filtering                                 : Ok
  41.2: BPF pinning                                         : Ok
  41.3: BPF prologue generation                             : Ok
  41.4: BPF relocation checker                              : Ok
  42: Synthesize thread map                                 : Ok
  43: Remove thread map                                     : Ok
  44: Synthesize cpu map                                    : Ok
  45: Synthesize stat config                                : Ok
  46: Synthesize stat                                       : Ok
  47: Synthesize stat round                                 : Ok
  48: Synthesize attr update                                : Ok
  49: Event times                                           : Ok
  50: Read backward ring buffer                             : Ok
  51: Print cpu map                                         : Ok
  52: Probe SDT events                                      : Ok
  53: is_printable_array                                    : Ok
  54: Print bitmap                                          : Ok
  55: perf hooks                                            : Ok
  56: builtin clang support                                 : Skip (not compiled in)
  57: unit_number__scnprintf                                : Ok
  58: mem2node                                              : Ok
  59: x86 rdpmc                                             : Ok
  60: Convert perf time to TSC                              : Ok
  61: DWARF unwind                                          : Ok
  62: x86 instruction decoder - new instructions            : Ok
  63: x86 bp modify                                         : FAILED!
  64: probe libc's inet_pton & backtrace it with ping       : Ok
  65: Check open filename arg using perf trace + vfs_getname: Ok
  66: Use vfs_getname probe to get syscall args filenames   : Ok
  67: Add vfs_getname probe to get syscall args filenames   : Ok

  [acme@jouet perf]$ time make -C tools/perf build-test
  make: Entering directory '/home/acme/git/perf/tools/perf'
  - tarpkg: ./tests/perf-targz-src-pkg .
              make_clean_all_O: make clean all
            make_no_auxtrace_O: make NO_AUXTRACE=1
            make_no_libaudit_O: make NO_LIBAUDIT=1
                 make_static_O: make LDFLAGS=-static
                make_no_newt_O: make NO_NEWT=1
                    make_doc_O: make doc
             make_util_map_o_O: make util/map.o
           make_no_libbionic_O: make NO_LIBBIONIC=1
           make_no_backtrace_O: make NO_BACKTRACE=1
                make_no_gtk2_O: make NO_GTK2=1
        make_with_babeltrace_O: make LIBBABELTRACE=1
             make_no_libperl_O: make NO_LIBPERL=1
             make_no_libnuma_O: make NO_LIBNUMA=1
                  make_no_ui_O: make NO_NEWT=1 NO_SLANG=1 NO_GTK2=1
                   make_tags_O: make tags
                  make_debug_O: make DEBUG=1
                make_minimal_O: make NO_LIBPERL=1 NO_LIBPYTHON=1 NO_NEWT=1 NO_GTK2=1 NO_DEMANGLE=1 NO_LIBELF=1 NO_LIBUNWIND=1 NO_BACKTRACE=1 NO_LIBNUMA=1 NO_LIBAUDIT=1 NO_LIBBIONIC=1 NO_LIBDW_DWARF_UNWIND=1 NO_AUXTRACE=1 NO_LIBBPF=1 NO_LIBCRYPTO=1 NO_SDT=1 NO_JVMTI=1
  make_no_libdw_dwarf_unwind_O: make NO_LIBDW_DWARF_UNWIND=1
           make_no_libunwind_O: make NO_LIBUNWIND=1
           make_no_libpython_O: make NO_LIBPYTHON=1
       make_util_pmu_bison_o_O: make util/pmu-bison.o
   make_install_prefix_slash_O: make install prefix=/tmp/krava/
                   make_pure_O: make
              make_no_libbpf_O: make NO_LIBBPF=1
         make_install_prefix_O: make install prefix=/tmp/krava
                 make_perf_o_O: make perf.o
            make_no_demangle_O: make NO_DEMANGLE=1
                   make_help_O: make help
                make_install_O: make install
         make_with_clangllvm_O: make LIBCLANGLLVM=1
            make_install_bin_O: make install-bin
             make_no_scripts_O: make NO_LIBPYTHON=1 NO_LIBPERL=1
              make_no_libelf_O: make NO_LIBELF=1
               make_no_slang_O: make NO_SLANG=1
  OK
  make: Leaving directory '/home/acme/git/perf/tools/perf'
$

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

* Re: [GIT PULL 00/13] perf/core improvements and fixes
  2017-09-04 14:00 ` Arnaldo Carvalho de Melo
@ 2017-09-05  5:15   ` Ingo Molnar
  -1 siblings, 0 replies; 74+ messages in thread
From: Ingo Molnar @ 2017-09-05  5:15 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo
  Cc: linux-kernel, linux-perf-users, Adrian Hunter,
	Alexander Shishkin, Andi Kleen, Anton Blanchard,
	Flavio Bruno Leitner, Jack Henschel, Jiri Olsa, Kan Liang,
	linuxppc-dev, Madhavan Srinivasan, Mark Rutland,
	Michael Ellerman, Michael Petlan, Namhyung Kim, Peter Zijlstra,
	Ravi Bangoria, Stephane Eranian, Sukadev Bhattiprolu,
	Taeung Song, Thomas Gleixner, Wang Nan, Yao Jin,
	Arnaldo Carvalho de Melo


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

> Hi Ingo,
> 
> 	Please consider pulling,
> 
> - Arnaldo
> 
> Test results at the end of this message, as usual.
> 
> The following changes since commit 1b2f76d77a277bb70d38ad0991ed7f16bbc115a9:
> 
>   Merge tag 'perf-core-for-mingo-4.14-20170829' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core (2017-08-29 23:13:56 +0200)
> 
> are available in the git repository at:
> 
>   git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git tags/perf-core-for-mingo-4.14-20170901
> 
> for you to fetch changes up to eba9fac017617e685d648339e29a1453a30cb065:
> 
>   perf annotate browser: Help for cycling thru hottest instructions with TAB/shift+TAB (2017-09-01 14:55:40 -0300)
> 
> ----------------------------------------------------------------
> perf/core improvements and fixes:
> 
> - Support syscall name glob matching in 'perf trace' (Arnaldo Carvalho de Melo)
> 
>   e.g.:
> 
>    # perf trace -e pkey_*
>    32.784 (0.006 ms): pkey/16018 pkey_alloc(init_val: DISABLE_WRITE) = -1 EINVAL Invalid argument
>    32.795 (0.004 ms): pkey/16018 pkey_mprotect(start: 0x7f380d0a6000, len: 4096, prot: READ|WRITE, pkey: -1) = 0
>    32.801 (0.002 ms): pkey/16018 pkey_free(pkey: -1                ) = -1 EINVAL Invalid argument
>    ^C#
> 
> - Do not auto merge counts for explicitely specified events in
>   'perf stat' (Arnaldo Carvalho de Melo)
> 
> - Fix syntax in documentation of .perfconfig intel-pt option (Jack Henschel)
> 
> - Calculate the average cycles of iterations for loops detected by the
>   branch history support in 'perf report' (Jin Yao)
> 
> - Support PERF_SAMPLE_PHYS_ADDR as a sort key "phys_daddr" in the 'script', 'mem',
>   'top' and 'report'. Also add a test entry for it in 'perf test' (Kan Liang)
> 
> - Fix 'Object code reading' 'perf test' entry in PowerPC (Ravi Bangoria)
> 
> - Remove some duplicate Power9 duplicate vendor events (described in JSON
>   files) (Sukadev Bhattiprolu)
> 
> - Add help entry in the TUI annotate browser about cycling thru hottest
>   instructions with TAB/shift+TAB (Arnaldo Carvalho de Melo)
> 
> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
> 
> ----------------------------------------------------------------
> Arnaldo Carvalho de Melo (4):
>       perf syscalltbl: Support glob matching on syscall names
>       perf trace: Support syscall name globbing
>       perf stat: Only auto-merge events that are PMU aliases
>       perf annotate browser: Help for cycling thru hottest instructions with TAB/shift+TAB
> 
> Jack Henschel (1):
>       perf intel-pt: Fix syntax in documentation of config option
> 
> Jin Yao (1):
>       perf report: Calculate the average cycles of iterations
> 
> Kan Liang (5):
>       perf tools: Support new sample type for physical address
>       perf sort: Add sort option for physical address
>       perf mem: Support physical address
>       perf script: Support physical address
>       perf test: Add test case for PERF_SAMPLE_PHYS_ADDR
> 
> Ravi Bangoria (1):
>       perf test powerpc: Fix 'Object code reading' test
> 
> Sukadev Bhattiprolu (1):
>       perf vendor events powerpc: Remove duplicate events
> 
>  tools/include/uapi/linux/perf_event.h              |   4 +-
>  tools/perf/Documentation/intel-pt.txt              |   2 +-
>  tools/perf/Documentation/perf-mem.txt              |   4 +
>  tools/perf/Documentation/perf-record.txt           |   5 +-
>  tools/perf/Documentation/perf-report.txt           |   1 +
>  tools/perf/Documentation/perf-script.txt           |   2 +-
>  tools/perf/Documentation/perf-trace.txt            |   2 +-
>  tools/perf/builtin-mem.c                           |  97 ++++++++++++-----
>  tools/perf/builtin-record.c                        |   2 +
>  tools/perf/builtin-script.c                        |  15 ++-
>  tools/perf/builtin-stat.c                          |   2 +-
>  tools/perf/builtin-trace.c                         |  39 ++++++-
>  tools/perf/perf.h                                  |   1 +
>  .../pmu-events/arch/powerpc/power9/frontend.json   |   7 +-
>  .../perf/pmu-events/arch/powerpc/power9/other.json | 120 ---------------------
>  .../pmu-events/arch/powerpc/power9/pipeline.json   |   7 +-
>  tools/perf/pmu-events/arch/powerpc/power9/pmc.json |   7 +-
>  tools/perf/tests/code-reading.c                    |   5 +
>  tools/perf/tests/sample-parsing.c                  |   6 +-
>  tools/perf/ui/browsers/annotate.c                  |   3 +-
>  tools/perf/ui/browsers/hists.c                     |   8 +-
>  tools/perf/ui/stdio/hist.c                         |  10 +-
>  tools/perf/util/callchain.c                        |  49 ++++-----
>  tools/perf/util/callchain.h                        |   9 +-
>  tools/perf/util/event.h                            |   1 +
>  tools/perf/util/evsel.c                            |  19 +++-
>  tools/perf/util/evsel.h                            |   1 +
>  tools/perf/util/hist.c                             |   4 +
>  tools/perf/util/hist.h                             |   1 +
>  tools/perf/util/machine.c                          |  96 ++++++++++-------
>  tools/perf/util/parse-events.c                     |  24 +++--
>  tools/perf/util/session.c                          |   3 +
>  tools/perf/util/sort.c                             |  42 ++++++++
>  tools/perf/util/sort.h                             |   1 +
>  tools/perf/util/symbol.h                           |   1 +
>  tools/perf/util/syscalltbl.c                       |  33 ++++++
>  tools/perf/util/syscalltbl.h                       |   3 +
>  37 files changed, 368 insertions(+), 268 deletions(-)

Pulled, thanks a lot Arnaldo!

	Ingo

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

* Re: [GIT PULL 00/13] perf/core improvements and fixes
@ 2017-09-05  5:15   ` Ingo Molnar
  0 siblings, 0 replies; 74+ messages in thread
From: Ingo Molnar @ 2017-09-05  5:15 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo
  Cc: linux-kernel, linux-perf-users, Adrian Hunter,
	Alexander Shishkin, Andi Kleen, Anton Blanchard,
	Flavio Bruno Leitner, Jack Henschel, Jiri Olsa, Kan Liang,
	linuxppc-dev, Madhavan Srinivasan, Mark Rutland,
	Michael Ellerman, Michael Petlan, Namhyung Kim, Peter Zijlstra,
	Ravi Bangoria, Stephane Eranian, Sukadev Bhattiprolu


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

> Hi Ingo,
> 
> 	Please consider pulling,
> 
> - Arnaldo
> 
> Test results at the end of this message, as usual.
> 
> The following changes since commit 1b2f76d77a277bb70d38ad0991ed7f16bbc115a9:
> 
>   Merge tag 'perf-core-for-mingo-4.14-20170829' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core (2017-08-29 23:13:56 +0200)
> 
> are available in the git repository at:
> 
>   git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git tags/perf-core-for-mingo-4.14-20170901
> 
> for you to fetch changes up to eba9fac017617e685d648339e29a1453a30cb065:
> 
>   perf annotate browser: Help for cycling thru hottest instructions with TAB/shift+TAB (2017-09-01 14:55:40 -0300)
> 
> ----------------------------------------------------------------
> perf/core improvements and fixes:
> 
> - Support syscall name glob matching in 'perf trace' (Arnaldo Carvalho de Melo)
> 
>   e.g.:
> 
>    # perf trace -e pkey_*
>    32.784 (0.006 ms): pkey/16018 pkey_alloc(init_val: DISABLE_WRITE) = -1 EINVAL Invalid argument
>    32.795 (0.004 ms): pkey/16018 pkey_mprotect(start: 0x7f380d0a6000, len: 4096, prot: READ|WRITE, pkey: -1) = 0
>    32.801 (0.002 ms): pkey/16018 pkey_free(pkey: -1                ) = -1 EINVAL Invalid argument
>    ^C#
> 
> - Do not auto merge counts for explicitely specified events in
>   'perf stat' (Arnaldo Carvalho de Melo)
> 
> - Fix syntax in documentation of .perfconfig intel-pt option (Jack Henschel)
> 
> - Calculate the average cycles of iterations for loops detected by the
>   branch history support in 'perf report' (Jin Yao)
> 
> - Support PERF_SAMPLE_PHYS_ADDR as a sort key "phys_daddr" in the 'script', 'mem',
>   'top' and 'report'. Also add a test entry for it in 'perf test' (Kan Liang)
> 
> - Fix 'Object code reading' 'perf test' entry in PowerPC (Ravi Bangoria)
> 
> - Remove some duplicate Power9 duplicate vendor events (described in JSON
>   files) (Sukadev Bhattiprolu)
> 
> - Add help entry in the TUI annotate browser about cycling thru hottest
>   instructions with TAB/shift+TAB (Arnaldo Carvalho de Melo)
> 
> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
> 
> ----------------------------------------------------------------
> Arnaldo Carvalho de Melo (4):
>       perf syscalltbl: Support glob matching on syscall names
>       perf trace: Support syscall name globbing
>       perf stat: Only auto-merge events that are PMU aliases
>       perf annotate browser: Help for cycling thru hottest instructions with TAB/shift+TAB
> 
> Jack Henschel (1):
>       perf intel-pt: Fix syntax in documentation of config option
> 
> Jin Yao (1):
>       perf report: Calculate the average cycles of iterations
> 
> Kan Liang (5):
>       perf tools: Support new sample type for physical address
>       perf sort: Add sort option for physical address
>       perf mem: Support physical address
>       perf script: Support physical address
>       perf test: Add test case for PERF_SAMPLE_PHYS_ADDR
> 
> Ravi Bangoria (1):
>       perf test powerpc: Fix 'Object code reading' test
> 
> Sukadev Bhattiprolu (1):
>       perf vendor events powerpc: Remove duplicate events
> 
>  tools/include/uapi/linux/perf_event.h              |   4 +-
>  tools/perf/Documentation/intel-pt.txt              |   2 +-
>  tools/perf/Documentation/perf-mem.txt              |   4 +
>  tools/perf/Documentation/perf-record.txt           |   5 +-
>  tools/perf/Documentation/perf-report.txt           |   1 +
>  tools/perf/Documentation/perf-script.txt           |   2 +-
>  tools/perf/Documentation/perf-trace.txt            |   2 +-
>  tools/perf/builtin-mem.c                           |  97 ++++++++++++-----
>  tools/perf/builtin-record.c                        |   2 +
>  tools/perf/builtin-script.c                        |  15 ++-
>  tools/perf/builtin-stat.c                          |   2 +-
>  tools/perf/builtin-trace.c                         |  39 ++++++-
>  tools/perf/perf.h                                  |   1 +
>  .../pmu-events/arch/powerpc/power9/frontend.json   |   7 +-
>  .../perf/pmu-events/arch/powerpc/power9/other.json | 120 ---------------------
>  .../pmu-events/arch/powerpc/power9/pipeline.json   |   7 +-
>  tools/perf/pmu-events/arch/powerpc/power9/pmc.json |   7 +-
>  tools/perf/tests/code-reading.c                    |   5 +
>  tools/perf/tests/sample-parsing.c                  |   6 +-
>  tools/perf/ui/browsers/annotate.c                  |   3 +-
>  tools/perf/ui/browsers/hists.c                     |   8 +-
>  tools/perf/ui/stdio/hist.c                         |  10 +-
>  tools/perf/util/callchain.c                        |  49 ++++-----
>  tools/perf/util/callchain.h                        |   9 +-
>  tools/perf/util/event.h                            |   1 +
>  tools/perf/util/evsel.c                            |  19 +++-
>  tools/perf/util/evsel.h                            |   1 +
>  tools/perf/util/hist.c                             |   4 +
>  tools/perf/util/hist.h                             |   1 +
>  tools/perf/util/machine.c                          |  96 ++++++++++-------
>  tools/perf/util/parse-events.c                     |  24 +++--
>  tools/perf/util/session.c                          |   3 +
>  tools/perf/util/sort.c                             |  42 ++++++++
>  tools/perf/util/sort.h                             |   1 +
>  tools/perf/util/symbol.h                           |   1 +
>  tools/perf/util/syscalltbl.c                       |  33 ++++++
>  tools/perf/util/syscalltbl.h                       |   3 +
>  37 files changed, 368 insertions(+), 268 deletions(-)

Pulled, thanks a lot Arnaldo!

	Ingo

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

* [GIT PULL 00/13] perf/core improvements and fixes
@ 2017-09-04 14:00 ` Arnaldo Carvalho de Melo
  0 siblings, 0 replies; 74+ messages in thread
From: Arnaldo Carvalho de Melo @ 2017-09-04 14:00 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, linux-perf-users, Arnaldo Carvalho de Melo,
	Adrian Hunter, Alexander Shishkin, Andi Kleen, Anton Blanchard,
	Flavio Bruno Leitner, Jack Henschel, Jiri Olsa, Kan Liang,
	linuxppc-dev, Madhavan Srinivasan, Mark Rutland,
	Michael Ellerman, Michael Petlan, Namhyung Kim, Peter Zijlstra,
	Ravi Bangoria, Stephane Eranian, Sukadev Bhattiprolu,
	Taeung Song, Thomas Gleixner, Wang Nan, Yao Jin,
	Arnaldo Carvalho de Melo

Hi Ingo,

	Please consider pulling,

- Arnaldo

Test results at the end of this message, as usual.

The following changes since commit 1b2f76d77a277bb70d38ad0991ed7f16bbc115a9:

  Merge tag 'perf-core-for-mingo-4.14-20170829' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core (2017-08-29 23:13:56 +0200)

are available in the git repository at:

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

for you to fetch changes up to eba9fac017617e685d648339e29a1453a30cb065:

  perf annotate browser: Help for cycling thru hottest instructions with TAB/shift+TAB (2017-09-01 14:55:40 -0300)

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

- Support syscall name glob matching in 'perf trace' (Arnaldo Carvalho de Melo)

  e.g.:

   # perf trace -e pkey_*
   32.784 (0.006 ms): pkey/16018 pkey_alloc(init_val: DISABLE_WRITE) = -1 EINVAL Invalid argument
   32.795 (0.004 ms): pkey/16018 pkey_mprotect(start: 0x7f380d0a6000, len: 4096, prot: READ|WRITE, pkey: -1) = 0
   32.801 (0.002 ms): pkey/16018 pkey_free(pkey: -1                ) = -1 EINVAL Invalid argument
   ^C#

- Do not auto merge counts for explicitely specified events in
  'perf stat' (Arnaldo Carvalho de Melo)

- Fix syntax in documentation of .perfconfig intel-pt option (Jack Henschel)

- Calculate the average cycles of iterations for loops detected by the
  branch history support in 'perf report' (Jin Yao)

- Support PERF_SAMPLE_PHYS_ADDR as a sort key "phys_daddr" in the 'script', 'mem',
  'top' and 'report'. Also add a test entry for it in 'perf test' (Kan Liang)

- Fix 'Object code reading' 'perf test' entry in PowerPC (Ravi Bangoria)

- Remove some duplicate Power9 duplicate vendor events (described in JSON
  files) (Sukadev Bhattiprolu)

- Add help entry in the TUI annotate browser about cycling thru hottest
  instructions with TAB/shift+TAB (Arnaldo Carvalho de Melo)

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

----------------------------------------------------------------
Arnaldo Carvalho de Melo (4):
      perf syscalltbl: Support glob matching on syscall names
      perf trace: Support syscall name globbing
      perf stat: Only auto-merge events that are PMU aliases
      perf annotate browser: Help for cycling thru hottest instructions with TAB/shift+TAB

Jack Henschel (1):
      perf intel-pt: Fix syntax in documentation of config option

Jin Yao (1):
      perf report: Calculate the average cycles of iterations

Kan Liang (5):
      perf tools: Support new sample type for physical address
      perf sort: Add sort option for physical address
      perf mem: Support physical address
      perf script: Support physical address
      perf test: Add test case for PERF_SAMPLE_PHYS_ADDR

Ravi Bangoria (1):
      perf test powerpc: Fix 'Object code reading' test

Sukadev Bhattiprolu (1):
      perf vendor events powerpc: Remove duplicate events

 tools/include/uapi/linux/perf_event.h              |   4 +-
 tools/perf/Documentation/intel-pt.txt              |   2 +-
 tools/perf/Documentation/perf-mem.txt              |   4 +
 tools/perf/Documentation/perf-record.txt           |   5 +-
 tools/perf/Documentation/perf-report.txt           |   1 +
 tools/perf/Documentation/perf-script.txt           |   2 +-
 tools/perf/Documentation/perf-trace.txt            |   2 +-
 tools/perf/builtin-mem.c                           |  97 ++++++++++++-----
 tools/perf/builtin-record.c                        |   2 +
 tools/perf/builtin-script.c                        |  15 ++-
 tools/perf/builtin-stat.c                          |   2 +-
 tools/perf/builtin-trace.c                         |  39 ++++++-
 tools/perf/perf.h                                  |   1 +
 .../pmu-events/arch/powerpc/power9/frontend.json   |   7 +-
 .../perf/pmu-events/arch/powerpc/power9/other.json | 120 ---------------------
 .../pmu-events/arch/powerpc/power9/pipeline.json   |   7 +-
 tools/perf/pmu-events/arch/powerpc/power9/pmc.json |   7 +-
 tools/perf/tests/code-reading.c                    |   5 +
 tools/perf/tests/sample-parsing.c                  |   6 +-
 tools/perf/ui/browsers/annotate.c                  |   3 +-
 tools/perf/ui/browsers/hists.c                     |   8 +-
 tools/perf/ui/stdio/hist.c                         |  10 +-
 tools/perf/util/callchain.c                        |  49 ++++-----
 tools/perf/util/callchain.h                        |   9 +-
 tools/perf/util/event.h                            |   1 +
 tools/perf/util/evsel.c                            |  19 +++-
 tools/perf/util/evsel.h                            |   1 +
 tools/perf/util/hist.c                             |   4 +
 tools/perf/util/hist.h                             |   1 +
 tools/perf/util/machine.c                          |  96 ++++++++++-------
 tools/perf/util/parse-events.c                     |  24 +++--
 tools/perf/util/session.c                          |   3 +
 tools/perf/util/sort.c                             |  42 ++++++++
 tools/perf/util/sort.h                             |   1 +
 tools/perf/util/symbol.h                           |   1 +
 tools/perf/util/syscalltbl.c                       |  33 ++++++
 tools/perf/util/syscalltbl.h                       |   3 +
 37 files changed, 368 insertions(+), 268 deletions(-)

Test results:

The first ones are container (docker) based builds of tools/perf with and
without libelf support, objtool where it is supported and samples/bpf/, ditto.
Where clang is available, it is also used to build perf with/without libelf.

Several are cross builds, the ones with -x-ARCH, and the android one, and those
may not have all the features built, due to lack of multi-arch devel packages,
available and being used so far on just a few, like
debian:experimental-x-{arm64,mipsel}.

The 'perf test' one will perform a variety of tests exercising
tools/perf/util/, tools/lib/{bpf,traceevent,etc}, as well as run perf
commands with a variety of command line event specifications to then
intercept the sys_perf_event syscall to check that the perf_event_attr
fields are set up as expected, among a variety of other unit tests.

The 'perf test'  also runs shell scripts exercising the tools, checking
if they affect the system in certain ways, like setting up kprobes and
uprobes, request callchains for well known programs and check that they
are the expected ones, see if 'perf trace' beautifies system call
arguments correctly, etc.

Additionally, a new set of tests, script based, runs the tools in a live system,
setting probes in place that then gets used by 'perf trace', with its output
compared against expected results.

Then there is the 'make -C tools/perf build-test' ones, that build tools/perf/
with a variety of feature sets, exercising the build with an incomplete set of
features as well as with a complete one. It is planned to have it run on each
of the containers mentioned above, using some container orchestration
infrastructure. Get in contact if interested in helping having this in place.

# time dm
   1 alpine:3.4: Ok
   2 alpine:3.5: Ok
   3 alpine:3.6: Ok
   4 alpine:edge: Ok
   5 android-ndk:r12b-arm: Ok
   6 archlinux:latest: Ok
   7 centos:5: Ok
   8 centos:6: Ok
   9 centos:7: Ok
  10 debian:7: Ok
  11 debian:8: Ok
  12 debian:9: Ok
  13 debian:experimental: Ok
  14 debian:experimental-x-arm64: Ok
  15 debian:experimental-x-mips: Ok
  16 debian:experimental-x-mips64: Ok
  17 debian:experimental-x-mipsel: Ok
  18 fedora:20: Ok
  19 fedora:21: Ok
  20 fedora:22: Ok
  21 fedora:23: Ok
  22 fedora:24: Ok
  23 fedora:24-x-ARC-uClibc: Ok
  24 fedora:25: Ok
  25 fedora:26: Ok
  26 fedora:rawhide: Ok
  27 mageia:5: Ok
  28 opensuse:13.2: Ok
  29 opensuse:42.1: Ok
  30 opensuse:42.2: Ok
  31 opensuse:42.3: Ok
  32 opensuse:tumbleweed: Ok
  33 oraclelinux:6: Ok
  34 oraclelinux:7: Ok
  35 ubuntu:12.04.5: Ok
  36 ubuntu:14.04.4: Ok
  37 ubuntu:14.04.4-x-linaro-arm64: Ok
  38 ubuntu:15.10: Ok
  39 ubuntu:16.04: Ok
  40 ubuntu:16.04-x-arm: Ok
  41 ubuntu:16.04-x-arm64: Ok
  42 ubuntu:16.04-x-powerpc: Ok
  43 ubuntu:16.04-x-powerpc64: Ok
  44 ubuntu:16.04-x-powerpc64el: Ok
  45 ubuntu:16.04-x-s390: Ok
  46 ubuntu:16.10: Ok
  47 ubuntu:17.04: Ok
  48 ubuntu:17.10: Ok
  #

  # uname -a
  Linux jouet 4.13.0-rc4+ #2 SMP Fri Aug 11 12:39:09 -03 2017 x86_64 x86_64 x86_64 GNU/Linux
  # perf test
   1: vmlinux symtab matches kallsyms                       : Ok
   2: Detect openat syscall event                           : Ok
   3: Detect openat syscall event on all cpus               : Ok
   4: Read samples using the mmap interface                 : Ok
   5: Test data source output                               : Ok
   6: Parse event definition strings                        : Ok
   7: Simple expression parser                              : Ok
   8: PERF_RECORD_* events & perf_sample fields             : Ok
   9: Parse perf pmu format                                 : Ok
  10: DSO data read                                         : Ok
  11: DSO data cache                                        : Ok
  12: DSO data reopen                                       : Ok
  13: Roundtrip evsel->name                                 : Ok
  14: Parse sched tracepoints fields                        : Ok
  15: syscalls:sys_enter_openat event fields                : Ok
  16: Setup struct perf_event_attr                          : Ok
  17: Match and link multiple hists                         : Ok
  18: 'import perf' in python                               : Ok
  19: Breakpoint overflow signal handler                    : Ok
  20: Breakpoint overflow sampling                          : Ok
  21: Number of exit events of a simple workload            : Ok
  22: Software clock events period values                   : Ok
  23: Object code reading                                   : Ok
  24: Sample parsing                                        : Ok
  25: Use a dummy software event to keep tracking           : Ok
  26: Parse with no sample_id_all bit set                   : Ok
  27: Filter hist entries                                   : Ok
  28: Lookup mmap thread                                    : Ok
  29: Share thread mg                                       : Ok
  30: Sort output of hist entries                           : Ok
  31: Cumulate child hist entries                           : Ok
  32: Track with sched_switch                               : Ok
  33: Filter fds with revents mask in a fdarray             : Ok
  34: Add fd to a fdarray, making it autogrow               : Ok
  35: kmod_path__parse                                      : Ok
  36: Thread map                                            : Ok
  37: LLVM search and compile                               :
  37.1: Basic BPF llvm compile                              : Ok
  37.2: kbuild searching                                    : Ok
  37.3: Compile source for BPF prologue generation          : Ok
  37.4: Compile source for BPF relocation                   : Ok
  38: Session topology                                      : Ok
  39: BPF filter                                            :
  39.1: Basic BPF filtering                                 : Ok
  39.2: BPF pinning                                         : Ok
  39.3: BPF prologue generation                             : Ok
  39.4: BPF relocation checker                              : Ok
  40: Synthesize thread map                                 : Ok
  41: Remove thread map                                     : Ok
  42: Synthesize cpu map                                    : Ok
  43: Synthesize stat config                                : Ok
  44: Synthesize stat                                       : Ok
  45: Synthesize stat round                                 : Ok
  46: Synthesize attr update                                : Ok
  47: Event times                                           : Ok
  48: Read backward ring buffer                             : Ok
  49: Print cpu map                                         : Ok
  50: Probe SDT events                                      : Ok
  51: is_printable_array                                    : Ok
  52: Print bitmap                                          : Ok
  53: perf hooks                                            : Ok
  54: builtin clang support                                 : Skip (not compiled in)
  55: unit_number__scnprintf                                : Ok
  56: x86 rdpmc                                             : Ok
  57: Convert perf time to TSC                              : Ok
  58: DWARF unwind                                          : Ok
  59: x86 instruction decoder - new instructions            : Ok
  60: Intel cqm nmi context read                            : Skip
  61: Use vfs_getname probe to get syscall args filenames   : Ok
  62: probe libc's inet_pton & backtrace it with ping       : Ok
  63: Check open filename arg using perf trace + vfs_getname: Ok
  64: Add vfs_getname probe to get syscall args filenames   : Ok
  #

  $ time make -C tools/perf build-test
  make: Entering directory '/home/acme/git/linux/tools/perf'
  - tarpkg: ./tests/perf-targz-src-pkg .
           make_no_libbionic_O: make NO_LIBBIONIC=1
                  make_debug_O: make DEBUG=1
       make_util_pmu_bison_o_O: make util/pmu-bison.o
             make_no_libperl_O: make NO_LIBPERL=1
                   make_help_O: make help
  make_no_libdw_dwarf_unwind_O: make NO_LIBDW_DWARF_UNWIND=1
        make_with_babeltrace_O: make LIBBABELTRACE=1
            make_no_auxtrace_O: make NO_AUXTRACE=1
            make_no_demangle_O: make NO_DEMANGLE=1
             make_no_scripts_O: make NO_LIBPYTHON=1 NO_LIBPERL=1
                   make_tags_O: make tags
                make_no_newt_O: make NO_NEWT=1
                  make_no_ui_O: make NO_NEWT=1 NO_SLANG=1 NO_GTK2=1
            make_no_libaudit_O: make NO_LIBAUDIT=1
   make_install_prefix_slash_O: make install prefix=/tmp/krava/
           make_no_libpython_O: make NO_LIBPYTHON=1
                make_no_gtk2_O: make NO_GTK2=1
             make_util_map_o_O: make util/map.o
                 make_perf_o_O: make perf.o
                    make_doc_O: make doc
                 make_static_O: make LDFLAGS=-static
           make_no_libunwind_O: make NO_LIBUNWIND=1
             make_no_libnuma_O: make NO_LIBNUMA=1
            make_install_bin_O: make install-bin
                make_minimal_O: make NO_LIBPERL=1 NO_LIBPYTHON=1 NO_NEWT=1 NO_GTK2=1 NO_DEMANGLE=1 NO_LIBELF=1 NO_LIBUNWIND=1 NO_BACKTRACE=1 NO_LIBNUMA=1 NO_LIBAUDIT=1 NO_LIBBIONIC=1 NO_LIBDW_DWARF_UNWIND=1 NO_AUXTRACE=1 NO_LIBBPF=1 NO_LIBCRYPTO=1 NO_SDT=1 NO_JVMTI=1
                   make_pure_O: make
         make_with_clangllvm_O: make LIBCLANGLLVM=1
              make_no_libelf_O: make NO_LIBELF=1
              make_no_libbpf_O: make NO_LIBBPF=1
           make_no_backtrace_O: make NO_BACKTRACE=1
         make_install_prefix_O: make install prefix=/tmp/krava
                make_install_O: make install
              make_clean_all_O: make clean all
               make_no_slang_O: make NO_SLANG=1
  OK
  $

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

* [GIT PULL 00/13] perf/core improvements and fixes
@ 2017-09-04 14:00 ` Arnaldo Carvalho de Melo
  0 siblings, 0 replies; 74+ messages in thread
From: Arnaldo Carvalho de Melo @ 2017-09-04 14:00 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, linux-perf-users, Arnaldo Carvalho de Melo,
	Adrian Hunter, Alexander Shishkin, Andi Kleen, Anton Blanchard,
	Flavio Bruno Leitner, Jack Henschel, Jiri Olsa, Kan Liang,
	linuxppc-dev, Madhavan Srinivasan, Mark Rutland,
	Michael Ellerman, Michael Petlan, Namhyung Kim, Peter Zijlstra,
	Ravi Bangoria, Stephane Eranian

Hi Ingo,

	Please consider pulling,

- Arnaldo

Test results at the end of this message, as usual.

The following changes since commit 1b2f76d77a277bb70d38ad0991ed7f16bbc115a9:

  Merge tag 'perf-core-for-mingo-4.14-20170829' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core (2017-08-29 23:13:56 +0200)

are available in the git repository at:

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

for you to fetch changes up to eba9fac017617e685d648339e29a1453a30cb065:

  perf annotate browser: Help for cycling thru hottest instructions with TAB/shift+TAB (2017-09-01 14:55:40 -0300)

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

- Support syscall name glob matching in 'perf trace' (Arnaldo Carvalho de Melo)

  e.g.:

   # perf trace -e pkey_*
   32.784 (0.006 ms): pkey/16018 pkey_alloc(init_val: DISABLE_WRITE) = -1 EINVAL Invalid argument
   32.795 (0.004 ms): pkey/16018 pkey_mprotect(start: 0x7f380d0a6000, len: 4096, prot: READ|WRITE, pkey: -1) = 0
   32.801 (0.002 ms): pkey/16018 pkey_free(pkey: -1                ) = -1 EINVAL Invalid argument
   ^C#

- Do not auto merge counts for explicitely specified events in
  'perf stat' (Arnaldo Carvalho de Melo)

- Fix syntax in documentation of .perfconfig intel-pt option (Jack Henschel)

- Calculate the average cycles of iterations for loops detected by the
  branch history support in 'perf report' (Jin Yao)

- Support PERF_SAMPLE_PHYS_ADDR as a sort key "phys_daddr" in the 'script', 'mem',
  'top' and 'report'. Also add a test entry for it in 'perf test' (Kan Liang)

- Fix 'Object code reading' 'perf test' entry in PowerPC (Ravi Bangoria)

- Remove some duplicate Power9 duplicate vendor events (described in JSON
  files) (Sukadev Bhattiprolu)

- Add help entry in the TUI annotate browser about cycling thru hottest
  instructions with TAB/shift+TAB (Arnaldo Carvalho de Melo)

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

----------------------------------------------------------------
Arnaldo Carvalho de Melo (4):
      perf syscalltbl: Support glob matching on syscall names
      perf trace: Support syscall name globbing
      perf stat: Only auto-merge events that are PMU aliases
      perf annotate browser: Help for cycling thru hottest instructions with TAB/shift+TAB

Jack Henschel (1):
      perf intel-pt: Fix syntax in documentation of config option

Jin Yao (1):
      perf report: Calculate the average cycles of iterations

Kan Liang (5):
      perf tools: Support new sample type for physical address
      perf sort: Add sort option for physical address
      perf mem: Support physical address
      perf script: Support physical address
      perf test: Add test case for PERF_SAMPLE_PHYS_ADDR

Ravi Bangoria (1):
      perf test powerpc: Fix 'Object code reading' test

Sukadev Bhattiprolu (1):
      perf vendor events powerpc: Remove duplicate events

 tools/include/uapi/linux/perf_event.h              |   4 +-
 tools/perf/Documentation/intel-pt.txt              |   2 +-
 tools/perf/Documentation/perf-mem.txt              |   4 +
 tools/perf/Documentation/perf-record.txt           |   5 +-
 tools/perf/Documentation/perf-report.txt           |   1 +
 tools/perf/Documentation/perf-script.txt           |   2 +-
 tools/perf/Documentation/perf-trace.txt            |   2 +-
 tools/perf/builtin-mem.c                           |  97 ++++++++++++-----
 tools/perf/builtin-record.c                        |   2 +
 tools/perf/builtin-script.c                        |  15 ++-
 tools/perf/builtin-stat.c                          |   2 +-
 tools/perf/builtin-trace.c                         |  39 ++++++-
 tools/perf/perf.h                                  |   1 +
 .../pmu-events/arch/powerpc/power9/frontend.json   |   7 +-
 .../perf/pmu-events/arch/powerpc/power9/other.json | 120 ---------------------
 .../pmu-events/arch/powerpc/power9/pipeline.json   |   7 +-
 tools/perf/pmu-events/arch/powerpc/power9/pmc.json |   7 +-
 tools/perf/tests/code-reading.c                    |   5 +
 tools/perf/tests/sample-parsing.c                  |   6 +-
 tools/perf/ui/browsers/annotate.c                  |   3 +-
 tools/perf/ui/browsers/hists.c                     |   8 +-
 tools/perf/ui/stdio/hist.c                         |  10 +-
 tools/perf/util/callchain.c                        |  49 ++++-----
 tools/perf/util/callchain.h                        |   9 +-
 tools/perf/util/event.h                            |   1 +
 tools/perf/util/evsel.c                            |  19 +++-
 tools/perf/util/evsel.h                            |   1 +
 tools/perf/util/hist.c                             |   4 +
 tools/perf/util/hist.h                             |   1 +
 tools/perf/util/machine.c                          |  96 ++++++++++-------
 tools/perf/util/parse-events.c                     |  24 +++--
 tools/perf/util/session.c                          |   3 +
 tools/perf/util/sort.c                             |  42 ++++++++
 tools/perf/util/sort.h                             |   1 +
 tools/perf/util/symbol.h                           |   1 +
 tools/perf/util/syscalltbl.c                       |  33 ++++++
 tools/perf/util/syscalltbl.h                       |   3 +
 37 files changed, 368 insertions(+), 268 deletions(-)

Test results:

The first ones are container (docker) based builds of tools/perf with and
without libelf support, objtool where it is supported and samples/bpf/, ditto.
Where clang is available, it is also used to build perf with/without libelf.

Several are cross builds, the ones with -x-ARCH, and the android one, and those
may not have all the features built, due to lack of multi-arch devel packages,
available and being used so far on just a few, like
debian:experimental-x-{arm64,mipsel}.

The 'perf test' one will perform a variety of tests exercising
tools/perf/util/, tools/lib/{bpf,traceevent,etc}, as well as run perf
commands with a variety of command line event specifications to then
intercept the sys_perf_event syscall to check that the perf_event_attr
fields are set up as expected, among a variety of other unit tests.

The 'perf test'  also runs shell scripts exercising the tools, checking
if they affect the system in certain ways, like setting up kprobes and
uprobes, request callchains for well known programs and check that they
are the expected ones, see if 'perf trace' beautifies system call
arguments correctly, etc.

Additionally, a new set of tests, script based, runs the tools in a live system,
setting probes in place that then gets used by 'perf trace', with its output
compared against expected results.

Then there is the 'make -C tools/perf build-test' ones, that build tools/perf/
with a variety of feature sets, exercising the build with an incomplete set of
features as well as with a complete one. It is planned to have it run on each
of the containers mentioned above, using some container orchestration
infrastructure. Get in contact if interested in helping having this in place.

# time dm
   1 alpine:3.4: Ok
   2 alpine:3.5: Ok
   3 alpine:3.6: Ok
   4 alpine:edge: Ok
   5 android-ndk:r12b-arm: Ok
   6 archlinux:latest: Ok
   7 centos:5: Ok
   8 centos:6: Ok
   9 centos:7: Ok
  10 debian:7: Ok
  11 debian:8: Ok
  12 debian:9: Ok
  13 debian:experimental: Ok
  14 debian:experimental-x-arm64: Ok
  15 debian:experimental-x-mips: Ok
  16 debian:experimental-x-mips64: Ok
  17 debian:experimental-x-mipsel: Ok
  18 fedora:20: Ok
  19 fedora:21: Ok
  20 fedora:22: Ok
  21 fedora:23: Ok
  22 fedora:24: Ok
  23 fedora:24-x-ARC-uClibc: Ok
  24 fedora:25: Ok
  25 fedora:26: Ok
  26 fedora:rawhide: Ok
  27 mageia:5: Ok
  28 opensuse:13.2: Ok
  29 opensuse:42.1: Ok
  30 opensuse:42.2: Ok
  31 opensuse:42.3: Ok
  32 opensuse:tumbleweed: Ok
  33 oraclelinux:6: Ok
  34 oraclelinux:7: Ok
  35 ubuntu:12.04.5: Ok
  36 ubuntu:14.04.4: Ok
  37 ubuntu:14.04.4-x-linaro-arm64: Ok
  38 ubuntu:15.10: Ok
  39 ubuntu:16.04: Ok
  40 ubuntu:16.04-x-arm: Ok
  41 ubuntu:16.04-x-arm64: Ok
  42 ubuntu:16.04-x-powerpc: Ok
  43 ubuntu:16.04-x-powerpc64: Ok
  44 ubuntu:16.04-x-powerpc64el: Ok
  45 ubuntu:16.04-x-s390: Ok
  46 ubuntu:16.10: Ok
  47 ubuntu:17.04: Ok
  48 ubuntu:17.10: Ok
  #

  # uname -a
  Linux jouet 4.13.0-rc4+ #2 SMP Fri Aug 11 12:39:09 -03 2017 x86_64 x86_64 x86_64 GNU/Linux
  # perf test
   1: vmlinux symtab matches kallsyms                       : Ok
   2: Detect openat syscall event                           : Ok
   3: Detect openat syscall event on all cpus               : Ok
   4: Read samples using the mmap interface                 : Ok
   5: Test data source output                               : Ok
   6: Parse event definition strings                        : Ok
   7: Simple expression parser                              : Ok
   8: PERF_RECORD_* events & perf_sample fields             : Ok
   9: Parse perf pmu format                                 : Ok
  10: DSO data read                                         : Ok
  11: DSO data cache                                        : Ok
  12: DSO data reopen                                       : Ok
  13: Roundtrip evsel->name                                 : Ok
  14: Parse sched tracepoints fields                        : Ok
  15: syscalls:sys_enter_openat event fields                : Ok
  16: Setup struct perf_event_attr                          : Ok
  17: Match and link multiple hists                         : Ok
  18: 'import perf' in python                               : Ok
  19: Breakpoint overflow signal handler                    : Ok
  20: Breakpoint overflow sampling                          : Ok
  21: Number of exit events of a simple workload            : Ok
  22: Software clock events period values                   : Ok
  23: Object code reading                                   : Ok
  24: Sample parsing                                        : Ok
  25: Use a dummy software event to keep tracking           : Ok
  26: Parse with no sample_id_all bit set                   : Ok
  27: Filter hist entries                                   : Ok
  28: Lookup mmap thread                                    : Ok
  29: Share thread mg                                       : Ok
  30: Sort output of hist entries                           : Ok
  31: Cumulate child hist entries                           : Ok
  32: Track with sched_switch                               : Ok
  33: Filter fds with revents mask in a fdarray             : Ok
  34: Add fd to a fdarray, making it autogrow               : Ok
  35: kmod_path__parse                                      : Ok
  36: Thread map                                            : Ok
  37: LLVM search and compile                               :
  37.1: Basic BPF llvm compile                              : Ok
  37.2: kbuild searching                                    : Ok
  37.3: Compile source for BPF prologue generation          : Ok
  37.4: Compile source for BPF relocation                   : Ok
  38: Session topology                                      : Ok
  39: BPF filter                                            :
  39.1: Basic BPF filtering                                 : Ok
  39.2: BPF pinning                                         : Ok
  39.3: BPF prologue generation                             : Ok
  39.4: BPF relocation checker                              : Ok
  40: Synthesize thread map                                 : Ok
  41: Remove thread map                                     : Ok
  42: Synthesize cpu map                                    : Ok
  43: Synthesize stat config                                : Ok
  44: Synthesize stat                                       : Ok
  45: Synthesize stat round                                 : Ok
  46: Synthesize attr update                                : Ok
  47: Event times                                           : Ok
  48: Read backward ring buffer                             : Ok
  49: Print cpu map                                         : Ok
  50: Probe SDT events                                      : Ok
  51: is_printable_array                                    : Ok
  52: Print bitmap                                          : Ok
  53: perf hooks                                            : Ok
  54: builtin clang support                                 : Skip (not compiled in)
  55: unit_number__scnprintf                                : Ok
  56: x86 rdpmc                                             : Ok
  57: Convert perf time to TSC                              : Ok
  58: DWARF unwind                                          : Ok
  59: x86 instruction decoder - new instructions            : Ok
  60: Intel cqm nmi context read                            : Skip
  61: Use vfs_getname probe to get syscall args filenames   : Ok
  62: probe libc's inet_pton & backtrace it with ping       : Ok
  63: Check open filename arg using perf trace + vfs_getname: Ok
  64: Add vfs_getname probe to get syscall args filenames   : Ok
  #

  $ time make -C tools/perf build-test
  make: Entering directory '/home/acme/git/linux/tools/perf'
  - tarpkg: ./tests/perf-targz-src-pkg .
           make_no_libbionic_O: make NO_LIBBIONIC=1
                  make_debug_O: make DEBUG=1
       make_util_pmu_bison_o_O: make util/pmu-bison.o
             make_no_libperl_O: make NO_LIBPERL=1
                   make_help_O: make help
  make_no_libdw_dwarf_unwind_O: make NO_LIBDW_DWARF_UNWIND=1
        make_with_babeltrace_O: make LIBBABELTRACE=1
            make_no_auxtrace_O: make NO_AUXTRACE=1
            make_no_demangle_O: make NO_DEMANGLE=1
             make_no_scripts_O: make NO_LIBPYTHON=1 NO_LIBPERL=1
                   make_tags_O: make tags
                make_no_newt_O: make NO_NEWT=1
                  make_no_ui_O: make NO_NEWT=1 NO_SLANG=1 NO_GTK2=1
            make_no_libaudit_O: make NO_LIBAUDIT=1
   make_install_prefix_slash_O: make install prefix=/tmp/krava/
           make_no_libpython_O: make NO_LIBPYTHON=1
                make_no_gtk2_O: make NO_GTK2=1
             make_util_map_o_O: make util/map.o
                 make_perf_o_O: make perf.o
                    make_doc_O: make doc
                 make_static_O: make LDFLAGS=-static
           make_no_libunwind_O: make NO_LIBUNWIND=1
             make_no_libnuma_O: make NO_LIBNUMA=1
            make_install_bin_O: make install-bin
                make_minimal_O: make NO_LIBPERL=1 NO_LIBPYTHON=1 NO_NEWT=1 NO_GTK2=1 NO_DEMANGLE=1 NO_LIBELF=1 NO_LIBUNWIND=1 NO_BACKTRACE=1 NO_LIBNUMA=1 NO_LIBAUDIT=1 NO_LIBBIONIC=1 NO_LIBDW_DWARF_UNWIND=1 NO_AUXTRACE=1 NO_LIBBPF=1 NO_LIBCRYPTO=1 NO_SDT=1 NO_JVMTI=1
                   make_pure_O: make
         make_with_clangllvm_O: make LIBCLANGLLVM=1
              make_no_libelf_O: make NO_LIBELF=1
              make_no_libbpf_O: make NO_LIBBPF=1
           make_no_backtrace_O: make NO_BACKTRACE=1
         make_install_prefix_O: make install prefix=/tmp/krava
                make_install_O: make install
              make_clean_all_O: make clean all
               make_no_slang_O: make NO_SLANG=1
  OK
  $

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

* Re: [GIT PULL 00/13] perf/core improvements and fixes
  2017-08-21 19:25 Arnaldo Carvalho de Melo
@ 2017-08-22 10:20 ` Ingo Molnar
  0 siblings, 0 replies; 74+ messages in thread
From: Ingo Molnar @ 2017-08-22 10:20 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo
  Cc: linux-kernel, linux-perf-users, Adrian Hunter, Andi Kleen,
	Daniel Díaz, David Ahern, Jiri Olsa, Martin Liška,
	Milian Wolff, Namhyung Kim, Peter Zijlstra, Taeung Song,
	Wang Nan, Arnaldo Carvalho de Melo


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

> Hi Ingo,
> 
> 	Please consider pulling,
> 
> - Arnaldo
> 
> Test results at the end of this message, as usual.
> 
> The following changes since commit 9881223c6cc0644cc3aeea41e1f19ea7e3041f33:
> 
>   Merge tag 'perf-core-for-mingo-4.14-20170816' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core (2017-08-17 09:41:56 +0200)
> 
> are available in the git repository at:
> 
>   git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git tags/perf-core-for-mingo-4.14-20170821
> 
> for you to fetch changes up to 3a555c7799de69d73826eccc9a21948a5775d4d3:
> 
>   perf annotate browser: Circulate percent, total-period and nr-samples view (2017-08-18 11:23:20 -0300)
> 
> ----------------------------------------------------------------
> perf/core improvements and fixes:
> 
> - Support --show-nr-samples in annotate's --stdio and --tui, using
>   the existing 't' toggle to circulate 'percent', 'total-period' and
>   'nr-samples' as the first column (Taeung Song)
> 
> - Support FCMask and PortMask in JSON vendor events (Andi Kleen)
> 
> - Fix off by one string allocation problem in 'perf trace' (Arnaldo Carvalho de Melo)
> 
> - Use just one parse events state struct in yyparse(), fixing one
>   reported segfault when a routine received a different data struct,
>   smaller than the one it expected to use (Arnaldo Carvalho de Melo)
> 
> - Remove unused cpu_relax() macros, they stopped being used when
>   tools/perf lived in Documentation/ (Arnaldo Carvalho de Melo)
> 
> - Fix double file test in libbpf's Makefile (Daniel Díaz):
> 
> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
> 
> ----------------------------------------------------------------
> Andi Kleen (1):
>       perf jevents: Support FCMask and PortMask
> 
> Arnaldo Carvalho de Melo (7):
>       perf trace: Fix off by one string allocation problem
>       perf events parse: Remove some needless local variables
>       perf events parse: Rename parsing state struct to clearer name
>       perf events parse: Use just one parse events state struct
>       perf events parse: Rename parse_events_parse arguments
>       perf tools: Remove unused cpu_relax() macros
>       perf tools: Use default CPUINFO_PROC where it fits
> 
> Daniel Díaz (1):
>       tools lib bpf: Fix double file test in Makefile
> 
> Taeung Song (4):
>       perf annotate stdio: Support --show-nr-samples option
>       perf annotate: Document --show-total-period option
>       perf annotate browser: Support --show-nr-samples option
>       perf annotate browser: Circulate percent, total-period and nr-samples view
> 
>  tools/lib/bpf/Makefile                     |  4 +-
>  tools/perf/Documentation/perf-annotate.txt |  6 ++
>  tools/perf/builtin-annotate.c              | 16 ++++-
>  tools/perf/builtin-trace.c                 |  2 +-
>  tools/perf/perf-sys.h                      | 28 +--------
>  tools/perf/pmu-events/jevents.c            |  2 +
>  tools/perf/tests/bpf.c                     | 16 ++---
>  tools/perf/ui/browsers/annotate.c          | 25 ++++++--
>  tools/perf/util/annotate.c                 |  6 +-
>  tools/perf/util/header.c                   |  3 -
>  tools/perf/util/parse-events.c             | 96 +++++++++++++++---------------
>  tools/perf/util/parse-events.h             | 19 +++---
>  tools/perf/util/parse-events.y             | 94 ++++++++++++++---------------
>  13 files changed, 159 insertions(+), 158 deletions(-)

Pulled, thanks a lot Arnaldo!

	Ingo

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

* [GIT PULL 00/13] perf/core improvements and fixes
@ 2017-08-21 19:25 Arnaldo Carvalho de Melo
  2017-08-22 10:20 ` Ingo Molnar
  0 siblings, 1 reply; 74+ messages in thread
From: Arnaldo Carvalho de Melo @ 2017-08-21 19:25 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, linux-perf-users, Arnaldo Carvalho de Melo,
	Adrian Hunter, Andi Kleen, Daniel Díaz, David Ahern,
	Jiri Olsa, Martin Liška, Milian Wolff, Namhyung Kim,
	Peter Zijlstra, Taeung Song, Wang Nan, Arnaldo Carvalho de Melo

Hi Ingo,

	Please consider pulling,

- Arnaldo

Test results at the end of this message, as usual.

The following changes since commit 9881223c6cc0644cc3aeea41e1f19ea7e3041f33:

  Merge tag 'perf-core-for-mingo-4.14-20170816' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core (2017-08-17 09:41:56 +0200)

are available in the git repository at:

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

for you to fetch changes up to 3a555c7799de69d73826eccc9a21948a5775d4d3:

  perf annotate browser: Circulate percent, total-period and nr-samples view (2017-08-18 11:23:20 -0300)

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

- Support --show-nr-samples in annotate's --stdio and --tui, using
  the existing 't' toggle to circulate 'percent', 'total-period' and
  'nr-samples' as the first column (Taeung Song)

- Support FCMask and PortMask in JSON vendor events (Andi Kleen)

- Fix off by one string allocation problem in 'perf trace' (Arnaldo Carvalho de Melo)

- Use just one parse events state struct in yyparse(), fixing one
  reported segfault when a routine received a different data struct,
  smaller than the one it expected to use (Arnaldo Carvalho de Melo)

- Remove unused cpu_relax() macros, they stopped being used when
  tools/perf lived in Documentation/ (Arnaldo Carvalho de Melo)

- Fix double file test in libbpf's Makefile (Daniel Díaz):

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

----------------------------------------------------------------
Andi Kleen (1):
      perf jevents: Support FCMask and PortMask

Arnaldo Carvalho de Melo (7):
      perf trace: Fix off by one string allocation problem
      perf events parse: Remove some needless local variables
      perf events parse: Rename parsing state struct to clearer name
      perf events parse: Use just one parse events state struct
      perf events parse: Rename parse_events_parse arguments
      perf tools: Remove unused cpu_relax() macros
      perf tools: Use default CPUINFO_PROC where it fits

Daniel Díaz (1):
      tools lib bpf: Fix double file test in Makefile

Taeung Song (4):
      perf annotate stdio: Support --show-nr-samples option
      perf annotate: Document --show-total-period option
      perf annotate browser: Support --show-nr-samples option
      perf annotate browser: Circulate percent, total-period and nr-samples view

 tools/lib/bpf/Makefile                     |  4 +-
 tools/perf/Documentation/perf-annotate.txt |  6 ++
 tools/perf/builtin-annotate.c              | 16 ++++-
 tools/perf/builtin-trace.c                 |  2 +-
 tools/perf/perf-sys.h                      | 28 +--------
 tools/perf/pmu-events/jevents.c            |  2 +
 tools/perf/tests/bpf.c                     | 16 ++---
 tools/perf/ui/browsers/annotate.c          | 25 ++++++--
 tools/perf/util/annotate.c                 |  6 +-
 tools/perf/util/header.c                   |  3 -
 tools/perf/util/parse-events.c             | 96 +++++++++++++++---------------
 tools/perf/util/parse-events.h             | 19 +++---
 tools/perf/util/parse-events.y             | 94 ++++++++++++++---------------
 13 files changed, 159 insertions(+), 158 deletions(-)

Test results:

The first ones are container (docker) based builds of tools/perf with and
without libelf support, objtool where it is supported and samples/bpf/, ditto.
Where clang is available, it is also used to build perf with/without libelf.

Several are cross builds, the ones with -x-ARCH, and the android one, and those
may not have all the features built, due to lack of multi-arch devel packages,
available and being used so far on just a few, like
debian:experimental-x-{arm64,mipsel}.

The 'perf test' one will perform a variety of tests exercising
tools/perf/util/, tools/lib/{bpf,traceevent,etc}, as well as run perf
commands with a variety of command line event specifications to then
intercept the sys_perf_event syscall to check that the perf_event_attr
fields are set up as expected, among a variety of other unit tests.

The 'perf test'  also runs shell scripts exercising the tools, checking
if they affect the system in certain ways, like setting up kprobes and
uprobes, request callchains for well known programs and check that they
are the expected ones, see if 'perf trace' beautifies system call
arguments correctly, etc.

Additionally, a new set of tests, script based, runs the tools in a live system,
setting probes in place that then gets used by 'perf trace', with its output
compared against expected results.

Then there is the 'make -C tools/perf build-test' ones, that build tools/perf/
with a variety of feature sets, exercising the build with an incomplete set of
features as well as with a complete one. It is planned to have it run on each
of the containers mentioned above, using some container orchestration
infrastructure. Get in contact if interested in helping having this in place.

  # dm
   1 alpine:3.4: Ok
   2 alpine:3.5: Ok
   3 alpine:3.6: Ok
   4 alpine:edge: Ok
   5 android-ndk:r12b-arm: Ok
   6 archlinux:latest: Ok
   7 centos:5: Ok
   8 centos:6: Ok
   9 centos:7: Ok
  10 debian:7: Ok
  11 debian:8: Ok
  12 debian:9: Ok
  13 debian:experimental: Ok
  14 debian:experimental-x-arm64: Ok
  15 debian:experimental-x-mips: Ok
  16 debian:experimental-x-mips64: Ok
  17 debian:experimental-x-mipsel: Ok
  18 fedora:20: Ok
  19 fedora:21: Ok
  20 fedora:22: Ok
  21 fedora:23: Ok
  22 fedora:24: Ok
  23 fedora:24-x-ARC-uClibc: Ok
  24 fedora:25: Ok
  25 fedora:26: Ok
  26 fedora:rawhide: Ok
  27 mageia:5: Ok
  28 opensuse:13.2: Ok
  29 opensuse:42.1: Ok
  30 opensuse:42.2: Ok
  31 opensuse:tumbleweed: Ok
  32 oraclelinux:6: Ok
  33 oraclelinux:7: Ok
  34 ubuntu:12.04.5: Ok
  35 ubuntu:14.04.4: Ok
  36 ubuntu:14.04.4-x-linaro-arm64: Ok
  37 ubuntu:15.10: Ok
  38 ubuntu:16.04: Ok
  39 ubuntu:16.04-x-arm: Ok
  40 ubuntu:16.04-x-arm64: Ok
  41 ubuntu:16.04-x-powerpc: Ok
  42 ubuntu:16.04-x-powerpc64: Ok
  43 ubuntu:16.04-x-powerpc64el: Ok
  44 ubuntu:16.04-x-s390: Ok
  45 ubuntu:16.10: Ok
  46 ubuntu:17.04: Ok
  47 ubuntu:17.10: Ok
  #

  # uname -a
  Linux jouet 4.13.0-rc4+ #2 SMP Fri Aug 11 12:39:09 -03 2017 x86_64 x86_64 x86_64 GNU/Linux
  # perf test
   1: vmlinux symtab matches kallsyms                       : Ok
   2: Detect openat syscall event                           : Ok
   3: Detect openat syscall event on all cpus               : Ok
   4: Read samples using the mmap interface                 : Ok
   5: Parse event definition strings                        : Ok
   6: Simple expression parser                              : Ok
   7: PERF_RECORD_* events & perf_sample fields             : Ok
   8: Parse perf pmu format                                 : Ok
   9: DSO data read                                         : Ok
  10: DSO data cache                                        : Ok
  11: DSO data reopen                                       : Ok
  12: Roundtrip evsel->name                                 : Ok
  13: Parse sched tracepoints fields                        : Ok
  14: syscalls:sys_enter_openat event fields                : Ok
  15: Setup struct perf_event_attr                          : Ok
  16: Match and link multiple hists                         : Ok
  17: 'import perf' in python                               : Ok
  18: Breakpoint overflow signal handler                    : Ok
  19: Breakpoint overflow sampling                          : Ok
  20: Number of exit events of a simple workload            : Ok
  21: Software clock events period values                   : Ok
  22: Object code reading                                   : Ok
  23: Sample parsing                                        : Ok
  24: Use a dummy software event to keep tracking           : Ok
  25: Parse with no sample_id_all bit set                   : Ok
  26: Filter hist entries                                   : Ok
  27: Lookup mmap thread                                    : Ok
  28: Share thread mg                                       : Ok
  29: Sort output of hist entries                           : Ok
  30: Cumulate child hist entries                           : Ok
  31: Track with sched_switch                               : Ok
  32: Filter fds with revents mask in a fdarray             : Ok
  33: Add fd to a fdarray, making it autogrow               : Ok
  34: kmod_path__parse                                      : Ok
  35: Thread map                                            : Ok
  36: LLVM search and compile                               :
  36.1: Basic BPF llvm compile                              : Ok
  36.2: kbuild searching                                    : Ok
  36.3: Compile source for BPF prologue generation          : Ok
  36.4: Compile source for BPF relocation                   : Ok
  37: Session topology                                      : Ok
  38: BPF filter                                            :
  38.1: Basic BPF filtering                                 : Ok
  38.2: BPF pinning                                         : Ok
  38.3: BPF prologue generation                             : Ok
  38.4: BPF relocation checker                              : Ok
  39: Synthesize thread map                                 : Ok
  40: Remove thread map                                     : Ok
  41: Synthesize cpu map                                    : Ok
  42: Synthesize stat config                                : Ok
  43: Synthesize stat                                       : Ok
  44: Synthesize stat round                                 : Ok
  45: Synthesize attr update                                : Ok
  46: Event times                                           : Ok
  47: Read backward ring buffer                             : Ok
  48: Print cpu map                                         : Ok
  49: Probe SDT events                                      : Ok
  50: is_printable_array                                    : Ok
  51: Print bitmap                                          : Ok
  52: perf hooks                                            : Ok
  53: builtin clang support                                 : Skip (not compiled in)
  54: unit_number__scnprintf                                : Ok
  55: x86 rdpmc                                             : Ok
  56: Convert perf time to TSC                              : Ok
  57: DWARF unwind                                          : Ok
  58: x86 instruction decoder - new instructions            : Ok
  59: Intel cqm nmi context read                            : Skip
  60: Use vfs_getname probe to get syscall args filenames   : Ok
  61: probe libc's inet_pton & backtrace it with ping       : Ok
  62: Check open filename arg using perf trace + vfs_getname: Ok
  63: Add vfs_getname probe to get syscall args filenames   : Ok
  #

  $ make -C tools/perf build-test
  make: Entering directory '/home/acme/git/linux/tools/perf'
  - tarpkg: ./tests/perf-targz-src-pkg .
             make_util_map_o_O: make util/map.o
           make_no_libbionic_O: make NO_LIBBIONIC=1
                make_install_O: make install
                   make_tags_O: make tags
                   make_pure_O: make
            make_no_auxtrace_O: make NO_AUXTRACE=1
             make_no_libperl_O: make NO_LIBPERL=1
       make_util_pmu_bison_o_O: make util/pmu-bison.o
                    make_doc_O: make doc
              make_no_libelf_O: make NO_LIBELF=1
               make_no_slang_O: make NO_SLANG=1
                   make_help_O: make help
            make_no_libaudit_O: make NO_LIBAUDIT=1
                 make_perf_o_O: make perf.o
                  make_debug_O: make DEBUG=1
                make_minimal_O: make NO_LIBPERL=1 NO_LIBPYTHON=1 NO_NEWT=1 NO_GTK2=1 NO_DEMANGLE=1 NO_LIBELF=1 NO_LIBUNWIND=1 NO_BACKTRACE=1 NO_LIBNUMA=1 NO_LIBAUDIT=1 NO_LIBBIONIC=1 NO_LIBDW_DWARF_UNWIND=1 NO_AUXTRACE=1 NO_LIBBPF=1 NO_LIBCRYPTO=1 NO_SDT=1 NO_JVMTI=1
                  make_no_ui_O: make NO_NEWT=1 NO_SLANG=1 NO_GTK2=1
             make_no_libnuma_O: make NO_LIBNUMA=1
         make_install_prefix_O: make install prefix=/tmp/krava
        make_with_babeltrace_O: make LIBBABELTRACE=1
           make_no_libpython_O: make NO_LIBPYTHON=1
   make_install_prefix_slash_O: make install prefix=/tmp/krava/
           make_no_libunwind_O: make NO_LIBUNWIND=1
            make_install_bin_O: make install-bin
             make_no_scripts_O: make NO_LIBPYTHON=1 NO_LIBPERL=1
  make_no_libdw_dwarf_unwind_O: make NO_LIBDW_DWARF_UNWIND=1
              make_no_libbpf_O: make NO_LIBBPF=1
                make_no_gtk2_O: make NO_GTK2=1
         make_with_clangllvm_O: make LIBCLANGLLVM=1
              make_clean_all_O: make clean all
            make_no_demangle_O: make NO_DEMANGLE=1
                make_no_newt_O: make NO_NEWT=1
           make_no_backtrace_O: make NO_BACKTRACE=1
  OK
  make: Leaving directory '/home/acme/git/linux/tools/perf'
  $

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

* Re: [GIT PULL 00/13] perf/core improvements and fixes
  2017-04-05  0:17 Arnaldo Carvalho de Melo
@ 2017-04-05  5:41 ` Ingo Molnar
  0 siblings, 0 replies; 74+ messages in thread
From: Ingo Molnar @ 2017-04-05  5:41 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo
  Cc: linux-kernel, Alexander Shishkin, Alexis Berlemont, Andi Kleen,
	Hemant Kumar, Jiri Olsa, Martin Liska, Masami Hiramatsu,
	Michael Ellerman, Namhyung Kim, Naveen N . Rao, Peter Zijlstra,
	Ravi Bangoria, Taeung Song, Wang Nan, Arnaldo Carvalho de Melo


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

> Hi Ingo,
> 
> 	Please consider pulling,
> 
> - Arnaldo
> 
> Test results at the end of this message, as usual.
> 
> The following changes since commit fcc309e618c9e9ac4ede010d87522b0689549658:
> 
>   Merge tag 'perf-core-for-mingo-4.12-20170331' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core (2017-04-01 12:43:40 +0200)
> 
> are available in the git repository at:
> 
>   git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git tags/perf-core-for-mingo-4.12-20170404
> 
> for you to fetch changes up to 99094a5e941fe88d95cbd594e6a41bee24003ecb:
> 
>   perf annotate: Fix missing number of samples for source_line_samples (2017-04-04 21:08:00 -0300)
> 
> ----------------------------------------------------------------
> perf/core improvements and fixes:
> 
> User visible:
> 
> - Add missing number of samples in 'perf annotate --stdio -l --show-total-period'
>   (Taeung Song)
> 
> Vendor events updates:
> 
> - Add uncore_arb Intel vendor events in JSON format (Andi Kleen)
> 
> - Add uncore vendor events for Intel's Sandy Bridge, Ivy Bridge,
>   Haswell, Broadwell and Skylake architectures (Andi Kleen)
> 
> - Add missing UNC_M_DCLOCKTICKS Intel Broadwell DE uncore vendor event (Andi Kleen)
> 
> Infrastructure:
> 
> - Remove some more die() calls, avoiding sudden death in library code
>   (Arnaldo Carvalho de Melo)
> 
> - Add argument support for SDT events in powerpc (Ravi Bangoria)
> 
> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
> 
> ----------------------------------------------------------------
> Andi Kleen (8):
>       perf vendor events intel: Add missing UNC_M_DCLOCKTICKS for Broadwell DE uncore
>       perf vendor events intel: Add uncore events for Sandy Bridge client
>       perf vendor events intel: Add uncore events for Ivy Bridge client
>       perf vendor events intel: Add uncore events for Haswell client
>       perf vendor events intel: Add uncore events for Broadwell client
>       perf vendor events intel: Add uncore events for Skylake client
>       perf vendor events intel: Add uncore_arb JSON support
>       perf vendor events intel: Add missing space in json descriptions
> 
> Arnaldo Carvalho de Melo (4):
>       Merge branch 'perf/uncore-json-updates-1' of git://git.kernel.org/.../ak/linux-misc into perf/core
>       perf tools: Remove die() call
>       perf tools: Handle allocation failures gracefully
>       perf tools: Don't die on a print function
> 
> Ravi Bangoria (1):
>       perf sdt powerpc: Add argument support
> 
> Taeung Song (1):
>       perf annotate: Fix missing number of samples for source_line_samples
> 
>  tools/perf/arch/powerpc/util/perf_regs.c           | 111 ++++++
>  tools/perf/perf.c                                  |   3 +-
>  .../perf/pmu-events/arch/x86/broadwell/uncore.json | 278 +++++++++++++++
>  .../arch/x86/broadwellde/uncore-memory.json        |  13 +-
>  tools/perf/pmu-events/arch/x86/haswell/uncore.json | 374 +++++++++++++++++++++
>  .../perf/pmu-events/arch/x86/ivybridge/uncore.json | 314 +++++++++++++++++
>  .../pmu-events/arch/x86/sandybridge/uncore.json    | 314 +++++++++++++++++
>  tools/perf/pmu-events/arch/x86/skylake/uncore.json | 254 ++++++++++++++
>  tools/perf/pmu-events/jevents.c                    |   2 +
>  tools/perf/util/annotate.c                         |   6 +-
>  tools/perf/util/annotate.h                         |   2 +-
>  tools/perf/util/values.c                           |  63 +++-
>  12 files changed, 1710 insertions(+), 24 deletions(-)
>  create mode 100644 tools/perf/pmu-events/arch/x86/broadwell/uncore.json
>  create mode 100644 tools/perf/pmu-events/arch/x86/haswell/uncore.json
>  create mode 100644 tools/perf/pmu-events/arch/x86/ivybridge/uncore.json
>  create mode 100644 tools/perf/pmu-events/arch/x86/sandybridge/uncore.json
>  create mode 100644 tools/perf/pmu-events/arch/x86/skylake/uncore.json

Pulled, thanks a lot Arnaldo!

	Ingo

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

* [GIT PULL 00/13] perf/core improvements and fixes
@ 2017-04-05  0:17 Arnaldo Carvalho de Melo
  2017-04-05  5:41 ` Ingo Molnar
  0 siblings, 1 reply; 74+ messages in thread
From: Arnaldo Carvalho de Melo @ 2017-04-05  0:17 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, Arnaldo Carvalho de Melo, Alexander Shishkin,
	Alexis Berlemont, Andi Kleen, Hemant Kumar, Jiri Olsa,
	Martin Liska, Masami Hiramatsu, Michael Ellerman, Namhyung Kim,
	Naveen N . Rao, Peter Zijlstra, Ravi Bangoria, Taeung Song,
	Wang Nan, Arnaldo Carvalho de Melo

Hi Ingo,

	Please consider pulling,

- Arnaldo

Test results at the end of this message, as usual.

The following changes since commit fcc309e618c9e9ac4ede010d87522b0689549658:

  Merge tag 'perf-core-for-mingo-4.12-20170331' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core (2017-04-01 12:43:40 +0200)

are available in the git repository at:

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

for you to fetch changes up to 99094a5e941fe88d95cbd594e6a41bee24003ecb:

  perf annotate: Fix missing number of samples for source_line_samples (2017-04-04 21:08:00 -0300)

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

User visible:

- Add missing number of samples in 'perf annotate --stdio -l --show-total-period'
  (Taeung Song)

Vendor events updates:

- Add uncore_arb Intel vendor events in JSON format (Andi Kleen)

- Add uncore vendor events for Intel's Sandy Bridge, Ivy Bridge,
  Haswell, Broadwell and Skylake architectures (Andi Kleen)

- Add missing UNC_M_DCLOCKTICKS Intel Broadwell DE uncore vendor event (Andi Kleen)

Infrastructure:

- Remove some more die() calls, avoiding sudden death in library code
  (Arnaldo Carvalho de Melo)

- Add argument support for SDT events in powerpc (Ravi Bangoria)

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

----------------------------------------------------------------
Andi Kleen (8):
      perf vendor events intel: Add missing UNC_M_DCLOCKTICKS for Broadwell DE uncore
      perf vendor events intel: Add uncore events for Sandy Bridge client
      perf vendor events intel: Add uncore events for Ivy Bridge client
      perf vendor events intel: Add uncore events for Haswell client
      perf vendor events intel: Add uncore events for Broadwell client
      perf vendor events intel: Add uncore events for Skylake client
      perf vendor events intel: Add uncore_arb JSON support
      perf vendor events intel: Add missing space in json descriptions

Arnaldo Carvalho de Melo (4):
      Merge branch 'perf/uncore-json-updates-1' of git://git.kernel.org/.../ak/linux-misc into perf/core
      perf tools: Remove die() call
      perf tools: Handle allocation failures gracefully
      perf tools: Don't die on a print function

Ravi Bangoria (1):
      perf sdt powerpc: Add argument support

Taeung Song (1):
      perf annotate: Fix missing number of samples for source_line_samples

 tools/perf/arch/powerpc/util/perf_regs.c           | 111 ++++++
 tools/perf/perf.c                                  |   3 +-
 .../perf/pmu-events/arch/x86/broadwell/uncore.json | 278 +++++++++++++++
 .../arch/x86/broadwellde/uncore-memory.json        |  13 +-
 tools/perf/pmu-events/arch/x86/haswell/uncore.json | 374 +++++++++++++++++++++
 .../perf/pmu-events/arch/x86/ivybridge/uncore.json | 314 +++++++++++++++++
 .../pmu-events/arch/x86/sandybridge/uncore.json    | 314 +++++++++++++++++
 tools/perf/pmu-events/arch/x86/skylake/uncore.json | 254 ++++++++++++++
 tools/perf/pmu-events/jevents.c                    |   2 +
 tools/perf/util/annotate.c                         |   6 +-
 tools/perf/util/annotate.h                         |   2 +-
 tools/perf/util/values.c                           |  63 +++-
 12 files changed, 1710 insertions(+), 24 deletions(-)
 create mode 100644 tools/perf/pmu-events/arch/x86/broadwell/uncore.json
 create mode 100644 tools/perf/pmu-events/arch/x86/haswell/uncore.json
 create mode 100644 tools/perf/pmu-events/arch/x86/ivybridge/uncore.json
 create mode 100644 tools/perf/pmu-events/arch/x86/sandybridge/uncore.json
 create mode 100644 tools/perf/pmu-events/arch/x86/skylake/uncore.json

Test results:

The first ones are container (docker) based builds of tools/perf with and
without libelf support, objtool where it is supported and samples/bpf/, ditto.
Where clang is available, it is also used to build perf with/without libelf.

For this specific pull request the samples/bpf/ was disabled, as 'make headers_install'
is failing with the following error, in this case in fedora:rawhide:

    INSTALL usr/include/uapi/ (0 file)
  /git/linux/scripts/Makefile.headersinst:62: *** Missing generated UAPI file ./arch/x86/include/generated/uapi/asm/unistd_32.h.  Stop.
  make[1]: *** [/git/linux/Makefile:1151: headers_install] Error 2
  make[1]: Leaving directory '/tmp/build/linux'
  make: *** [Makefile:152: sub-make] Error 2
  make: Leaving directory '/git/linux'

I'll investigate later, perf and objtool builds just fine, with clang and gcc.

Several are cross builds, the ones with -x-ARCH, and the android one, and those
may not have all the features built, due to lack of multi-arch devel packages,
available and being used so far on just a few, like
debian:experimental-x-{arm64,mipsel}.

The 'perf test' one will perform a variety of tests exercising
tools/perf/util/, tools/lib/{bpf,traceevent,etc}, as well as run perf commands
with a variety of command line event specifications to then intercept the
sys_perf_event syscall to check that the perf_event_attr fields are set up as
expected, among a variety of other unit tests.

Then there is the 'make -C tools/perf build-test' ones, that build tools/perf/
with a variety of feature sets, exercising the build with an incomplete set of
features as well as with a complete one. It is planned to have it run on each
of the containers mentioned above, using some container orchestration
infrastructure. Get in contact if interested in helping having this in place.

  # dm
   1 alpine:3.4: Ok
   2 alpine:3.5: Ok
   3 alpine:edge: Ok
   4 android-ndk:r12b-arm: Ok
   5 archlinux:latest: Ok
   6 centos:5: Ok
   7 centos:6: Ok
   8 centos:7: Ok
   9 debian:7: Ok
  10 debian:8: Ok
  11 debian:9: Ok
  12 debian:experimental: Ok
  13 debian:experimental-x-arm64: Ok
  14 debian:experimental-x-mips: Ok
  15 debian:experimental-x-mips64: Ok
  16 debian:experimental-x-mipsel: Ok
  17 fedora:20: Ok
  18 fedora:21: Ok
  19 fedora:22: Ok
  20 fedora:23: Ok
  21 fedora:24: Ok
  22 fedora:24-x-ARC-uClibc: Ok
  23 fedora:25: Ok
  24 fedora:rawhide: Ok
  25 mageia:5: Ok
  26 opensuse:13.2: Ok
  27 opensuse:42.1: Ok
  28 opensuse:tumbleweed: Ok
  29 ubuntu:12.04.5: Ok
  30 ubuntu:14.04.4: Ok
  31 ubuntu:14.04.4-x-linaro-arm64: Ok
  32 ubuntu:15.10: Ok
  33 ubuntu:16.04: Ok
  34 ubuntu:16.04-x-arm: Ok
  35 ubuntu:16.04-x-arm64: Ok
  36 ubuntu:16.04-x-powerpc: Ok
  37 ubuntu:16.04-x-powerpc64: Ok
  38 ubuntu:16.04-x-s390: Ok
  39 ubuntu:16.10: Ok
  40 ubuntu:17.04: Ok
  # 
  # uname -a
  Linux jouet 4.11.0-rc2+ #5 SMP Mon Mar 20 18:12:29 -03 2017 x86_64 x86_64 x86_64 GNU/Linux
  # 'perf test tsc' already fixed by peterz in tip, need to update this kernel :-\
  # perf test
   1: vmlinux symtab matches kallsyms            : Ok
   2: Detect openat syscall event                : Ok
   3: Detect openat syscall event on all cpus    : Ok
   4: Read samples using the mmap interface      : Ok
   5: Parse event definition strings             : Ok
   6: Simple expression parser                   : Ok
   7: PERF_RECORD_* events & perf_sample fields  : Ok
   8: Parse perf pmu format                      : Ok
   9: DSO data read                              : Ok
  10: DSO data cache                             : Ok
  11: DSO data reopen                            : Ok
  12: Roundtrip evsel->name                      : Ok
  13: Parse sched tracepoints fields             : Ok
  14: syscalls:sys_enter_openat event fields     : Ok
  15: Setup struct perf_event_attr               : Ok
  16: Match and link multiple hists              : Ok
  17: 'import perf' in python                    : Ok
  18: Breakpoint overflow signal handler         : Ok
  19: Breakpoint overflow sampling               : Ok
  20: Number of exit events of a simple workload : Ok
  21: Software clock events period values        : Ok
  22: Object code reading                        : Ok
  23: Sample parsing                             : Ok
  24: Use a dummy software event to keep tracking: Ok
  25: Parse with no sample_id_all bit set        : Ok
  26: Filter hist entries                        : Ok
  27: Lookup mmap thread                         : Ok
  28: Share thread mg                            : Ok
  29: Sort output of hist entries                : Ok
  30: Cumulate child hist entries                : Ok
  31: Track with sched_switch                    : Ok
  32: Filter fds with revents mask in a fdarray  : Ok
  33: Add fd to a fdarray, making it autogrow    : Ok
  34: kmod_path__parse                           : Ok
  35: Thread map                                 : Ok
  36: LLVM search and compile                    :
  36.1: Basic BPF llvm compile                    : Ok
  36.2: kbuild searching                          : Ok
  36.3: Compile source for BPF prologue generation: Ok
  36.4: Compile source for BPF relocation         : Ok
  37: Session topology                           : Ok
  38: BPF filter                                 :
  38.1: Basic BPF filtering                      : Ok
  38.2: BPF pinning                              : Ok
  38.3: BPF prologue generation                  : Ok
  38.4: BPF relocation checker                   : Ok
  39: Synthesize thread map                      : Ok
  40: Remove thread map                          : Ok
  41: Synthesize cpu map                         : Ok
  42: Synthesize stat config                     : Ok
  43: Synthesize stat                            : Ok
  44: Synthesize stat round                      : Ok
  45: Synthesize attr update                     : Ok
  46: Event times                                : Ok
  47: Read backward ring buffer                  : Ok
  48: Print cpu map                              : Ok
  49: Probe SDT events                           : Ok
  50: is_printable_array                         : Ok
  51: Print bitmap                               : Ok
  52: perf hooks                                 : Ok
  53: builtin clang support                      : Skip (not compiled in)
  54: unit_number__scnprintf                     : Ok
  55: x86 rdpmc                                  : Ok
  56: Convert perf time to TSC                   : FAILED!
  57: DWARF unwind                               : Ok
  58: x86 instruction decoder - new instructions : Ok
  59: Intel cqm nmi context read                 : Skip
  #

  $ make -C tools/perf build-test
  make: Entering directory '/home/acme/git/linux/tools/perf'
  - tarpkg: ./tests/perf-targz-src-pkg .
                  make_debug_O: make DEBUG=1
               make_no_slang_O: make NO_SLANG=1
        make_with_babeltrace_O: make LIBBABELTRACE=1
             make_no_libnuma_O: make NO_LIBNUMA=1
                   make_help_O: make help
                   make_tags_O: make tags
                make_no_newt_O: make NO_NEWT=1
           make_no_libbionic_O: make NO_LIBBIONIC=1
                 make_perf_o_O: make perf.o
             make_no_scripts_O: make NO_LIBPYTHON=1 NO_LIBPERL=1
            make_no_auxtrace_O: make NO_AUXTRACE=1
              make_clean_all_O: make clean all
           make_no_libunwind_O: make NO_LIBUNWIND=1
             make_no_libperl_O: make NO_LIBPERL=1
                   make_pure_O: make
                make_no_gtk2_O: make NO_GTK2=1
              make_no_libelf_O: make NO_LIBELF=1
  make_no_libdw_dwarf_unwind_O: make NO_LIBDW_DWARF_UNWIND=1
       make_util_pmu_bison_o_O: make util/pmu-bison.o
                make_install_O: make install
            make_no_libaudit_O: make NO_LIBAUDIT=1
            make_install_bin_O: make install-bin
           make_no_libpython_O: make NO_LIBPYTHON=1
         make_with_clangllvm_O: make LIBCLANGLLVM=1
   make_install_prefix_slash_O: make install prefix=/tmp/krava/
                  make_no_ui_O: make NO_NEWT=1 NO_SLANG=1 NO_GTK2=1
             make_util_map_o_O: make util/map.o
            make_no_demangle_O: make NO_DEMANGLE=1
           make_no_backtrace_O: make NO_BACKTRACE=1
         make_install_prefix_O: make install prefix=/tmp/krava
                    make_doc_O: make doc
              make_no_libbpf_O: make NO_LIBBPF=1
                make_minimal_O: make NO_LIBPERL=1 NO_LIBPYTHON=1 NO_NEWT=1 NO_GTK2=1 NO_DEMANGLE=1 NO_LIBELF=1 NO_LIBUNWIND=1 NO_BACKTRACE=1 NO_LIBNUMA=1 NO_LIBAUDIT=1 NO_LIBBIONIC=1 NO_LIBDW_DWARF_UNWIND=1 NO_AUXTRACE=1 NO_LIBBPF=1 NO_LIBCRYPTO=1 NO_SDT=1 NO_JVMTI=1
                 make_static_O: make LDFLAGS=-static
  OK
  make: Leaving directory '/home/acme/git/linux/tools/perf'
  $

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

* Re: [GIT PULL 00/13] perf/core improvements and fixes
  2017-01-11 20:21 Arnaldo Carvalho de Melo
@ 2017-01-12  8:25 ` Ingo Molnar
  0 siblings, 0 replies; 74+ messages in thread
From: Ingo Molnar @ 2017-01-12  8:25 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo
  Cc: linux-kernel, Adrian Hunter, Alexander Shishkin, David Ahern,
	Jiri Olsa, Josh Poimboeuf, Ladi Prosek, Laura Abbott,
	Masami Hiramatsu, Milian Wolff, Namhyung Kim, Paolo Bonzini,
	Peter Zijlstra, Soramichi AKIYAMA, Wang Nan,
	Arnaldo Carvalho de Melo


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

> Hi Ingo,
> 
> 	Please consider pulling,
> 
> - Arnaldo
> 
> Test results at the end of this message, as usual.
> 
> * The following description will move to the end in the next pull requests *
> 
> The first ones are container (docker) based builds of tools/perf with and
> without libelf support, objtool where it is supported and samples/bpf/, ditto.
> 
> Several are cross builds, the ones with -x-ARCH, and the android one, and those
> may not have all the features built, due to lack of multi-arch devel packages,
> available and being used so far on just a few, like
> debian:experimental-x-{arm64,mipsel}.
> 
> The 'perf test' one will perform a variety of tests exercising
> tools/perf/util/, tools/lib/{bpf,traceevent,etc}, as well as run perf commands
> with a variety of command line event specifications to then intercept the
> sys_perf_event syscall to check that the perf_event_attr fields are set up as
> expected, among a variety of other unit tests.
> 
> Then there is the 'make -C tools/perf build-test' ones, that build tools/perf/
> with a variety of feature sets, exercising the build with an incomplete set of
> features as well as with a complete one. It is planned to have it run on each
> of the containers mentioned above, using some container orchestration
> infrastructure. Get in contact if interested in helping having this in place.
> 
> The following changes since commit ad5013d5699d30ded0cdbbc68b93b2aa28222c6e:
> 
>   perf/x86/intel: Use ULL constant to prevent undefined shift behaviour (2017-01-11 16:43:30 +0100)
> 
> are available in the git repository at:
> 
>   git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git tags/perf-core-for-mingo-4.11-20170111
> 
> for you to fetch changes up to 675f52b23743f396c585fc9d135435be37f320d8:
> 
>   tools: Sync x86's vmx.h with the kernel (2017-01-11 16:48:02 -0300)
> 
> ----------------------------------------------------------------
> perf/core improvements and fixes:
> 
> New features:
> 
> - Add more triggers to switch the output file (perf.data.TIMESTAMP).
> 
>   Now, in addition to switching to a different output file when
>   receiving a SIGUSR2, one can also specify file size and time based
>   triggers:
> 
>        perf record -a --switch-output=signal
> 
>   is equivalent to what we had before:
> 
>        perf record -a --switch-output
> 
>   While we can also ask for the file to be "sliced" by size, taking
>   into account that that will happen only when we get woken up by
>   the kernel, i.e. one has to take into account the --mmap-pages (the
>   size of the perf mmap ring buffer):
> 
>        perf record -a --switch-output=2G
> 
>   will break the perf.data output into multiple files limited to 2GB
>   of samples, right when generating the output.
> 
>   For time based samples, alert() will be used, so to have 1 minute
>   limited perf.data output files:
> 
>       perf record -a --switch-output=1m
> 
>   (Jiri Olsa)
> 
> - Remove the need to use -e only for syscalls and --event only for
>   tracepoints/HW/SW/etc events, i.e. now one can use:
> 
>       perf trace -e nanosleep,futex,sched:sched_switch ./workload
> 
>   or:
> 
>       perf trace --event nanosleep,futex,sched:sched_switch ./workload
> 
>   And have it tracing raw_syscalls:sys_{enter,exit} for the nanosleep
>   and futex syscalls, formatting those as strace does while also
>   tracing sched:sched_switch, ordering it all into one strace like
>   output.
> 
>   Using '!' as the first character in the -e/--event argument remains
>   a way to negate the list of syscalls, i.e. all syscalls except for
>   the ones specified, doesn't affect the other kinds of events.
> 
>   E.g:
> 
>   [root@jouet ~] # perf trace -e sched:sched_switch,nanosleep usleep 1
>      0.000 ( 0.028 ms): usleep/28150 nanosleep(rqtp: 0x7ffe4201b9f0) ...
>      0.028 (         ): sched:sched_switch:usleep:28150 [120] S ==> swapper/0:0 [120])
>      0.000 ( 0.065 ms): usleep/28150  ... [continued]: nanosleep()) = 0
>   [root@jouet ~]#
> 
>   (Arnaldo Carvalho de Melo)
> 
> - 'perf kallsyms' toy tool to look for extended symbol information on
>   the running kernel and demonstrate the machine/thread/symbol APIs for
>   use in other tools, such as 'perf probe' (Arnaldo Carvalho de Melo)
> 
> Infrastructure:
> 
> - Add missing linux/kernel.h include to subcmd.h (Arnaldo Carvalho de Melo)
>   tools: Sync x86's vmx.h with the kernel
> 
> - Create libdir directory before installing libperf-jvmti.so (Laura Abbott)
> 
> - Fix typo in perf_evlist__start_workload() (Soramichi Akiyama)
> 
> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
> 
> ----------------------------------------------------------------
> Arnaldo Carvalho de Melo (5):
>       tools lib subcmd: Add missing linux/kernel.h include to subcmd.h
>       perf machine: Add a kallsyms loading constructor
>       perf kallsyms: Introduce tool to look for extended symbol information on the running kernel
>       perf trace: Allow specifying list of syscalls and events in -e/--expr/--event
>       tools: Sync x86's vmx.h with the kernel
> 
> Jiri Olsa (6):
>       perf tools: Add unit_number__scnprintf function
>       perf record: Add struct switch_output
>       perf record: Change switch-output option to take optional argument
>       perf record: Add switch-output size option argument
>       perf record: Add switch-output size warning
>       perf record: Add switch-output time option argument
> 
> Laura Abbott (1):
>       perf jvmti: Create libdir directory before installing libperf-jvmti.so
> 
> Soramichi Akiyama (1):
>       perf evlist: Fix typo in perf_evlist__start_workload()
> 
>  tools/arch/x86/include/uapi/asm/vmx.h      |   5 +
>  tools/lib/subcmd/parse-options.h           |   1 +
>  tools/perf/Build                           |   1 +
>  tools/perf/Documentation/perf-kallsyms.txt |  24 +++++
>  tools/perf/Documentation/perf-record.txt   |  14 ++-
>  tools/perf/Documentation/perf-trace.txt    |   8 +-
>  tools/perf/Makefile.perf                   |   1 +
>  tools/perf/builtin-help.c                  |   2 +-
>  tools/perf/builtin-kallsyms.c              |  67 +++++++++++++
>  tools/perf/builtin-record.c                | 154 ++++++++++++++++++++++++++---
>  tools/perf/builtin-trace.c                 | 120 ++++++++++++++++------
>  tools/perf/builtin.h                       |   1 +
>  tools/perf/command-list.txt                |   1 +
>  tools/perf/perf.c                          |   1 +
>  tools/perf/tests/Build                     |   1 +
>  tools/perf/tests/builtin-test.c            |   4 +
>  tools/perf/tests/tests.h                   |   1 +
>  tools/perf/tests/unit_number__scnprintf.c  |  37 +++++++
>  tools/perf/util/evlist.c                   |  12 ++-
>  tools/perf/util/evlist.h                   |   2 +
>  tools/perf/util/machine.c                  |  19 ++++
>  tools/perf/util/machine.h                  |   1 +
>  tools/perf/util/util.c                     |  13 +++
>  tools/perf/util/util.h                     |   1 +
>  24 files changed, 439 insertions(+), 52 deletions(-)
>  create mode 100644 tools/perf/Documentation/perf-kallsyms.txt
>  create mode 100644 tools/perf/builtin-kallsyms.c
>  create mode 100644 tools/perf/tests/unit_number__scnprintf.c

Pulled, thanks a lot Arnaldo!

	Ingo

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

* [GIT PULL 00/13] perf/core improvements and fixes
@ 2017-01-11 20:21 Arnaldo Carvalho de Melo
  2017-01-12  8:25 ` Ingo Molnar
  0 siblings, 1 reply; 74+ messages in thread
From: Arnaldo Carvalho de Melo @ 2017-01-11 20:21 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, Arnaldo Carvalho de Melo, Adrian Hunter,
	Alexander Shishkin, David Ahern, Jiri Olsa, Josh Poimboeuf,
	Ladi Prosek, Laura Abbott, Masami Hiramatsu, Milian Wolff,
	Namhyung Kim, Paolo Bonzini, Peter Zijlstra, Soramichi AKIYAMA,
	Wang Nan, Arnaldo Carvalho de Melo

Hi Ingo,

	Please consider pulling,

- Arnaldo

Test results at the end of this message, as usual.

* The following description will move to the end in the next pull requests *

The first ones are container (docker) based builds of tools/perf with and
without libelf support, objtool where it is supported and samples/bpf/, ditto.

Several are cross builds, the ones with -x-ARCH, and the android one, and those
may not have all the features built, due to lack of multi-arch devel packages,
available and being used so far on just a few, like
debian:experimental-x-{arm64,mipsel}.

The 'perf test' one will perform a variety of tests exercising
tools/perf/util/, tools/lib/{bpf,traceevent,etc}, as well as run perf commands
with a variety of command line event specifications to then intercept the
sys_perf_event syscall to check that the perf_event_attr fields are set up as
expected, among a variety of other unit tests.

Then there is the 'make -C tools/perf build-test' ones, that build tools/perf/
with a variety of feature sets, exercising the build with an incomplete set of
features as well as with a complete one. It is planned to have it run on each
of the containers mentioned above, using some container orchestration
infrastructure. Get in contact if interested in helping having this in place.

The following changes since commit ad5013d5699d30ded0cdbbc68b93b2aa28222c6e:

  perf/x86/intel: Use ULL constant to prevent undefined shift behaviour (2017-01-11 16:43:30 +0100)

are available in the git repository at:

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

for you to fetch changes up to 675f52b23743f396c585fc9d135435be37f320d8:

  tools: Sync x86's vmx.h with the kernel (2017-01-11 16:48:02 -0300)

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

New features:

- Add more triggers to switch the output file (perf.data.TIMESTAMP).

  Now, in addition to switching to a different output file when
  receiving a SIGUSR2, one can also specify file size and time based
  triggers:

       perf record -a --switch-output=signal

  is equivalent to what we had before:

       perf record -a --switch-output

  While we can also ask for the file to be "sliced" by size, taking
  into account that that will happen only when we get woken up by
  the kernel, i.e. one has to take into account the --mmap-pages (the
  size of the perf mmap ring buffer):

       perf record -a --switch-output=2G

  will break the perf.data output into multiple files limited to 2GB
  of samples, right when generating the output.

  For time based samples, alert() will be used, so to have 1 minute
  limited perf.data output files:

      perf record -a --switch-output=1m

  (Jiri Olsa)

- Remove the need to use -e only for syscalls and --event only for
  tracepoints/HW/SW/etc events, i.e. now one can use:

      perf trace -e nanosleep,futex,sched:sched_switch ./workload

  or:

      perf trace --event nanosleep,futex,sched:sched_switch ./workload

  And have it tracing raw_syscalls:sys_{enter,exit} for the nanosleep
  and futex syscalls, formatting those as strace does while also
  tracing sched:sched_switch, ordering it all into one strace like
  output.

  Using '!' as the first character in the -e/--event argument remains
  a way to negate the list of syscalls, i.e. all syscalls except for
  the ones specified, doesn't affect the other kinds of events.

  E.g:

  [root@jouet ~] # perf trace -e sched:sched_switch,nanosleep usleep 1
     0.000 ( 0.028 ms): usleep/28150 nanosleep(rqtp: 0x7ffe4201b9f0) ...
     0.028 (         ): sched:sched_switch:usleep:28150 [120] S ==> swapper/0:0 [120])
     0.000 ( 0.065 ms): usleep/28150  ... [continued]: nanosleep()) = 0
  [root@jouet ~]#

  (Arnaldo Carvalho de Melo)

- 'perf kallsyms' toy tool to look for extended symbol information on
  the running kernel and demonstrate the machine/thread/symbol APIs for
  use in other tools, such as 'perf probe' (Arnaldo Carvalho de Melo)

Infrastructure:

- Add missing linux/kernel.h include to subcmd.h (Arnaldo Carvalho de Melo)
  tools: Sync x86's vmx.h with the kernel

- Create libdir directory before installing libperf-jvmti.so (Laura Abbott)

- Fix typo in perf_evlist__start_workload() (Soramichi Akiyama)

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

----------------------------------------------------------------
Arnaldo Carvalho de Melo (5):
      tools lib subcmd: Add missing linux/kernel.h include to subcmd.h
      perf machine: Add a kallsyms loading constructor
      perf kallsyms: Introduce tool to look for extended symbol information on the running kernel
      perf trace: Allow specifying list of syscalls and events in -e/--expr/--event
      tools: Sync x86's vmx.h with the kernel

Jiri Olsa (6):
      perf tools: Add unit_number__scnprintf function
      perf record: Add struct switch_output
      perf record: Change switch-output option to take optional argument
      perf record: Add switch-output size option argument
      perf record: Add switch-output size warning
      perf record: Add switch-output time option argument

Laura Abbott (1):
      perf jvmti: Create libdir directory before installing libperf-jvmti.so

Soramichi Akiyama (1):
      perf evlist: Fix typo in perf_evlist__start_workload()

 tools/arch/x86/include/uapi/asm/vmx.h      |   5 +
 tools/lib/subcmd/parse-options.h           |   1 +
 tools/perf/Build                           |   1 +
 tools/perf/Documentation/perf-kallsyms.txt |  24 +++++
 tools/perf/Documentation/perf-record.txt   |  14 ++-
 tools/perf/Documentation/perf-trace.txt    |   8 +-
 tools/perf/Makefile.perf                   |   1 +
 tools/perf/builtin-help.c                  |   2 +-
 tools/perf/builtin-kallsyms.c              |  67 +++++++++++++
 tools/perf/builtin-record.c                | 154 ++++++++++++++++++++++++++---
 tools/perf/builtin-trace.c                 | 120 ++++++++++++++++------
 tools/perf/builtin.h                       |   1 +
 tools/perf/command-list.txt                |   1 +
 tools/perf/perf.c                          |   1 +
 tools/perf/tests/Build                     |   1 +
 tools/perf/tests/builtin-test.c            |   4 +
 tools/perf/tests/tests.h                   |   1 +
 tools/perf/tests/unit_number__scnprintf.c  |  37 +++++++
 tools/perf/util/evlist.c                   |  12 ++-
 tools/perf/util/evlist.h                   |   2 +
 tools/perf/util/machine.c                  |  19 ++++
 tools/perf/util/machine.h                  |   1 +
 tools/perf/util/util.c                     |  13 +++
 tools/perf/util/util.h                     |   1 +
 24 files changed, 439 insertions(+), 52 deletions(-)
 create mode 100644 tools/perf/Documentation/perf-kallsyms.txt
 create mode 100644 tools/perf/builtin-kallsyms.c
 create mode 100644 tools/perf/tests/unit_number__scnprintf.c

  # uname -a
  Linux jouet 4.9.0+ #2 SMP Wed Dec 21 11:54:44 BRT 2016 x86_64 x86_64 x86_64 GNU/Linux
  # perf test
   1: vmlinux symtab matches kallsyms            : Ok
   2: Detect openat syscall event                : Ok
   3: Detect openat syscall event on all cpus    : Ok
   4: Read samples using the mmap interface      : Ok
   5: Parse event definition strings             : Ok
   6: PERF_RECORD_* events & perf_sample fields  : Ok
   7: Parse perf pmu format                      : Ok
   8: DSO data read                              : Ok
   9: DSO data cache                             : Ok
  10: DSO data reopen                            : Ok
  11: Roundtrip evsel->name                      : Ok
  12: Parse sched tracepoints fields             : Ok
  13: syscalls:sys_enter_openat event fields     : Ok
  14: Setup struct perf_event_attr               : Ok
  15: Match and link multiple hists              : Ok
  16: 'import perf' in python                    : Ok
  17: Breakpoint overflow signal handler         : Ok
  18: Breakpoint overflow sampling               : Ok
  19: Number of exit events of a simple workload : Ok
  20: Software clock events period values        : Ok
  21: Object code reading                        : Ok
  22: Sample parsing                             : Ok
  23: Use a dummy software event to keep tracking: Ok
  24: Parse with no sample_id_all bit set        : Ok
  25: Filter hist entries                        : Ok
  26: Lookup mmap thread                         : Ok
  27: Share thread mg                            : Ok
  28: Sort output of hist entries                : Ok
  29: Cumulate child hist entries                : Ok
  30: Track with sched_switch                    : Ok
  31: Filter fds with revents mask in a fdarray  : Ok
  32: Add fd to a fdarray, making it autogrow    : Ok
  33: kmod_path__parse                           : Ok
  34: Thread map                                 : Ok
  35: LLVM search and compile                    :
  35.1: Basic BPF llvm compile                    : Ok
  35.2: kbuild searching                          : Ok
  35.3: Compile source for BPF prologue generation: Ok
  35.4: Compile source for BPF relocation         : Ok
  36: Session topology                           : Ok
  37: BPF filter                                 :
  37.1: Basic BPF filtering                      : Ok
  37.2: BPF prologue generation                  : Ok
  37.3: BPF relocation checker                   : Ok
  38: Synthesize thread map                      : Ok
  39: Remove thread map                          : Ok
  40: Synthesize cpu map                         : Ok
  41: Synthesize stat config                     : Ok
  42: Synthesize stat                            : Ok
  43: Synthesize stat round                      : Ok
  44: Synthesize attr update                     : Ok
  45: Event times                                : Ok
  46: Read backward ring buffer                  : Ok
  47: Print cpu map                              : Ok
  48: Probe SDT events                           : Ok
  49: is_printable_array                         : Ok
  50: Print bitmap                               : Ok
  51: perf hooks                                 : Ok
  52: builtin clang support                      : Skip (not compiled in)
  53: unit_number__scnprintf                     : Ok
  54: x86 rdpmc                                  : Ok
  55: Convert perf time to TSC                   : Ok
  56: DWARF unwind                               : Ok
  57: x86 instruction decoder - new instructions : Ok
  58: Intel cqm nmi context read                 : Skip
  #

  [root@jouet ~]# dm
   1 alpine:3.4: Ok
   2 android-ndk:r12b-arm: Ok
   3 archlinux:latest: Ok
   4 centos:5: Ok
   5 centos:6: Ok
   6 centos:7: Ok
   7 debian:7: Ok
   8 debian:8: Ok
   9 debian:experimental: Ok
  10 debian:experimental-x-arm64: Ok
  11 debian:experimental-x-mips64: Ok
  12 debian:experimental-x-mipsel: Ok
  13 fedora:20: Ok
  14 fedora:21: Ok
  15 fedora:22: Ok
  16 fedora:23: Ok
  17 fedora:24: Ok
  18 fedora:24-x-ARC-uClibc: Ok
  19 fedora:25: Ok
  20 fedora:rawhide: Ok
  21 mageia:5: Ok
  22 opensuse:13.2: Ok
  23 opensuse:42.1: Ok
  24 opensuse:tumbleweed: Ok
  25 ubuntu:12.04.5: Ok
  26 ubuntu:14.04.4-x-linaro-arm64: Ok
  27 ubuntu:15.10: Ok
  28 ubuntu:16.04: Ok
  29 ubuntu:16.04-x-arm: Ok
  30 ubuntu:16.04-x-arm64: Ok
  31 ubuntu:16.04-x-powerpc: Ok
  32 ubuntu:16.04-x-powerpc64: Ok
  33 ubuntu:16.04-x-powerpc64el: Ok
  34 ubuntu:16.04-x-s390: Ok
  35 ubuntu:16.10: Ok
  #

  $ make -C tools/perf build-test
  make: Entering directory '/home/acme/git/linux/tools/perf'
  - tarpkg: ./tests/perf-targz-src-pkg .
            make_no_libaudit_O: make NO_LIBAUDIT=1
                 make_static_O: make LDFLAGS=-static
       make_util_pmu_bison_o_O: make util/pmu-bison.o
        make_with_babeltrace_O: make LIBBABELTRACE=1
         make_install_prefix_O: make install prefix=/tmp/krava
                  make_debug_O: make DEBUG=1
             make_no_scripts_O: make NO_LIBPYTHON=1 NO_LIBPERL=1
           make_no_libunwind_O: make NO_LIBUNWIND=1
                   make_help_O: make help
                    make_doc_O: make doc
                make_no_newt_O: make NO_NEWT=1
            make_no_demangle_O: make NO_DEMANGLE=1
            make_install_bin_O: make install-bin
              make_no_libbpf_O: make NO_LIBBPF=1
            make_no_auxtrace_O: make NO_AUXTRACE=1
                 make_perf_o_O: make perf.o
                   make_pure_O: make
              make_clean_all_O: make clean all
           make_no_libbionic_O: make NO_LIBBIONIC=1
                make_install_O: make install
   make_install_prefix_slash_O: make install prefix=/tmp/krava/
             make_util_map_o_O: make util/map.o
             make_no_libnuma_O: make NO_LIBNUMA=1
                  make_no_ui_O: make NO_NEWT=1 NO_SLANG=1 NO_GTK2=1
         make_with_clangllvm_O: make LIBCLANGLLVM=1
                make_minimal_O: make NO_LIBPERL=1 NO_LIBPYTHON=1 NO_NEWT=1 NO_GTK2=1 NO_DEMANGLE=1 NO_LIBELF=1 NO_LIBUNWIND=1 NO_BACKTRACE=1 NO_LIBNUMA=1 NO_LIBAUDIT=1 NO_LIBBIONIC=1 NO_LIBDW_DWARF_UNWIND=1 NO_AUXTRACE=1 NO_LIBBPF=1 NO_LIBCRYPTO=1 NO_SDT=1 NO_JVMTI=1
                make_no_gtk2_O: make NO_GTK2=1
           make_no_libpython_O: make NO_LIBPYTHON=1
           make_no_backtrace_O: make NO_BACKTRACE=1
             make_no_libperl_O: make NO_LIBPERL=1
               make_no_slang_O: make NO_SLANG=1
                   make_tags_O: make tags
              make_no_libelf_O: make NO_LIBELF=1
  make_no_libdw_dwarf_unwind_O: make NO_LIBDW_DWARF_UNWIND=1
  OK
  make: Leaving directory '/home/acme/git/linux/tools/perf'
  $

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

* Re: [GIT PULL 00/13] perf/core improvements and fixes
  2016-10-06 16:11 Arnaldo Carvalho de Melo
@ 2016-10-06 22:38 ` Ingo Molnar
  0 siblings, 0 replies; 74+ messages in thread
From: Ingo Molnar @ 2016-10-06 22:38 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo
  Cc: linux-kernel, Linux Weekly News, Adrian Hunter,
	Alexander Shishkin, Alexei Starovoitov, Andi Kleen, Balbir Singh,
	Daniel Borkmann, David Ahern, David S . Miller, Donghyun Kim,
	He Kuang, Jiri Olsa, Masami Hiramatsu, Nambong Ha, Namhyung Kim,
	Naveen N . Rao, Peter Zijlstra, pi3orama, Ravi Bangoria,
	Seonyoung Kim, stable, Steven Rostedt, Sukadev Bhattiprolu,
	Taeung Song, Thomas Gleixner, Tony Luck, Wang Nan, Zefan Li,
	Arnaldo Carvalho de Melo


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

> Hi Ingo,
> 
> 	Please consider pulling,
> 
> - Arnaldo
> 
> Build and test stats at the end of the message.
> 
> The following changes since commit 8657355f5b5f657407efc12a2223e8a3a6d658de:
> 
>   Merge tag 'perf-core-for-mingo-20161003' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/urgent (2016-10-04 10:04:47 +0200)
> 
> are available in the git repository at:
> 
>   git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git tags/perf-core-for-mingo-20161005
> 
> for you to fetch changes up to 87095f7ddeff3038a0cf8e6574922f9c11688619:
> 
>   tools build: Add feature detection for g++ (2016-10-05 19:59:35 -0300)
> 
> ----------------------------------------------------------------
> perf/core improvements and fixes:
> 
> - Intel PT timestamp fixes (Adrian Hunter)
> 
> - Fix Intel JSON fixed counter conversions (Andi Kleen)
> 
> - Sync memcpy, cpufeatures and bpf headers with the kernel (Arnaldo Carvalho de Melo)
> 
> - Add some more tool tips (Donghyun Kim, Kim SeonYoung, Nambong Ha)
> 
> - Fix libtraceevent's kbuffer_read_at_offset() handling of offsets before or
>   equal the first event (Namhyung Kim)
> 
> - Fix uretprobe probe placement on ppc64le (Ravi Bangoria)
> 
> - Support building C++ source files and add feature detection for g++,
>   prep work for supporting a builtin clang/llvm, to remove the need for having
>   that toolchain installed to automagically build BPF scriptlets that then
>   gets uploaded to the kernel via sys_bpf() (Wang Nan)
> 
> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
> 
> ----------------------------------------------------------------
> Adrian Hunter (2):
>       perf intel-pt: Fix estimated timestamps for cycle-accurate mode
>       perf intel-pt: Fix MTC timestamp calculation for large MTC periods
> 
> Andi Kleen (1):
>       perf jevents: Fix Intel JSON fixed counter conversions
> 
> Arnaldo Carvalho de Melo (3):
>       perf bench mem: Sync memcpy assembly sources with the kernel
>       tools: Synchronize tools/arch/x86/include/asm/cpufeatures.h
>       tools: Synchronize tools/include/uapi/linux/bpf.h
> 
> Donghyun Kim (1):
>       perf report/top: Add a tip about system-wide collection from all CPUs
> 
> Kim SeonYoung (1):
>       perf report/top: Add a tip about source line numbers with overhead
> 
> Nambong Ha (1):
>       perf top/report: Add tips about a list option
> 
> Namhyung Kim (1):
>       tools lib traceevent: Fix kbuffer_read_at_offset()
> 
> Ravi Bangoria (1):
>       perf uretprobe ppc64le: Fix probe location
> 
> Wang Nan (2):
>       tools build: Support compiling C++ source file
>       tools build: Add feature detection for g++
> 
>  tools/arch/x86/include/asm/cpufeatures.h           |  1 -
>  tools/arch/x86/lib/memcpy_64.S                     |  6 ++--
>  tools/build/Build.include                          |  1 +
>  tools/build/Makefile.build                         |  7 ++++
>  tools/build/Makefile.feature                       |  2 +-
>  tools/build/feature/Makefile                       | 10 +++++-
>  tools/build/feature/test-cxx.cpp                   | 15 +++++++++
>  tools/include/uapi/linux/bpf.h                     |  4 +--
>  tools/lib/traceevent/kbuffer-parse.c               |  1 +
>  tools/perf/Documentation/tips.txt                  |  4 +++
>  tools/perf/arch/powerpc/util/sym-handling.c        |  3 +-
>  tools/perf/pmu-events/jevents.c                    |  2 ++
>  .../perf/util/intel-pt-decoder/intel-pt-decoder.c  | 38 ++++++++++++++++++++++
>  13 files changed, 85 insertions(+), 9 deletions(-)
>  create mode 100644 tools/build/feature/test-cxx.cpp
> 
>   [root@jouet ~]# time dm
>    1 alpine:3.4: Ok
>    2 android-ndk:r12b-arm: Ok
>    3 archlinux:latest: Ok
>    4 centos:5: Ok
>    5 centos:6: Ok
>    6 centos:7: Ok
>    7 debian:7: Ok
>    8 debian:8: Ok
>    9 debian:experimental: Ok
>   10 fedora:20: Ok
>   11 fedora:21: Ok
>   12 fedora:22: Ok
>   13 fedora:23: Ok
>   14 fedora:24: Ok
>   15 fedora:24-x-ARC-uClibc: Ok
>   16 fedora:rawhide: Ok
>   17 mageia:5: Ok
>   18 opensuse:13.2: Ok
>   19 opensuse:42.1: Ok
>   20 opensuse:tumbleweed: Ok
>   21 ubuntu:12.04.5: Ok
>   22 ubuntu:14.04: Ok
>   23 ubuntu:14.04.4: Ok
>   24 ubuntu:15.10: Ok
>   25 ubuntu:16.04: Ok
>   26 ubuntu:16.04-x-arm: Ok
>   27 ubuntu:16.04-x-arm64: Ok
>   28 ubuntu:16.04-x-powerpc: Ok
>   29 ubuntu:16.04-x-powerpc64: Ok
>   30 ubuntu:16.04-x-powerpc64el: Ok
>   31 ubuntu:16.04-x-s390: Ok
>   32 ubuntu:16.10: Ok
> 
>   real    44m58.202s
>   user    0m2.864s
>   sys     0m1.975s
>   [root@jouet ~]#
> 
>   [acme@jouet linux]$ make -C tools/perf build-test
>   make: Entering directory '/home/acme/git/linux/tools/perf'
>                         tarpkg: ./tests/perf-targz-src-pkg .
>                  make_static_O: make LDFLAGS=-static
>   make_no_libdw_dwarf_unwind_O: make NO_LIBDW_DWARF_UNWIND=1
>    make_install_prefix_slash_O: make install prefix=/tmp/krava/
>                   make_no_ui_O: make NO_NEWT=1 NO_SLANG=1 NO_GTK2=1
>                    make_help_O: make help
>            make_no_libpython_O: make NO_LIBPYTHON=1
>                 make_install_O: make install
>          make_install_prefix_O: make install prefix=/tmp/krava
>              make_no_scripts_O: make NO_LIBPYTHON=1 NO_LIBPERL=1
>              make_no_libperl_O: make NO_LIBPERL=1
>                   make_debug_O: make DEBUG=1
>                  make_perf_o_O: make perf.o
>               make_clean_all_O: make clean all
>        make_util_pmu_bison_o_O: make util/pmu-bison.o
>                 make_minimal_O: make NO_LIBPERL=1 NO_LIBPYTHON=1 NO_NEWT=1 NO_GTK2=1 NO_DEMANGLE=1 NO_LIBELF=1 NO_LIBUNWIND=1 NO_BACKTRACE=1 NO_LIBNUMA=1 NO_LIBAUDIT=1 NO_LIBBIONIC=1 NO_LIBDW_DWARF_UNWIND=1 NO_AUXTRACE=1 NO_LIBBPF=1 NO_LIBCRYPTO=1 NO_SDT=1
>             make_no_demangle_O: make NO_DEMANGLE=1
>            make_no_libunwind_O: make NO_LIBUNWIND=1
>         make_with_babeltrace_O: make LIBBABELTRACE=1
>              make_no_libnuma_O: make NO_LIBNUMA=1
>               make_no_libbpf_O: make NO_LIBBPF=1
>             make_install_bin_O: make install-bin
>              make_util_map_o_O: make util/map.o
>               make_no_libelf_O: make NO_LIBELF=1
>                 make_no_newt_O: make NO_NEWT=1
>             make_no_auxtrace_O: make NO_AUXTRACE=1
>                 make_no_gtk2_O: make NO_GTK2=1
>                make_no_slang_O: make NO_SLANG=1
>                     make_doc_O: make doc
>                    make_pure_O: make
>            make_no_libbionic_O: make NO_LIBBIONIC=1
>             make_no_libaudit_O: make NO_LIBAUDIT=1
>                    make_tags_O: make tags
>            make_no_backtrace_O: make NO_BACKTRACE=1
>   OK
> 
>   [root@jouet ~]# perf test
>    1: vmlinux symtab matches kallsyms                          : Ok
>    2: detect openat syscall event                              : Ok
>    3: detect openat syscall event on all cpus                  : Ok
>    4: read samples using the mmap interface                    : Ok
>    5: parse events tests                                       : Ok
>    6: Validate PERF_RECORD_* events & perf_sample fields       : Ok
>    7: Test perf pmu format parsing                             : Ok
>    8: Test dso data read                                       : Ok
>    9: Test dso data cache                                      : Ok
>   10: Test dso data reopen                                     : Ok
>   11: roundtrip evsel->name check                              : Ok
>   12: Check parsing of sched tracepoints fields                : Ok
>   13: Generate and check syscalls:sys_enter_openat event fields: Ok
>   14: struct perf_event_attr setup                             : Ok
>   15: Test matching and linking multiple hists                 : Ok
>   16: Try 'import perf' in python, checking link problems      : Ok
>   17: Test breakpoint overflow signal handler                  : Ok
>   18: Test breakpoint overflow sampling                        : Ok
>   19: Test number of exit event of a simple workload           : Ok
>   20: Test software clock events have valid period values      : Ok
>   21: Test object code reading                                 : Ok
>   22: Test sample parsing                                      : Ok
>   23: Test using a dummy software event to keep tracking       : Ok
>   24: Test parsing with no sample_id_all bit set               : Ok
>   25: Test filtering hist entries                              : Ok
>   26: Test mmap thread lookup                                  : Ok
>   27: Test thread mg sharing                                   : Ok
>   28: Test output sorting of hist entries                      : Ok
>   29: Test cumulation of child hist entries                    : Ok
>   30: Test tracking with sched_switch                          : Ok
>   31: Filter fds with revents mask in a fdarray                : Ok
>   32: Add fd to a fdarray, making it autogrow                  : Ok
>   33: Test kmod_path__parse function                           : Ok
>   34: Test thread map                                          : Ok
>   35: Test LLVM searching and compiling                        :
>   35.1: Basic BPF llvm compiling test                          : Ok
>   35.2: Test kbuild searching                                  : Ok
>   35.3: Compile source for BPF prologue generation test        : Ok
>   35.4: Compile source for BPF relocation test                 : Ok
>   36: Test topology in session                                 : Ok
>   37: Test BPF filter                                          :
>   37.1: Test basic BPF filtering                               : Ok
>   37.2: Test BPF prologue generation                           : Ok
>   37.3: Test BPF relocation checker                            : Ok
>   38: Test thread map synthesize                               : Ok
>   39: Test cpu map synthesize                                  : Ok
>   40: Test stat config synthesize                              : Ok
>   41: Test stat synthesize                                     : Ok
>   42: Test stat round synthesize                               : Ok
>   43: Test attr update synthesize                              : Ok
>   44: Test events times                                        : Ok
>   45: Test backward reading from ring buffer                   : Ok
>   46: Test cpu map print                                       : Ok
>   47: Test SDT event probing                                   : Ok
>   48: Test is_printable_array function                         : Ok
>   49: Test bitmap print                                        : Ok
>   50: x86 rdpmc test                                           : Ok
>   51: Test converting perf time to TSC                         : Ok
>   52: Test dwarf unwind                                        : Ok
>   53: Test x86 instruction decoder - new instructions          : Ok
>   54: Test intel cqm nmi context read                          : Skip
>   [root@jouet ~]# 

Pulled, thanks a lot Arnaldo!

	Ingo

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

* [GIT PULL 00/13] perf/core improvements and fixes
@ 2016-10-06 16:11 Arnaldo Carvalho de Melo
  2016-10-06 22:38 ` Ingo Molnar
  0 siblings, 1 reply; 74+ messages in thread
From: Arnaldo Carvalho de Melo @ 2016-10-06 16:11 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, Linux Weekly News, Arnaldo Carvalho de Melo,
	Adrian Hunter, Alexander Shishkin, Alexei Starovoitov,
	Andi Kleen, Balbir Singh, Daniel Borkmann, David Ahern,
	David S . Miller, Donghyun Kim, He Kuang, Jiri Olsa,
	Masami Hiramatsu, Nambong Ha, Namhyung Kim, Naveen N . Rao,
	Peter Zijlstra, pi3orama, Ravi Bangoria, Seonyoung Kim, stable,
	Steven Rostedt, Sukadev Bhattiprolu, Taeung Song,
	Thomas Gleixner, Tony Luck, Wang Nan, Zefan Li,
	Arnaldo Carvalho de Melo

Hi Ingo,

	Please consider pulling,

- Arnaldo

Build and test stats at the end of the message.

The following changes since commit 8657355f5b5f657407efc12a2223e8a3a6d658de:

  Merge tag 'perf-core-for-mingo-20161003' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/urgent (2016-10-04 10:04:47 +0200)

are available in the git repository at:

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

for you to fetch changes up to 87095f7ddeff3038a0cf8e6574922f9c11688619:

  tools build: Add feature detection for g++ (2016-10-05 19:59:35 -0300)

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

- Intel PT timestamp fixes (Adrian Hunter)

- Fix Intel JSON fixed counter conversions (Andi Kleen)

- Sync memcpy, cpufeatures and bpf headers with the kernel (Arnaldo Carvalho de Melo)

- Add some more tool tips (Donghyun Kim, Kim SeonYoung, Nambong Ha)

- Fix libtraceevent's kbuffer_read_at_offset() handling of offsets before or
  equal the first event (Namhyung Kim)

- Fix uretprobe probe placement on ppc64le (Ravi Bangoria)

- Support building C++ source files and add feature detection for g++,
  prep work for supporting a builtin clang/llvm, to remove the need for having
  that toolchain installed to automagically build BPF scriptlets that then
  gets uploaded to the kernel via sys_bpf() (Wang Nan)

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

----------------------------------------------------------------
Adrian Hunter (2):
      perf intel-pt: Fix estimated timestamps for cycle-accurate mode
      perf intel-pt: Fix MTC timestamp calculation for large MTC periods

Andi Kleen (1):
      perf jevents: Fix Intel JSON fixed counter conversions

Arnaldo Carvalho de Melo (3):
      perf bench mem: Sync memcpy assembly sources with the kernel
      tools: Synchronize tools/arch/x86/include/asm/cpufeatures.h
      tools: Synchronize tools/include/uapi/linux/bpf.h

Donghyun Kim (1):
      perf report/top: Add a tip about system-wide collection from all CPUs

Kim SeonYoung (1):
      perf report/top: Add a tip about source line numbers with overhead

Nambong Ha (1):
      perf top/report: Add tips about a list option

Namhyung Kim (1):
      tools lib traceevent: Fix kbuffer_read_at_offset()

Ravi Bangoria (1):
      perf uretprobe ppc64le: Fix probe location

Wang Nan (2):
      tools build: Support compiling C++ source file
      tools build: Add feature detection for g++

 tools/arch/x86/include/asm/cpufeatures.h           |  1 -
 tools/arch/x86/lib/memcpy_64.S                     |  6 ++--
 tools/build/Build.include                          |  1 +
 tools/build/Makefile.build                         |  7 ++++
 tools/build/Makefile.feature                       |  2 +-
 tools/build/feature/Makefile                       | 10 +++++-
 tools/build/feature/test-cxx.cpp                   | 15 +++++++++
 tools/include/uapi/linux/bpf.h                     |  4 +--
 tools/lib/traceevent/kbuffer-parse.c               |  1 +
 tools/perf/Documentation/tips.txt                  |  4 +++
 tools/perf/arch/powerpc/util/sym-handling.c        |  3 +-
 tools/perf/pmu-events/jevents.c                    |  2 ++
 .../perf/util/intel-pt-decoder/intel-pt-decoder.c  | 38 ++++++++++++++++++++++
 13 files changed, 85 insertions(+), 9 deletions(-)
 create mode 100644 tools/build/feature/test-cxx.cpp

  [root@jouet ~]# time dm
   1 alpine:3.4: Ok
   2 android-ndk:r12b-arm: Ok
   3 archlinux:latest: Ok
   4 centos:5: Ok
   5 centos:6: Ok
   6 centos:7: Ok
   7 debian:7: Ok
   8 debian:8: Ok
   9 debian:experimental: Ok
  10 fedora:20: Ok
  11 fedora:21: Ok
  12 fedora:22: Ok
  13 fedora:23: Ok
  14 fedora:24: Ok
  15 fedora:24-x-ARC-uClibc: Ok
  16 fedora:rawhide: Ok
  17 mageia:5: Ok
  18 opensuse:13.2: Ok
  19 opensuse:42.1: Ok
  20 opensuse:tumbleweed: Ok
  21 ubuntu:12.04.5: Ok
  22 ubuntu:14.04: Ok
  23 ubuntu:14.04.4: Ok
  24 ubuntu:15.10: Ok
  25 ubuntu:16.04: Ok
  26 ubuntu:16.04-x-arm: Ok
  27 ubuntu:16.04-x-arm64: Ok
  28 ubuntu:16.04-x-powerpc: Ok
  29 ubuntu:16.04-x-powerpc64: Ok
  30 ubuntu:16.04-x-powerpc64el: Ok
  31 ubuntu:16.04-x-s390: Ok
  32 ubuntu:16.10: Ok

  real    44m58.202s
  user    0m2.864s
  sys     0m1.975s
  [root@jouet ~]#

  [acme@jouet linux]$ make -C tools/perf build-test
  make: Entering directory '/home/acme/git/linux/tools/perf'
                        tarpkg: ./tests/perf-targz-src-pkg .
                 make_static_O: make LDFLAGS=-static
  make_no_libdw_dwarf_unwind_O: make NO_LIBDW_DWARF_UNWIND=1
   make_install_prefix_slash_O: make install prefix=/tmp/krava/
                  make_no_ui_O: make NO_NEWT=1 NO_SLANG=1 NO_GTK2=1
                   make_help_O: make help
           make_no_libpython_O: make NO_LIBPYTHON=1
                make_install_O: make install
         make_install_prefix_O: make install prefix=/tmp/krava
             make_no_scripts_O: make NO_LIBPYTHON=1 NO_LIBPERL=1
             make_no_libperl_O: make NO_LIBPERL=1
                  make_debug_O: make DEBUG=1
                 make_perf_o_O: make perf.o
              make_clean_all_O: make clean all
       make_util_pmu_bison_o_O: make util/pmu-bison.o
                make_minimal_O: make NO_LIBPERL=1 NO_LIBPYTHON=1 NO_NEWT=1 NO_GTK2=1 NO_DEMANGLE=1 NO_LIBELF=1 NO_LIBUNWIND=1 NO_BACKTRACE=1 NO_LIBNUMA=1 NO_LIBAUDIT=1 NO_LIBBIONIC=1 NO_LIBDW_DWARF_UNWIND=1 NO_AUXTRACE=1 NO_LIBBPF=1 NO_LIBCRYPTO=1 NO_SDT=1
            make_no_demangle_O: make NO_DEMANGLE=1
           make_no_libunwind_O: make NO_LIBUNWIND=1
        make_with_babeltrace_O: make LIBBABELTRACE=1
             make_no_libnuma_O: make NO_LIBNUMA=1
              make_no_libbpf_O: make NO_LIBBPF=1
            make_install_bin_O: make install-bin
             make_util_map_o_O: make util/map.o
              make_no_libelf_O: make NO_LIBELF=1
                make_no_newt_O: make NO_NEWT=1
            make_no_auxtrace_O: make NO_AUXTRACE=1
                make_no_gtk2_O: make NO_GTK2=1
               make_no_slang_O: make NO_SLANG=1
                    make_doc_O: make doc
                   make_pure_O: make
           make_no_libbionic_O: make NO_LIBBIONIC=1
            make_no_libaudit_O: make NO_LIBAUDIT=1
                   make_tags_O: make tags
           make_no_backtrace_O: make NO_BACKTRACE=1
  OK

  [root@jouet ~]# perf test
   1: vmlinux symtab matches kallsyms                          : Ok
   2: detect openat syscall event                              : Ok
   3: detect openat syscall event on all cpus                  : Ok
   4: read samples using the mmap interface                    : Ok
   5: parse events tests                                       : Ok
   6: Validate PERF_RECORD_* events & perf_sample fields       : Ok
   7: Test perf pmu format parsing                             : Ok
   8: Test dso data read                                       : Ok
   9: Test dso data cache                                      : Ok
  10: Test dso data reopen                                     : Ok
  11: roundtrip evsel->name check                              : Ok
  12: Check parsing of sched tracepoints fields                : Ok
  13: Generate and check syscalls:sys_enter_openat event fields: Ok
  14: struct perf_event_attr setup                             : Ok
  15: Test matching and linking multiple hists                 : Ok
  16: Try 'import perf' in python, checking link problems      : Ok
  17: Test breakpoint overflow signal handler                  : Ok
  18: Test breakpoint overflow sampling                        : Ok
  19: Test number of exit event of a simple workload           : Ok
  20: Test software clock events have valid period values      : Ok
  21: Test object code reading                                 : Ok
  22: Test sample parsing                                      : Ok
  23: Test using a dummy software event to keep tracking       : Ok
  24: Test parsing with no sample_id_all bit set               : Ok
  25: Test filtering hist entries                              : Ok
  26: Test mmap thread lookup                                  : Ok
  27: Test thread mg sharing                                   : Ok
  28: Test output sorting of hist entries                      : Ok
  29: Test cumulation of child hist entries                    : Ok
  30: Test tracking with sched_switch                          : Ok
  31: Filter fds with revents mask in a fdarray                : Ok
  32: Add fd to a fdarray, making it autogrow                  : Ok
  33: Test kmod_path__parse function                           : Ok
  34: Test thread map                                          : Ok
  35: Test LLVM searching and compiling                        :
  35.1: Basic BPF llvm compiling test                          : Ok
  35.2: Test kbuild searching                                  : Ok
  35.3: Compile source for BPF prologue generation test        : Ok
  35.4: Compile source for BPF relocation test                 : Ok
  36: Test topology in session                                 : Ok
  37: Test BPF filter                                          :
  37.1: Test basic BPF filtering                               : Ok
  37.2: Test BPF prologue generation                           : Ok
  37.3: Test BPF relocation checker                            : Ok
  38: Test thread map synthesize                               : Ok
  39: Test cpu map synthesize                                  : Ok
  40: Test stat config synthesize                              : Ok
  41: Test stat synthesize                                     : Ok
  42: Test stat round synthesize                               : Ok
  43: Test attr update synthesize                              : Ok
  44: Test events times                                        : Ok
  45: Test backward reading from ring buffer                   : Ok
  46: Test cpu map print                                       : Ok
  47: Test SDT event probing                                   : Ok
  48: Test is_printable_array function                         : Ok
  49: Test bitmap print                                        : Ok
  50: x86 rdpmc test                                           : Ok
  51: Test converting perf time to TSC                         : Ok
  52: Test dwarf unwind                                        : Ok
  53: Test x86 instruction decoder - new instructions          : Ok
  54: Test intel cqm nmi context read                          : Skip
  [root@jouet ~]# 

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

* Re: [GIT PULL 00/13] perf/core improvements and fixes
  2016-05-11 16:32 Arnaldo Carvalho de Melo
@ 2016-05-12  6:58 ` Ingo Molnar
  0 siblings, 0 replies; 74+ messages in thread
From: Ingo Molnar @ 2016-05-12  6:58 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo
  Cc: linux-kernel, Arnaldo Carvalho de Melo, Adrian Hunter,
	Alexander Shishkin, Ananth N Mavinakayanahalli, Andi Kleen,
	Brendan Gregg, Chris Phlipot, David Ahern, Ekaterina Tumanova,
	He Kuang, Hemant Kumar, Jiri Olsa, Josh Poimboeuf, Kan Liang,
	Masami Hiramatsu, Namhyung Kim, Pekka Enberg, Peter Zijlstra,
	Stephane Eranian, Sukadev Bhattiprolu, Wang Nan


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

> From: Arnaldo Carvalho de Melo <acme@redhat.com>
> 
> Hi Ingo,
> 
> 	Please consider pulling,
> 
> - Arnaldo
> 
> The following changes since commit 38f5d8b32f36bcac1f54d4511a81e02ed8771a29:
> 
>   Merge tag 'perf-core-for-mingo-20160510' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core (2016-05-11 16:56:58 +0200)
> 
> are available in the git repository at:
> 
>   git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git tags/perf-core-for-mingo-20160511
> 
> for you to fetch changes up to d65444d2fba98dcd4fa028ffada39c36a46f0038:
> 
>   perf buildid-cache: Use lsdir() for looking up buildid caches (2016-05-11 13:06:08 -0300)
> 
> ----------------------------------------------------------------
> perf/core improvements and fixes:
> 
> User visible:
> 
> - Fix symbol insertion and callchain behavior in db-export (Chris Phlipot)
> 
> Infrastructure:
> 
> - Add libunwind build test (feature query), working towards supporting
>   cross-platform DWARF callchains, starting with arm/arm64 (He Kuang)
> 
> - Use lsdir() more extensively (Masami Hiramatsu)
> 
> - Use SBUILD_ID_SIZE in places where the equivalent expression was
>   being used (Masami Hiramatsu)
> 
> - Split some more 'perf trace' syscall arg beautifiers (Arnaldo Carvalho de Melo)
> 
> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
> 
> ----------------------------------------------------------------
> Arnaldo Carvalho de Melo (3):
>       perf scripting python: Use Py_FatalError instead of die()
>       perf trace: Move flock op beautifier to tools/perf/trace/beauty/
>       perf trace: Move seccomp args beautifiers to tools/perf/trace/beauty/
> 
> Chris Phlipot (4):
>       perf symbols: Add dso__insert_symbol function
>       perf script: Fix symbol insertion behavior in db-export
>       perf script: Fix callchain addresses in db-export
>       perf script: Fix export of callchains with recursion in db-export
> 
> He Kuang (2):
>       perf build: Add build-test for libunwind cross-platforms support
>       perf build: Add build-test for debug-frame on arm/arm64
> 
> Masami Hiramatsu (4):
>       perf tools: Fix lsdir to set errno correctly
>       perf tools: Use SBUILD_ID_SIZE where applicable
>       perf symbols: Use lsdir() for the search in kcore cache directory
>       perf buildid-cache: Use lsdir() for looking up buildid caches
> 
>  tools/build/Makefile.feature                       |  8 +-
>  tools/build/feature/Makefile                       | 23 ++++++
>  tools/build/feature/test-libunwind-aarch64.c       | 26 +++++++
>  tools/build/feature/test-libunwind-arm.c           | 27 +++++++
>  .../feature/test-libunwind-debug-frame-aarch64.c   | 16 ++++
>  .../build/feature/test-libunwind-debug-frame-arm.c | 16 ++++
>  tools/build/feature/test-libunwind-x86.c           | 27 +++++++
>  tools/build/feature/test-libunwind-x86_64.c        | 27 +++++++
>  tools/perf/builtin-trace.c                         | 85 +---------------------
>  tools/perf/trace/beauty/flock.c                    | 31 ++++++++
>  tools/perf/trace/beauty/seccomp.c                  | 52 +++++++++++++
>  tools/perf/util/annotate.c                         |  2 +-
>  tools/perf/util/build-id.c                         | 30 +-------
>  tools/perf/util/db-export.c                        | 12 +--
>  tools/perf/util/dso.c                              |  4 +-
>  tools/perf/util/header.c                           |  2 +-
>  tools/perf/util/map.c                              |  2 +-
>  .../util/scripting-engines/trace-event-python.c    |  9 ++-
>  tools/perf/util/symbol.c                           | 40 ++++++----
>  tools/perf/util/symbol.h                           |  3 +
>  tools/perf/util/util.c                             |  2 +-
>  21 files changed, 306 insertions(+), 138 deletions(-)
>  create mode 100644 tools/build/feature/test-libunwind-aarch64.c
>  create mode 100644 tools/build/feature/test-libunwind-arm.c
>  create mode 100644 tools/build/feature/test-libunwind-debug-frame-aarch64.c
>  create mode 100644 tools/build/feature/test-libunwind-debug-frame-arm.c
>  create mode 100644 tools/build/feature/test-libunwind-x86.c
>  create mode 100644 tools/build/feature/test-libunwind-x86_64.c
>  create mode 100644 tools/perf/trace/beauty/flock.c
>  create mode 100644 tools/perf/trace/beauty/seccomp.c

Pulled, thanks a lot Arnaldo!

	Ingo

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

* [GIT PULL 00/13] perf/core improvements and fixes
@ 2016-05-11 16:32 Arnaldo Carvalho de Melo
  2016-05-12  6:58 ` Ingo Molnar
  0 siblings, 1 reply; 74+ messages in thread
From: Arnaldo Carvalho de Melo @ 2016-05-11 16:32 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, Arnaldo Carvalho de Melo, Adrian Hunter,
	Alexander Shishkin, Ananth N Mavinakayanahalli, Andi Kleen,
	Brendan Gregg, Chris Phlipot, David Ahern, Ekaterina Tumanova,
	He Kuang, Hemant Kumar, Jiri Olsa, Josh Poimboeuf, Kan Liang,
	Masami Hiramatsu, Namhyung Kim, Pekka Enberg, Peter Zijlstra,
	Stephane Eranian, Sukadev Bhattiprolu, Wang Nan

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

Hi Ingo,

	Please consider pulling,

- Arnaldo

The following changes since commit 38f5d8b32f36bcac1f54d4511a81e02ed8771a29:

  Merge tag 'perf-core-for-mingo-20160510' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core (2016-05-11 16:56:58 +0200)

are available in the git repository at:

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

for you to fetch changes up to d65444d2fba98dcd4fa028ffada39c36a46f0038:

  perf buildid-cache: Use lsdir() for looking up buildid caches (2016-05-11 13:06:08 -0300)

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

User visible:

- Fix symbol insertion and callchain behavior in db-export (Chris Phlipot)

Infrastructure:

- Add libunwind build test (feature query), working towards supporting
  cross-platform DWARF callchains, starting with arm/arm64 (He Kuang)

- Use lsdir() more extensively (Masami Hiramatsu)

- Use SBUILD_ID_SIZE in places where the equivalent expression was
  being used (Masami Hiramatsu)

- Split some more 'perf trace' syscall arg beautifiers (Arnaldo Carvalho de Melo)

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

----------------------------------------------------------------
Arnaldo Carvalho de Melo (3):
      perf scripting python: Use Py_FatalError instead of die()
      perf trace: Move flock op beautifier to tools/perf/trace/beauty/
      perf trace: Move seccomp args beautifiers to tools/perf/trace/beauty/

Chris Phlipot (4):
      perf symbols: Add dso__insert_symbol function
      perf script: Fix symbol insertion behavior in db-export
      perf script: Fix callchain addresses in db-export
      perf script: Fix export of callchains with recursion in db-export

He Kuang (2):
      perf build: Add build-test for libunwind cross-platforms support
      perf build: Add build-test for debug-frame on arm/arm64

Masami Hiramatsu (4):
      perf tools: Fix lsdir to set errno correctly
      perf tools: Use SBUILD_ID_SIZE where applicable
      perf symbols: Use lsdir() for the search in kcore cache directory
      perf buildid-cache: Use lsdir() for looking up buildid caches

 tools/build/Makefile.feature                       |  8 +-
 tools/build/feature/Makefile                       | 23 ++++++
 tools/build/feature/test-libunwind-aarch64.c       | 26 +++++++
 tools/build/feature/test-libunwind-arm.c           | 27 +++++++
 .../feature/test-libunwind-debug-frame-aarch64.c   | 16 ++++
 .../build/feature/test-libunwind-debug-frame-arm.c | 16 ++++
 tools/build/feature/test-libunwind-x86.c           | 27 +++++++
 tools/build/feature/test-libunwind-x86_64.c        | 27 +++++++
 tools/perf/builtin-trace.c                         | 85 +---------------------
 tools/perf/trace/beauty/flock.c                    | 31 ++++++++
 tools/perf/trace/beauty/seccomp.c                  | 52 +++++++++++++
 tools/perf/util/annotate.c                         |  2 +-
 tools/perf/util/build-id.c                         | 30 +-------
 tools/perf/util/db-export.c                        | 12 +--
 tools/perf/util/dso.c                              |  4 +-
 tools/perf/util/header.c                           |  2 +-
 tools/perf/util/map.c                              |  2 +-
 .../util/scripting-engines/trace-event-python.c    |  9 ++-
 tools/perf/util/symbol.c                           | 40 ++++++----
 tools/perf/util/symbol.h                           |  3 +
 tools/perf/util/util.c                             |  2 +-
 21 files changed, 306 insertions(+), 138 deletions(-)
 create mode 100644 tools/build/feature/test-libunwind-aarch64.c
 create mode 100644 tools/build/feature/test-libunwind-arm.c
 create mode 100644 tools/build/feature/test-libunwind-debug-frame-aarch64.c
 create mode 100644 tools/build/feature/test-libunwind-debug-frame-arm.c
 create mode 100644 tools/build/feature/test-libunwind-x86.c
 create mode 100644 tools/build/feature/test-libunwind-x86_64.c
 create mode 100644 tools/perf/trace/beauty/flock.c
 create mode 100644 tools/perf/trace/beauty/seccomp.c

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

* Re: [GIT PULL 00/13] perf/core improvements and fixes
  2016-04-29 14:57 Arnaldo Carvalho de Melo
@ 2016-04-29 19:39 ` Ingo Molnar
  0 siblings, 0 replies; 74+ messages in thread
From: Ingo Molnar @ 2016-04-29 19:39 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo
  Cc: linux-kernel, Adrian Hunter, Alexander Shishkin,
	Alexei Starovoitov, Ananth N Mavinakayanahalli, Brendan Gregg,
	David Ahern, Florian Fainelli, Frederic Weisbecker, He Kuang,
	Hemant Kumar, Jiri Olsa, Masami Hiramatsu, Milian Wolff,
	Namhyung Kim, Peter Zijlstra, pi3orama, Vaishali Thakkar,
	Wang Nan, Zefan Li, Arnaldo Carvalho de Melo


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

> Hi Ingo,
> 
> 	Please consider pulling, tested on:
> 
>   [root@jouet ~]# docker-perf-build-test
>   alldeps-fedora-rawhide: Ok
>   alldeps-ubuntu-14.04: Ok
>   alldeps-ubuntu-16.04: Ok        <------------- New image
>   alldeps-fedora-20: Ok
>   alldeps-ubuntu-12.04: Ok
>   minimal-debian-experimental-x-mips64: Ok
>   minimal-debian-experimental-x-mips64el: Ok
>   minimal-debian-experimental-x-mipsel: Ok
>   minimal-ubuntu-x-arm: Ok
>   minimal-ubuntu-x-arm64: Ok
>   minimal-ubuntu-x-ppc64: Ok
>   minimal-ubuntu-x-ppc64el: Ok
>   alldeps-debian: Ok
>   alldeps-mageia: Ok
>   alldeps-rhel7: Ok
>   alldeps-centos: Ok
>   alldeps-opensuse: Ok
>   [root@jouet ~]#
> 
> - Arnaldo
> 
> The following changes since commit 3521ba1cc351e80488c3f85748c92c3853b75818:
> 
>   powercap, perf/x86/intel/rapl: Add PSys support (2016-04-28 10:39:19 +0200)
> 
> are available in the git repository at:
> 
>   git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git tags/perf-core-for-mingo-20160429
> 
> for you to fetch changes up to ca7ce82a280a65c377c24c95c29b1dec6e80b428:
> 
>   perf tests: Do not use sizeof on pointer type (2016-04-28 15:37:52 -0300)
> 
> ----------------------------------------------------------------
> perf/core improvements and fixes:
> 
> User visible:
> 
> - Allow generate timestamped suffixed multiple perf.data files upon receiving
>   SIGUSR2 in 'perf record', to slice a long running monitoring session, allowing
>   to dump uninteresting sessions (Wang Nan)
> 
> - Handle ENOMEM for perf_event_max_stack + PERF_SAMPLE_CALLCHAIN
>   in perf_evsel__open_strerror(), showing a more informative
>   message when the request call stack depth can't be allocated by
>   the kernel (Arnaldo Carvalho de Melo)
> 
> Infrastructure:
> 
> - Use strbuf for making strings in 'perf probe' (Masami Hiramatsu)
> 
> - Do not use sizeof on pointer type, not a problem since its a pointer to
>   pointer, fix none the less. Found by Coccinelle (Vaishali Thakkar)
> 
> Cleanups:
> 
> - Fix for Coverity found issues in the bpf feature build test (Florian Fainelli)
> 
> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
> 
> ----------------------------------------------------------------
> Arnaldo Carvalho de Melo (3):
>       perf evsel: Handle ENOMEM for perf_event_max_stack + PERF_SAMPLE_CALLCHAIN
>       perf evsel: Remove two extraneous ending newlines in open_strerror()
>       perf trace: Move msg_flags beautifier to tools/perf/trace/beauty/
> 
> Florian Fainelli (2):
>       bpf tools: Remove expression with no effect
>       bpf tools: Fix syscall argument
> 
> Masami Hiramatsu (1):
>       perf probe: Use strbuf for making strings
> 
> Vaishali Thakkar (1):
>       perf tests: Do not use sizeof on pointer type
> 
> Wang Nan (6):
>       perf tools: Introduce trigger class
>       perf tools: Derive trigger class from auxtrace_snapshot
>       perf record: Split output into multiple files via '--switch-output'
>       perf record: Force enable --timestamp-filename when --switch-output is provided
>       perf record: Disable buildid cache options by default in switch output mode
>       perf record: Generate tracking events for process forked by perf
> 
>  tools/build/feature/test-bpf.c           |   3 +-
>  tools/perf/Documentation/perf-record.txt |  13 ++
>  tools/perf/builtin-record.c              | 173 +++++++++++++++-------
>  tools/perf/builtin-trace.c               |  62 +-------
>  tools/perf/tests/dso-data.c              |   2 +-
>  tools/perf/trace/beauty/msg_flags.c      |  62 ++++++++
>  tools/perf/util/evsel.c                  |  12 +-
>  tools/perf/util/probe-event.c            | 246 +++++++++++--------------------
>  tools/perf/util/probe-event.h            |   2 +-
>  tools/perf/util/probe-finder.c           |  14 +-
>  tools/perf/util/trigger.h                |  94 ++++++++++++
>  11 files changed, 393 insertions(+), 290 deletions(-)
>  create mode 100644 tools/perf/trace/beauty/msg_flags.c
>  create mode 100644 tools/perf/util/trigger.h

Pulled, thanks a lot Arnaldo!

	Ingo

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

* [GIT PULL 00/13] perf/core improvements and fixes
@ 2016-04-29 14:57 Arnaldo Carvalho de Melo
  2016-04-29 19:39 ` Ingo Molnar
  0 siblings, 1 reply; 74+ messages in thread
From: Arnaldo Carvalho de Melo @ 2016-04-29 14:57 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, Arnaldo Carvalho de Melo, Adrian Hunter,
	Alexander Shishkin, Alexei Starovoitov,
	Ananth N Mavinakayanahalli, Brendan Gregg, David Ahern,
	Florian Fainelli, Frederic Weisbecker, He Kuang, Hemant Kumar,
	Jiri Olsa, Masami Hiramatsu, Milian Wolff, Namhyung Kim,
	Peter Zijlstra, pi3orama, Vaishali Thakkar, Wang Nan, Zefan Li,
	Arnaldo Carvalho de Melo

Hi Ingo,

	Please consider pulling, tested on:

  [root@jouet ~]# docker-perf-build-test
  alldeps-fedora-rawhide: Ok
  alldeps-ubuntu-14.04: Ok
  alldeps-ubuntu-16.04: Ok        <------------- New image
  alldeps-fedora-20: Ok
  alldeps-ubuntu-12.04: Ok
  minimal-debian-experimental-x-mips64: Ok
  minimal-debian-experimental-x-mips64el: Ok
  minimal-debian-experimental-x-mipsel: Ok
  minimal-ubuntu-x-arm: Ok
  minimal-ubuntu-x-arm64: Ok
  minimal-ubuntu-x-ppc64: Ok
  minimal-ubuntu-x-ppc64el: Ok
  alldeps-debian: Ok
  alldeps-mageia: Ok
  alldeps-rhel7: Ok
  alldeps-centos: Ok
  alldeps-opensuse: Ok
  [root@jouet ~]#

- Arnaldo

The following changes since commit 3521ba1cc351e80488c3f85748c92c3853b75818:

  powercap, perf/x86/intel/rapl: Add PSys support (2016-04-28 10:39:19 +0200)

are available in the git repository at:

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

for you to fetch changes up to ca7ce82a280a65c377c24c95c29b1dec6e80b428:

  perf tests: Do not use sizeof on pointer type (2016-04-28 15:37:52 -0300)

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

User visible:

- Allow generate timestamped suffixed multiple perf.data files upon receiving
  SIGUSR2 in 'perf record', to slice a long running monitoring session, allowing
  to dump uninteresting sessions (Wang Nan)

- Handle ENOMEM for perf_event_max_stack + PERF_SAMPLE_CALLCHAIN
  in perf_evsel__open_strerror(), showing a more informative
  message when the request call stack depth can't be allocated by
  the kernel (Arnaldo Carvalho de Melo)

Infrastructure:

- Use strbuf for making strings in 'perf probe' (Masami Hiramatsu)

- Do not use sizeof on pointer type, not a problem since its a pointer to
  pointer, fix none the less. Found by Coccinelle (Vaishali Thakkar)

Cleanups:

- Fix for Coverity found issues in the bpf feature build test (Florian Fainelli)

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

----------------------------------------------------------------
Arnaldo Carvalho de Melo (3):
      perf evsel: Handle ENOMEM for perf_event_max_stack + PERF_SAMPLE_CALLCHAIN
      perf evsel: Remove two extraneous ending newlines in open_strerror()
      perf trace: Move msg_flags beautifier to tools/perf/trace/beauty/

Florian Fainelli (2):
      bpf tools: Remove expression with no effect
      bpf tools: Fix syscall argument

Masami Hiramatsu (1):
      perf probe: Use strbuf for making strings

Vaishali Thakkar (1):
      perf tests: Do not use sizeof on pointer type

Wang Nan (6):
      perf tools: Introduce trigger class
      perf tools: Derive trigger class from auxtrace_snapshot
      perf record: Split output into multiple files via '--switch-output'
      perf record: Force enable --timestamp-filename when --switch-output is provided
      perf record: Disable buildid cache options by default in switch output mode
      perf record: Generate tracking events for process forked by perf

 tools/build/feature/test-bpf.c           |   3 +-
 tools/perf/Documentation/perf-record.txt |  13 ++
 tools/perf/builtin-record.c              | 173 +++++++++++++++-------
 tools/perf/builtin-trace.c               |  62 +-------
 tools/perf/tests/dso-data.c              |   2 +-
 tools/perf/trace/beauty/msg_flags.c      |  62 ++++++++
 tools/perf/util/evsel.c                  |  12 +-
 tools/perf/util/probe-event.c            | 246 +++++++++++--------------------
 tools/perf/util/probe-event.h            |   2 +-
 tools/perf/util/probe-finder.c           |  14 +-
 tools/perf/util/trigger.h                |  94 ++++++++++++
 11 files changed, 393 insertions(+), 290 deletions(-)
 create mode 100644 tools/perf/trace/beauty/msg_flags.c
 create mode 100644 tools/perf/util/trigger.h

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

* Re: [GIT PULL 00/13] perf/core improvements and fixes
  2016-02-15 21:01 Arnaldo Carvalho de Melo
@ 2016-02-16  7:48 ` Ingo Molnar
  0 siblings, 0 replies; 74+ messages in thread
From: Ingo Molnar @ 2016-02-16  7:48 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo
  Cc: linux-kernel, Arnaldo Carvalho de Melo, Adrian Hunter,
	Alexei Starovoitov, Brendan Gregg, Cody P Schafer,
	Daniel Borkmann, Dave Jones, He Kuang, Jeremie Galarneau,
	Jiri Olsa, Kirill Smelkov, Li Zefan, Masami Hiramatsu,
	Namhyung Kim, Peter Zijlstra, pi3orama, Taeung Song, Vinson Lee,
	Wang Nan, Will Deacon, Zubair Lutfullah Kakakhel


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

> From: Arnaldo Carvalho de Melo <acme@redhat.com>
> 
> Hi Ingo,
> 
> 	Please consider pulling,
> 
> - Arnaldo
> 
> The following changes since commit a7636d9ecfa3ab7800a7c04c1f89378229eff609:
> 
>   kprobes: Optimize hot path by using percpu counter to collect 'nhit' statistics (2016-02-09 11:08:58 +0100)
> 
> are available in the git repository at:
> 
>   git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git tags/perf-core-for-mingo
> 
> for you to fetch changes up to 1ad826bad5bd0b6ccfb203f78c70302b764df0be:
> 
>   perf tests: Fix build on older systems where 'signal' is reserved (2016-02-15 17:33:26 -0300)
> 
> ----------------------------------------------------------------
> perf/core improvements and fixes:
> 
> User visible:
> 
> - Do not print trailing spaces in the hists browser (top, report) to
>   avoid line wrapping issues when long C++ demangled functions are
>   sampled (Arnaldo Carvalho de Melo)
> 
> - Allow 'perf config' to show --system or --user settings (Taeung Song)
> 
> - Add better warning about the need to install the audit-lib-python
>   package when using perf python scripts (Taeung Song)
> 
> - Fix symbol resolution when kernel modules files are only in the
>   build id cache (~/.debug) (Wang Nan)
> 
> Build fixes:
> 
> - Fix 'perf test' build on older systems where 'signal' is reserved (Arnaldo Carvalho de Melo)
> 
> Infrastructure:
> 
> - Free the terms list_head in parse_events__free_terms(), also unlink the entries
>   when deleting them (Wang Nan)
> 
> - Fix releasing event_class in 'perf data' fixing integration with
>   libbabeltrace (Wang Nan)
> 
> - Add EXTRA_LDFLAGS option to Makefile (Zubair Lutfullah Kakakhel)
> 
> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
> 
> ----------------------------------------------------------------
> Arnaldo Carvalho de Melo (6):
>       perf tools: Add comment explaining the repsep_snprintf function
>       perf hists: Do column alignment on the format iterator
>       perf tools: Introduce parse_events_terms__purge()
>       perf tools: Use perf_event_terms__purge() for non-malloced terms
>       perf tools: Rename parse_events__free_terms() to parse_events_terms__delete()
>       perf tests: Fix build on older systems where 'signal' is reserved
> 
> Taeung Song (2):
>       perf config: Add '--system' and '--user' options to select which config file is used
>       perf python scripting: Append examples to err msg about audit-libs-python
> 
> Wang Nan (4):
>       perf symbols: Fix symbols searching for module in buildid-cache
>       perf tools: Unlink entries from terms list
>       perf tools: Free the terms list_head in parse_events__free_terms()
>       perf data: Fix releasing event_class
> 
> Zubair Lutfullah Kakakhel (1):
>       perf build: Add EXTRA_LDFLAGS option to makefile
> 
>  tools/perf/Documentation/perf-config.txt           | 14 ++++++-
>  tools/perf/Makefile.perf                           |  2 +
>  tools/perf/arch/x86/util/intel-pt.c                |  2 +-
>  tools/perf/builtin-config.c                        | 27 +++++++++++--
>  .../python/Perf-Trace-Util/lib/Perf/Trace/Util.py  |  5 ++-
>  tools/perf/tests/bp_signal.c                       | 12 +++---
>  tools/perf/tests/parse-events.c                    |  2 +-
>  tools/perf/ui/browsers/hists.c                     | 27 ++++++++-----
>  tools/perf/ui/stdio/hist.c                         |  1 +
>  tools/perf/util/build-id.c                         | 44 ++++++++++++++++++++++
>  tools/perf/util/build-id.h                         |  1 +
>  tools/perf/util/cache.h                            |  3 ++
>  tools/perf/util/config.c                           |  4 +-
>  tools/perf/util/data-convert-bt.c                  | 18 +++++++++
>  tools/perf/util/hist.c                             | 21 +++++++++++
>  tools/perf/util/hist.h                             |  5 +++
>  tools/perf/util/parse-events.c                     | 17 +++++++--
>  tools/perf/util/parse-events.h                     |  3 +-
>  tools/perf/util/parse-events.y                     |  8 ++--
>  tools/perf/util/pmu.c                              |  2 +-
>  tools/perf/util/sort.c                             | 23 +++++------
>  tools/perf/util/symbol.c                           |  4 ++
>  22 files changed, 200 insertions(+), 45 deletions(-)

Pulled, thanks a lot Arnaldo!

	Ingo

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

* [GIT PULL 00/13] perf/core improvements and fixes
@ 2016-02-15 21:01 Arnaldo Carvalho de Melo
  2016-02-16  7:48 ` Ingo Molnar
  0 siblings, 1 reply; 74+ messages in thread
From: Arnaldo Carvalho de Melo @ 2016-02-15 21:01 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, Arnaldo Carvalho de Melo, Adrian Hunter,
	Alexei Starovoitov, Brendan Gregg, Cody P Schafer,
	Daniel Borkmann, Dave Jones, He Kuang, Jeremie Galarneau,
	Jiri Olsa, Kirill Smelkov, Li Zefan, Masami Hiramatsu,
	Namhyung Kim, Peter Zijlstra, pi3orama, Taeung Song, Vinson Lee,
	Wang Nan, Will Deacon, Zubair Lutfullah Kakakhel

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

Hi Ingo,

	Please consider pulling,

- Arnaldo

The following changes since commit a7636d9ecfa3ab7800a7c04c1f89378229eff609:

  kprobes: Optimize hot path by using percpu counter to collect 'nhit' statistics (2016-02-09 11:08:58 +0100)

are available in the git repository at:

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

for you to fetch changes up to 1ad826bad5bd0b6ccfb203f78c70302b764df0be:

  perf tests: Fix build on older systems where 'signal' is reserved (2016-02-15 17:33:26 -0300)

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

User visible:

- Do not print trailing spaces in the hists browser (top, report) to
  avoid line wrapping issues when long C++ demangled functions are
  sampled (Arnaldo Carvalho de Melo)

- Allow 'perf config' to show --system or --user settings (Taeung Song)

- Add better warning about the need to install the audit-lib-python
  package when using perf python scripts (Taeung Song)

- Fix symbol resolution when kernel modules files are only in the
  build id cache (~/.debug) (Wang Nan)

Build fixes:

- Fix 'perf test' build on older systems where 'signal' is reserved (Arnaldo Carvalho de Melo)

Infrastructure:

- Free the terms list_head in parse_events__free_terms(), also unlink the entries
  when deleting them (Wang Nan)

- Fix releasing event_class in 'perf data' fixing integration with
  libbabeltrace (Wang Nan)

- Add EXTRA_LDFLAGS option to Makefile (Zubair Lutfullah Kakakhel)

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

----------------------------------------------------------------
Arnaldo Carvalho de Melo (6):
      perf tools: Add comment explaining the repsep_snprintf function
      perf hists: Do column alignment on the format iterator
      perf tools: Introduce parse_events_terms__purge()
      perf tools: Use perf_event_terms__purge() for non-malloced terms
      perf tools: Rename parse_events__free_terms() to parse_events_terms__delete()
      perf tests: Fix build on older systems where 'signal' is reserved

Taeung Song (2):
      perf config: Add '--system' and '--user' options to select which config file is used
      perf python scripting: Append examples to err msg about audit-libs-python

Wang Nan (4):
      perf symbols: Fix symbols searching for module in buildid-cache
      perf tools: Unlink entries from terms list
      perf tools: Free the terms list_head in parse_events__free_terms()
      perf data: Fix releasing event_class

Zubair Lutfullah Kakakhel (1):
      perf build: Add EXTRA_LDFLAGS option to makefile

 tools/perf/Documentation/perf-config.txt           | 14 ++++++-
 tools/perf/Makefile.perf                           |  2 +
 tools/perf/arch/x86/util/intel-pt.c                |  2 +-
 tools/perf/builtin-config.c                        | 27 +++++++++++--
 .../python/Perf-Trace-Util/lib/Perf/Trace/Util.py  |  5 ++-
 tools/perf/tests/bp_signal.c                       | 12 +++---
 tools/perf/tests/parse-events.c                    |  2 +-
 tools/perf/ui/browsers/hists.c                     | 27 ++++++++-----
 tools/perf/ui/stdio/hist.c                         |  1 +
 tools/perf/util/build-id.c                         | 44 ++++++++++++++++++++++
 tools/perf/util/build-id.h                         |  1 +
 tools/perf/util/cache.h                            |  3 ++
 tools/perf/util/config.c                           |  4 +-
 tools/perf/util/data-convert-bt.c                  | 18 +++++++++
 tools/perf/util/hist.c                             | 21 +++++++++++
 tools/perf/util/hist.h                             |  5 +++
 tools/perf/util/parse-events.c                     | 17 +++++++--
 tools/perf/util/parse-events.h                     |  3 +-
 tools/perf/util/parse-events.y                     |  8 ++--
 tools/perf/util/pmu.c                              |  2 +-
 tools/perf/util/sort.c                             | 23 +++++------
 tools/perf/util/symbol.c                           |  4 ++
 22 files changed, 200 insertions(+), 45 deletions(-)

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

* Re: [GIT PULL 00/13] perf/core improvements and fixes
  2015-11-26 20:45 Arnaldo Carvalho de Melo
@ 2015-11-27  7:30 ` Ingo Molnar
  0 siblings, 0 replies; 74+ messages in thread
From: Ingo Molnar @ 2015-11-27  7:30 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo
  Cc: linux-kernel, Adrian Hunter, Alexander Yarygin,
	Alexei Starovoitov, Andi Kleen, Christian Borntraeger,
	David Ahern, Ekaterina Tumanova, Frederic Weisbecker, He Kuang,
	Jiri Olsa, Joshua Zhu, Kan Liang, kernel-team, Masami Hiramatsu,
	Namhyung Kim, Naveen N . Rao, Peter Zijlstra, pi3orama, Wang Nan,
	Yannick Brosseau, Zefan Li, Arnaldo Carvalho de Melo


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

> Hi Ingo,
> 
> 	Please consider pulling,
> 
> - Arnaldo
> 
> 
> The following changes since commit a95a49fa0cc5eec730d8703b1544fa7ea6a11dec:
> 
>   Merge tag 'perf-core-for-mingo-2' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core (2015-11-26 09:13:50 +0100)
> 
> are available in the git repository at:
> 
>   git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git tags/perf-core-for-mingo
> 
> for you to fetch changes up to 43798bf37215fe242e592fd4605d804e2da0781b:
> 
>   bpf tools: Add helper function for updating bpf maps elements (2015-11-26 17:21:24 -0300)
> 
> ----------------------------------------------------------------
> perf/core improvements and fixes:
> 
> User visible:
> 
> - Add 'vmlinux.debug' to the vmlinux seach path (Ekaterina Tumanova)
> 
> - Do not show sample_(type|period) in the perf_event_attr dump when using
>   -v with 'perf stat' (Jiri Olsa)
> 
> - Display the WEIGHT sample bit, when set, in 'perf evlist -v' (Jiri Olsa)
> 
> - Honour --hide-unresolved in 'report', will honour it as well in 'top'
>   when --hide-unresolved gets supported in that tool (Namhyung Kim)
> 
> - Fix freeze wit h--call-graph 'flat/folded' due to not properly
>   reinitializing the callchain rb_tree (Namhyumg Kim)
> 
> - Set dso->long_name when a module name is passed as a parameter
>   to tools like 'perf probe' but the 'struct dso' associated to that module
>   still doesn't have the full path for the module, just the '[name]' one
>   obtained from /proc/modules (Wang Nan)
> 
> - Fix anon_hugepage mmaps detection using scanf on /proc/PID/smaps (Yannick Brosseau)
> 
> Infrastructure:
> 
> - Add helper function for updating bpf maps elements (He Kuang)
> 
> - Fix traceevents plugins build race (Jiri Olsa)
> 
> - Add the $OUTPUT path prefix with 'fixdep' (Jiri Olsa)
> 
> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
> 
> ----------------------------------------------------------------
> Ekaterina Tumanova (2):
>       perf symbols: Refactor vmlinux_path__init() to ease path additions
>       perf symbols: Add the path to vmlinux.debug
> 
> He Kuang (1):
>       bpf tools: Add helper function for updating bpf maps elements
> 
> Jiri Olsa (6):
>       perf script: Remove default_scripting_ops
>       perf build: Fix traceevent plugins build race
>       perf script: Pass perf_script into process_event
>       tools build: Use fixdep with OUTPUT path prefix
>       perf stat: Clear sample_(type|period) for counting
>       perf evlist: Display WEIGHT sample type bit
> 
> Namhyung Kim (2):
>       perf callchain: Honor hide_unresolved
>       perf top: Fix freeze on --call-graph flat/folded
> 
> Wang Nan (1):
>       perf machine: Adjust dso->long_name for offline module
> 
> Yannick Brosseau (1):
>       perf tools: Correctly identify anon_hugepage when generating map (v2)
> 
>  tools/build/Makefile         |  2 +-
>  tools/build/Makefile.include |  2 +-
>  tools/lib/bpf/bpf.c          | 14 +++++++++
>  tools/lib/bpf/bpf.h          |  2 ++
>  tools/perf/Makefile.perf     |  2 +-
>  tools/perf/builtin-report.c  |  7 ++---
>  tools/perf/builtin-script.c  | 67 +++++++++++++-------------------------------
>  tools/perf/builtin-stat.c    |  7 +++++
>  tools/perf/util/callchain.c  |  1 +
>  tools/perf/util/evsel.c      |  1 +
>  tools/perf/util/machine.c    | 32 ++++++++++++++++++++-
>  tools/perf/util/map.c        |  4 +--
>  tools/perf/util/symbol.c     | 65 ++++++++++++++++++++++--------------------
>  tools/perf/util/symbol.h     |  3 +-
>  14 files changed, 120 insertions(+), 89 deletions(-)

Pulled, thanks a lot Arnaldo!

	Ingo

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

* [GIT PULL 00/13] perf/core improvements and fixes
@ 2015-11-26 20:45 Arnaldo Carvalho de Melo
  2015-11-27  7:30 ` Ingo Molnar
  0 siblings, 1 reply; 74+ messages in thread
From: Arnaldo Carvalho de Melo @ 2015-11-26 20:45 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, Arnaldo Carvalho de Melo, Adrian Hunter,
	Alexander Yarygin, Alexei Starovoitov, Andi Kleen,
	Christian Borntraeger, David Ahern, Ekaterina Tumanova,
	Frederic Weisbecker, He Kuang, Jiri Olsa, Joshua Zhu, Kan Liang,
	kernel-team, Masami Hiramatsu, Namhyung Kim, Naveen N . Rao,
	Peter Zijlstra, pi3orama, Wang Nan, Yannick Brosseau, Zefan Li,
	Arnaldo Carvalho de Melo

Hi Ingo,

	Please consider pulling,

- Arnaldo


The following changes since commit a95a49fa0cc5eec730d8703b1544fa7ea6a11dec:

  Merge tag 'perf-core-for-mingo-2' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core (2015-11-26 09:13:50 +0100)

are available in the git repository at:

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

for you to fetch changes up to 43798bf37215fe242e592fd4605d804e2da0781b:

  bpf tools: Add helper function for updating bpf maps elements (2015-11-26 17:21:24 -0300)

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

User visible:

- Add 'vmlinux.debug' to the vmlinux seach path (Ekaterina Tumanova)

- Do not show sample_(type|period) in the perf_event_attr dump when using
  -v with 'perf stat' (Jiri Olsa)

- Display the WEIGHT sample bit, when set, in 'perf evlist -v' (Jiri Olsa)

- Honour --hide-unresolved in 'report', will honour it as well in 'top'
  when --hide-unresolved gets supported in that tool (Namhyung Kim)

- Fix freeze wit h--call-graph 'flat/folded' due to not properly
  reinitializing the callchain rb_tree (Namhyumg Kim)

- Set dso->long_name when a module name is passed as a parameter
  to tools like 'perf probe' but the 'struct dso' associated to that module
  still doesn't have the full path for the module, just the '[name]' one
  obtained from /proc/modules (Wang Nan)

- Fix anon_hugepage mmaps detection using scanf on /proc/PID/smaps (Yannick Brosseau)

Infrastructure:

- Add helper function for updating bpf maps elements (He Kuang)

- Fix traceevents plugins build race (Jiri Olsa)

- Add the $OUTPUT path prefix with 'fixdep' (Jiri Olsa)

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

----------------------------------------------------------------
Ekaterina Tumanova (2):
      perf symbols: Refactor vmlinux_path__init() to ease path additions
      perf symbols: Add the path to vmlinux.debug

He Kuang (1):
      bpf tools: Add helper function for updating bpf maps elements

Jiri Olsa (6):
      perf script: Remove default_scripting_ops
      perf build: Fix traceevent plugins build race
      perf script: Pass perf_script into process_event
      tools build: Use fixdep with OUTPUT path prefix
      perf stat: Clear sample_(type|period) for counting
      perf evlist: Display WEIGHT sample type bit

Namhyung Kim (2):
      perf callchain: Honor hide_unresolved
      perf top: Fix freeze on --call-graph flat/folded

Wang Nan (1):
      perf machine: Adjust dso->long_name for offline module

Yannick Brosseau (1):
      perf tools: Correctly identify anon_hugepage when generating map (v2)

 tools/build/Makefile         |  2 +-
 tools/build/Makefile.include |  2 +-
 tools/lib/bpf/bpf.c          | 14 +++++++++
 tools/lib/bpf/bpf.h          |  2 ++
 tools/perf/Makefile.perf     |  2 +-
 tools/perf/builtin-report.c  |  7 ++---
 tools/perf/builtin-script.c  | 67 +++++++++++++-------------------------------
 tools/perf/builtin-stat.c    |  7 +++++
 tools/perf/util/callchain.c  |  1 +
 tools/perf/util/evsel.c      |  1 +
 tools/perf/util/machine.c    | 32 ++++++++++++++++++++-
 tools/perf/util/map.c        |  4 +--
 tools/perf/util/symbol.c     | 65 ++++++++++++++++++++++--------------------
 tools/perf/util/symbol.h     |  3 +-
 14 files changed, 120 insertions(+), 89 deletions(-)

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

* Re: [GIT PULL 00/13] perf/core improvements and fixes
  2015-08-12 16:39 Arnaldo Carvalho de Melo
@ 2015-08-13  7:25 ` Ingo Molnar
  0 siblings, 0 replies; 74+ messages in thread
From: Ingo Molnar @ 2015-08-13  7:25 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo
  Cc: linux-kernel, Adrian Hunter, Andi Kleen, Borislav Petkov,
	David Ahern, Frederic Weisbecker, Jiri Olsa, Kan Liang,
	Masami Hiramatsu, Milian Wolff, Namhyung Kim, Stephane Eranian,
	Arnaldo Carvalho de Melo


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

> Hi Ingo,
> 
> 	Please consider applying,
> 
> - Arnaldo
> 
> The following changes since commit 5f1230c9b80b89f404938ff88dfa64a963f74f2c:
> 
>   Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core (2015-08-12 12:16:11 +0200)
> 
> are available in the git repository at:
> 
>   git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git tags/perf-core-for-mingo
> 
> for you to fetch changes up to 71ef150ee06df29c5b427307dc0bacfe06a8baea:
> 
>   perf tests: Add tests to callgraph and time parse (2015-08-12 13:20:29 -0300)
> 
> ----------------------------------------------------------------
> perf/core improvements and fixes:
> 
> User visible:
> 
> - Allow selecting the type of callchains per event, including disabling
>   callchains in all but one entry in an event list, to save space, and also
>   to ask for the callchains collected in one event to be used in other
>   events (Kan Liang)
> 
> - Beautify more syscall arguments in 'perf trace': (Arnaldo Carvalho de Melo)
>   - A bunch more translate file/pathnames from pointers to strings
>   - Convert numbers to strings for the 'keyctl' syscall 'option' arg.
>   - Add missing 'clockid' entries
> 
> - Fix 'perf probe -L sys_*' as it was not showing all the source code for
>   syscall functions in the kernel (Masami Hiramatsu)
> 
> - Make ESC unzoom as well in the hists browser, i.e. in 'report' and 'top',
>   as we're considering repurposing the right and left arrow keys to use in
>   horizontal scrolling, i.e. leave just ESC to be used for what <- works
>   now, and ENTER for what -> does (they are already aliases for ages)
>   (Arnaldo Carvalho de Melo)
> 
> Infrastructure fixes:
> 
> - Check for SRCLINE_UNKNOWN case in "srcfile" processing (Andi Kleen)
> 
> - Wrap the slsmg_{printf,write_nstring} slang functions behing ui_browser, so
>   that we can make the ui_browser based browsers (annotate, menus, hists, etc) UI
>   library agnostic and usable with multiple backends (slang now, GTK+ and others
>   in the future, maybe) (Arnaldo Carvalho de Melo)
> 
> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
> 
> ----------------------------------------------------------------
> Andi Kleen (1):
>       perf sort: Check for SRCLINE_UNKNOWN case in "srcfile" processing
> 
> Arnaldo Carvalho de Melo (7):
>       perf trace: Associate some more syscall args with the getname beautifier
>       perf trace: Add missing clockid entries
>       perf trace: Use the FD beautifier for socket syscall fds
>       perf trace: Beautify keyctl's option arg
>       perf ui browser: Introduce ui_browser__write_nstring()
>       perf ui browser: Introduce ui_browser__printf()
>       perf hists browser: Make ESC unzoom as well
> 
> Kan Liang (4):
>       perf callchain: Per-event type selection support
>       perf callchain: Allow disabling call graphs per event
>       perf report: Show call graph from reference events
>       perf tests: Add tests to callgraph and time parse
> 
> Masami Hiramatsu (1):
>       perf probe: Fix to show lines of sys_ functions correctly
> 
>  tools/perf/Documentation/perf-record.txt |  4 ++
>  tools/perf/Documentation/perf-report.txt | 11 ++++++
>  tools/perf/builtin-annotate.c            |  2 +
>  tools/perf/builtin-diff.c                |  3 ++
>  tools/perf/builtin-report.c              |  7 ++++
>  tools/perf/builtin-trace.c               | 54 +++++++++++++++++++------
>  tools/perf/tests/hists_cumulate.c        |  4 ++
>  tools/perf/tests/parse-events.c          | 38 ++++++++++++++++++
>  tools/perf/ui/browser.c                  | 17 +++++++-
>  tools/perf/ui/browser.h                  |  3 ++
>  tools/perf/ui/browsers/annotate.c        | 43 ++++++++++----------
>  tools/perf/ui/browsers/header.c          |  2 +-
>  tools/perf/ui/browsers/hists.c           | 54 ++++++++++++-------------
>  tools/perf/ui/browsers/map.c             | 11 +++---
>  tools/perf/ui/browsers/scripts.c         |  2 +-
>  tools/perf/ui/libslang.h                 |  3 ++
>  tools/perf/ui/tui/util.c                 |  2 +-
>  tools/perf/util/dwarf-aux.c              | 18 ++++++---
>  tools/perf/util/evsel.c                  | 67 +++++++++++++++++++++++++++++++-
>  tools/perf/util/evsel.h                  |  4 ++
>  tools/perf/util/hist.c                   | 14 +++++--
>  tools/perf/util/parse-events.c           | 12 ++++++
>  tools/perf/util/parse-events.h           |  2 +
>  tools/perf/util/parse-events.l           |  2 +
>  tools/perf/util/pmu.c                    |  4 +-
>  tools/perf/util/sort.c                   |  2 +
>  tools/perf/util/symbol.h                 |  3 +-
>  27 files changed, 307 insertions(+), 81 deletions(-)

Pulled, thanks a lot Arnaldo!

	Ingo

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

* [GIT PULL 00/13] perf/core improvements and fixes
@ 2015-08-12 16:39 Arnaldo Carvalho de Melo
  2015-08-13  7:25 ` Ingo Molnar
  0 siblings, 1 reply; 74+ messages in thread
From: Arnaldo Carvalho de Melo @ 2015-08-12 16:39 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, Arnaldo Carvalho de Melo, Adrian Hunter,
	Andi Kleen, Borislav Petkov, David Ahern, Frederic Weisbecker,
	Jiri Olsa, Kan Liang, Masami Hiramatsu, Milian Wolff,
	Namhyung Kim, Stephane Eranian, Arnaldo Carvalho de Melo

Hi Ingo,

	Please consider applying,

- Arnaldo

The following changes since commit 5f1230c9b80b89f404938ff88dfa64a963f74f2c:

  Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core (2015-08-12 12:16:11 +0200)

are available in the git repository at:

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

for you to fetch changes up to 71ef150ee06df29c5b427307dc0bacfe06a8baea:

  perf tests: Add tests to callgraph and time parse (2015-08-12 13:20:29 -0300)

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

User visible:

- Allow selecting the type of callchains per event, including disabling
  callchains in all but one entry in an event list, to save space, and also
  to ask for the callchains collected in one event to be used in other
  events (Kan Liang)

- Beautify more syscall arguments in 'perf trace': (Arnaldo Carvalho de Melo)
  - A bunch more translate file/pathnames from pointers to strings
  - Convert numbers to strings for the 'keyctl' syscall 'option' arg.
  - Add missing 'clockid' entries

- Fix 'perf probe -L sys_*' as it was not showing all the source code for
  syscall functions in the kernel (Masami Hiramatsu)

- Make ESC unzoom as well in the hists browser, i.e. in 'report' and 'top',
  as we're considering repurposing the right and left arrow keys to use in
  horizontal scrolling, i.e. leave just ESC to be used for what <- works
  now, and ENTER for what -> does (they are already aliases for ages)
  (Arnaldo Carvalho de Melo)

Infrastructure fixes:

- Check for SRCLINE_UNKNOWN case in "srcfile" processing (Andi Kleen)

- Wrap the slsmg_{printf,write_nstring} slang functions behing ui_browser, so
  that we can make the ui_browser based browsers (annotate, menus, hists, etc) UI
  library agnostic and usable with multiple backends (slang now, GTK+ and others
  in the future, maybe) (Arnaldo Carvalho de Melo)

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

----------------------------------------------------------------
Andi Kleen (1):
      perf sort: Check for SRCLINE_UNKNOWN case in "srcfile" processing

Arnaldo Carvalho de Melo (7):
      perf trace: Associate some more syscall args with the getname beautifier
      perf trace: Add missing clockid entries
      perf trace: Use the FD beautifier for socket syscall fds
      perf trace: Beautify keyctl's option arg
      perf ui browser: Introduce ui_browser__write_nstring()
      perf ui browser: Introduce ui_browser__printf()
      perf hists browser: Make ESC unzoom as well

Kan Liang (4):
      perf callchain: Per-event type selection support
      perf callchain: Allow disabling call graphs per event
      perf report: Show call graph from reference events
      perf tests: Add tests to callgraph and time parse

Masami Hiramatsu (1):
      perf probe: Fix to show lines of sys_ functions correctly

 tools/perf/Documentation/perf-record.txt |  4 ++
 tools/perf/Documentation/perf-report.txt | 11 ++++++
 tools/perf/builtin-annotate.c            |  2 +
 tools/perf/builtin-diff.c                |  3 ++
 tools/perf/builtin-report.c              |  7 ++++
 tools/perf/builtin-trace.c               | 54 +++++++++++++++++++------
 tools/perf/tests/hists_cumulate.c        |  4 ++
 tools/perf/tests/parse-events.c          | 38 ++++++++++++++++++
 tools/perf/ui/browser.c                  | 17 +++++++-
 tools/perf/ui/browser.h                  |  3 ++
 tools/perf/ui/browsers/annotate.c        | 43 ++++++++++----------
 tools/perf/ui/browsers/header.c          |  2 +-
 tools/perf/ui/browsers/hists.c           | 54 ++++++++++++-------------
 tools/perf/ui/browsers/map.c             | 11 +++---
 tools/perf/ui/browsers/scripts.c         |  2 +-
 tools/perf/ui/libslang.h                 |  3 ++
 tools/perf/ui/tui/util.c                 |  2 +-
 tools/perf/util/dwarf-aux.c              | 18 ++++++---
 tools/perf/util/evsel.c                  | 67 +++++++++++++++++++++++++++++++-
 tools/perf/util/evsel.h                  |  4 ++
 tools/perf/util/hist.c                   | 14 +++++--
 tools/perf/util/parse-events.c           | 12 ++++++
 tools/perf/util/parse-events.h           |  2 +
 tools/perf/util/parse-events.l           |  2 +
 tools/perf/util/pmu.c                    |  4 +-
 tools/perf/util/sort.c                   |  2 +
 tools/perf/util/symbol.h                 |  3 +-
 27 files changed, 307 insertions(+), 81 deletions(-)

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

* Re: [GIT PULL 00/13] perf/core improvements and fixes
  2015-07-20 20:58 Arnaldo Carvalho de Melo
@ 2015-07-21  6:00 ` Ingo Molnar
  0 siblings, 0 replies; 74+ messages in thread
From: Ingo Molnar @ 2015-07-21  6:00 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo
  Cc: linux-kernel, Adrian Hunter, Andi Kleen, Borislav Petkov,
	Brendan Gregg, David Ahern, Davidlohr Bueso, Frederic Weisbecker,
	Hemant Kumar, Jiri Olsa, Kan Liang, Masami Hiramatsu, Mel Gorman,
	Milian Wolff, Namhyung Kim, Peter Zijlstra, pi3orama,
	Sergei Trofimovich, Stephane Eranian, Steven Rostedt, Wang Nan,
	Zefan Li, Arnaldo Carvalho de Melo


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

> Hi Ingo,
> 
> 	Please consider pulling,
> 
> - Arnaldo
> 
> The following changes since commit 60cd37eb100c4880b28078a47f3062fac7572095:
> 
>   Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core (2015-07-06 17:46:15 +0200)
> 
> are available in the git repository at:
> 
>   git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git tags/perf-core-for-mingo
> 
> for you to fetch changes up to d2f3f5d2e9cae6e73f9642a5ddc8c8a07c35e79b:
> 
>   perf bench futex: Add lock_pi stresser (2015-07-20 17:49:51 -0300)
> 
> ----------------------------------------------------------------
> perf/core improvements and fixes:
> 
> New features:
> 
> - Allow filtering perf's pid via 'perf record --exclude-perf' (Wang Nan)
> 
> - 'perf trace' now supports syscall groups, like strace, i.e:
> 
>     $ trace -e file touch file
> 
>   Will expand 'file' into multiple, file related, syscalls. More work needed to
>   add extra groups for other syscall groups, and also to complement what was
>   added for the 'file' group, included as a proof of concept. (Arnaldo Carvalho de Melo)
> 
> - Add lock_pi stresser to 'perf bench futex', to test the kernel code
>   related to FUTEX_(UN)LOCK_PI (Davidlohr Bueso)
> 
> User visible fixes:
> 
> - Apply --filter to all events in a glob matching, not just the last one (Wang Nan)
> 
> Documentation:
> 
> - Document setting '-e pmu/period=N/' in the 'perf record' man page (Kan Liang)
> 
> Infrastructure:
> 
> - 'perf probe' code simplifications and movements to separate files (Masami Hiramatsu)
> 
> - Fix makefile generation under 'dash' (Sergei Trofimovich)
> 
> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
> 
> ----------------------------------------------------------------
> Arnaldo Carvalho de Melo (5):
>       perf strlist: load() should return a negative errno
>       perf strlist: Make dupstr be the default and part of an extensible config parm
>       perf strlist: Allow substitutions from file contents in a given directory
>       perf strlist: Make parse_list() private
>       perf trace: Support 'strace' syscall event groups
> 
> Davidlohr Bueso (1):
>       perf bench futex: Add lock_pi stresser
> 
> Kan Liang (1):
>       perf record: Document setting '-e pmu/period=N/' in man page
> 
> Masami Hiramatsu (3):
>       perf probe: Simplify __add_probe_trace_events code
>       perf probe: Move ftrace probe-event operations to probe-file.c
>       perf buildid: Use SBUILD_ID_SIZE macro
> 
> Sergei Trofimovich (1):
>       perf tools: Fix makefile generation under dash
> 
> Wang Nan (2):
>       perf record: Apply filter to all events in a glob matching
>       perf record: Allow filtering perf's pid via --exclude-perf
> 
>  tools/perf/Build                         |   1 +
>  tools/perf/Documentation/perf-bench.txt  |   4 +
>  tools/perf/Documentation/perf-record.txt |  19 +-
>  tools/perf/Makefile.perf                 |   5 +
>  tools/perf/bench/Build                   |   1 +
>  tools/perf/bench/bench.h                 |   2 +
>  tools/perf/bench/futex-lock-pi.c         | 219 +++++++++++++++++
>  tools/perf/bench/futex.h                 |  20 ++
>  tools/perf/builtin-bench.c               |   2 +
>  tools/perf/builtin-buildid-cache.c       |  16 +-
>  tools/perf/builtin-buildid-list.c        |   4 +-
>  tools/perf/builtin-record.c              |   3 +
>  tools/perf/builtin-trace.c               |   6 +-
>  tools/perf/config/Makefile               |   8 +-
>  tools/perf/trace/strace/groups/file      |  18 ++
>  tools/perf/util/Build                    |   1 +
>  tools/perf/util/build-id.c               |   6 +-
>  tools/perf/util/build-id.h               |   3 +-
>  tools/perf/util/evsel.c                  |   1 +
>  tools/perf/util/evsel.h                  |   1 +
>  tools/perf/util/machine.c                |   2 +-
>  tools/perf/util/parse-events.c           |  81 ++++++-
>  tools/perf/util/parse-events.h           |   1 +
>  tools/perf/util/probe-event.c            | 388 ++++++-------------------------
>  tools/perf/util/probe-event.h            |   7 +
>  tools/perf/util/probe-file.c             | 301 ++++++++++++++++++++++++
>  tools/perf/util/probe-file.h             |  18 ++
>  tools/perf/util/probe-finder.c           |   2 +-
>  tools/perf/util/strlist.c                |  43 +++-
>  tools/perf/util/strlist.h                |   9 +-
>  tools/perf/util/symbol.c                 |   2 +-
>  tools/perf/util/thread_map.c             |   6 +-
>  32 files changed, 842 insertions(+), 358 deletions(-)
>  create mode 100644 tools/perf/bench/futex-lock-pi.c
>  create mode 100644 tools/perf/trace/strace/groups/file
>  create mode 100644 tools/perf/util/probe-file.c
>  create mode 100644 tools/perf/util/probe-file.h

Pulled, thanks a lot Arnaldo!

	Ingo

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

* [GIT PULL 00/13] perf/core improvements and fixes
@ 2015-07-20 20:58 Arnaldo Carvalho de Melo
  2015-07-21  6:00 ` Ingo Molnar
  0 siblings, 1 reply; 74+ messages in thread
From: Arnaldo Carvalho de Melo @ 2015-07-20 20:58 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, Arnaldo Carvalho de Melo, Adrian Hunter,
	Andi Kleen, Borislav Petkov, Brendan Gregg, David Ahern,
	Davidlohr Bueso, Frederic Weisbecker, Hemant Kumar, Jiri Olsa,
	Kan Liang, Masami Hiramatsu, Mel Gorman, Milian Wolff,
	Namhyung Kim, Peter Zijlstra, pi3orama, Sergei Trofimovich,
	Stephane Eranian, Steven Rostedt, Wang Nan, Zefan Li,
	Arnaldo Carvalho de Melo

Hi Ingo,

	Please consider pulling,

- Arnaldo

The following changes since commit 60cd37eb100c4880b28078a47f3062fac7572095:

  Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core (2015-07-06 17:46:15 +0200)

are available in the git repository at:

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

for you to fetch changes up to d2f3f5d2e9cae6e73f9642a5ddc8c8a07c35e79b:

  perf bench futex: Add lock_pi stresser (2015-07-20 17:49:51 -0300)

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

New features:

- Allow filtering perf's pid via 'perf record --exclude-perf' (Wang Nan)

- 'perf trace' now supports syscall groups, like strace, i.e:

    $ trace -e file touch file

  Will expand 'file' into multiple, file related, syscalls. More work needed to
  add extra groups for other syscall groups, and also to complement what was
  added for the 'file' group, included as a proof of concept. (Arnaldo Carvalho de Melo)

- Add lock_pi stresser to 'perf bench futex', to test the kernel code
  related to FUTEX_(UN)LOCK_PI (Davidlohr Bueso)

User visible fixes:

- Apply --filter to all events in a glob matching, not just the last one (Wang Nan)

Documentation:

- Document setting '-e pmu/period=N/' in the 'perf record' man page (Kan Liang)

Infrastructure:

- 'perf probe' code simplifications and movements to separate files (Masami Hiramatsu)

- Fix makefile generation under 'dash' (Sergei Trofimovich)

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

----------------------------------------------------------------
Arnaldo Carvalho de Melo (5):
      perf strlist: load() should return a negative errno
      perf strlist: Make dupstr be the default and part of an extensible config parm
      perf strlist: Allow substitutions from file contents in a given directory
      perf strlist: Make parse_list() private
      perf trace: Support 'strace' syscall event groups

Davidlohr Bueso (1):
      perf bench futex: Add lock_pi stresser

Kan Liang (1):
      perf record: Document setting '-e pmu/period=N/' in man page

Masami Hiramatsu (3):
      perf probe: Simplify __add_probe_trace_events code
      perf probe: Move ftrace probe-event operations to probe-file.c
      perf buildid: Use SBUILD_ID_SIZE macro

Sergei Trofimovich (1):
      perf tools: Fix makefile generation under dash

Wang Nan (2):
      perf record: Apply filter to all events in a glob matching
      perf record: Allow filtering perf's pid via --exclude-perf

 tools/perf/Build                         |   1 +
 tools/perf/Documentation/perf-bench.txt  |   4 +
 tools/perf/Documentation/perf-record.txt |  19 +-
 tools/perf/Makefile.perf                 |   5 +
 tools/perf/bench/Build                   |   1 +
 tools/perf/bench/bench.h                 |   2 +
 tools/perf/bench/futex-lock-pi.c         | 219 +++++++++++++++++
 tools/perf/bench/futex.h                 |  20 ++
 tools/perf/builtin-bench.c               |   2 +
 tools/perf/builtin-buildid-cache.c       |  16 +-
 tools/perf/builtin-buildid-list.c        |   4 +-
 tools/perf/builtin-record.c              |   3 +
 tools/perf/builtin-trace.c               |   6 +-
 tools/perf/config/Makefile               |   8 +-
 tools/perf/trace/strace/groups/file      |  18 ++
 tools/perf/util/Build                    |   1 +
 tools/perf/util/build-id.c               |   6 +-
 tools/perf/util/build-id.h               |   3 +-
 tools/perf/util/evsel.c                  |   1 +
 tools/perf/util/evsel.h                  |   1 +
 tools/perf/util/machine.c                |   2 +-
 tools/perf/util/parse-events.c           |  81 ++++++-
 tools/perf/util/parse-events.h           |   1 +
 tools/perf/util/probe-event.c            | 388 ++++++-------------------------
 tools/perf/util/probe-event.h            |   7 +
 tools/perf/util/probe-file.c             | 301 ++++++++++++++++++++++++
 tools/perf/util/probe-file.h             |  18 ++
 tools/perf/util/probe-finder.c           |   2 +-
 tools/perf/util/strlist.c                |  43 +++-
 tools/perf/util/strlist.h                |   9 +-
 tools/perf/util/symbol.c                 |   2 +-
 tools/perf/util/thread_map.c             |   6 +-
 32 files changed, 842 insertions(+), 358 deletions(-)
 create mode 100644 tools/perf/bench/futex-lock-pi.c
 create mode 100644 tools/perf/trace/strace/groups/file
 create mode 100644 tools/perf/util/probe-file.c
 create mode 100644 tools/perf/util/probe-file.h

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

* Re: [GIT PULL 00/13] perf/core improvements and fixes
  2015-06-25  7:31 ` Ingo Molnar
@ 2015-06-25 13:48   ` Arnaldo Carvalho de Melo
  0 siblings, 0 replies; 74+ messages in thread
From: Arnaldo Carvalho de Melo @ 2015-06-25 13:48 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, Adrian Hunter, Andi Kleen, David Ahern, He Kuang,
	Jiri Olsa, linuxppc-dev, Lukas Wunner, Madhavan Srinivasan,
	Masami Hiramatsu, Michael Ellerman, Namhyung Kim, Peter Zijlstra,
	Stephane Eranian, Sukadev Bhattiprolu, Wang Nan

Em Thu, Jun 25, 2015 at 09:31:41AM +0200, Ingo Molnar escreveu:
> Pulled, thanks a lot Arnaldo!
> 
> Btw., one small thing I noticed about the status line in perf top: if I ever use 
> 'f' to freeze/unfreeze events, the following message:
> 
>   Press 'f' to disable the events or 'h' to see other hotkeys
> 
> sticks around forever, even after I look into annotation and exit it, etc.
 
> So I don't mind some default, helpful message there (such as 'Press 'h' to see 
> hotkeys'), but it appears this particular message is context and usage sensitive, 
> which wasn't really the goal, right?

Agreed, some more work is needed to change that message in more places,
will do it eventually.

- Arnaldo

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

* Re: [GIT PULL 00/13] perf/core improvements and fixes
  2015-06-23 21:47 Arnaldo Carvalho de Melo
@ 2015-06-25  7:31 ` Ingo Molnar
  2015-06-25 13:48   ` Arnaldo Carvalho de Melo
  0 siblings, 1 reply; 74+ messages in thread
From: Ingo Molnar @ 2015-06-25  7:31 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo
  Cc: linux-kernel, Adrian Hunter, Andi Kleen, David Ahern, He Kuang,
	Jiri Olsa, linuxppc-dev, Lukas Wunner, Madhavan Srinivasan,
	Masami Hiramatsu, Michael Ellerman, Namhyung Kim, Peter Zijlstra,
	Stephane Eranian, Sukadev Bhattiprolu, Wang Nan,
	Arnaldo Carvalho de Melo


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

> Hi Ingo,
> 
> 	Please consider pulling,
> 
> - Arnaldo
> 
> The following changes since commit a9a3cd900fbbcbf837d65653105e7bfc583ced09:
> 
>   Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core (2015-06-20 01:11:11 +0200)
> 
> are available in the git repository at:
> 
>   git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git tags/perf-core-for-mingo
> 
> for you to fetch changes up to 83b2ea257eb1d43e52f76d756722aeb899a2852c:
> 
>   perf tools: Allow auxtrace data alignment (2015-06-23 18:28:37 -0300)
> 
> ----------------------------------------------------------------
> perf/core improvements and fixes:
> 
> User visible:
> 
> - Move toggling event logic from 'perf top' and into hists browser, allowing
>   freeze/unfreeze with event lists with more than one entry (Namhyung Kim)
> 
> - Add missing newlines when dumping PERF_RECORD_FINISHED_ROUND and
>   showing the Aggregated stats in 'perf report -D' (Adrian Hunter)
> 
> Infrastructure:
> 
> - Allow auxtrace data alignment (Adrian Hunter)
> 
> - Allow events with dot (Andi Kleen)
> 
> - Fix failure to 'perf probe' events on arm (He Kuang)
> 
> - Add testing for Makefile.perf (Jiri Olsa)
> 
> - Add test for make install with prefix (Jiri Olsa)
> 
> - Fix single target build dependency check (Jiri Olsa)
> 
> - Access thread_map entries via accessors, prep patch to hold more info per
>   entry, for ongoing 'perf stat --per-thread' work (Jiri Olsa)
> 
> - Use __weak definition from compiler.h (Sukadev Bhattiprolu)
> 
> - Split perf_pmu__new_alias() (Sukadev Bhattiprolu)
> 
> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
> 
> ----------------------------------------------------------------
> Adrian Hunter (3):
>       perf session: Print a newline when dumping PERF_RECORD_FINISHED_ROUND
>       perf tools: Print a newline before dumping Aggregated stats
>       perf tools: Allow auxtrace data alignment
> 
> Andi Kleen (1):
>       perf tools: Allow events with dot
> 
> He Kuang (1):
>       perf probe: Fix failure to probe events on arm
> 
> Jiri Olsa (5):
>       perf tests: Add testing for Makefile.perf
>       perf tests: Add test for make install with prefix
>       perf build: Fix single target build dependency check
>       perf thread_map: Don't access the array entries directly
>       perf thread_map: Change map entries into a struct
> 
> Namhyung Kim (1):
>       perf top: Move toggling event logic into hists browser
> 
> Sukadev Bhattiprolu (2):
>       perf pmu: Use __weak definition from <linux/compiler.h>
>       perf pmu: Split perf_pmu__new_alias()
> 
>  tools/perf/Makefile                         |  4 +--
>  tools/perf/builtin-top.c                    | 24 ++-------------
>  tools/perf/builtin-trace.c                  |  4 +--
>  tools/perf/tests/make                       | 31 ++++++++++++++++++--
>  tools/perf/tests/openat-syscall-tp-fields.c |  2 +-
>  tools/perf/ui/browsers/hists.c              | 19 ++++++++++--
>  tools/perf/util/auxtrace.c                  | 11 +++++--
>  tools/perf/util/auxtrace.h                  |  1 +
>  tools/perf/util/event.c                     |  6 ++--
>  tools/perf/util/evlist.c                    |  4 +--
>  tools/perf/util/evsel.c                     |  2 +-
>  tools/perf/util/parse-events.l              |  5 ++--
>  tools/perf/util/pmu.c                       | 45 +++++++++++++++++++----------
>  tools/perf/util/probe-event.c               |  6 +++-
>  tools/perf/util/session.c                   |  4 ++-
>  tools/perf/util/thread_map.c                | 24 ++++++++-------
>  tools/perf/util/thread_map.h                | 16 +++++++++-
>  17 files changed, 136 insertions(+), 72 deletions(-)

Pulled, thanks a lot Arnaldo!

Btw., one small thing I noticed about the status line in perf top: if I ever use 
'f' to freeze/unfreeze events, the following message:

  Press 'f' to disable the events or 'h' to see other hotkeys

sticks around forever, even after I look into annotation and exit it, etc.

So I don't mind some default, helpful message there (such as 'Press 'h' to see 
hotkeys'), but it appears this particular message is context and usage sensitive, 
which wasn't really the goal, right?

Thanks,

	Ingo

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

* [GIT PULL 00/13] perf/core improvements and fixes
@ 2015-06-23 21:47 Arnaldo Carvalho de Melo
  2015-06-25  7:31 ` Ingo Molnar
  0 siblings, 1 reply; 74+ messages in thread
From: Arnaldo Carvalho de Melo @ 2015-06-23 21:47 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, Arnaldo Carvalho de Melo, Adrian Hunter,
	Andi Kleen, David Ahern, He Kuang, Jiri Olsa, linuxppc-dev,
	Lukas Wunner, Madhavan Srinivasan, Masami Hiramatsu,
	Michael Ellerman, Namhyung Kim, Peter Zijlstra, Stephane Eranian,
	Sukadev Bhattiprolu, Wang Nan, Arnaldo Carvalho de Melo

Hi Ingo,

	Please consider pulling,

- Arnaldo

The following changes since commit a9a3cd900fbbcbf837d65653105e7bfc583ced09:

  Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core (2015-06-20 01:11:11 +0200)

are available in the git repository at:

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

for you to fetch changes up to 83b2ea257eb1d43e52f76d756722aeb899a2852c:

  perf tools: Allow auxtrace data alignment (2015-06-23 18:28:37 -0300)

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

User visible:

- Move toggling event logic from 'perf top' and into hists browser, allowing
  freeze/unfreeze with event lists with more than one entry (Namhyung Kim)

- Add missing newlines when dumping PERF_RECORD_FINISHED_ROUND and
  showing the Aggregated stats in 'perf report -D' (Adrian Hunter)

Infrastructure:

- Allow auxtrace data alignment (Adrian Hunter)

- Allow events with dot (Andi Kleen)

- Fix failure to 'perf probe' events on arm (He Kuang)

- Add testing for Makefile.perf (Jiri Olsa)

- Add test for make install with prefix (Jiri Olsa)

- Fix single target build dependency check (Jiri Olsa)

- Access thread_map entries via accessors, prep patch to hold more info per
  entry, for ongoing 'perf stat --per-thread' work (Jiri Olsa)

- Use __weak definition from compiler.h (Sukadev Bhattiprolu)

- Split perf_pmu__new_alias() (Sukadev Bhattiprolu)

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

----------------------------------------------------------------
Adrian Hunter (3):
      perf session: Print a newline when dumping PERF_RECORD_FINISHED_ROUND
      perf tools: Print a newline before dumping Aggregated stats
      perf tools: Allow auxtrace data alignment

Andi Kleen (1):
      perf tools: Allow events with dot

He Kuang (1):
      perf probe: Fix failure to probe events on arm

Jiri Olsa (5):
      perf tests: Add testing for Makefile.perf
      perf tests: Add test for make install with prefix
      perf build: Fix single target build dependency check
      perf thread_map: Don't access the array entries directly
      perf thread_map: Change map entries into a struct

Namhyung Kim (1):
      perf top: Move toggling event logic into hists browser

Sukadev Bhattiprolu (2):
      perf pmu: Use __weak definition from <linux/compiler.h>
      perf pmu: Split perf_pmu__new_alias()

 tools/perf/Makefile                         |  4 +--
 tools/perf/builtin-top.c                    | 24 ++-------------
 tools/perf/builtin-trace.c                  |  4 +--
 tools/perf/tests/make                       | 31 ++++++++++++++++++--
 tools/perf/tests/openat-syscall-tp-fields.c |  2 +-
 tools/perf/ui/browsers/hists.c              | 19 ++++++++++--
 tools/perf/util/auxtrace.c                  | 11 +++++--
 tools/perf/util/auxtrace.h                  |  1 +
 tools/perf/util/event.c                     |  6 ++--
 tools/perf/util/evlist.c                    |  4 +--
 tools/perf/util/evsel.c                     |  2 +-
 tools/perf/util/parse-events.l              |  5 ++--
 tools/perf/util/pmu.c                       | 45 +++++++++++++++++++----------
 tools/perf/util/probe-event.c               |  6 +++-
 tools/perf/util/session.c                   |  4 ++-
 tools/perf/util/thread_map.c                | 24 ++++++++-------
 tools/perf/util/thread_map.h                | 16 +++++++++-
 17 files changed, 136 insertions(+), 72 deletions(-)

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

* Re: [GIT PULL 00/13] perf/core improvements and fixes
  2014-09-09 19:08   ` Arnaldo Carvalho de Melo
@ 2014-09-10 13:19     ` Adrian Hunter
  0 siblings, 0 replies; 74+ messages in thread
From: Adrian Hunter @ 2014-09-10 13:19 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo
  Cc: Ingo Molnar, linux-kernel, Alexander Shishkin, Alexander Yarygin,
	Anton Blanchard, Christian Borntraeger, Corey Ashford,
	David Ahern, Frederic Weisbecker, Jean Pihet, Jiri Olsa,
	Kyle McMartin, Michael Ellerman, Namhyung Kim, Paul Mackerras,
	Peter Zijlstra, Stephane Eranian, Sukadev Bhattiprolu

On 09/09/2014 10:08 PM, Arnaldo Carvalho de Melo wrote:
> Em Tue, Sep 09, 2014 at 11:48:20AM +0300, Adrian Hunter escreveu:
>> On 09/09/2014 12:17 AM, Arnaldo Carvalho de Melo wrote:
>>> Hi Ingo,
>>>
>>> 	Please consider pulling,
>>>
>>> - Arnaldo
>>
>> I am very sorry Arnaldo but 2 patches are older versions, namely:
>>
>> 	perf tools: Build programs to copy 32-bit compatibility VDSOs
>> 	perf tools: Add support for 32-bit compatibility VDSOs
>>
>> Up-to-date versions can be found from 15 August:
>>
>> 	patchwork:
>>
>> 		https://patchwork.kernel.org/patch/4729131/
>> 		https://patchwork.kernel.org/patch/4729111/
> 
> Ok, those don't apply, as it expects other stuff, that you sent before,
> but were not processed yet, to be in place, I'm fixing it up.
> 

Something like this might prevent Ingo's error message:


From: Adrian Hunter <adrian.hunter@intel.com>
Date: Wed, 10 Sep 2014 16:14:50 +0300
Subject: [PATCH] perf tools: Do not attempt to run perf-read-vdso32 if it
 wasn't built

popen() causes an error message to print if perf-read-vdso32
does not run.  Avoid that by not trying to run it if it was
not built.  Ditto perf-read-vdsox32.

Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
---
 tools/perf/config/Makefile |  8 ++++++--
 tools/perf/util/vdso.c     | 10 ++++++++++
 2 files changed, 16 insertions(+), 2 deletions(-)

diff --git a/tools/perf/config/Makefile b/tools/perf/config/Makefile
index 3ba2382..71264e4 100644
--- a/tools/perf/config/Makefile
+++ b/tools/perf/config/Makefile
@@ -627,7 +627,9 @@ endif
 ifeq (${IS_64_BIT}, 1)
   ifndef NO_PERF_READ_VDSO32
     $(call feature_check,compile-32)
-    ifneq ($(feature-compile-32), 1)
+    ifeq ($(feature-compile-32), 1)
+      CFLAGS += -DHAVE_PERF_READ_VDSO32
+    else
       NO_PERF_READ_VDSO32 := 1
     endif
   endif
@@ -636,7 +638,9 @@ ifeq (${IS_64_BIT}, 1)
   endif
   ifndef NO_PERF_READ_VDSOX32
     $(call feature_check,compile-x32)
-    ifneq ($(feature-compile-x32), 1)
+    ifeq ($(feature-compile-x32), 1)
+      CFLAGS += -DHAVE_PERF_READ_VDSOX32
+    else
       NO_PERF_READ_VDSOX32 := 1
     endif
   endif
diff --git a/tools/perf/util/vdso.c b/tools/perf/util/vdso.c
index 69daef6..5c7dd79 100644
--- a/tools/perf/util/vdso.c
+++ b/tools/perf/util/vdso.c
@@ -255,6 +255,16 @@ static int vdso__dso_findnew_compat(struct machine
*machine,
 	enum dso_type dso_type;

 	dso_type = machine__thread_dso_type(machine, thread);
+
+#ifndef HAVE_PERF_READ_VDSO32
+	if (dso_type == DSO__TYPE_32BIT)
+		return 0;
+#endif
+#ifndef HAVE_PERF_READ_VDSOX32
+	if (dso_type == DSO__TYPE_X32BIT)
+		return 0;
+#endif
+
 	switch (dso_type) {
 	case DSO__TYPE_32BIT:
 		*dso = vdso__findnew_compat(machine, &vdso_info->vdso32);
-- 
1.8.3.2




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

* Re: [GIT PULL 00/13] perf/core improvements and fixes
  2014-09-09  8:48 ` Adrian Hunter
  2014-09-09 13:12   ` Arnaldo Carvalho de Melo
@ 2014-09-09 19:08   ` Arnaldo Carvalho de Melo
  2014-09-10 13:19     ` Adrian Hunter
  1 sibling, 1 reply; 74+ messages in thread
From: Arnaldo Carvalho de Melo @ 2014-09-09 19:08 UTC (permalink / raw)
  To: Adrian Hunter
  Cc: Ingo Molnar, linux-kernel, Alexander Shishkin, Alexander Yarygin,
	Anton Blanchard, Christian Borntraeger, Corey Ashford,
	David Ahern, Frederic Weisbecker, Jean Pihet, Jiri Olsa,
	Kyle McMartin, Michael Ellerman, Namhyung Kim, Paul Mackerras,
	Peter Zijlstra, Stephane Eranian, Sukadev Bhattiprolu

Em Tue, Sep 09, 2014 at 11:48:20AM +0300, Adrian Hunter escreveu:
> On 09/09/2014 12:17 AM, Arnaldo Carvalho de Melo wrote:
> > Hi Ingo,
> > 
> > 	Please consider pulling,
> > 
> > - Arnaldo
> 
> I am very sorry Arnaldo but 2 patches are older versions, namely:
> 
> 	perf tools: Build programs to copy 32-bit compatibility VDSOs
> 	perf tools: Add support for 32-bit compatibility VDSOs
> 
> Up-to-date versions can be found from 15 August:
> 
> 	patchwork:
> 
> 		https://patchwork.kernel.org/patch/4729131/
> 		https://patchwork.kernel.org/patch/4729111/

Ok, those don't apply, as it expects other stuff, that you sent before,
but were not processed yet, to be in place, I'm fixing it up.

- Arnaldo
 
> 	marc.info:
> 
> 		http://marc.info/?l=linux-kernel&m=140812995414607&w=4
> 		http://marc.info/?l=linux-kernel&m=140812993814585&w=4
> 
> It looks like I reposted older versions by mistake on 31 July.
> Very sorry :-(
> 
> The originals were changed as described here:
> 
> 	http://marc.info/?l=linux-kernel&m=140621020918615
> 	http://marc.info/?l=linux-kernel&m=140618721010170
> 
> > 
> > The following changes since commit 39b5a56ec0be5effe9b7d0f18cb27724bf2e5d47:
> > 
> >   Merge branch 'rfc/perf' into perf/core, because it's ready for inclusion (2014-08-24 22:35:42 +0200)
> > 
> > are available in the git repository at:
> > 
> > 
> >   git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git tags/perf-core-for-mingo
> > 
> > for you to fetch changes up to fa3480cb0a96c8af9ded1a8c836c91bd5704bda1:
> > 
> >   perf tools: Add perf_pmu__scan_file() (2014-09-08 17:16:06 -0300)
> > 
> > ----------------------------------------------------------------
> > perf/core improvements and fixes:
> > 
> > User visible:
> > 
> > o Add +field argument support for --sort option (Jiri Olsa)
> > 
> > Infrastructure:
> > 
> > o More intel PT prep work, from Adrian Hunter, including:
> > 
> >   - Let a user specify a PMU event without any config terms
> >   - Add perf-with-kcore script
> >   - Build programs to copy 32-bit compatibility VDSOs
> >   - Add support for 32-bit compatibility VDSOs
> >   - Let default config be defined for a PMU
> >   - Add perf_pmu__scan_file()
> > 
> > o Add feature checks to .gitignore (Alexander Shishkin)
> > 
> > o "perf kvm stat report" improvements by Alexander Yarygin:
> >   o  Save pid string in opts.target.pid
> >   o  Enable the target.system_wide flag
> >   o  Unify the title bar output
> > 
> > o Fix build issue on powerpc when DWARF support is disabled (Anton Blanchard)
> > 
> > o Allow to specify lib compile variable for spec usage (Jiri Olsa)
> > 
> > Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
> > 
> > ----------------------------------------------------------------
> > Adrian Hunter (6):
> >       perf tools: Let a user specify a PMU event without any config terms
> >       perf tools: Add perf-with-kcore script
> >       perf tools: Build programs to copy 32-bit compatibility VDSOs
> >       perf tools: Add support for 32-bit compatibility VDSOs
> >       perf tools: Let default config be defined for a PMU
> >       perf tools: Add perf_pmu__scan_file()
> > 
> > Alexander Shishkin (1):
> >       perf tools: Add feature checks to .gitignore
> > 
> > Alexander Yarygin (3):
> >       perf kvm stat report: Save pid string in opts.target.pid
> >       perf kvm stat report: Enable the target.system_wide flag
> >       perf kvm stat report: Unify the title bar output
> > 
> > Anton Blanchard (1):
> >       perf tools powerpc: Fix build issue when DWARF support is disabled
> > 
> > Jiri Olsa (2):
> >       perf tools: Add +field argument support for --sort option
> >       perf tools: Allow to specify lib compile variable for spec usage
> > 
> >  tools/perf/.gitignore            |   2 +
> >  tools/perf/Makefile.perf         |  42 ++++++-
> >  tools/perf/arch/powerpc/Makefile |   2 +-
> >  tools/perf/builtin-kvm.c         |  23 ++--
> >  tools/perf/config/Makefile       |  33 ++++-
> >  tools/perf/config/Makefile.arch  |   8 ++
> >  tools/perf/perf-read-vdso.c      |  59 +++++++++
> >  tools/perf/perf-with-kcore.sh    | 259 +++++++++++++++++++++++++++++++++++++++
> >  tools/perf/tests/pmu.c           |   2 +-
> >  tools/perf/util/kvm-stat.h       |   1 -
> >  tools/perf/util/parse-events.c   |  13 +-
> >  tools/perf/util/parse-events.y   |  10 ++
> >  tools/perf/util/pmu.c            |  79 +++++++++---
> >  tools/perf/util/pmu.h            |  12 +-
> >  tools/perf/util/sort.c           |  37 +++++-
> >  tools/perf/util/vdso.c           | 170 ++++++++++++++++++++++++-
> >  tools/perf/util/vdso.h           |   4 +-
> >  17 files changed, 712 insertions(+), 44 deletions(-)
> >  create mode 100644 tools/perf/perf-read-vdso.c
> >  create mode 100644 tools/perf/perf-with-kcore.sh
> > 
> > 

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

* Re: [GIT PULL 00/13] perf/core improvements and fixes
  2014-09-09 14:54     ` Ingo Molnar
@ 2014-09-09 15:59       ` Arnaldo Carvalho de Melo
  0 siblings, 0 replies; 74+ messages in thread
From: Arnaldo Carvalho de Melo @ 2014-09-09 15:59 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: Adrian Hunter, linux-kernel, Alexander Shishkin,
	Alexander Yarygin, Anton Blanchard, Christian Borntraeger,
	Corey Ashford, David Ahern, Frederic Weisbecker, Jean Pihet,
	Jiri Olsa, Kyle McMartin, Michael Ellerman, Namhyung Kim,
	Paul Mackerras, Peter Zijlstra, Stephane Eranian,
	Sukadev Bhattiprolu

Em Tue, Sep 09, 2014 at 04:54:49PM +0200, Ingo Molnar escreveu:
> * Arnaldo Carvalho de Melo <acme@kernel.org> wrote:
 
> > Em Tue, Sep 09, 2014 at 11:48:20AM +0300, Adrian Hunter escreveu:
> > > It looks like I reposted older versions by mistake on 31 July.
> > > Very sorry :-(

> > > The originals were changed as described here:

> > > 	http://marc.info/?l=linux-kernel&m=140621020918615
> > > 	http://marc.info/?l=linux-kernel&m=140618721010170

> > No problem, the good thing is that we're almost getting it all 
> > in. I'll rework the branch and resubmit, Ingo, is that OK with 
> > you? [...]

> Yeah, that's perfectly OK.

> > [...] Or have you already pulled and we should instead send a 
> > patch on top, fixing the problem?

> I pulled it locally then unpulled as it didn't pass my (very 
> simple) tests and it looked like there's something fishy going 
> on.

Yeah, I should've tested this more, will make sure I test these things
this time.

Having a requirement that for each new feature we need an entry in 'perf
test' and/or in make -C tools/perf build-test seems a bit harsh, but
would be ideal, hook that to 'git request-pull' and this would hopefully
only happen every celestial aligment nights or so :-\
 
- Arnaldo

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

* Re: [GIT PULL 00/13] perf/core improvements and fixes
  2014-09-09 13:12   ` Arnaldo Carvalho de Melo
@ 2014-09-09 14:54     ` Ingo Molnar
  2014-09-09 15:59       ` Arnaldo Carvalho de Melo
  0 siblings, 1 reply; 74+ messages in thread
From: Ingo Molnar @ 2014-09-09 14:54 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo
  Cc: Adrian Hunter, linux-kernel, Alexander Shishkin,
	Alexander Yarygin, Anton Blanchard, Christian Borntraeger,
	Corey Ashford, David Ahern, Frederic Weisbecker, Jean Pihet,
	Jiri Olsa, Kyle McMartin, Michael Ellerman, Namhyung Kim,
	Paul Mackerras, Peter Zijlstra, Stephane Eranian,
	Sukadev Bhattiprolu


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

> Em Tue, Sep 09, 2014 at 11:48:20AM +0300, Adrian Hunter escreveu:
> > It looks like I reposted older versions by mistake on 31 July.
> > Very sorry :-(
> > 
> > The originals were changed as described here:
> > 
> > 	http://marc.info/?l=linux-kernel&m=140621020918615
> > 	http://marc.info/?l=linux-kernel&m=140618721010170
> 
> No problem, the good thing is that we're almost getting it all 
> in. I'll rework the branch and resubmit, Ingo, is that OK with 
> you? [...]

Yeah, that's perfectly OK.

> [...] Or have you already pulled and we should instead send a 
> patch on top, fixing the problem?

I pulled it locally then unpulled as it didn't pass my (very 
simple) tests and it looked like there's something fishy going 
on.

Thanks,

	Ingo

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

* Re: [GIT PULL 00/13] perf/core improvements and fixes
  2014-09-09  7:14   ` Adrian Hunter
  2014-09-09  7:45     ` Stephane Eranian
@ 2014-09-09 14:53     ` Ingo Molnar
  1 sibling, 0 replies; 74+ messages in thread
From: Ingo Molnar @ 2014-09-09 14:53 UTC (permalink / raw)
  To: Adrian Hunter
  Cc: Arnaldo Carvalho de Melo, linux-kernel, Alexander Shishkin,
	Alexander Yarygin, Anton Blanchard, Christian Borntraeger,
	Corey Ashford, David Ahern, Frederic Weisbecker, Jean Pihet,
	Jiri Olsa, Kyle McMartin, Michael Ellerman, Namhyung Kim,
	Paul Mackerras, Peter Zijlstra, Stephane Eranian,
	Sukadev Bhattiprolu, Arnaldo Carvalho de Melo


* Adrian Hunter <adrian.hunter@intel.com> wrote:

> On 09/09/2014 07:59 AM, Ingo Molnar wrote:
> > 
> > * Arnaldo Carvalho de Melo <acme@kernel.org> wrote:
> > 
> >> Hi Ingo,
> >>
> >> 	Please consider pulling,
> >>
> >> - Arnaldo
> >>
> >> The following changes since commit 39b5a56ec0be5effe9b7d0f18cb27724bf2e5d47:
> >>
> >>   Merge branch 'rfc/perf' into perf/core, because it's ready for inclusion (2014-08-24 22:35:42 +0200)
> >>
> >> are available in the git repository at:
> >>
> >>
> >>   git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git tags/perf-core-for-mingo
> >>
> >> for you to fetch changes up to fa3480cb0a96c8af9ded1a8c836c91bd5704bda1:
> >>
> >>   perf tools: Add perf_pmu__scan_file() (2014-09-08 17:16:06 -0300)
> >>
> >> ----------------------------------------------------------------
> >> perf/core improvements and fixes:
> >>
> >> User visible:
> >>
> >> o Add +field argument support for --sort option (Jiri Olsa)
> >>
> >> Infrastructure:
> >>
> >> o More intel PT prep work, from Adrian Hunter, including:
> >>
> >>   - Let a user specify a PMU event without any config terms
> >>   - Add perf-with-kcore script
> >>   - Build programs to copy 32-bit compatibility VDSOs
> >>   - Add support for 32-bit compatibility VDSOs
> >>   - Let default config be defined for a PMU
> >>   - Add perf_pmu__scan_file()
> >>
> >> o Add feature checks to .gitignore (Alexander Shishkin)
> >>
> >> o "perf kvm stat report" improvements by Alexander Yarygin:
> >>   o  Save pid string in opts.target.pid
> >>   o  Enable the target.system_wide flag
> >>   o  Unify the title bar output
> >>
> >> o Fix build issue on powerpc when DWARF support is disabled (Anton Blanchard)
> >>
> >> o Allow to specify lib compile variable for spec usage (Jiri Olsa)
> >>
> >> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
> >>
> >> ----------------------------------------------------------------
> >> Adrian Hunter (6):
> >>       perf tools: Let a user specify a PMU event without any config terms
> >>       perf tools: Add perf-with-kcore script
> >>       perf tools: Build programs to copy 32-bit compatibility VDSOs
> >>       perf tools: Add support for 32-bit compatibility VDSOs
> >>       perf tools: Let default config be defined for a PMU
> >>       perf tools: Add perf_pmu__scan_file()
> >>
> >> Alexander Shishkin (1):
> >>       perf tools: Add feature checks to .gitignore
> >>
> >> Alexander Yarygin (3):
> >>       perf kvm stat report: Save pid string in opts.target.pid
> >>       perf kvm stat report: Enable the target.system_wide flag
> >>       perf kvm stat report: Unify the title bar output
> >>
> >> Anton Blanchard (1):
> >>       perf tools powerpc: Fix build issue when DWARF support is disabled
> >>
> >> Jiri Olsa (2):
> >>       perf tools: Add +field argument support for --sort option
> >>       perf tools: Allow to specify lib compile variable for spec usage
> >>
> >>  tools/perf/.gitignore            |   2 +
> >>  tools/perf/Makefile.perf         |  42 ++++++-
> >>  tools/perf/arch/powerpc/Makefile |   2 +-
> >>  tools/perf/builtin-kvm.c         |  23 ++--
> >>  tools/perf/config/Makefile       |  33 ++++-
> >>  tools/perf/config/Makefile.arch  |   8 ++
> >>  tools/perf/perf-read-vdso.c      |  59 +++++++++
> >>  tools/perf/perf-with-kcore.sh    | 259 +++++++++++++++++++++++++++++++++++++++
> >>  tools/perf/tests/pmu.c           |   2 +-
> >>  tools/perf/util/kvm-stat.h       |   1 -
> >>  tools/perf/util/parse-events.c   |  13 +-
> >>  tools/perf/util/parse-events.y   |  10 ++
> >>  tools/perf/util/pmu.c            |  79 +++++++++---
> >>  tools/perf/util/pmu.h            |  12 +-
> >>  tools/perf/util/sort.c           |  37 +++++-
> >>  tools/perf/util/vdso.c           | 170 ++++++++++++++++++++++++-
> >>  tools/perf/util/vdso.h           |   4 +-
> >>  17 files changed, 712 insertions(+), 44 deletions(-)
> >>  create mode 100644 tools/perf/perf-read-vdso.c
> >>  create mode 100644 tools/perf/perf-with-kcore.sh
> > 
> > Hm, so I'm getting this error, when trying to profile a 32-bit 
> > ELF binary on a 64-bit kernel, on a testbox:
> > 
> >  $ perf record ~/hackbench  10
> >  Time: 0.115
> >  [ perf record: Woken up 1 times to write data ]
> >  [ perf record: Captured and wrote 0.373 MB perf.data (~16279 samples) ]
> >  sh: perf-read-vdso32: command not found
> 
> Presumably perf-read-vdso32 is not in the PATH.  Did you 'make install'?

I did 'make install' as usual - that's the only thing that I type 
to install a new version of perf tooling.

Thanks,

	Ingo

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

* Re: [GIT PULL 00/13] perf/core improvements and fixes
  2014-09-09  8:48 ` Adrian Hunter
@ 2014-09-09 13:12   ` Arnaldo Carvalho de Melo
  2014-09-09 14:54     ` Ingo Molnar
  2014-09-09 19:08   ` Arnaldo Carvalho de Melo
  1 sibling, 1 reply; 74+ messages in thread
From: Arnaldo Carvalho de Melo @ 2014-09-09 13:12 UTC (permalink / raw)
  To: Adrian Hunter
  Cc: Ingo Molnar, linux-kernel, Alexander Shishkin, Alexander Yarygin,
	Anton Blanchard, Christian Borntraeger, Corey Ashford,
	David Ahern, Frederic Weisbecker, Jean Pihet, Jiri Olsa,
	Kyle McMartin, Michael Ellerman, Namhyung Kim, Paul Mackerras,
	Peter Zijlstra, Stephane Eranian, Sukadev Bhattiprolu

Em Tue, Sep 09, 2014 at 11:48:20AM +0300, Adrian Hunter escreveu:
> It looks like I reposted older versions by mistake on 31 July.
> Very sorry :-(
> 
> The originals were changed as described here:
> 
> 	http://marc.info/?l=linux-kernel&m=140621020918615
> 	http://marc.info/?l=linux-kernel&m=140618721010170

No problem, the good thing is that we're almost getting it all in. I'll
rework the branch and resubmit, Ingo, is that OK with you? Or have you
already pulled and we should instead send a patch on top, fixing the
problem?

- Arnaldo

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

* Re: [GIT PULL 00/13] perf/core improvements and fixes
  2014-09-08 21:17 Arnaldo Carvalho de Melo
  2014-09-09  4:59 ` Ingo Molnar
@ 2014-09-09  8:48 ` Adrian Hunter
  2014-09-09 13:12   ` Arnaldo Carvalho de Melo
  2014-09-09 19:08   ` Arnaldo Carvalho de Melo
  1 sibling, 2 replies; 74+ messages in thread
From: Adrian Hunter @ 2014-09-09  8:48 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo, Arnaldo Carvalho de Melo
  Cc: Ingo Molnar, linux-kernel, Alexander Shishkin, Alexander Yarygin,
	Anton Blanchard, Christian Borntraeger, Corey Ashford,
	David Ahern, Frederic Weisbecker, Jean Pihet, Jiri Olsa,
	Kyle McMartin, Michael Ellerman, Namhyung Kim, Paul Mackerras,
	Peter Zijlstra, Stephane Eranian, Sukadev Bhattiprolu

On 09/09/2014 12:17 AM, Arnaldo Carvalho de Melo wrote:
> Hi Ingo,
> 
> 	Please consider pulling,
> 
> - Arnaldo

I am very sorry Arnaldo but 2 patches are older versions, namely:

	perf tools: Build programs to copy 32-bit compatibility VDSOs
	perf tools: Add support for 32-bit compatibility VDSOs

Up-to-date versions can be found from 15 August:

	patchwork:

		https://patchwork.kernel.org/patch/4729131/
		https://patchwork.kernel.org/patch/4729111/

	marc.info:

		http://marc.info/?l=linux-kernel&m=140812995414607&w=4
		http://marc.info/?l=linux-kernel&m=140812993814585&w=4

It looks like I reposted older versions by mistake on 31 July.
Very sorry :-(

The originals were changed as described here:

	http://marc.info/?l=linux-kernel&m=140621020918615
	http://marc.info/?l=linux-kernel&m=140618721010170

> 
> The following changes since commit 39b5a56ec0be5effe9b7d0f18cb27724bf2e5d47:
> 
>   Merge branch 'rfc/perf' into perf/core, because it's ready for inclusion (2014-08-24 22:35:42 +0200)
> 
> are available in the git repository at:
> 
> 
>   git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git tags/perf-core-for-mingo
> 
> for you to fetch changes up to fa3480cb0a96c8af9ded1a8c836c91bd5704bda1:
> 
>   perf tools: Add perf_pmu__scan_file() (2014-09-08 17:16:06 -0300)
> 
> ----------------------------------------------------------------
> perf/core improvements and fixes:
> 
> User visible:
> 
> o Add +field argument support for --sort option (Jiri Olsa)
> 
> Infrastructure:
> 
> o More intel PT prep work, from Adrian Hunter, including:
> 
>   - Let a user specify a PMU event without any config terms
>   - Add perf-with-kcore script
>   - Build programs to copy 32-bit compatibility VDSOs
>   - Add support for 32-bit compatibility VDSOs
>   - Let default config be defined for a PMU
>   - Add perf_pmu__scan_file()
> 
> o Add feature checks to .gitignore (Alexander Shishkin)
> 
> o "perf kvm stat report" improvements by Alexander Yarygin:
>   o  Save pid string in opts.target.pid
>   o  Enable the target.system_wide flag
>   o  Unify the title bar output
> 
> o Fix build issue on powerpc when DWARF support is disabled (Anton Blanchard)
> 
> o Allow to specify lib compile variable for spec usage (Jiri Olsa)
> 
> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
> 
> ----------------------------------------------------------------
> Adrian Hunter (6):
>       perf tools: Let a user specify a PMU event without any config terms
>       perf tools: Add perf-with-kcore script
>       perf tools: Build programs to copy 32-bit compatibility VDSOs
>       perf tools: Add support for 32-bit compatibility VDSOs
>       perf tools: Let default config be defined for a PMU
>       perf tools: Add perf_pmu__scan_file()
> 
> Alexander Shishkin (1):
>       perf tools: Add feature checks to .gitignore
> 
> Alexander Yarygin (3):
>       perf kvm stat report: Save pid string in opts.target.pid
>       perf kvm stat report: Enable the target.system_wide flag
>       perf kvm stat report: Unify the title bar output
> 
> Anton Blanchard (1):
>       perf tools powerpc: Fix build issue when DWARF support is disabled
> 
> Jiri Olsa (2):
>       perf tools: Add +field argument support for --sort option
>       perf tools: Allow to specify lib compile variable for spec usage
> 
>  tools/perf/.gitignore            |   2 +
>  tools/perf/Makefile.perf         |  42 ++++++-
>  tools/perf/arch/powerpc/Makefile |   2 +-
>  tools/perf/builtin-kvm.c         |  23 ++--
>  tools/perf/config/Makefile       |  33 ++++-
>  tools/perf/config/Makefile.arch  |   8 ++
>  tools/perf/perf-read-vdso.c      |  59 +++++++++
>  tools/perf/perf-with-kcore.sh    | 259 +++++++++++++++++++++++++++++++++++++++
>  tools/perf/tests/pmu.c           |   2 +-
>  tools/perf/util/kvm-stat.h       |   1 -
>  tools/perf/util/parse-events.c   |  13 +-
>  tools/perf/util/parse-events.y   |  10 ++
>  tools/perf/util/pmu.c            |  79 +++++++++---
>  tools/perf/util/pmu.h            |  12 +-
>  tools/perf/util/sort.c           |  37 +++++-
>  tools/perf/util/vdso.c           | 170 ++++++++++++++++++++++++-
>  tools/perf/util/vdso.h           |   4 +-
>  17 files changed, 712 insertions(+), 44 deletions(-)
>  create mode 100644 tools/perf/perf-read-vdso.c
>  create mode 100644 tools/perf/perf-with-kcore.sh
> 
> 


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

* Re: [GIT PULL 00/13] perf/core improvements and fixes
  2014-09-09  7:45     ` Stephane Eranian
@ 2014-09-09  7:55       ` Adrian Hunter
  0 siblings, 0 replies; 74+ messages in thread
From: Adrian Hunter @ 2014-09-09  7:55 UTC (permalink / raw)
  To: Stephane Eranian
  Cc: Ingo Molnar, Arnaldo Carvalho de Melo, LKML, Alexander Shishkin,
	Alexander Yarygin, Anton Blanchard, Christian Borntraeger,
	Corey Ashford, David Ahern, Frederic Weisbecker, Jean Pihet,
	Jiri Olsa, Kyle McMartin, Michael Ellerman, Namhyung Kim,
	Paul Mackerras, Peter Zijlstra, Sukadev Bhattiprolu,
	Arnaldo Carvalho de Melo

On 09/09/2014 10:45 AM, Stephane Eranian wrote:
> On Tue, Sep 9, 2014 at 9:14 AM, Adrian Hunter <adrian.hunter@intel.com> wrote:
>> On 09/09/2014 07:59 AM, Ingo Molnar wrote:
>>>
>>> * Arnaldo Carvalho de Melo <acme@kernel.org> wrote:
>>>
>>>> Hi Ingo,
>>>>
>>>>      Please consider pulling,
>>>>
>>>> - Arnaldo
>>>>
>>>> The following changes since commit 39b5a56ec0be5effe9b7d0f18cb27724bf2e5d47:
>>>>
>>>>   Merge branch 'rfc/perf' into perf/core, because it's ready for inclusion (2014-08-24 22:35:42 +0200)
>>>>
>>>> are available in the git repository at:
>>>>
>>>>
>>>>   git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git tags/perf-core-for-mingo
>>>>
>>>> for you to fetch changes up to fa3480cb0a96c8af9ded1a8c836c91bd5704bda1:
>>>>
>>>>   perf tools: Add perf_pmu__scan_file() (2014-09-08 17:16:06 -0300)
>>>>
>>>> ----------------------------------------------------------------
>>>> perf/core improvements and fixes:
>>>>
>>>> User visible:
>>>>
>>>> o Add +field argument support for --sort option (Jiri Olsa)
>>>>
>>>> Infrastructure:
>>>>
>>>> o More intel PT prep work, from Adrian Hunter, including:
>>>>
>>>>   - Let a user specify a PMU event without any config terms
>>>>   - Add perf-with-kcore script
>>>>   - Build programs to copy 32-bit compatibility VDSOs
>>>>   - Add support for 32-bit compatibility VDSOs
>>>>   - Let default config be defined for a PMU
>>>>   - Add perf_pmu__scan_file()
>>>>
>>>> o Add feature checks to .gitignore (Alexander Shishkin)
>>>>
>>>> o "perf kvm stat report" improvements by Alexander Yarygin:
>>>>   o  Save pid string in opts.target.pid
>>>>   o  Enable the target.system_wide flag
>>>>   o  Unify the title bar output
>>>>
>>>> o Fix build issue on powerpc when DWARF support is disabled (Anton Blanchard)
>>>>
>>>> o Allow to specify lib compile variable for spec usage (Jiri Olsa)
>>>>
>>>> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
>>>>
>>>> ----------------------------------------------------------------
>>>> Adrian Hunter (6):
>>>>       perf tools: Let a user specify a PMU event without any config terms
>>>>       perf tools: Add perf-with-kcore script
>>>>       perf tools: Build programs to copy 32-bit compatibility VDSOs
>>>>       perf tools: Add support for 32-bit compatibility VDSOs
>>>>       perf tools: Let default config be defined for a PMU
>>>>       perf tools: Add perf_pmu__scan_file()
>>>>
>>>> Alexander Shishkin (1):
>>>>       perf tools: Add feature checks to .gitignore
>>>>
>>>> Alexander Yarygin (3):
>>>>       perf kvm stat report: Save pid string in opts.target.pid
>>>>       perf kvm stat report: Enable the target.system_wide flag
>>>>       perf kvm stat report: Unify the title bar output
>>>>
>>>> Anton Blanchard (1):
>>>>       perf tools powerpc: Fix build issue when DWARF support is disabled
>>>>
>>>> Jiri Olsa (2):
>>>>       perf tools: Add +field argument support for --sort option
>>>>       perf tools: Allow to specify lib compile variable for spec usage
>>>>
>>>>  tools/perf/.gitignore            |   2 +
>>>>  tools/perf/Makefile.perf         |  42 ++++++-
>>>>  tools/perf/arch/powerpc/Makefile |   2 +-
>>>>  tools/perf/builtin-kvm.c         |  23 ++--
>>>>  tools/perf/config/Makefile       |  33 ++++-
>>>>  tools/perf/config/Makefile.arch  |   8 ++
>>>>  tools/perf/perf-read-vdso.c      |  59 +++++++++
>>>>  tools/perf/perf-with-kcore.sh    | 259 +++++++++++++++++++++++++++++++++++++++
>>>>  tools/perf/tests/pmu.c           |   2 +-
>>>>  tools/perf/util/kvm-stat.h       |   1 -
>>>>  tools/perf/util/parse-events.c   |  13 +-
>>>>  tools/perf/util/parse-events.y   |  10 ++
>>>>  tools/perf/util/pmu.c            |  79 +++++++++---
>>>>  tools/perf/util/pmu.h            |  12 +-
>>>>  tools/perf/util/sort.c           |  37 +++++-
>>>>  tools/perf/util/vdso.c           | 170 ++++++++++++++++++++++++-
>>>>  tools/perf/util/vdso.h           |   4 +-
>>>>  17 files changed, 712 insertions(+), 44 deletions(-)
>>>>  create mode 100644 tools/perf/perf-read-vdso.c
>>>>  create mode 100644 tools/perf/perf-with-kcore.sh
>>>
>>> Hm, so I'm getting this error, when trying to profile a 32-bit
>>> ELF binary on a 64-bit kernel, on a testbox:
>>>
>>>  $ perf record ~/hackbench  10
>>>  Time: 0.115
>>>  [ perf record: Woken up 1 times to write data ]
>>>  [ perf record: Captured and wrote 0.373 MB perf.data (~16279 samples) ]
>>>  sh: perf-read-vdso32: command not found
>>
>> Presumably perf-read-vdso32 is not in the PATH.  Did you 'make install'?
>>
> Why are we relying on an external command now in perf record?

We are not relying on it in the sense the 'record' works without it.
There is more explanation in "perf tools: Build programs to copy 32-bit
compatibility VDSOs" and "perf tools: Add support for 32-bit compatibility
VDSOs" (although those are the wrong versions of those patches - I will send
another email about that in a moment).

> 
>>>
>>> comet:~/tip> file ~/hackbench
>>> /home/mingo/hackbench: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.2.5, not stripped
>>>
>>> 64-bit executables work fine:
>>>
>>>  $ perf record perf bench sched pipe
>>>  # Running 'sched/pipe' benchmark:
>>>  # Executed 1000000 pipe operations between two processes
>>>
>>>       Total time: 13.374 [sec]
>>>
>>>        13.374352 usecs/op
>>>            74769 ops/sec
>>>  [ perf record: Woken up 14 times to write data ]
>>>  [ perf record: Captured and wrote 3.602 MB perf.data (~157354 samples) ]
>>>
>>> The kernel is an older one:
>>>
>>>  $ uname -a
>>>  Linux comet 3.14.17-100.fc19.x86_64 #1 SMP Thu Aug 14 17:17:26
>>>  UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
>>>
>>> Thanks,
>>>
>>>       Ingo
>>>
>>>
>>
> 
> 


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

* Re: [GIT PULL 00/13] perf/core improvements and fixes
  2014-09-09  7:14   ` Adrian Hunter
@ 2014-09-09  7:45     ` Stephane Eranian
  2014-09-09  7:55       ` Adrian Hunter
  2014-09-09 14:53     ` Ingo Molnar
  1 sibling, 1 reply; 74+ messages in thread
From: Stephane Eranian @ 2014-09-09  7:45 UTC (permalink / raw)
  To: Adrian Hunter
  Cc: Ingo Molnar, Arnaldo Carvalho de Melo, LKML, Alexander Shishkin,
	Alexander Yarygin, Anton Blanchard, Christian Borntraeger,
	Corey Ashford, David Ahern, Frederic Weisbecker, Jean Pihet,
	Jiri Olsa, Kyle McMartin, Michael Ellerman, Namhyung Kim,
	Paul Mackerras, Peter Zijlstra, Sukadev Bhattiprolu,
	Arnaldo Carvalho de Melo

On Tue, Sep 9, 2014 at 9:14 AM, Adrian Hunter <adrian.hunter@intel.com> wrote:
> On 09/09/2014 07:59 AM, Ingo Molnar wrote:
>>
>> * Arnaldo Carvalho de Melo <acme@kernel.org> wrote:
>>
>>> Hi Ingo,
>>>
>>>      Please consider pulling,
>>>
>>> - Arnaldo
>>>
>>> The following changes since commit 39b5a56ec0be5effe9b7d0f18cb27724bf2e5d47:
>>>
>>>   Merge branch 'rfc/perf' into perf/core, because it's ready for inclusion (2014-08-24 22:35:42 +0200)
>>>
>>> are available in the git repository at:
>>>
>>>
>>>   git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git tags/perf-core-for-mingo
>>>
>>> for you to fetch changes up to fa3480cb0a96c8af9ded1a8c836c91bd5704bda1:
>>>
>>>   perf tools: Add perf_pmu__scan_file() (2014-09-08 17:16:06 -0300)
>>>
>>> ----------------------------------------------------------------
>>> perf/core improvements and fixes:
>>>
>>> User visible:
>>>
>>> o Add +field argument support for --sort option (Jiri Olsa)
>>>
>>> Infrastructure:
>>>
>>> o More intel PT prep work, from Adrian Hunter, including:
>>>
>>>   - Let a user specify a PMU event without any config terms
>>>   - Add perf-with-kcore script
>>>   - Build programs to copy 32-bit compatibility VDSOs
>>>   - Add support for 32-bit compatibility VDSOs
>>>   - Let default config be defined for a PMU
>>>   - Add perf_pmu__scan_file()
>>>
>>> o Add feature checks to .gitignore (Alexander Shishkin)
>>>
>>> o "perf kvm stat report" improvements by Alexander Yarygin:
>>>   o  Save pid string in opts.target.pid
>>>   o  Enable the target.system_wide flag
>>>   o  Unify the title bar output
>>>
>>> o Fix build issue on powerpc when DWARF support is disabled (Anton Blanchard)
>>>
>>> o Allow to specify lib compile variable for spec usage (Jiri Olsa)
>>>
>>> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
>>>
>>> ----------------------------------------------------------------
>>> Adrian Hunter (6):
>>>       perf tools: Let a user specify a PMU event without any config terms
>>>       perf tools: Add perf-with-kcore script
>>>       perf tools: Build programs to copy 32-bit compatibility VDSOs
>>>       perf tools: Add support for 32-bit compatibility VDSOs
>>>       perf tools: Let default config be defined for a PMU
>>>       perf tools: Add perf_pmu__scan_file()
>>>
>>> Alexander Shishkin (1):
>>>       perf tools: Add feature checks to .gitignore
>>>
>>> Alexander Yarygin (3):
>>>       perf kvm stat report: Save pid string in opts.target.pid
>>>       perf kvm stat report: Enable the target.system_wide flag
>>>       perf kvm stat report: Unify the title bar output
>>>
>>> Anton Blanchard (1):
>>>       perf tools powerpc: Fix build issue when DWARF support is disabled
>>>
>>> Jiri Olsa (2):
>>>       perf tools: Add +field argument support for --sort option
>>>       perf tools: Allow to specify lib compile variable for spec usage
>>>
>>>  tools/perf/.gitignore            |   2 +
>>>  tools/perf/Makefile.perf         |  42 ++++++-
>>>  tools/perf/arch/powerpc/Makefile |   2 +-
>>>  tools/perf/builtin-kvm.c         |  23 ++--
>>>  tools/perf/config/Makefile       |  33 ++++-
>>>  tools/perf/config/Makefile.arch  |   8 ++
>>>  tools/perf/perf-read-vdso.c      |  59 +++++++++
>>>  tools/perf/perf-with-kcore.sh    | 259 +++++++++++++++++++++++++++++++++++++++
>>>  tools/perf/tests/pmu.c           |   2 +-
>>>  tools/perf/util/kvm-stat.h       |   1 -
>>>  tools/perf/util/parse-events.c   |  13 +-
>>>  tools/perf/util/parse-events.y   |  10 ++
>>>  tools/perf/util/pmu.c            |  79 +++++++++---
>>>  tools/perf/util/pmu.h            |  12 +-
>>>  tools/perf/util/sort.c           |  37 +++++-
>>>  tools/perf/util/vdso.c           | 170 ++++++++++++++++++++++++-
>>>  tools/perf/util/vdso.h           |   4 +-
>>>  17 files changed, 712 insertions(+), 44 deletions(-)
>>>  create mode 100644 tools/perf/perf-read-vdso.c
>>>  create mode 100644 tools/perf/perf-with-kcore.sh
>>
>> Hm, so I'm getting this error, when trying to profile a 32-bit
>> ELF binary on a 64-bit kernel, on a testbox:
>>
>>  $ perf record ~/hackbench  10
>>  Time: 0.115
>>  [ perf record: Woken up 1 times to write data ]
>>  [ perf record: Captured and wrote 0.373 MB perf.data (~16279 samples) ]
>>  sh: perf-read-vdso32: command not found
>
> Presumably perf-read-vdso32 is not in the PATH.  Did you 'make install'?
>
Why are we relying on an external command now in perf record?

>>
>> comet:~/tip> file ~/hackbench
>> /home/mingo/hackbench: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.2.5, not stripped
>>
>> 64-bit executables work fine:
>>
>>  $ perf record perf bench sched pipe
>>  # Running 'sched/pipe' benchmark:
>>  # Executed 1000000 pipe operations between two processes
>>
>>       Total time: 13.374 [sec]
>>
>>        13.374352 usecs/op
>>            74769 ops/sec
>>  [ perf record: Woken up 14 times to write data ]
>>  [ perf record: Captured and wrote 3.602 MB perf.data (~157354 samples) ]
>>
>> The kernel is an older one:
>>
>>  $ uname -a
>>  Linux comet 3.14.17-100.fc19.x86_64 #1 SMP Thu Aug 14 17:17:26
>>  UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
>>
>> Thanks,
>>
>>       Ingo
>>
>>
>

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

* Re: [GIT PULL 00/13] perf/core improvements and fixes
  2014-09-09  4:59 ` Ingo Molnar
@ 2014-09-09  7:14   ` Adrian Hunter
  2014-09-09  7:45     ` Stephane Eranian
  2014-09-09 14:53     ` Ingo Molnar
  0 siblings, 2 replies; 74+ messages in thread
From: Adrian Hunter @ 2014-09-09  7:14 UTC (permalink / raw)
  To: Ingo Molnar, Arnaldo Carvalho de Melo
  Cc: linux-kernel, Alexander Shishkin, Alexander Yarygin,
	Anton Blanchard, Christian Borntraeger, Corey Ashford,
	David Ahern, Frederic Weisbecker, Jean Pihet, Jiri Olsa,
	Kyle McMartin, Michael Ellerman, Namhyung Kim, Paul Mackerras,
	Peter Zijlstra, Stephane Eranian, Sukadev Bhattiprolu,
	Arnaldo Carvalho de Melo

On 09/09/2014 07:59 AM, Ingo Molnar wrote:
> 
> * Arnaldo Carvalho de Melo <acme@kernel.org> wrote:
> 
>> Hi Ingo,
>>
>> 	Please consider pulling,
>>
>> - Arnaldo
>>
>> The following changes since commit 39b5a56ec0be5effe9b7d0f18cb27724bf2e5d47:
>>
>>   Merge branch 'rfc/perf' into perf/core, because it's ready for inclusion (2014-08-24 22:35:42 +0200)
>>
>> are available in the git repository at:
>>
>>
>>   git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git tags/perf-core-for-mingo
>>
>> for you to fetch changes up to fa3480cb0a96c8af9ded1a8c836c91bd5704bda1:
>>
>>   perf tools: Add perf_pmu__scan_file() (2014-09-08 17:16:06 -0300)
>>
>> ----------------------------------------------------------------
>> perf/core improvements and fixes:
>>
>> User visible:
>>
>> o Add +field argument support for --sort option (Jiri Olsa)
>>
>> Infrastructure:
>>
>> o More intel PT prep work, from Adrian Hunter, including:
>>
>>   - Let a user specify a PMU event without any config terms
>>   - Add perf-with-kcore script
>>   - Build programs to copy 32-bit compatibility VDSOs
>>   - Add support for 32-bit compatibility VDSOs
>>   - Let default config be defined for a PMU
>>   - Add perf_pmu__scan_file()
>>
>> o Add feature checks to .gitignore (Alexander Shishkin)
>>
>> o "perf kvm stat report" improvements by Alexander Yarygin:
>>   o  Save pid string in opts.target.pid
>>   o  Enable the target.system_wide flag
>>   o  Unify the title bar output
>>
>> o Fix build issue on powerpc when DWARF support is disabled (Anton Blanchard)
>>
>> o Allow to specify lib compile variable for spec usage (Jiri Olsa)
>>
>> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
>>
>> ----------------------------------------------------------------
>> Adrian Hunter (6):
>>       perf tools: Let a user specify a PMU event without any config terms
>>       perf tools: Add perf-with-kcore script
>>       perf tools: Build programs to copy 32-bit compatibility VDSOs
>>       perf tools: Add support for 32-bit compatibility VDSOs
>>       perf tools: Let default config be defined for a PMU
>>       perf tools: Add perf_pmu__scan_file()
>>
>> Alexander Shishkin (1):
>>       perf tools: Add feature checks to .gitignore
>>
>> Alexander Yarygin (3):
>>       perf kvm stat report: Save pid string in opts.target.pid
>>       perf kvm stat report: Enable the target.system_wide flag
>>       perf kvm stat report: Unify the title bar output
>>
>> Anton Blanchard (1):
>>       perf tools powerpc: Fix build issue when DWARF support is disabled
>>
>> Jiri Olsa (2):
>>       perf tools: Add +field argument support for --sort option
>>       perf tools: Allow to specify lib compile variable for spec usage
>>
>>  tools/perf/.gitignore            |   2 +
>>  tools/perf/Makefile.perf         |  42 ++++++-
>>  tools/perf/arch/powerpc/Makefile |   2 +-
>>  tools/perf/builtin-kvm.c         |  23 ++--
>>  tools/perf/config/Makefile       |  33 ++++-
>>  tools/perf/config/Makefile.arch  |   8 ++
>>  tools/perf/perf-read-vdso.c      |  59 +++++++++
>>  tools/perf/perf-with-kcore.sh    | 259 +++++++++++++++++++++++++++++++++++++++
>>  tools/perf/tests/pmu.c           |   2 +-
>>  tools/perf/util/kvm-stat.h       |   1 -
>>  tools/perf/util/parse-events.c   |  13 +-
>>  tools/perf/util/parse-events.y   |  10 ++
>>  tools/perf/util/pmu.c            |  79 +++++++++---
>>  tools/perf/util/pmu.h            |  12 +-
>>  tools/perf/util/sort.c           |  37 +++++-
>>  tools/perf/util/vdso.c           | 170 ++++++++++++++++++++++++-
>>  tools/perf/util/vdso.h           |   4 +-
>>  17 files changed, 712 insertions(+), 44 deletions(-)
>>  create mode 100644 tools/perf/perf-read-vdso.c
>>  create mode 100644 tools/perf/perf-with-kcore.sh
> 
> Hm, so I'm getting this error, when trying to profile a 32-bit 
> ELF binary on a 64-bit kernel, on a testbox:
> 
>  $ perf record ~/hackbench  10
>  Time: 0.115
>  [ perf record: Woken up 1 times to write data ]
>  [ perf record: Captured and wrote 0.373 MB perf.data (~16279 samples) ]
>  sh: perf-read-vdso32: command not found

Presumably perf-read-vdso32 is not in the PATH.  Did you 'make install'?

> 
> comet:~/tip> file ~/hackbench 
> /home/mingo/hackbench: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.2.5, not stripped
> 
> 64-bit executables work fine:
> 
>  $ perf record perf bench sched pipe
>  # Running 'sched/pipe' benchmark:
>  # Executed 1000000 pipe operations between two processes
> 
>       Total time: 13.374 [sec]
> 
>        13.374352 usecs/op
>            74769 ops/sec
>  [ perf record: Woken up 14 times to write data ]
>  [ perf record: Captured and wrote 3.602 MB perf.data (~157354 samples) ]
> 
> The kernel is an older one:
> 
>  $ uname -a
>  Linux comet 3.14.17-100.fc19.x86_64 #1 SMP Thu Aug 14 17:17:26 
>  UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
> 
> Thanks,
> 
> 	Ingo
> 
> 


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

* Re: [GIT PULL 00/13] perf/core improvements and fixes
  2014-09-08 21:17 Arnaldo Carvalho de Melo
@ 2014-09-09  4:59 ` Ingo Molnar
  2014-09-09  7:14   ` Adrian Hunter
  2014-09-09  8:48 ` Adrian Hunter
  1 sibling, 1 reply; 74+ messages in thread
From: Ingo Molnar @ 2014-09-09  4:59 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo
  Cc: linux-kernel, Adrian Hunter, Alexander Shishkin,
	Alexander Yarygin, Anton Blanchard, Christian Borntraeger,
	Corey Ashford, David Ahern, Frederic Weisbecker, Jean Pihet,
	Jiri Olsa, Kyle McMartin, Michael Ellerman, Namhyung Kim,
	Paul Mackerras, Peter Zijlstra, Stephane Eranian,
	Sukadev Bhattiprolu, Arnaldo Carvalho de Melo


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

> Hi Ingo,
> 
> 	Please consider pulling,
> 
> - Arnaldo
> 
> The following changes since commit 39b5a56ec0be5effe9b7d0f18cb27724bf2e5d47:
> 
>   Merge branch 'rfc/perf' into perf/core, because it's ready for inclusion (2014-08-24 22:35:42 +0200)
> 
> are available in the git repository at:
> 
> 
>   git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git tags/perf-core-for-mingo
> 
> for you to fetch changes up to fa3480cb0a96c8af9ded1a8c836c91bd5704bda1:
> 
>   perf tools: Add perf_pmu__scan_file() (2014-09-08 17:16:06 -0300)
> 
> ----------------------------------------------------------------
> perf/core improvements and fixes:
> 
> User visible:
> 
> o Add +field argument support for --sort option (Jiri Olsa)
> 
> Infrastructure:
> 
> o More intel PT prep work, from Adrian Hunter, including:
> 
>   - Let a user specify a PMU event without any config terms
>   - Add perf-with-kcore script
>   - Build programs to copy 32-bit compatibility VDSOs
>   - Add support for 32-bit compatibility VDSOs
>   - Let default config be defined for a PMU
>   - Add perf_pmu__scan_file()
> 
> o Add feature checks to .gitignore (Alexander Shishkin)
> 
> o "perf kvm stat report" improvements by Alexander Yarygin:
>   o  Save pid string in opts.target.pid
>   o  Enable the target.system_wide flag
>   o  Unify the title bar output
> 
> o Fix build issue on powerpc when DWARF support is disabled (Anton Blanchard)
> 
> o Allow to specify lib compile variable for spec usage (Jiri Olsa)
> 
> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
> 
> ----------------------------------------------------------------
> Adrian Hunter (6):
>       perf tools: Let a user specify a PMU event without any config terms
>       perf tools: Add perf-with-kcore script
>       perf tools: Build programs to copy 32-bit compatibility VDSOs
>       perf tools: Add support for 32-bit compatibility VDSOs
>       perf tools: Let default config be defined for a PMU
>       perf tools: Add perf_pmu__scan_file()
> 
> Alexander Shishkin (1):
>       perf tools: Add feature checks to .gitignore
> 
> Alexander Yarygin (3):
>       perf kvm stat report: Save pid string in opts.target.pid
>       perf kvm stat report: Enable the target.system_wide flag
>       perf kvm stat report: Unify the title bar output
> 
> Anton Blanchard (1):
>       perf tools powerpc: Fix build issue when DWARF support is disabled
> 
> Jiri Olsa (2):
>       perf tools: Add +field argument support for --sort option
>       perf tools: Allow to specify lib compile variable for spec usage
> 
>  tools/perf/.gitignore            |   2 +
>  tools/perf/Makefile.perf         |  42 ++++++-
>  tools/perf/arch/powerpc/Makefile |   2 +-
>  tools/perf/builtin-kvm.c         |  23 ++--
>  tools/perf/config/Makefile       |  33 ++++-
>  tools/perf/config/Makefile.arch  |   8 ++
>  tools/perf/perf-read-vdso.c      |  59 +++++++++
>  tools/perf/perf-with-kcore.sh    | 259 +++++++++++++++++++++++++++++++++++++++
>  tools/perf/tests/pmu.c           |   2 +-
>  tools/perf/util/kvm-stat.h       |   1 -
>  tools/perf/util/parse-events.c   |  13 +-
>  tools/perf/util/parse-events.y   |  10 ++
>  tools/perf/util/pmu.c            |  79 +++++++++---
>  tools/perf/util/pmu.h            |  12 +-
>  tools/perf/util/sort.c           |  37 +++++-
>  tools/perf/util/vdso.c           | 170 ++++++++++++++++++++++++-
>  tools/perf/util/vdso.h           |   4 +-
>  17 files changed, 712 insertions(+), 44 deletions(-)
>  create mode 100644 tools/perf/perf-read-vdso.c
>  create mode 100644 tools/perf/perf-with-kcore.sh

Hm, so I'm getting this error, when trying to profile a 32-bit 
ELF binary on a 64-bit kernel, on a testbox:

 $ perf record ~/hackbench  10
 Time: 0.115
 [ perf record: Woken up 1 times to write data ]
 [ perf record: Captured and wrote 0.373 MB perf.data (~16279 samples) ]
 sh: perf-read-vdso32: command not found

comet:~/tip> file ~/hackbench 
/home/mingo/hackbench: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.2.5, not stripped

64-bit executables work fine:

 $ perf record perf bench sched pipe
 # Running 'sched/pipe' benchmark:
 # Executed 1000000 pipe operations between two processes

      Total time: 13.374 [sec]

       13.374352 usecs/op
           74769 ops/sec
 [ perf record: Woken up 14 times to write data ]
 [ perf record: Captured and wrote 3.602 MB perf.data (~157354 samples) ]

The kernel is an older one:

 $ uname -a
 Linux comet 3.14.17-100.fc19.x86_64 #1 SMP Thu Aug 14 17:17:26 
 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

Thanks,

	Ingo

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

* [GIT PULL 00/13] perf/core improvements and fixes
@ 2014-09-08 21:17 Arnaldo Carvalho de Melo
  2014-09-09  4:59 ` Ingo Molnar
  2014-09-09  8:48 ` Adrian Hunter
  0 siblings, 2 replies; 74+ messages in thread
From: Arnaldo Carvalho de Melo @ 2014-09-08 21:17 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, Arnaldo Carvalho de Melo, Adrian Hunter,
	Alexander Shishkin, Alexander Yarygin, Anton Blanchard,
	Christian Borntraeger, Corey Ashford, David Ahern,
	Frederic Weisbecker, Jean Pihet, Jiri Olsa, Kyle McMartin,
	Michael Ellerman, Namhyung Kim, Paul Mackerras, Peter Zijlstra,
	Stephane Eranian, Sukadev Bhattiprolu, Arnaldo Carvalho de Melo

Hi Ingo,

	Please consider pulling,

- Arnaldo

The following changes since commit 39b5a56ec0be5effe9b7d0f18cb27724bf2e5d47:

  Merge branch 'rfc/perf' into perf/core, because it's ready for inclusion (2014-08-24 22:35:42 +0200)

are available in the git repository at:


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

for you to fetch changes up to fa3480cb0a96c8af9ded1a8c836c91bd5704bda1:

  perf tools: Add perf_pmu__scan_file() (2014-09-08 17:16:06 -0300)

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

User visible:

o Add +field argument support for --sort option (Jiri Olsa)

Infrastructure:

o More intel PT prep work, from Adrian Hunter, including:

  - Let a user specify a PMU event without any config terms
  - Add perf-with-kcore script
  - Build programs to copy 32-bit compatibility VDSOs
  - Add support for 32-bit compatibility VDSOs
  - Let default config be defined for a PMU
  - Add perf_pmu__scan_file()

o Add feature checks to .gitignore (Alexander Shishkin)

o "perf kvm stat report" improvements by Alexander Yarygin:
  o  Save pid string in opts.target.pid
  o  Enable the target.system_wide flag
  o  Unify the title bar output

o Fix build issue on powerpc when DWARF support is disabled (Anton Blanchard)

o Allow to specify lib compile variable for spec usage (Jiri Olsa)

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

----------------------------------------------------------------
Adrian Hunter (6):
      perf tools: Let a user specify a PMU event without any config terms
      perf tools: Add perf-with-kcore script
      perf tools: Build programs to copy 32-bit compatibility VDSOs
      perf tools: Add support for 32-bit compatibility VDSOs
      perf tools: Let default config be defined for a PMU
      perf tools: Add perf_pmu__scan_file()

Alexander Shishkin (1):
      perf tools: Add feature checks to .gitignore

Alexander Yarygin (3):
      perf kvm stat report: Save pid string in opts.target.pid
      perf kvm stat report: Enable the target.system_wide flag
      perf kvm stat report: Unify the title bar output

Anton Blanchard (1):
      perf tools powerpc: Fix build issue when DWARF support is disabled

Jiri Olsa (2):
      perf tools: Add +field argument support for --sort option
      perf tools: Allow to specify lib compile variable for spec usage

 tools/perf/.gitignore            |   2 +
 tools/perf/Makefile.perf         |  42 ++++++-
 tools/perf/arch/powerpc/Makefile |   2 +-
 tools/perf/builtin-kvm.c         |  23 ++--
 tools/perf/config/Makefile       |  33 ++++-
 tools/perf/config/Makefile.arch  |   8 ++
 tools/perf/perf-read-vdso.c      |  59 +++++++++
 tools/perf/perf-with-kcore.sh    | 259 +++++++++++++++++++++++++++++++++++++++
 tools/perf/tests/pmu.c           |   2 +-
 tools/perf/util/kvm-stat.h       |   1 -
 tools/perf/util/parse-events.c   |  13 +-
 tools/perf/util/parse-events.y   |  10 ++
 tools/perf/util/pmu.c            |  79 +++++++++---
 tools/perf/util/pmu.h            |  12 +-
 tools/perf/util/sort.c           |  37 +++++-
 tools/perf/util/vdso.c           | 170 ++++++++++++++++++++++++-
 tools/perf/util/vdso.h           |   4 +-
 17 files changed, 712 insertions(+), 44 deletions(-)
 create mode 100644 tools/perf/perf-read-vdso.c
 create mode 100644 tools/perf/perf-with-kcore.sh

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

* [GIT PULL 00/13] perf/core improvements and fixes
@ 2014-07-16 20:02 Jiri Olsa
  0 siblings, 0 replies; 74+ messages in thread
From: Jiri Olsa @ 2014-07-16 20:02 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, Arnaldo Carvalho de Melo, Andi Kleen,
	Corey Ashford, David Ahern, Frederic Weisbecker, Namhyung Kim,
	Paul Mackerras, Peter Zijlstra, Stanislav Fomichev,
	Yann Droneaud, Jiri Olsa

hi Ingo,
please consider pulling

thanks,
jirka


The following changes since commit ff2ebe46e15bd49d52b9c2f3fc77f3a9d94eac7b:

  Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/jolsa/perf into perf/core (2014-07-16 13:48:13 +0200)

are available in the git repository at:


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

for you to fetch changes up to 5ce0a7940a89ad7028dfada935b0cc64d307ea3f:

  perf tools: Add a --no-desc flag to perf list (2014-07-16 21:35:07 +0200)

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

. Add support for full Intel event lists (Andi Kleen)

. Update attr test with PERF_FLAG_FD_CLOEXEC flag (Jiri Olsa)

. Enable close-on-exec flag on perf file descriptor (Yann Droneaud)

Signed-off-by: Jiri Olsa <jolsa@kernel.org>

----------------------------------------------------------------
Andi Kleen (11):
      perf tools: Add jsmn `jasmine' JSON parser
      perf tools: Add support for text descriptions of events and alias add
      perf tools: Update perf list to output descriptions
      perf tools: Allow events with dot
      perf tools: Add support for reading JSON event files
      perf tools: Automatically look for event file name for cpu
      perf tools: Add perf download to download event files
      perf tools: Query terminal width and use in perf list
      perf tools: Add a new pmu interface to iterate over all events
      perf tests: Add test case for alias and JSON parsing
      perf tools: Add a --no-desc flag to perf list

Jiri Olsa (1):
      perf tests: Update attr test with PERF_FLAG_FD_CLOEXEC flag

Yann Droneaud (1):
      perf tools: Enable close-on-exec flag on perf file descriptor

 tools/perf/Documentation/perf-download.txt |  31 +++
 tools/perf/Documentation/perf-list.txt     |  29 ++-
 tools/perf/Documentation/perf-record.txt   |   8 +-
 tools/perf/Documentation/perf-stat.txt     |   8 +-
 tools/perf/Makefile.perf                   |  13 +-
 tools/perf/arch/x86/util/header.c          |  19 +-
 tools/perf/bench/mem-memcpy.c              |   4 +-
 tools/perf/bench/mem-memset.c              |   4 +-
 tools/perf/builtin-list.c                  |  16 +-
 tools/perf/builtin-record.c                |   3 +
 tools/perf/builtin-sched.c                 |   4 +-
 tools/perf/builtin-stat.c                  |   2 +
 tools/perf/perf-download.sh                |  56 ++++++
 tools/perf/tests/aliases.c                 |  58 ++++++
 tools/perf/tests/attr/base-record          |   3 +-
 tools/perf/tests/attr/base-stat            |   3 +-
 tools/perf/tests/bp_signal.c               |   4 +-
 tools/perf/tests/bp_signal_overflow.c      |   4 +-
 tools/perf/tests/builtin-test.c            |   4 +
 tools/perf/tests/rdpmc.c                   |   4 +-
 tools/perf/tests/tests.h                   |   1 +
 tools/perf/util/cache.h                    |   1 +
 tools/perf/util/cloexec.c                  |  57 ++++++
 tools/perf/util/cloexec.h                  |   6 +
 tools/perf/util/evsel.c                    |  12 +-
 tools/perf/util/jevents.c                  | 286 ++++++++++++++++++++++++++
 tools/perf/util/jevents.h                  |   9 +
 tools/perf/util/jsmn.c                     | 313 +++++++++++++++++++++++++++++
 tools/perf/util/jsmn.h                     |  67 ++++++
 tools/perf/util/json.c                     | 155 ++++++++++++++
 tools/perf/util/json.h                     |  13 ++
 tools/perf/util/pager.c                    |  15 ++
 tools/perf/util/parse-events.c             |   4 +-
 tools/perf/util/parse-events.h             |   2 +-
 tools/perf/util/parse-events.l             |   3 +-
 tools/perf/util/pmu.c                      | 153 +++++++++++---
 tools/perf/util/pmu.h                      |   6 +-
 tools/perf/util/record.c                   |   9 +-
 38 files changed, 1324 insertions(+), 65 deletions(-)
 create mode 100644 tools/perf/Documentation/perf-download.txt
 create mode 100755 tools/perf/perf-download.sh
 create mode 100644 tools/perf/tests/aliases.c
 create mode 100644 tools/perf/util/cloexec.c
 create mode 100644 tools/perf/util/cloexec.h
 create mode 100644 tools/perf/util/jevents.c
 create mode 100644 tools/perf/util/jevents.h
 create mode 100644 tools/perf/util/jsmn.c
 create mode 100644 tools/perf/util/jsmn.h
 create mode 100644 tools/perf/util/json.c
 create mode 100644 tools/perf/util/json.h

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

* Re: [GIT PULL 00/13] perf/core improvements and fixes
  2014-01-15 20:32 Arnaldo Carvalho de Melo
@ 2014-01-16  8:36 ` Ingo Molnar
  0 siblings, 0 replies; 74+ messages in thread
From: Ingo Molnar @ 2014-01-16  8:36 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo
  Cc: linux-kernel, Arnaldo Carvalho de Melo, Adrian Hunter,
	Andi Kleen, Arun Sharma, David Ahern, Frederic Weisbecker,
	Jiri Olsa, Mark Rutland, Mike Galbraith, Namhyung Kim,
	Paul Mackerras, Peter Zijlstra, Rodrigo Campos, Stephane Eranian,
	Steven Rostedt, Will Deacon, 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 197749981e539c1eb5863f417de6dd4e2c02b76c:
> 
>   Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core (2014-01-14 17:25:12 +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 0e9e79a13ab9d56b86db6538305babc23b1445cc:
> 
>   tools lib traceevent: fix pointer-integer size mismatch (2014-01-15 17:04:38 -0300)
> 
> ----------------------------------------------------------------
> Changes in user visible interfaces:
> 
> . Rename 'record's --no-delay option to --no-buffering, better reflecting its
>   purpose and freeing up '--delay' to take the place of '--initial-delay', so that
>   'record' and 'stat' are consistent.
> 
> Refactorings:
> 
> . Get rid of die() and friends (good riddance!) in libtraceevent (Namhyung Kim)
> 
> Developer stuff:
> 
> . Fix cross build problems related to pkgconfig and CROSS_COMPILE not being
>   propagated to the feature tests, leading to features being tested in the
>   host and then being enabled on the target. (Mark Rutland)
> 
> . Fix pointer-integer size mismatch in some libtraceevent plugins (Mark Rutland)
> 
> . Fix build error due to zfree() cast (Namhyung Kim)
> 
> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
> 
> ----------------------------------------------------------------
> Arnaldo Carvalho de Melo (2):
>       perf record: Rename --no-delay to --no-buffering
>       perf record: Rename --initial-delay to --delay
> 
> Mark Rutland (2):
>       perf: tools: Fix cross building
>       tools lib traceevent: fix pointer-integer size mismatch
> 
> Namhyung Kim (9):
>       perf tools: Fix build error due to zfree() cast
>       tools lib traceevent: Add state member to struct trace_seq
>       tools lib traceevent: Check return value of realloc()
>       tools lib traceevent: Get rid of malloc_or_die() in trace_seq_init()
>       tools lib traceevent: Get rid of die() finally!!
>       tools lib traceevent: Make plugin unload function receive pevent
>       perf tools: Remove symbol_conf.use_callchain check
>       perf tools: Factor out sample__resolve_callchain()
>       perf hists: Convert hist entry functions to use struct he_stat
> 
>  tools/lib/traceevent/Makefile             |  2 +-
>  tools/lib/traceevent/event-parse.h        | 14 +++++--
>  tools/lib/traceevent/event-plugin.c       |  4 +-
>  tools/lib/traceevent/event-utils.h        |  4 --
>  tools/lib/traceevent/parse-utils.c        | 44 --------------------
>  tools/lib/traceevent/plugin_cfg80211.c    |  2 +-
>  tools/lib/traceevent/plugin_function.c    |  2 +-
>  tools/lib/traceevent/plugin_scsi.c        |  2 +-
>  tools/lib/traceevent/trace-seq.c          | 67 ++++++++++++++++++++++++-------
>  tools/perf/Documentation/perf-record.txt  |  6 +--
>  tools/perf/Makefile.perf                  |  1 +
>  tools/perf/builtin-record.c               |  4 +-
>  tools/perf/builtin-report.c               | 24 ++---------
>  tools/perf/builtin-top.c                  | 22 ++++------
>  tools/perf/builtin-trace.c                |  2 +-
>  tools/perf/config/Makefile                |  6 +--
>  tools/perf/config/feature-checks/Makefile |  9 +++--
>  tools/perf/perf.h                         |  2 +-
>  tools/perf/tests/open-syscall-tp-fields.c |  8 ++--
>  tools/perf/tests/perf-record.c            |  6 +--
>  tools/perf/util/callchain.c               | 23 +++++++++++
>  tools/perf/util/callchain.h               |  6 +++
>  tools/perf/util/evsel.c                   |  2 +-
>  tools/perf/util/hist.c                    | 22 +++++-----
>  tools/perf/util/machine.c                 |  2 -
>  tools/perf/util/srcline.c                 |  4 +-
>  tools/perf/util/strlist.c                 |  2 +-
>  tools/perf/util/trace-event.c             |  2 +-
>  28 files changed, 147 insertions(+), 147 deletions(-)

Pulled, thanks a lot Arnaldo!

	Ingo

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

* [GIT PULL 00/13] perf/core improvements and fixes
@ 2014-01-15 20:32 Arnaldo Carvalho de Melo
  2014-01-16  8:36 ` Ingo Molnar
  0 siblings, 1 reply; 74+ messages in thread
From: Arnaldo Carvalho de Melo @ 2014-01-15 20:32 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, Arnaldo Carvalho de Melo, Adrian Hunter,
	Andi Kleen, Arun Sharma, David Ahern, Frederic Weisbecker,
	Jiri Olsa, Mark Rutland, Mike Galbraith, Namhyung Kim,
	Paul Mackerras, Peter Zijlstra, Rodrigo Campos, Stephane Eranian,
	Steven Rostedt, Will Deacon, Arnaldo Carvalho de Melo

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

Hi Ingo,

	Please consider pulling,

- Arnaldo

The following changes since commit 197749981e539c1eb5863f417de6dd4e2c02b76c:

  Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core (2014-01-14 17:25:12 +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 0e9e79a13ab9d56b86db6538305babc23b1445cc:

  tools lib traceevent: fix pointer-integer size mismatch (2014-01-15 17:04:38 -0300)

----------------------------------------------------------------
Changes in user visible interfaces:

. Rename 'record's --no-delay option to --no-buffering, better reflecting its
  purpose and freeing up '--delay' to take the place of '--initial-delay', so that
  'record' and 'stat' are consistent.

Refactorings:

. Get rid of die() and friends (good riddance!) in libtraceevent (Namhyung Kim)

Developer stuff:

. Fix cross build problems related to pkgconfig and CROSS_COMPILE not being
  propagated to the feature tests, leading to features being tested in the
  host and then being enabled on the target. (Mark Rutland)

. Fix pointer-integer size mismatch in some libtraceevent plugins (Mark Rutland)

. Fix build error due to zfree() cast (Namhyung Kim)

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

----------------------------------------------------------------
Arnaldo Carvalho de Melo (2):
      perf record: Rename --no-delay to --no-buffering
      perf record: Rename --initial-delay to --delay

Mark Rutland (2):
      perf: tools: Fix cross building
      tools lib traceevent: fix pointer-integer size mismatch

Namhyung Kim (9):
      perf tools: Fix build error due to zfree() cast
      tools lib traceevent: Add state member to struct trace_seq
      tools lib traceevent: Check return value of realloc()
      tools lib traceevent: Get rid of malloc_or_die() in trace_seq_init()
      tools lib traceevent: Get rid of die() finally!!
      tools lib traceevent: Make plugin unload function receive pevent
      perf tools: Remove symbol_conf.use_callchain check
      perf tools: Factor out sample__resolve_callchain()
      perf hists: Convert hist entry functions to use struct he_stat

 tools/lib/traceevent/Makefile             |  2 +-
 tools/lib/traceevent/event-parse.h        | 14 +++++--
 tools/lib/traceevent/event-plugin.c       |  4 +-
 tools/lib/traceevent/event-utils.h        |  4 --
 tools/lib/traceevent/parse-utils.c        | 44 --------------------
 tools/lib/traceevent/plugin_cfg80211.c    |  2 +-
 tools/lib/traceevent/plugin_function.c    |  2 +-
 tools/lib/traceevent/plugin_scsi.c        |  2 +-
 tools/lib/traceevent/trace-seq.c          | 67 ++++++++++++++++++++++++-------
 tools/perf/Documentation/perf-record.txt  |  6 +--
 tools/perf/Makefile.perf                  |  1 +
 tools/perf/builtin-record.c               |  4 +-
 tools/perf/builtin-report.c               | 24 ++---------
 tools/perf/builtin-top.c                  | 22 ++++------
 tools/perf/builtin-trace.c                |  2 +-
 tools/perf/config/Makefile                |  6 +--
 tools/perf/config/feature-checks/Makefile |  9 +++--
 tools/perf/perf.h                         |  2 +-
 tools/perf/tests/open-syscall-tp-fields.c |  8 ++--
 tools/perf/tests/perf-record.c            |  6 +--
 tools/perf/util/callchain.c               | 23 +++++++++++
 tools/perf/util/callchain.h               |  6 +++
 tools/perf/util/evsel.c                   |  2 +-
 tools/perf/util/hist.c                    | 22 +++++-----
 tools/perf/util/machine.c                 |  2 -
 tools/perf/util/srcline.c                 |  4 +-
 tools/perf/util/strlist.c                 |  2 +-
 tools/perf/util/trace-event.c             |  2 +-
 28 files changed, 147 insertions(+), 147 deletions(-)

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

* Re: [GIT PULL 00/13] perf/core improvements and fixes
  2013-11-12 20:46 Arnaldo Carvalho de Melo
@ 2013-11-12 20:50 ` Ingo Molnar
  0 siblings, 0 replies; 74+ messages in thread
From: Ingo Molnar @ 2013-11-12 20:50 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo
  Cc: linux-kernel, Arnaldo Carvalho de Melo, Adrian Hunter,
	David Ahern, Frederic Weisbecker, Jiri Olsa, Mike Galbraith,
	Namhyung Kim, Paul Mackerras, Pekka Enberg, Peter Zijlstra,
	Stephane Eranian, Steven Rostedt, 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 67c1e4a53b17894e6a24f95057cc374c4be051cb:
> 
>   perf tests: Use lower sample_freq in sw clock event period test (2013-11-11 16:43:34 -0300)
> 
> 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 0497a9ebaf7ae4d573497b3e053ad4c3d5c9921d:
> 
>   tools lib traceevent: Add direct access to dynamic arrays (2013-11-12 17:23:44 -0300)
> 
> ----------------------------------------------------------------
> perf/core improvements and fixes:
> 
> . Add summary only option to 'perf trace', suppressing the decoding of
>   events, from David Ahern
> 
> . 'perf trace --summary' formatting simplifications, from Pekka Emberg.
> 
> . Beautify fifth argument of mmap() as fd, in 'perf trace', from Namhyung Kim.
> 
> . Fix segfault on perf trace -i perf.data, from Namhyung Kim.
> 
> . Fix segfault with --no-mmap-pages, from David Ahern.
> 
> . Round mmap pages to power 2, from David Ahern.
> 
> . Add direct access to dynamic arrays in libtraceevent, from Steven Rostedt.
> 
> . Handle throttle events in 'object code reading' test, fix from Adrian Hunter.
> 
> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
> 
> ----------------------------------------------------------------
> Adrian Hunter (2):
>       perf tests: Compensate lower sample freq with longer test loop
>       perf tests: Handle throttle events in 'object code reading' test
> 
> Arnaldo Carvalho de Melo (1):
>       perf target: Shorten perf_target__ to target__
> 
> David Ahern (4):
>       perf trace: Add summary only option
>       perf record: Fix segfault with --no-mmap-pages
>       perf evlist: Round mmap pages to power 2 - v2
>       perf evlist: Refactor mmap_pages parsing
> 
> Namhyung Kim (3):
>       perf trace: Beautify fifth argument of mmap() as fd
>       perf trace: Separate tp syscall field caching into init routine to be reused
>       perf trace: Fix segfault on perf trace -i perf.data
> 
> Pekka Enberg (2):
>       perf trace: Change syscall summary duration order
>       perf trace: Simplify '--summary' output
> 
> Steven Rostedt (1):
>       tools lib traceevent: Add direct access to dynamic arrays
> 
>  tools/lib/traceevent/event-parse.c      |  13 ++++
>  tools/perf/Documentation/perf-trace.txt |  10 ++-
>  tools/perf/builtin-kvm.c                |   6 +-
>  tools/perf/builtin-record.c             |  14 ++--
>  tools/perf/builtin-stat.c               |  21 +++---
>  tools/perf/builtin-top.c                |  14 ++--
>  tools/perf/builtin-trace.c              | 121 +++++++++++++++++++-------------
>  tools/perf/perf.h                       |   2 +-
>  tools/perf/tests/code-reading.c         |  15 +++-
>  tools/perf/tests/sw-clock.c             |   2 +-
>  tools/perf/tests/task-exit.c            |   2 +-
>  tools/perf/util/evlist.c                |  64 ++++++++++-------
>  tools/perf/util/evlist.h                |   5 +-
>  tools/perf/util/evsel.c                 |   9 ++-
>  tools/perf/util/evsel.h                 |   3 +-
>  tools/perf/util/machine.c               |   6 +-
>  tools/perf/util/machine.h               |   4 +-
>  tools/perf/util/target.c                |  54 +++++++-------
>  tools/perf/util/target.h                |  44 ++++++------
>  tools/perf/util/top.c                   |   2 +-
>  20 files changed, 236 insertions(+), 175 deletions(-)

Pulled, including yesterday's bits as well - thanks a lot Arnaldo!

	Ingo

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

* [GIT PULL 00/13] perf/core improvements and fixes
@ 2013-11-12 20:46 Arnaldo Carvalho de Melo
  2013-11-12 20:50 ` Ingo Molnar
  0 siblings, 1 reply; 74+ messages in thread
From: Arnaldo Carvalho de Melo @ 2013-11-12 20:46 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, Pekka Enberg, Peter Zijlstra,
	Stephane Eranian, Steven Rostedt, Arnaldo Carvalho de Melo

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

Hi Ingo,

	Please consider pulling,

- Arnaldo

The following changes since commit 67c1e4a53b17894e6a24f95057cc374c4be051cb:

  perf tests: Use lower sample_freq in sw clock event period test (2013-11-11 16:43:34 -0300)

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 0497a9ebaf7ae4d573497b3e053ad4c3d5c9921d:

  tools lib traceevent: Add direct access to dynamic arrays (2013-11-12 17:23:44 -0300)

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

. Add summary only option to 'perf trace', suppressing the decoding of
  events, from David Ahern

. 'perf trace --summary' formatting simplifications, from Pekka Emberg.

. Beautify fifth argument of mmap() as fd, in 'perf trace', from Namhyung Kim.

. Fix segfault on perf trace -i perf.data, from Namhyung Kim.

. Fix segfault with --no-mmap-pages, from David Ahern.

. Round mmap pages to power 2, from David Ahern.

. Add direct access to dynamic arrays in libtraceevent, from Steven Rostedt.

. Handle throttle events in 'object code reading' test, fix from Adrian Hunter.

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

----------------------------------------------------------------
Adrian Hunter (2):
      perf tests: Compensate lower sample freq with longer test loop
      perf tests: Handle throttle events in 'object code reading' test

Arnaldo Carvalho de Melo (1):
      perf target: Shorten perf_target__ to target__

David Ahern (4):
      perf trace: Add summary only option
      perf record: Fix segfault with --no-mmap-pages
      perf evlist: Round mmap pages to power 2 - v2
      perf evlist: Refactor mmap_pages parsing

Namhyung Kim (3):
      perf trace: Beautify fifth argument of mmap() as fd
      perf trace: Separate tp syscall field caching into init routine to be reused
      perf trace: Fix segfault on perf trace -i perf.data

Pekka Enberg (2):
      perf trace: Change syscall summary duration order
      perf trace: Simplify '--summary' output

Steven Rostedt (1):
      tools lib traceevent: Add direct access to dynamic arrays

 tools/lib/traceevent/event-parse.c      |  13 ++++
 tools/perf/Documentation/perf-trace.txt |  10 ++-
 tools/perf/builtin-kvm.c                |   6 +-
 tools/perf/builtin-record.c             |  14 ++--
 tools/perf/builtin-stat.c               |  21 +++---
 tools/perf/builtin-top.c                |  14 ++--
 tools/perf/builtin-trace.c              | 121 +++++++++++++++++++-------------
 tools/perf/perf.h                       |   2 +-
 tools/perf/tests/code-reading.c         |  15 +++-
 tools/perf/tests/sw-clock.c             |   2 +-
 tools/perf/tests/task-exit.c            |   2 +-
 tools/perf/util/evlist.c                |  64 ++++++++++-------
 tools/perf/util/evlist.h                |   5 +-
 tools/perf/util/evsel.c                 |   9 ++-
 tools/perf/util/evsel.h                 |   3 +-
 tools/perf/util/machine.c               |   6 +-
 tools/perf/util/machine.h               |   4 +-
 tools/perf/util/target.c                |  54 +++++++-------
 tools/perf/util/target.h                |  44 ++++++------
 tools/perf/util/top.c                   |   2 +-
 20 files changed, 236 insertions(+), 175 deletions(-)

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

* Re: [GIT PULL 00/13] perf/core improvements and fixes
  2012-09-08  2:06 ` Arnaldo Carvalho de Melo
@ 2012-09-08 11:28   ` Ingo Molnar
  -1 siblings, 0 replies; 74+ messages in thread
From: Ingo Molnar @ 2012-09-08 11:28 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo
  Cc: linux-kernel, Adrian Hunter, Andi Kleen, Andrew Morton,
	Corey Ashford, David Ahern, Frederic Weisbecker, Irina Tirdea,
	Jiri Olsa, linux-mm, Michel Lespinasse, Namhyung Kim,
	Namhyung Kim, Paul E. McKenney, Paul Mackerras, Peter Zijlstra,
	Steven Rostedt, Arnaldo Carvalho de Melo


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

> Hi Ingo,
> 
> 	Please consider pulling,
> 
> - Arnaldo
> 
> The following changes since commit 479d875835a49e849683743ec50c30b6a429696b:
> 
>   Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core (2012-09-07 07:36:59 +0200)
> 
> 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 b155a09015135cf59ada8d48109ccbd9891c1b42:
> 
>   perf tools: Fix build for another rbtree.c change (2012-09-07 22:21:59 -0300)
> 
> ----------------------------------------------------------------
> perf/core improvements and fixes
> 
>  . Fix build for another rbtree.c change, from Adrian Hunter.
> 
>  . Fixes for perf to build on Android, from Irina Tirdea.
> 
>  . Make 'perf diff' command work with evsel hists, from Jiri Olsa.
> 
>  . Use the only field_sep var that is set up: symbol_conf.field_sep,
>    fix from Jiri Olsa.
> 
>  . .gitignore compiled python binaries, from Namhyung Kim.
> 
>  . Get rid of die() in more libtraceevent places, from Namhyung Kim.
> 
> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
> 
> ----------------------------------------------------------------
> Adrian Hunter (1):
>       perf tools: Fix build for another rbtree.c change
> 
> Irina Tirdea (6):
>       perf tools: include basename for non-glibc systems
>       perf tools: fix missing winsize definition
>       perf tools: include missing pthread.h header
>       perf tools: replace mkostemp with mkstemp
>       tools lib traceevent: replace mempcpy with memcpy
>       perf tools: add NO_BACKTRACE for application self-debugging
> 
> Jiri Olsa (2):
>       perf diff: Make diff command work with evsel hists
>       perf tools: Replace sort's standalone field_sep with symbol_conf.field_sep
> 
> Namhyung Kim (4):
>       perf tools: Ignore compiled python binaries
>       tools lib traceevent: Get rid of die() from pretty_print()
>       tools lib traceevent: Get rid of die() from pevent_register_event_handler
>       tools lib traceevent: Get rid of die() from pevent_register_print_function
> 
>  tools/lib/traceevent/event-parse.c     |   86 +++++++++++++++++++++--------
>  tools/lib/traceevent/event-parse.h     |    3 +-
>  tools/perf/.gitignore                  |    2 +
>  tools/perf/Documentation/perf-diff.txt |    3 ++
>  tools/perf/Makefile                    |    8 +++
>  tools/perf/builtin-diff.c              |   93 +++++++++++++++++++++-----------
>  tools/perf/config/feature-tests.mak    |   14 +++++
>  tools/perf/perf.c                      |    1 +
>  tools/perf/util/annotate.h             |    1 +
>  tools/perf/util/dso-test-data.c        |    2 +-
>  tools/perf/util/evsel.h                |    7 +++
>  tools/perf/util/help.c                 |    1 +
>  tools/perf/util/include/linux/rbtree.h |    1 +
>  tools/perf/util/session.h              |    4 +-
>  tools/perf/util/sort.c                 |    6 +--
>  tools/perf/util/sort.h                 |    1 -
>  tools/perf/util/symbol.h               |    3 ++
>  tools/perf/util/top.h                  |    1 +
>  tools/perf/util/util.c                 |    6 +++
>  19 files changed, 180 insertions(+), 63 deletions(-)

Pulled, thanks a lot Arnaldo!

	Ingo

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

* Re: [GIT PULL 00/13] perf/core improvements and fixes
@ 2012-09-08 11:28   ` Ingo Molnar
  0 siblings, 0 replies; 74+ messages in thread
From: Ingo Molnar @ 2012-09-08 11:28 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo
  Cc: linux-kernel, Adrian Hunter, Andi Kleen, Andrew Morton,
	Corey Ashford, David Ahern, Frederic Weisbecker, Irina Tirdea,
	Jiri Olsa, linux-mm, Michel Lespinasse, Namhyung Kim,
	Namhyung Kim, Paul E. McKenney, Paul Mackerras, Peter Zijlstra,
	Steven Rostedt, Arnaldo Carvalho de Melo


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

> Hi Ingo,
> 
> 	Please consider pulling,
> 
> - Arnaldo
> 
> The following changes since commit 479d875835a49e849683743ec50c30b6a429696b:
> 
>   Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core (2012-09-07 07:36:59 +0200)
> 
> 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 b155a09015135cf59ada8d48109ccbd9891c1b42:
> 
>   perf tools: Fix build for another rbtree.c change (2012-09-07 22:21:59 -0300)
> 
> ----------------------------------------------------------------
> perf/core improvements and fixes
> 
>  . Fix build for another rbtree.c change, from Adrian Hunter.
> 
>  . Fixes for perf to build on Android, from Irina Tirdea.
> 
>  . Make 'perf diff' command work with evsel hists, from Jiri Olsa.
> 
>  . Use the only field_sep var that is set up: symbol_conf.field_sep,
>    fix from Jiri Olsa.
> 
>  . .gitignore compiled python binaries, from Namhyung Kim.
> 
>  . Get rid of die() in more libtraceevent places, from Namhyung Kim.
> 
> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
> 
> ----------------------------------------------------------------
> Adrian Hunter (1):
>       perf tools: Fix build for another rbtree.c change
> 
> Irina Tirdea (6):
>       perf tools: include basename for non-glibc systems
>       perf tools: fix missing winsize definition
>       perf tools: include missing pthread.h header
>       perf tools: replace mkostemp with mkstemp
>       tools lib traceevent: replace mempcpy with memcpy
>       perf tools: add NO_BACKTRACE for application self-debugging
> 
> Jiri Olsa (2):
>       perf diff: Make diff command work with evsel hists
>       perf tools: Replace sort's standalone field_sep with symbol_conf.field_sep
> 
> Namhyung Kim (4):
>       perf tools: Ignore compiled python binaries
>       tools lib traceevent: Get rid of die() from pretty_print()
>       tools lib traceevent: Get rid of die() from pevent_register_event_handler
>       tools lib traceevent: Get rid of die() from pevent_register_print_function
> 
>  tools/lib/traceevent/event-parse.c     |   86 +++++++++++++++++++++--------
>  tools/lib/traceevent/event-parse.h     |    3 +-
>  tools/perf/.gitignore                  |    2 +
>  tools/perf/Documentation/perf-diff.txt |    3 ++
>  tools/perf/Makefile                    |    8 +++
>  tools/perf/builtin-diff.c              |   93 +++++++++++++++++++++-----------
>  tools/perf/config/feature-tests.mak    |   14 +++++
>  tools/perf/perf.c                      |    1 +
>  tools/perf/util/annotate.h             |    1 +
>  tools/perf/util/dso-test-data.c        |    2 +-
>  tools/perf/util/evsel.h                |    7 +++
>  tools/perf/util/help.c                 |    1 +
>  tools/perf/util/include/linux/rbtree.h |    1 +
>  tools/perf/util/session.h              |    4 +-
>  tools/perf/util/sort.c                 |    6 +--
>  tools/perf/util/sort.h                 |    1 -
>  tools/perf/util/symbol.h               |    3 ++
>  tools/perf/util/top.h                  |    1 +
>  tools/perf/util/util.c                 |    6 +++
>  19 files changed, 180 insertions(+), 63 deletions(-)

Pulled, thanks a lot Arnaldo!

	Ingo

--
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] 74+ messages in thread

* [GIT PULL 00/13] perf/core improvements and fixes
@ 2012-09-08  2:06 ` Arnaldo Carvalho de Melo
  0 siblings, 0 replies; 74+ messages in thread
From: Arnaldo Carvalho de Melo @ 2012-09-08  2:06 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, Arnaldo Carvalho de Melo, Adrian Hunter,
	Andi Kleen, Andrew Morton, Corey Ashford, David Ahern,
	Frederic Weisbecker, Irina Tirdea, Jiri Olsa, linux-mm,
	Michel Lespinasse, Namhyung Kim, Namhyung Kim, Paul E. McKenney,
	Paul Mackerras, Peter Zijlstra, Steven Rostedt,
	Arnaldo Carvalho de Melo

Hi Ingo,

	Please consider pulling,

- Arnaldo

The following changes since commit 479d875835a49e849683743ec50c30b6a429696b:

  Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core (2012-09-07 07:36:59 +0200)

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 b155a09015135cf59ada8d48109ccbd9891c1b42:

  perf tools: Fix build for another rbtree.c change (2012-09-07 22:21:59 -0300)

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

 . Fix build for another rbtree.c change, from Adrian Hunter.

 . Fixes for perf to build on Android, from Irina Tirdea.

 . Make 'perf diff' command work with evsel hists, from Jiri Olsa.

 . Use the only field_sep var that is set up: symbol_conf.field_sep,
   fix from Jiri Olsa.

 . .gitignore compiled python binaries, from Namhyung Kim.

 . Get rid of die() in more libtraceevent places, from Namhyung Kim.

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

----------------------------------------------------------------
Adrian Hunter (1):
      perf tools: Fix build for another rbtree.c change

Irina Tirdea (6):
      perf tools: include basename for non-glibc systems
      perf tools: fix missing winsize definition
      perf tools: include missing pthread.h header
      perf tools: replace mkostemp with mkstemp
      tools lib traceevent: replace mempcpy with memcpy
      perf tools: add NO_BACKTRACE for application self-debugging

Jiri Olsa (2):
      perf diff: Make diff command work with evsel hists
      perf tools: Replace sort's standalone field_sep with symbol_conf.field_sep

Namhyung Kim (4):
      perf tools: Ignore compiled python binaries
      tools lib traceevent: Get rid of die() from pretty_print()
      tools lib traceevent: Get rid of die() from pevent_register_event_handler
      tools lib traceevent: Get rid of die() from pevent_register_print_function

 tools/lib/traceevent/event-parse.c     |   86 +++++++++++++++++++++--------
 tools/lib/traceevent/event-parse.h     |    3 +-
 tools/perf/.gitignore                  |    2 +
 tools/perf/Documentation/perf-diff.txt |    3 ++
 tools/perf/Makefile                    |    8 +++
 tools/perf/builtin-diff.c              |   93 +++++++++++++++++++++-----------
 tools/perf/config/feature-tests.mak    |   14 +++++
 tools/perf/perf.c                      |    1 +
 tools/perf/util/annotate.h             |    1 +
 tools/perf/util/dso-test-data.c        |    2 +-
 tools/perf/util/evsel.h                |    7 +++
 tools/perf/util/help.c                 |    1 +
 tools/perf/util/include/linux/rbtree.h |    1 +
 tools/perf/util/session.h              |    4 +-
 tools/perf/util/sort.c                 |    6 +--
 tools/perf/util/sort.h                 |    1 -
 tools/perf/util/symbol.h               |    3 ++
 tools/perf/util/top.h                  |    1 +
 tools/perf/util/util.c                 |    6 +++
 19 files changed, 180 insertions(+), 63 deletions(-)

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

* [GIT PULL 00/13] perf/core improvements and fixes
@ 2012-09-08  2:06 ` Arnaldo Carvalho de Melo
  0 siblings, 0 replies; 74+ messages in thread
From: Arnaldo Carvalho de Melo @ 2012-09-08  2:06 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, Arnaldo Carvalho de Melo, Adrian Hunter,
	Andi Kleen, Andrew Morton, Corey Ashford, David Ahern,
	Frederic Weisbecker, Irina Tirdea, Jiri Olsa, linux-mm,
	Michel Lespinasse, Namhyung Kim, Namhyung Kim, Paul E. McKenney,
	Paul Mackerras, Peter Zijlstra, Steven Rostedt,
	Arnaldo Carvalho de Melo

Hi Ingo,

	Please consider pulling,

- Arnaldo

The following changes since commit 479d875835a49e849683743ec50c30b6a429696b:

  Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core (2012-09-07 07:36:59 +0200)

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 b155a09015135cf59ada8d48109ccbd9891c1b42:

  perf tools: Fix build for another rbtree.c change (2012-09-07 22:21:59 -0300)

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

 . Fix build for another rbtree.c change, from Adrian Hunter.

 . Fixes for perf to build on Android, from Irina Tirdea.

 . Make 'perf diff' command work with evsel hists, from Jiri Olsa.

 . Use the only field_sep var that is set up: symbol_conf.field_sep,
   fix from Jiri Olsa.

 . .gitignore compiled python binaries, from Namhyung Kim.

 . Get rid of die() in more libtraceevent places, from Namhyung Kim.

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

----------------------------------------------------------------
Adrian Hunter (1):
      perf tools: Fix build for another rbtree.c change

Irina Tirdea (6):
      perf tools: include basename for non-glibc systems
      perf tools: fix missing winsize definition
      perf tools: include missing pthread.h header
      perf tools: replace mkostemp with mkstemp
      tools lib traceevent: replace mempcpy with memcpy
      perf tools: add NO_BACKTRACE for application self-debugging

Jiri Olsa (2):
      perf diff: Make diff command work with evsel hists
      perf tools: Replace sort's standalone field_sep with symbol_conf.field_sep

Namhyung Kim (4):
      perf tools: Ignore compiled python binaries
      tools lib traceevent: Get rid of die() from pretty_print()
      tools lib traceevent: Get rid of die() from pevent_register_event_handler
      tools lib traceevent: Get rid of die() from pevent_register_print_function

 tools/lib/traceevent/event-parse.c     |   86 +++++++++++++++++++++--------
 tools/lib/traceevent/event-parse.h     |    3 +-
 tools/perf/.gitignore                  |    2 +
 tools/perf/Documentation/perf-diff.txt |    3 ++
 tools/perf/Makefile                    |    8 +++
 tools/perf/builtin-diff.c              |   93 +++++++++++++++++++++-----------
 tools/perf/config/feature-tests.mak    |   14 +++++
 tools/perf/perf.c                      |    1 +
 tools/perf/util/annotate.h             |    1 +
 tools/perf/util/dso-test-data.c        |    2 +-
 tools/perf/util/evsel.h                |    7 +++
 tools/perf/util/help.c                 |    1 +
 tools/perf/util/include/linux/rbtree.h |    1 +
 tools/perf/util/session.h              |    4 +-
 tools/perf/util/sort.c                 |    6 +--
 tools/perf/util/sort.h                 |    1 -
 tools/perf/util/symbol.h               |    3 ++
 tools/perf/util/top.h                  |    1 +
 tools/perf/util/util.c                 |    6 +++
 19 files changed, 180 insertions(+), 63 deletions(-)

--
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] 74+ messages in thread

end of thread, other threads:[~2018-09-25  9:21 UTC | newest]

Thread overview: 74+ 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
  -- strict thread matches above, loose matches on Subject: below --
2018-09-19 14:25 Arnaldo Carvalho de Melo
2018-09-19 14:25 ` Arnaldo Carvalho de Melo
2018-09-25  9:21 ` Ingo Molnar
2018-09-25  9:21   ` Ingo Molnar
2017-09-04 14:00 Arnaldo Carvalho de Melo
2017-09-04 14:00 ` Arnaldo Carvalho de Melo
2017-09-05  5:15 ` Ingo Molnar
2017-09-05  5:15   ` Ingo Molnar
2017-08-21 19:25 Arnaldo Carvalho de Melo
2017-08-22 10:20 ` Ingo Molnar
2017-04-05  0:17 Arnaldo Carvalho de Melo
2017-04-05  5:41 ` Ingo Molnar
2017-01-11 20:21 Arnaldo Carvalho de Melo
2017-01-12  8:25 ` Ingo Molnar
2016-10-06 16:11 Arnaldo Carvalho de Melo
2016-10-06 22:38 ` Ingo Molnar
2016-05-11 16:32 Arnaldo Carvalho de Melo
2016-05-12  6:58 ` Ingo Molnar
2016-04-29 14:57 Arnaldo Carvalho de Melo
2016-04-29 19:39 ` Ingo Molnar
2016-02-15 21:01 Arnaldo Carvalho de Melo
2016-02-16  7:48 ` Ingo Molnar
2015-11-26 20:45 Arnaldo Carvalho de Melo
2015-11-27  7:30 ` Ingo Molnar
2015-08-12 16:39 Arnaldo Carvalho de Melo
2015-08-13  7:25 ` Ingo Molnar
2015-07-20 20:58 Arnaldo Carvalho de Melo
2015-07-21  6:00 ` Ingo Molnar
2015-06-23 21:47 Arnaldo Carvalho de Melo
2015-06-25  7:31 ` Ingo Molnar
2015-06-25 13:48   ` Arnaldo Carvalho de Melo
2014-09-08 21:17 Arnaldo Carvalho de Melo
2014-09-09  4:59 ` Ingo Molnar
2014-09-09  7:14   ` Adrian Hunter
2014-09-09  7:45     ` Stephane Eranian
2014-09-09  7:55       ` Adrian Hunter
2014-09-09 14:53     ` Ingo Molnar
2014-09-09  8:48 ` Adrian Hunter
2014-09-09 13:12   ` Arnaldo Carvalho de Melo
2014-09-09 14:54     ` Ingo Molnar
2014-09-09 15:59       ` Arnaldo Carvalho de Melo
2014-09-09 19:08   ` Arnaldo Carvalho de Melo
2014-09-10 13:19     ` Adrian Hunter
2014-07-16 20:02 Jiri Olsa
2014-01-15 20:32 Arnaldo Carvalho de Melo
2014-01-16  8:36 ` Ingo Molnar
2013-11-12 20:46 Arnaldo Carvalho de Melo
2013-11-12 20:50 ` Ingo Molnar
2012-09-08  2:06 Arnaldo Carvalho de Melo
2012-09-08  2:06 ` Arnaldo Carvalho de Melo
2012-09-08 11:28 ` Ingo Molnar
2012-09-08 11:28   ` 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.