public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [GIT PULL 0/3] perf/core improvements and fixes
@ 2011-01-04 17:18 Arnaldo Carvalho de Melo
  2011-01-04 17:18 ` [PATCH 1/3] perf test: Clarify some error reports in the open syscall test Arnaldo Carvalho de Melo
                   ` (3 more replies)
  0 siblings, 4 replies; 13+ messages in thread
From: Arnaldo Carvalho de Melo @ 2011-01-04 17:18 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, Arnaldo Carvalho de Melo, David S . Miller,
	Frederic Weisbecker, Ingo Molnar, Mike Galbraith, Paul Mackerras,
	Peter Zijlstra, Robert Richter, Stephane Eranian,
	Stephane Eranian, Tom Zanussi

Hi Ingo,

        Please consider pulling from:

git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux-2.6 perf/core

Regards,

- Arnaldo

Arnaldo Carvalho de Melo (2):
  perf test: Clarify some error reports in the open syscall test
  perf evsel: Support perf_evsel__open(cpus > 1 && threads > 1)

Stephane Eranian (1):
  perf tools: Fix perf_event.h header usage

 tools/perf/builtin-test.c      |  124 +++++++++++++++++++++++++++++++++++++--
 tools/perf/util/evsel.c        |   75 +++++++++++++-----------
 tools/perf/util/evsel.h        |    2 +-
 tools/perf/util/parse-events.h |    2 +-
 4 files changed, 159 insertions(+), 44 deletions(-)


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

* [PATCH 1/3] perf test: Clarify some error reports in the open syscall test
  2011-01-04 17:18 [GIT PULL 0/3] perf/core improvements and fixes Arnaldo Carvalho de Melo
@ 2011-01-04 17:18 ` Arnaldo Carvalho de Melo
  2011-01-04 17:18 ` [PATCH 2/3] perf evsel: Support perf_evsel__open(cpus > 1 && threads > 1) Arnaldo Carvalho de Melo
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 13+ messages in thread
From: Arnaldo Carvalho de Melo @ 2011-01-04 17:18 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, Arnaldo Carvalho de Melo, Frederic Weisbecker,
	Ingo Molnar, Mike Galbraith, Paul Mackerras, Peter Zijlstra,
	Stephane Eranian, Tom Zanussi

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

Rebooted my devel machine, first thing I ran was perf test, that expects
debugfs to be mounted, test fails. Be more clear about it.

Also add missing newlines and add more informative message when
sys_perf_event_open fails.

Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
Cc: Tom Zanussi <tzanussi@gmail.com>
LKML-Reference: <new-submission>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
 tools/perf/builtin-test.c |   18 +++++++++++-------
 1 files changed, 11 insertions(+), 7 deletions(-)

diff --git a/tools/perf/builtin-test.c b/tools/perf/builtin-test.c
index 6c99152..1c98434 100644
--- a/tools/perf/builtin-test.c
+++ b/tools/perf/builtin-test.c
@@ -268,24 +268,26 @@ static int test__open_syscall_event(void)
 	int id = trace_event__id("sys_enter_open");
 
 	if (id < 0) {
-		pr_debug("trace_event__id(\"sys_enter_open\") ");
+		pr_debug("is debugfs mounted on /sys/kernel/debug?\n");
 		return -1;
 	}
 
 	threads = thread_map__new(-1, getpid());
 	if (threads == NULL) {
-		pr_debug("thread_map__new ");
+		pr_debug("thread_map__new\n");
 		return -1;
 	}
 
 	evsel = perf_evsel__new(PERF_TYPE_TRACEPOINT, id, 0);
 	if (evsel == NULL) {
-		pr_debug("perf_evsel__new ");
+		pr_debug("perf_evsel__new\n");
 		goto out_thread_map_delete;
 	}
 
 	if (perf_evsel__open_per_thread(evsel, threads) < 0) {
-		pr_debug("perf_evsel__open_per_thread ");
+		pr_debug("failed to open counter: %s, "
+			 "tweak /proc/sys/kernel/perf_event_paranoid?\n",
+			 strerror(errno));
 		goto out_evsel_delete;
 	}
 
@@ -295,13 +297,15 @@ static int test__open_syscall_event(void)
 	}
 
 	if (perf_evsel__read_on_cpu(evsel, 0, 0) < 0) {
-		pr_debug("perf_evsel__open_read_on_cpu ");
+		pr_debug("perf_evsel__open_read_on_cpu\n");
 		goto out_close_fd;
 	}
 
