Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2#ifndef _TRACE_MMAP_H_
3#define _TRACE_MMAP_H_
4
5#include <linux/types.h>
6
7/**
8 * struct trace_buffer_meta - Ring-buffer Meta-page description
9 * @meta_page_size: Size of this meta-page.
10 * @meta_struct_len: Size of this structure.
11 * @subbuf_size: Size of each sub-buffer.
12 * @nr_subbufs: Number of subbfs in the ring-buffer, including the reader.
13 * @reader: The reader composite info structure
14 * @reader.lost_events: Number of events lost at the time of the reader swap.
15 * @reader.id: subbuf ID of the current reader. ID range [0 : @nr_subbufs - 1]
16 * @reader.read: Number of bytes read on the reader subbuf.
17 * @flags: Placeholder for now, 0 until new features are supported.
18 * @entries: Number of entries in the ring-buffer.
19 * @overrun: Number of entries lost in the ring-buffer.
20 * @read: Number of entries that have been read.
21 * @pages_lost: Number of pages overwritten by the writer.
22 * @pages_touched: Number of pages written by the writer.
23 */
24struct trace_buffer_meta {
25 __u32 meta_page_size;
26 __u32 meta_struct_len;
27
28 __u32 subbuf_size;
29 __u32 nr_subbufs;
30
31 struct {
32 __u64 lost_events;
33 __u32 id;
34 __u32 read;
35 } reader;
36
37 __u64 flags;
38
39 __u64 entries;
40 __u64 overrun;
41 __u64 read;
42
43 __u64 pages_lost;
44 __u64 pages_touched;
45};
46
47#define TRACE_MMAP_IOCTL_GET_READER _IO('R', 0x20)
48
49#endif /* _TRACE_MMAP_H_ */