aboutsummaryrefslogtreecommitdiffstats
path: root/tools/perf/util/mmap.h
diff options
context:
space:
mode:
authorAlexey Budankov <alexey.budankov@linux.intel.com>2018-11-06 12:03:35 +0300
committerArnaldo Carvalho de Melo <acme@redhat.com>2018-12-17 14:55:01 -0300
commit0b77383134f3dbb461189a9c4f3b46b20152045d (patch)
tree7feb64c63da57d61415e61308e6ff122586e550e /tools/perf/util/mmap.h
parenttools build feature: Check if libaio is available (diff)
downloadlinux-dev-0b77383134f3dbb461189a9c4f3b46b20152045d.tar.xz
linux-dev-0b77383134f3dbb461189a9c4f3b46b20152045d.zip
perf mmap: Map data buffer for preserving collected data
The map->data buffer is used to preserve map->base profiling data for writing to disk. AIO map->cblock is used to queue corresponding map->data buffer for asynchronous writing. Signed-off-by: Alexey Budankov <alexey.budankov@linux.intel.com> Reviewed-by: Jiri Olsa <jolsa@redhat.com> Acked-by: Namhyung Kim <namhyung@kernel.org> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Andi Kleen <ak@linux.intel.com> Cc: Peter Zijlstra <peterz@infradead.org> Link: http://lkml.kernel.org/r/5fcda10c-6c63-68df-383a-c6d9e5d1f918@linux.intel.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf/util/mmap.h')
-rw-r--r--tools/perf/util/mmap.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/tools/perf/util/mmap.h b/tools/perf/util/mmap.h
index cc5e2d6d17a9..3f10ad030c5e 100644
--- a/tools/perf/util/mmap.h
+++ b/tools/perf/util/mmap.h
@@ -6,6 +6,9 @@
#include <linux/types.h>
#include <linux/ring_buffer.h>
#include <stdbool.h>
+#ifdef HAVE_AIO_SUPPORT
+#include <aio.h>
+#endif
#include "auxtrace.h"
#include "event.h"
@@ -26,6 +29,12 @@ struct perf_mmap {
bool overwrite;
struct auxtrace_mmap auxtrace_mmap;
char event_copy[PERF_SAMPLE_MAX_SIZE] __aligned(8);
+#ifdef HAVE_AIO_SUPPORT
+ struct {
+ void *data;
+ struct aiocb cblock;
+ } aio;
+#endif
};
/*
@@ -57,7 +66,7 @@ enum bkw_mmap_state {
};
struct mmap_params {
- int prot, mask;
+ int prot, mask, nr_cblocks;
struct auxtrace_mmap_params auxtrace_mp;
};