diff options
Diffstat (limited to 'tools/perf/lib/include/internal/mmap.h')
-rw-r--r-- | tools/perf/lib/include/internal/mmap.h | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/tools/perf/lib/include/internal/mmap.h b/tools/perf/lib/include/internal/mmap.h new file mode 100644 index 000000000000..ba1e519c15b9 --- /dev/null +++ b/tools/perf/lib/include/internal/mmap.h @@ -0,0 +1,32 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +#ifndef __LIBPERF_INTERNAL_MMAP_H +#define __LIBPERF_INTERNAL_MMAP_H + +#include <linux/compiler.h> +#include <linux/refcount.h> +#include <linux/types.h> +#include <stdbool.h> + +/* perf sample has 16 bits size limit */ +#define PERF_SAMPLE_MAX_SIZE (1 << 16) + +/** + * struct perf_mmap - perf's ring buffer mmap details + * + * @refcnt - e.g. code using PERF_EVENT_IOC_SET_OUTPUT to share this + */ +struct perf_mmap { + void *base; + int mask; + int fd; + int cpu; + refcount_t refcnt; + u64 prev; + u64 start; + u64 end; + bool overwrite; + u64 flush; + char event_copy[PERF_SAMPLE_MAX_SIZE] __aligned(8); +}; + +#endif /* __LIBPERF_INTERNAL_MMAP_H */ |