[PATCH] perf: Fix sigbus with perf-top

From: David Ahern
Date: Wed Feb 18 2015 - 19:04:25 EST


perf-top is terminating due to SIGBUS on sparc64. git bisect points to:

commit 82396986032915c1572bfb74b224fcc2e4e8ba7c
Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Date: Mon Sep 8 13:26:35 2014 -0300

perf evlist: Refcount mmaps

We need to know how many fds are using a perf mmap via
PERF_EVENT_IOC_SET_OUTPUT, so that we can know when to ditch an mmap,
refcount it.

This commit added 'int refcnt' to struct perf_mmap and the addition makes the
event_copy element no longer 8-byte aligned. Fix by adding a pad.

Signed-off-by: David Ahern <david.ahern@xxxxxxxxxx>
---
tools/perf/util/evlist.h | 1 +
1 file changed, 1 insertion(+)

diff --git a/tools/perf/util/evlist.h b/tools/perf/util/evlist.h
index c94a9e03ecf1..7a5a77b2b907 100644
--- a/tools/perf/util/evlist.h
+++ b/tools/perf/util/evlist.h
@@ -28,6 +28,7 @@ struct perf_mmap {
int mask;
int refcnt;
unsigned int prev;
+ int pad;
char event_copy[PERF_SAMPLE_MAX_SIZE];
};

--
1.9.3

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/