forked from Minki/linux
perf tools: Allow auxtrace data alignment
Allow auxtrace data to be a multiple of something other than page size. That is needed for BTS where the buffer contains 24-byte records. Signed-off-by: Adrian Hunter <adrian.hunter@intel.com> Cc: Jiri Olsa <jolsa@redhat.com> Link: http://lkml.kernel.org/r/1432906425-9911-11-git-send-email-adrian.hunter@intel.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
parent
38e89d2b17
commit
83b2ea257e
@ -1182,6 +1182,13 @@ static int __auxtrace_mmap__read(struct auxtrace_mmap *mm,
|
||||
data2 = NULL;
|
||||
}
|
||||
|
||||
if (itr->alignment) {
|
||||
unsigned int unwanted = len1 % itr->alignment;
|
||||
|
||||
len1 -= unwanted;
|
||||
size -= unwanted;
|
||||
}
|
||||
|
||||
/* padding must be written by fn() e.g. record__process_auxtrace() */
|
||||
padding = size & 7;
|
||||
if (padding)
|
||||
|
@ -303,6 +303,7 @@ struct auxtrace_record {
|
||||
const char *str);
|
||||
u64 (*reference)(struct auxtrace_record *itr);
|
||||
int (*read_finish)(struct auxtrace_record *itr, int idx);
|
||||
unsigned int alignment;
|
||||
};
|
||||
|
||||
#ifdef HAVE_AUXTRACE_SUPPORT
|
||||
|
Loading…
Reference in New Issue
Block a user