-	if (evsel->counts->cpu[0].val != nr_open_calls)
-		pr_debug("perf_evsel__read_on_cpu: expected to intercept %d calls, got %Ld ",
+	if (evsel->counts->cpu[0].val != nr_open_calls) {
+		pr_debug("perf_evsel__read_on_cpu: expected to intercept %d calls, got %Ld\n",
 			 nr_open_calls, evsel->counts->cpu[0].val);
+		goto out_close_fd;
+	}
 	
 	err = 0;
 out_close_fd:
-- 
1.6.2.5


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

* [PATCH 2/3] perf evsel: Support perf_evsel__open(cpus > 1 && threads > 1)
  2011-01-04 17:18 [GIT PULL 0/3] perf/core improvements and fixes Arnaldo Carvalho de Melo
  2011-01-04 17:18 ` [PATCH 1/3] perf test: Clarify some error reports in the open syscall test Arnaldo Carvalho de Melo
@ 2011-01-04 17:18 ` Arnaldo Carvalho de Melo
  2011-01-04 17:18 ` [PATCH 3/3] perf tools: Fix perf_event.h header usage Arnaldo Carvalho de Melo
  2011-01-05 13:11 ` [GIT PULL 0/3] perf/core improvements and fixes Ingo Molnar
  3 siblings, 0 replies; 13+ messages in thread
From: Arnaldo Carvalho de Melo @ 2011-01-04 17:18 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, Arnaldo Carvalho de Melo, Frederic Weisbecker,
	Ingo Molnar, Mike Galbraith, Paul Mackerras, Peter Zijlstra,
	Stephane Eranian, Tom Zanussi

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

And a test for it:

[acme@felicio linux]$ perf test
 1: vmlinux symtab matches kallsyms: Ok
 2: detect open syscall event: Ok
 3: detect open syscall event on all cpus: Ok
[acme@felicio linux]$

Translating C the test does:

1. generates different number of open syscalls on each CPU
   by using sched_setaffinity
2. Verifies that the expected number of events is generated
   on each CPU

It works as expected.

Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
Cc: Tom Zanussi <tzanussi@gmail.com>
LKML-Reference: <new-submission>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
 tools/perf/builtin-test.c |  106 +++++++++++++++++++++++++++++++++++++++++++++
 tools/perf/util/evsel.c   |   75 +++++++++++++++++---------------
 2 files changed, 146 insertions(+), 35 deletions(-)

diff --git a/tools/perf/builtin-test.c b/tools/perf/builtin-test.c
index 1c98434..c4be20c 100644
--- a/tools/perf/builtin-test.c
+++ b/tools/perf/builtin-test.c
@@ -234,6 +234,7 @@ out:
 	return err;
 }
 
+#include "util/cpumap.h"
 #include "util/evsel.h"
 #include <sys/types.h>
 
@@ -317,6 +318,107 @@ out_thread_map_delete:
 	return err;
 }
 
