OSDN Git Service

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 12:19:53 +0000 (13:19 +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 29d015e..b87221e 100644 (file)
@@ -1244,9 +1244,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 26fb1ee..1b6963e 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,