summaryrefslogtreecommitdiff
path: root/include/arch/x86_64/linux/trace_mmap.h
blob: 15beab239974339cb3388dd6a3767c11e4d17679 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
#ifndef _TRACE_MMAP_H_
#define _TRACE_MMAP_H_

#include <linux/types.h>

/**
 * struct trace_buffer_meta - Ring-buffer Meta-page description
 * @meta_page_size:	Size of this meta-page.
 * @meta_struct_len:	Size of this structure.
 * @subbuf_size:	Size of each sub-buffer.
 * @nr_subbufs:		Number of subbfs in the ring-buffer, including the
 * reader.
 * @reader.lost_events:	Number of events lost at the time of the reader swap.
 * @reader.id:		subbuf ID of the current reader. ID range [0 :
 * @nr_subbufs - 1]
 * @reader.read:	Number of bytes read on the reader subbuf.
 * @flags:		Placeholder for now, 0 until new features are supported.
 * @entries:		Number of entries in the ring-buffer.
 * @overrun:		Number of entries lost in the ring-buffer.
 * @read:		Number of entries that have been read.
 * @Reserved1:		Internal use only.
 * @Reserved2:		Internal use only.
 */
struct trace_buffer_meta {
	__u32 meta_page_size;
	__u32 meta_struct_len;

	__u32 subbuf_size;
	__u32 nr_subbufs;

	struct {
		__u64 lost_events;
		__u32 id;
		__u32 read;
	} reader;

	__u64 flags;

	__u64 entries;
	__u64 overrun;
	__u64 read;

	__u64 Reserved1;
	__u64 Reserved2;
};

#define TRACE_MMAP_IOCTL_GET_READER _IO('R', 0x20)

#endif /* _TRACE_MMAP_H_ */