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 07:44:38 +0000 (08:44 +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 58426e7d320d4af183dab37703fd18381f13832c..4b898b15643dea20074c374815b7b165679f1896 100644 (file)
@@ -1226,9 +1226,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 b86f90db1352a6c8635e3ea5d02aa3c21bccc323..b6d6ccf630d9e325ce07ff92b5d1559572174f38 100644 (file)
@@ -37,6 +37,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,