+#include <sched.h>
+
+static int test__open_syscall_event_on_all_cpus(void)
+{
+	int err = -1, fd, cpu;
+	struct thread_map *threads;
+	struct cpu_map *cpus;
+	struct perf_evsel *evsel;
+	unsigned int nr_open_calls = 111, i;
+	cpu_set_t *cpu_set;
+	size_t cpu_set_size;
+	int id = trace_event__id("sys_enter_open");
+
+	if (id < 0) {
+		pr_debug("is debugfs mounted on /sys/kernel/debug?\n");
+		return -1;
+	}
+
+	threads = thread_map__new(-1, getpid());
+	if (threads == NULL) {
+		pr_debug("thread_map__new\n");
+		return -1;
+	}
+
+	cpus = cpu_map__new(NULL);
+	if (threads == NULL) {
+		pr_debug("thread_map__new\n");
+		return -1;
+	}
+
+	cpu_set = CPU_ALLOC(cpus->nr);
+
+	if (cpu_set == NULL)
+		goto out_thread_map_delete;
+
+	cpu_set_size = CPU_ALLOC_SIZE(cpus->nr);
+	CPU_ZERO_S(cpu_set_size, cpu_set);
+
+	evsel = perf_evsel__new(PERF_TYPE_TRACEPOINT, id, 0);
+	if (evsel == NULL) {
+		pr_debug("perf_evsel__new\n");
+		goto out_cpu_free;
+	}
+
+	if (perf_evsel__open(evsel, cpus, threads) < 0) {
+		pr_debug("failed to open counter: %s, "
+			 "tweak /proc/sys/kernel/perf_event_paranoid?\n",
+			 strerror(errno));
+		goto out_evsel_delete;
+	}
+
+	for (cpu = 0; cpu < cpus->nr; ++cpu) {
+		unsigned int ncalls = nr_open_calls + cpu;
+
+		CPU_SET(cpu, cpu_set);
+		sched_setaffinity(0, cpu_set_size, cpu_set);
+		for (i = 0; i < ncalls; ++i) {
+			fd = open("/etc/passwd", O_RDONLY);
+			close(fd);
+		}
+		CPU_CLR(cpu, cpu_set);
+	}
+
+	/*
+	 * Here we need to explicitely preallocate the counts, as if
+	 * we use the auto allocation it will allocate just for 1 cpu,
+	 * as we start by cpu 0.
+	 */
+	if (perf_evsel__alloc_counts(evsel, cpus->nr) < 0) {
+		pr_debug("perf_evsel__alloc_counts(ncpus=%d)\n", cpus->nr);
+		goto out_close_fd;
+	}
+
+	for (cpu = 0; cpu < cpus->nr; ++cpu) {
+		unsigned int expected;
+
+		if (perf_evsel__read_on_cpu(evsel, cpu, 0) < 0) {
+			pr_debug("perf_evsel__open_read_on_cpu\n");
+			goto out_close_fd;
+		}
+
+		expected = nr_open_calls + cpu;
+		if (evsel->counts->cpu[cpu].val != expected) {
+			pr_debug("perf_evsel__read_on_cpu: expected to intercept %d calls on cpu %d, got %Ld\n",
+				 expected, cpu, evsel->counts->cpu[cpu].val);
+			goto out_close_fd;
+		}
+	}
+	
+	err = 0;
+out_close_fd:
+	perf_evsel__close_fd(evsel, 1, threads->nr);
+out_evsel_delete:
+	perf_evsel__delete(evsel);
+out_cpu_free:
+	CPU_FREE(cpu_set);
+out_thread_map_delete:
+	thread_map__delete(threads);
+	return err;
+}
+
 static struct test {
 	const char *desc;
 	int (*func)(void);
@@ -330,6 +432,10 @@ static struct test {
 		.func = test__open_syscall_event,
 	},
 	{
+		.desc = "detect open syscall event on all cpus",
+		.func = test__open_syscall_event_on_all_cpus,
+	},
+	{
 		.func = NULL,
 	},
 };
diff --git a/tools/perf/util/evsel.c b/tools/perf/util/evsel.c
index c95267e..d337761 100644
--- a/tools/perf/util/evsel.c
+++ b/tools/perf/util/evsel.c
@@ -128,59 +128,64 @@ int __perf_evsel__read(struct perf_evsel *evsel,
 	return 0;
 }
 
-int perf_evsel__open_per_cpu(struct perf_evsel *evsel, struct cpu_map *cpus)
+static int __perf_evsel__open(struct perf_evsel *evsel, struct cpu_map *cpus,
+			      struct thread_map *threads)
 {
-	int cpu;
+	int cpu, thread;
 
-	if (evsel->fd == NULL && perf_evsel__alloc_fd(evsel, cpus->nr, 1) < 0)
+	if (evsel->fd == NULL &&
+	    perf_evsel__alloc_fd(evsel, cpus->nr, threads->nr) < 0)
 		return -1;
 
 	for (cpu = 0; cpu < cpus->nr; cpu++) {
-		FD(evsel, cpu, 0) = sys_perf_event_open(&evsel->attr, -1,
-							cpus->map[cpu], -1, 0);
-		if (FD(evsel, cpu, 0) < 0)
-			goto out_close;
+		for (thread = 0; thread < threads->nr; thread++) {
+			FD(evsel, cpu, thread) = sys_perf_event_open(&evsel->attr,
+								     threads->map[thread],
+								     cpus->map[cpu], -1, 0);
+			if (FD(evsel, cpu, thread) < 0)
+				goto out_close;
+		}
 	}
 
 	return 0;
 
 out_close:
-	while (--cpu >= 0) {
-		close(FD(evsel, cpu, 0));
-		FD(evsel, cpu, 0) = -1;
-	}
+	do {
+		while (--thread >= 0) {
+			close(FD(evsel, cpu, thread));
+			FD(evsel, cpu, thread) = -1;
+		}
+		thread = threads->nr;
+	} while (--cpu >= 0);
 	return -1;
 }
 
