aboutsummaryrefslogtreecommitdiffstats
path: root/sys/linux/damon.txt
blob: e950766f985a093af8b3ea819244039226a783cf (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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
# Copyright 2018 syzkaller project authors. All rights reserved.
# Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file.

include <uapi/linux/fcntl.h>
include <uapi/linux/mount.h>

resource fd_damon_target_ids[fd]
resource fd_damon_attrs[fd]
resource fd_damon_monitor_on[fd]
resource fd_damon_init_regions[fd]
resource fd_damon_schemes[fd]
resource fd_damon_contexts[fd]

openat$damon_target_ids(fd const[AT_FDCWD], file ptr[in, string["/sys/kernel/debug/damon/target_ids"]], flags flags[open_flags], mode flags[open_mode]) fd_damon_target_ids
openat$damon_attrs(fd const[AT_FDCWD], file ptr[in, string["/sys/kernel/debug/damon/attrs"]], flags flags[open_flags], mode flags[open_mode]) fd_damon_attrs
openat$damon_init_regions(fd const[AT_FDCWD], file ptr[in, string["/sys/kernel/debug/damon/init_regions"]], flags flags[open_flags], mode flags[open_mode]) fd_damon_init_regions
openat$damon_monitor_on(fd const[AT_FDCWD], file ptr[in, string["/sys/kernel/debug/damon/monitor_on"]], flags flags[open_flags], mode flags[open_mode]) fd_damon_monitor_on
openat$damon_schemes(fd const[AT_FDCWD], file ptr[in, string["/sys/kernel/debug/damon/schemes"]], flags flags[open_flags], mode flags[open_mode]) fd_damon_schemes
openat$damon_kdamond_pid(fd const[AT_FDCWD], file ptr[in, string["/sys/kernel/debug/damon/kdamond_pid"]], flags flags[open_flags], mode flags[open_mode]) fd
openat$damon_mk_contexts(fd const[AT_FDCWD], file ptr[in, string["/sys/kernel/debug/damon/mk_contexts"]], flags flags[open_flags], mode flags[open_mode]) fd_damon_contexts
openat$damon_rm_contexts(fd const[AT_FDCWD], file ptr[in, string["/sys/kernel/debug/damon/rm_contexts"]], flags flags[open_flags], mode flags[open_mode]) fd_damon_contexts

write$damon_target_ids(fd fd_damon_target_ids, buf ptr[in, damon_target_id_input], count bytesize[buf])
write$damon_attrs(fd fd_damon_attrs, buf ptr[in, damon_attrs], count len[buf])
write$damon_init_regions(fd fd_damon_init_regions, buf ptr[in, damon_init_regions], count len[buf])
write$damon_monitor_on(fd fd_damon_monitor_on, buf ptr[in, string["on"]], count len[buf])
write$damon_schemes(fd fd_damon_schemes, buf ptr[in, damon_schemes], count len[buf])
write$damon_contexts(fd fd_damon_contexts, buf ptr[in, array[damon_contexts]], count len[buf])

damon_schemes {
	min_size	fmt[dec, int32]
	max_size	fmt[dec, int32]
	min_acc		const[' ', int8]
	max_acc		const[' ', int8]
	min_age		fmt[dec, int32]
	max_age		fmt[dec, int32]
	action		fmt[dec, int32]
} [packed]

damon_target_id_input {
	paddr	optional[string["paddr\n"]]
	pids	array[damon_target_pid]
} [packed]

damon_target_pid {
	space	stringnoz[" "]
	pid	fmt[dec, pid]
}

damon_attrs {
	sampl_interval		damon_attr
	aggr_interval		damon_attr
	reg_upd_interval	damon_attr
	min			damon_attr
	max			damon_attr
} [packed]

damon_attr {
	space	stringnoz[" "]
	val	fmt[dec, int32]
}

damon_init_regions {
	target	damon_target_pid
	start	damon_addr
	end	damon_addr
} [packed]

damon_addr {
	space	stringnoz[" "]
	val	fmt[dec, int64]
}

damon_contexts {
	space		stringnoz[" "]
	dir_name	stringnoz[filename]
}