Re: [PATCH] perf: Fix sigbus with perf-top

From: Arnaldo Carvalho de Melo
Date: Wed Feb 25 2015 - 14:43:53 EST


Em Wed, Feb 18, 2015 at 07:03:18PM -0500, David Ahern escreveu:
> 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.

I am applying this, but please consider doing like the kernel and using
one of those __aligned_on_foo struct member attributes.

I am adding a comment right after that pad...

- Arnaldo

> 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/