-int perf_evsel__open_per_thread(struct perf_evsel *evsel, struct thread_map *threads)
-{
-	int thread;
+static struct {
+	int nr;
+	int map[1];
+} map__empty = {
+	.nr = 1,
+	.map = { -1, },
+};
 
-	if (evsel->fd == NULL && perf_evsel__alloc_fd(evsel, 1, threads->nr))
-		return -1;
-
-	for (thread = 0; thread < threads->nr; thread++) {
-		FD(evsel, 0, thread) = sys_perf_event_open(&evsel->attr,
-							   threads->map[thread], -1, -1, 0);
-		if (FD(evsel, 0, thread) < 0)
-			goto out_close;
-	}
+int perf_evsel__open(struct perf_evsel *evsel, 
+		     struct cpu_map *cpus, struct thread_map *threads)
+{
+	if (cpus == NULL)
+		cpus = (struct cpu_map *)&map__empty;
 
-	return 0;
+	if (threads == NULL)
+		threads = (struct thread_map *)&map__empty;
 
-out_close:
-	while (--thread >= 0) {
-		close(FD(evsel, 0, thread));
-		FD(evsel, 0, thread) = -1;
-	}
-	return -1;
+	return __perf_evsel__open(evsel, cpus, threads);
 }
 
-int perf_evsel__open(struct perf_evsel *evsel, 
-		     struct cpu_map *cpus, struct thread_map *threads)
+int perf_evsel__open_per_cpu(struct perf_evsel *evsel, struct cpu_map *cpus)
 {
-	if (threads == NULL)
-		return perf_evsel__open_per_cpu(evsel, cpus);
+	return __perf_evsel__open(evsel, cpus, (struct thread_map *)&map__empty);
+}
 
-	return perf_evsel__open_per_thread(evsel, threads);
+int perf_evsel__open_per_thread(struct perf_evsel *evsel, struct thread_map *threads)
+{
+	return __perf_evsel__open(evsel, (struct cpu_map *)&map__empty, threads);
 }
-- 
1.6.2.5


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

* [PATCH 3/3] perf tools: Fix perf_event.h header usage
  2011-01-04 17:18 [GIT PULL 0/3] perf/core improvements and fixes Arnaldo Carvalho de Melo
  2011-01-04 17:18 ` [PATCH 1/3] perf test: Clarify some error reports in the open syscall test Arnaldo Carvalho de Melo
  2011-01-04 17:18 ` [PATCH 2/3] perf evsel: Support perf_evsel__open(cpus > 1 && threads > 1) Arnaldo Carvalho de Melo
@ 2011-01-04 17:18 ` Arnaldo Carvalho de Melo
  2011-01-05 13:11 ` [GIT PULL 0/3] perf/core improvements and fixes Ingo Molnar
  3 siblings, 0 replies; 13+ messages in thread
From: Arnaldo Carvalho de Melo @ 2011-01-04 17:18 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, Stephane Eranian, David S. Miller,
	Frederic Weisbecker, Ingo Molnar, Paul Mackerras, Peter Zijlstra,
	Robert Richter, Stephane Eranian, Arnaldo Carvalho de Melo

From: Stephane Eranian <eranian@google.com>

This patch fixes the usage of the perf_event.h header file
between command modules and the supporting code in util.

It is necessary to ensure that ALL files use the SAME
perf_event.h header from the kernel source tree.

There were a couple of #include <linux/perf_event.h> mixed
with #include "../../perf_event.h".

This caused issues on some distros because of mismatch
in the layout of struct perf_event_attr. That eventually
led perf stat to segfault.

Cc: David S. Miller <davem@davemloft.net>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Robert Richter <robert.richter@amd.com>
Cc: Stephane Eranian <eranian@gmail.com>
LKML-Reference: <4d233cf0.2308e30a.7b00.ffffc187@mx.google.com>
Signed-off-by: Stephane Eranian <eranian@google.com>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
 tools/perf/util/evsel.h        |    2 +-
 tools/perf/util/parse-events.h |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/tools/perf/util/evsel.h b/tools/perf/util/evsel.h
index 863d78d..a0ccd69 100644
--- a/tools/perf/util/evsel.h
+++ b/tools/perf/util/evsel.h
@@ -3,7 +3,7 @@
 
 #include <linux/list.h>
 #include <stdbool.h>
-#include <linux/perf_event.h>
+#include "../../../include/linux/perf_event.h"
 #include "types.h"
 #include "xyarray.h"
  
diff --git a/tools/perf/util/parse-events.h b/tools/perf/util/parse-events.h
index 1c9043c..b82cafb 100644
--- a/tools/perf/util/parse-events.h
+++ b/tools/perf/util/parse-events.h
@@ -4,7 +4,7 @@
  * Parse symbolic events/counts passed in as options:
  */
 
-#include <linux/perf_event.h>
+#include "../../../include/linux/perf_event.h"
 
 struct list_head;
 struct perf_evsel;
-- 
1.6.2.5


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

* Re: [GIT PULL 0/3] perf/core improvements and fixes
  2011-01-04 17:18 [GIT PULL 0/3] perf/core improvements and fixes Arnaldo Carvalho de Melo
                   ` (2 preceding siblings ...)
  2011-01-04 17:18 ` [PATCH 3/3] perf tools: Fix perf_event.h header usage Arnaldo Carvalho de Melo
@ 2011-01-05 13:11 ` Ingo Molnar
  2011-01-05 13:14   ` Ingo Molnar
  3 siblings, 1 reply; 13+ messages in thread
From: Ingo Molnar @ 2011-01-05 13:11 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo
  Cc: linux-kernel, David S . Miller, Frederic Weisbecker,
	Mike Galbraith, Paul Mackerras, Peter Zijlstra, Robert Richter,
	Stephane Eranian, Stephane Eranian, Tom Zanussi, Peter Zijlstra


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

> Hi Ingo,
> 
>         Please consider pulling from:
> 
> git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux-2.6 perf/core
> 
> Regards,
> 
> - Arnaldo
> 
> Arnaldo Carvalho de Melo (2):
>   perf test: Clarify some error reports in the open syscall test
>   perf evsel: Support perf_evsel__open(cpus > 1 && threads > 1)
> 
> Stephane Eranian (1):
>   perf tools: Fix perf_event.h header usage
> 
>  tools/perf/builtin-test.c      |  124 +++++++++++++++++++++++++++++++++++++--
>  tools/perf/util/evsel.c        |   75 +++++++++++++-----------
>  tools/perf/util/evsel.h        |    2 +-
>  tools/perf/util/parse-events.h |    2 +-
>  4 files changed, 159 insertions(+), 44 deletions(-)

Pulled, thanks a lot Arnaldo!

	Ingo

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

* Re: [GIT PULL 0/3] perf/core improvements and fixes
  2011-01-05 13:11 ` [GIT PULL 0/3] perf/core improvements and fixes Ingo Molnar
@ 2011-01-05 13:14   ` Ingo Molnar
  2011-01-05 15:48     ` Arnaldo Carvalho de Melo
  0 siblings, 1 reply; 13+ messages in thread
From: Ingo Molnar @ 2011-01-05 13:14 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo
  Cc: linux-kernel, David S . Miller, Frederic Weisbecker,
	Mike Galbraith, Paul Mackerras, Peter Zijlstra, Robert Richter,
	Stephane Eranian, Stephane Eranian, Tom Zanussi, Peter Zijlstra


sorry, had to unpull it:

util/evsel.c: In function ‘perf_evsel__open_per_cpu’:
util/evsel.c:137: error: dereferencing pointer ‘map__empty.57’ does break strict-aliasing rules
util/evsel.c:158: error: dereferencing pointer ‘map__empty.57’ does break strict-aliasing rules
util/evsel.c:141: error: dereferencing pointer ‘map__empty.57’ does break strict-aliasing rules
util/evsel.c:142: error: dereferencing pointer ‘map__empty.57’ does break strict-aliasing rules
util/evsel.c:185: note: initialized from here
cc1: error: dereferencing pointer ‘map__empty.57’ does break strict-aliasing rules
util/evsel.c:185: note: initialized from here
make: *** [util/evsel.o] Error 1
make: *** Waiting for unfinished jobs....

gcc version 4.4.4 20100630 (Red Hat 4.4.4-10) (GCC) 

on a 32-bit Fedora 12 box.

Thanks,

	Ingo

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

* Re: [GIT PULL 0/3] perf/core improvements and fixes
  2011-01-05 13:14   ` Ingo Molnar
@ 2011-01-05 15:48     ` Arnaldo Carvalho de Melo
  0 siblings, 0 replies; 13+ messages in thread
From: Arnaldo Carvalho de Melo @ 2011-01-05 15:48 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, David S . Miller, Frederic Weisbecker,
	Mike Galbraith, Paul Mackerras, Peter Zijlstra, Robert Richter,
	Stephane Eranian, Stephane Eranian, Tom Zanussi, Peter Zijlstra

Em Wed, Jan 05, 2011 at 02:14:11PM +0100, Ingo Molnar escreveu:
> 
> sorry, had to unpull it:
> 
> util/evsel.c: In function ‘perf_evsel__open_per_cpu’:
> util/evsel.c:137: error: dereferencing pointer ‘map__empty.57’ does break strict-aliasing rules
> util/evsel.c:158: error: dereferencing pointer ‘map__empty.57’ does break strict-aliasing rules
> util/evsel.c:141: error: dereferencing pointer ‘map__empty.57’ does break strict-aliasing rules
> util/evsel.c:142: error: dereferencing pointer ‘map__empty.57’ does break strict-aliasing rules
> util/evsel.c:185: note: initialized from here
> cc1: error: dereferencing pointer ‘map__empty.57’ does break strict-aliasing rules
> util/evsel.c:185: note: initialized from here
> make: *** [util/evsel.o] Error 1
> make: *** Waiting for unfinished jobs....
> 
> gcc version 4.4.4 20100630 (Red Hat 4.4.4-10) (GCC) 
> 
> on a 32-bit Fedora 12 box.

Checking it,

- Arnaldo

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

* [GIT PULL 0/3] perf/core improvements and fixes
@ 2011-02-08 22:09 Arnaldo Carvalho de Melo
  0 siblings, 0 replies; 13+ messages in thread
From: Arnaldo Carvalho de Melo @ 2011-02-08 22:09 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, Arnaldo Carvalho de Melo, Frederic Weisbecker,
	Ingo Molnar, Mike Galbraith, Paul Mackerras, Peter Zijlstra,
	Stephane Eranian, Tom Zanussi, Arnaldo Carvalho de Melo

Hi Ingo,

        Please consider pulling from:

git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux-2.6 perf/core

Regards,

- Arnaldo

Arnaldo Carvalho de Melo (3):
  perf annotate: Fix --stdio rendering
  perf annotate: Move locking to struct annotation
  perf annotate: Fix annotate context lines regression

 tools/perf/builtin-annotate.c          |   14 ++--
 tools/perf/builtin-report.c            |    5 +-
 tools/perf/builtin-top.c               |   67 ++++++++--------
 tools/perf/util/annotate.c             |  134 +++++++++++++++++++++-----------
 tools/perf/util/annotate.h             |   35 +++++----
 tools/perf/util/hist.c                 |    5 +-
 tools/perf/util/hist.h                 |    3 +-
 tools/perf/util/top.h                  |    6 --
 tools/perf/util/ui/browsers/annotate.c |   18 ++--
 9 files changed, 168 insertions(+), 119 deletions(-)


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

* [GIT PULL 0/3] perf/core improvements and fixes
@ 2011-02-08 22:09 Arnaldo Carvalho de Melo
  0 siblings, 0 replies; 13+ messages in thread
From: Arnaldo Carvalho de Melo @ 2011-02-08 22:09 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, Arnaldo Carvalho de Melo, Frederic Weisbecker,
	Ingo Molnar, Mike Galbraith, Paul Mackerras, Peter Zijlstra,
	Stephane Eranian, Tom Zanussi, Arnaldo Carvalho de Melo

Hi Ingo,

        Please consider pulling from:

git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux-2.6 perf/core

Regards,

- Arnaldo

Arnaldo Carvalho de Melo (3):
  perf annotate: Fix --stdio rendering
  perf annotate: Move locking to struct annotation
  perf annotate: Fix annotate context lines regression

 tools/perf/builtin-annotate.c          |   14 ++--
 tools/perf/builtin-report.c            |    5 +-
 tools/perf/builtin-top.c               |   67 ++++++++--------
 tools/perf/util/annotate.c             |  134 +++++++++++++++++++++-----------
 tools/perf/util/annotate.h             |   35 +++++----
 tools/perf/util/hist.c                 |    5 +-
 tools/perf/util/hist.h                 |    3 +-
 tools/perf/util/top.h                  |    6 --
 tools/perf/util/ui/browsers/annotate.c |   18 ++--
 9 files changed, 168 insertions(+), 119 deletions(-)


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

* [GIT PULL 0/3] perf/core improvements and fixes
@ 2011-03-30  2:35 Arnaldo Carvalho de Melo
  2011-03-30  7:10 ` Ingo Molnar
  0 siblings, 1 reply; 13+ messages in thread
From: Arnaldo Carvalho de Melo @ 2011-03-30  2:35 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, Arnaldo Carvalho de Melo, David Ahern,
	Frederic Weisbecker, Ingo Molnar, Lin Ming, Masami Hiramatsu,
	Mike Galbraith, Paul Mackerras, Peter Zijlstra, Stephane Eranian,
	Thomas Gleixner, Tom Zanussi, Arnaldo Carvalho de Melo

Hi Ingo,

        Please consider pulling from:

git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux-2.6 perf/core

	This one has everything in acme/perf/urgent, i.e. starts the next
tools/ devel cycle :-)

