perf auxtrace: Define auxtrace record alignment
authorAdrian Hunter <adrian.hunter@intel.com>
Wed, 6 Feb 2019 10:39:43 +0000 (12:39 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 23 Mar 2019 19:10:11 +0000 (20:10 +0100)
commit c3fcadf0bb765faf45d6d562246e1d08885466df upstream.

Define auxtrace record alignment so that it can be referenced elsewhere.

Note this is preparation for patch "perf intel-pt: Fix overlap calculation
for padding"

Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: stable@vger.kernel.org
Link: http://lkml.kernel.org/r/20190206103947.15750-2-adrian.hunter@intel.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
tools/perf/util/auxtrace.c
tools/perf/util/auxtrace.h

index db15113..40c93d8 100644 (file)
@@ -1273,9 +1273,9 @@ static int __auxtrace_mmap__read(struct auxtrace_mmap *mm,
        }
 
        /* padding must be written by fn() e.g. record__process_auxtrace() */
-       padding = size & 7;
+       padding = size & (PERF_AUXTRACE_RECORD_ALIGNMENT - 1);
        if (padding)
-               padding = 8 - padding;
+               padding = PERF_AUXTRACE_RECORD_ALIGNMENT - padding;
 
        memset(&ev, 0, sizeof(ev));
        ev.auxtrace.header.type = PERF_RECORD_AUXTRACE;
index 71fc3bd..136c5f9 100644 (file)
@@ -38,6 +38,9 @@ struct record_opts;
 struct auxtrace_info_event;
 struct events_stats;
 
+/* Auxtrace records must have the same alignment as perf event records */
+#define PERF_AUXTRACE_RECORD_ALIGNMENT 8
+
 enum auxtrace_type {
        PERF_AUXTRACE_UNKNOWN,
        PERF_AUXTRACE_INTEL_PT,