Regards,

- Arnaldo

Arnaldo Carvalho de Melo (1):
  perf tools: Fixup exit path when not able to open events

David Ahern (1):
  perf tools: Emit clearer message for sys_perf_event_open ENOENT
    return

Lin Ming (1):
  perf probe: Add fastpath to do lookup by function name

 tools/perf/builtin-record.c    |   19 +++++++---
 tools/perf/builtin-top.c       |   44 ++++++++++++++++--------
 tools/perf/util/debug.c        |   10 +++++
 tools/perf/util/debug.h        |    1 +
 tools/perf/util/probe-finder.c |   72 ++++++++++++++++++++++++++++++++++++++++
 tools/perf/util/probe-finder.h |    2 +
 6 files changed, 128 insertions(+), 20 deletions(-)


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

* Re: [GIT PULL 0/3] perf/core improvements and fixes
  2011-03-30  2:35 Arnaldo Carvalho de Melo
@ 2011-03-30  7:10 ` Ingo Molnar
  0 siblings, 0 replies; 13+ messages in thread
From: Ingo Molnar @ 2011-03-30  7:10 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo
  Cc: linux-kernel, David Ahern, Frederic Weisbecker, Lin Ming,
	Masami Hiramatsu, Mike Galbraith, Paul Mackerras, Peter Zijlstra,
	Stephane Eranian, Thomas Gleixner, Tom Zanussi,
	Arnaldo Carvalho de Melo


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

> Hi Ingo,
> 
>         Please consider pulling from:
> 
> git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux-2.6 perf/core
> 
> 	This one has everything in acme/perf/urgent, i.e. starts the next
> tools/ devel cycle :-)
> 
> Regards,
> 
> - Arnaldo
> 
> Arnaldo Carvalho de Melo (1):
>   perf tools: Fixup exit path when not able to open events
> 
> David Ahern (1):
>   perf tools: Emit clearer message for sys_perf_event_open ENOENT
>     return
> 
> Lin Ming (1):
>   perf probe: Add fastpath to do lookup by function name
> 
>  tools/perf/builtin-record.c    |   19 +++++++---
>  tools/perf/builtin-top.c       |   44 ++++++++++++++++--------
>  tools/perf/util/debug.c        |   10 +++++
>  tools/perf/util/debug.h        |    1 +
>  tools/perf/util/probe-finder.c |   72 ++++++++++++++++++++++++++++++++++++++++
>  tools/perf/util/probe-finder.h |    2 +
>  6 files changed, 128 insertions(+), 20 deletions(-)

Pulled, thanks Arnaldo!

Note, i merged these two also into perf/urgent:

  ca6a42586fae: perf tools: Emit clearer message for sys_perf_event_open ENOENT return
  c286c419c784: perf tools: Fixup exit path when not able to open events

as both are simple and fix real bugs.

Thanks,

	Ingo

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

* [GIT PULL 0/3] perf/core improvements and fixes
@ 2012-09-27 21:18 Arnaldo Carvalho de Melo
  2012-09-28  7:50 ` Ingo Molnar
  0 siblings, 1 reply; 13+ messages in thread
From: Arnaldo Carvalho de Melo @ 2012-09-27 21:18 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, David Ahern, Frederic Weisbecker, Hyeoncheol Lee,
	Jiri Olsa, Masami Hiramatsu, Mike Galbraith, Namhyung Kim,
	Namhyung Kim, Paul Mackerras, Peter Zijlstra, Peter Zijlstra,
	Stephane Eranian, arnaldo.melo, Arnaldo Carvalho de Melo

From: Arnaldo Carvalho de Melo <acmeinfradead.org>

Hi Ingo,

	Please consider pulling,

- Arnaldo

The following changes since commit 9ec60972a38011ad8a5676f4cd5e51ac508c36b6:

  perf hists: Add missing period_* fields when collapsing a hist entry (2012-09-26 20:44:11 -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 aec1930b0f6f281a0ca038cd03aceace3fe0bb61:

  perf trace: Add aliases for some syscalls (2012-09-27 13:18:49 -0300)

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

. Improve listing of accessible enum perf probe variables, from Hyeoncheol Lee.

. Don't stop the build if the audit libraries are not installed, fix from Namhyung Kim.

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

----------------------------------------------------------------
Arnaldo Carvalho de Melo (1):
      perf trace: Add aliases for some syscalls

Hyeoncheol Lee (1):
      perf probe: Print an enum type variable in "enum variable-name" format when showing accessible variables

Namhyung Kim (1):
      perf tools: Check libaudit availability for perf-trace builtin

 tools/perf/Makefile                 |   16 ++++++++++++++--
 tools/perf/builtin-trace.c          |   26 ++++++++++++++++++--------
 tools/perf/config/feature-tests.mak |   11 +++++++++++
 tools/perf/perf.c                   |    2 ++
 tools/perf/util/dwarf-aux.c         |    2 ++
 5 files changed, 47 insertions(+), 10 deletions(-)

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

* Re: [GIT PULL 0/3] perf/core improvements and fixes
  2012-09-27 21:18 Arnaldo Carvalho de Melo
@ 2012-09-28  7:50 ` Ingo Molnar
  0 siblings, 0 replies; 13+ messages in thread
From: Ingo Molnar @ 2012-09-28  7:50 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo
  Cc: linux-kernel, David Ahern, Frederic Weisbecker, Hyeoncheol Lee,
	Jiri Olsa, Masami Hiramatsu, Mike Galbraith, Namhyung Kim,
	Namhyung Kim, Paul Mackerras, Peter Zijlstra, Peter Zijlstra,
	Stephane Eranian, arnaldo.melo, Arnaldo Carvalho de Melo


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

> From: Arnaldo Carvalho de Melo <acmeinfradead.org>
> 
> Hi Ingo,
> 
> 	Please consider pulling,
> 
> - Arnaldo
> 
> The following changes since commit 9ec60972a38011ad8a5676f4cd5e51ac508c36b6:
> 
>   perf hists: Add missing period_* fields when collapsing a hist entry (2012-09-26 20:44:11 -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 aec1930b0f6f281a0ca038cd03aceace3fe0bb61:
> 
>   perf trace: Add aliases for some syscalls (2012-09-27 13:18:49 -0300)
> 
> ----------------------------------------------------------------
> perf/core improvements and fixes
> 
> . Improve listing of accessible enum perf probe variables, from Hyeoncheol Lee.
> 
> . Don't stop the build if the audit libraries are not installed, fix from Namhyung Kim.
> 
> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
> 
> ----------------------------------------------------------------
> Arnaldo Carvalho de Melo (1):
>       perf trace: Add aliases for some syscalls
> 
> Hyeoncheol Lee (1):
>       perf probe: Print an enum type variable in "enum variable-name" format when showing accessible variables
> 
> Namhyung Kim (1):
>       perf tools: Check libaudit availability for perf-trace builtin
> 
>  tools/perf/Makefile                 |   16 ++++++++++++++--
>  tools/perf/builtin-trace.c          |   26 ++++++++++++++++++--------
>  tools/perf/config/feature-tests.mak |   11 +++++++++++
>  tools/perf/perf.c                   |    2 ++
>  tools/perf/util/dwarf-aux.c         |    2 ++
>  5 files changed, 47 insertions(+), 10 deletions(-)

Pulled, thanks Arnaldo!

	Ingo

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

end of thread, other threads:[~2012-09-28  7:55 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-01-04 17:18 [GIT PULL 0/3] perf/core improvements and fixes Arnaldo Carvalho de Melo
2011-01-04 17:18 ` [PATCH 1/3] perf test: Clarify some error reports in the open syscall test Arnaldo Carvalho de Melo
2011-01-04 17:18 ` [PATCH 2/3] perf evsel: Support perf_evsel__open(cpus > 1 && threads > 1) Arnaldo Carvalho de Melo
2011-01-04 17:18 ` [PATCH 3/3] perf tools: Fix perf_event.h header usage Arnaldo Carvalho de Melo
2011-01-05 13:11 ` [GIT PULL 0/3] perf/core improvements and fixes Ingo Molnar
2011-01-05 13:14   ` Ingo Molnar
2011-01-05 15:48     ` Arnaldo Carvalho de Melo
  -- strict thread matches above, loose matches on Subject: below --
2011-02-08 22:09 Arnaldo Carvalho de Melo
2011-02-08 22:09 Arnaldo Carvalho de Melo
2011-03-30  2:35 Arnaldo Carvalho de Melo
2011-03-30  7:10 ` Ingo Molnar
2012-09-27 21:18 Arnaldo Carvalho de Melo
2012-09-28  7:50 ` Ingo Molnar

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox