aboutsummaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authorshatoboar <57257492+shatoboar@users.noreply.github.com>2021-12-20 13:31:04 +0100
committerGitHub <noreply@github.com>2021-12-20 13:31:04 +0100
commit6db1c30d5f4dfe75f2d6894fb8a3d6228d699d88 (patch)
tree1afd1a4bd59125657e58c5d2aa21eed02433b0d1 /sys
parent021b36cb024795a0e0098dd09a56214438422951 (diff)
sys/linux: add Damon description
* sys/linux/damon.txt: initial description description of DAMON's interface mounted in debugfs: target_ids, attrs, init_regions, monitor_on * sys/linux/damon.txt: additional damon interface description added added DAMON interface descriptions for schemes, kdamond_pid, mk_contexts, rm_contexts prefix of all the files with damon to avoid colliding naming * sys/linux/damon.txt: standard copyright statement added * sys/linux/damon.txt.const: const file of sys/linux/damon.txt added * sys/linux/damon.txt: type fix of pid to fmt * dashboard/config/linux/bits/subsystems.yml: damon configs added for Syzbot * dashboard/config/linux: generated kernel configs with added damon config * sys/linux/damon.txt: fmt type fix * sys/linux/damon.txt: read and close syscalls removed write and read mk_contexts summarized into one syscall some refining of syscall interfaces
Diffstat (limited to 'sys')
-rw-r--r--sys/linux/damon.txt77
-rw-r--r--sys/linux/damon.txt.const5
2 files changed, 82 insertions, 0 deletions
diff --git a/sys/linux/damon.txt b/sys/linux/damon.txt
new file mode 100644
index 000000000..35313faa0
--- /dev/null
+++ b/sys/linux/damon.txt
@@ -0,0 +1,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 len[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]
+}
diff --git a/sys/linux/damon.txt.const b/sys/linux/damon.txt.const
new file mode 100644
index 000000000..30259d4b7
--- /dev/null
+++ b/sys/linux/damon.txt.const
@@ -0,0 +1,5 @@
+# Code generated by syz-sysgen. DO NOT EDIT.
+arches = 386, amd64, arm, arm64, mips64le, ppc64le, riscv64, s390x
+AT_FDCWD = 18446744073709551516
+__NR_openat = 56, 386:295, amd64:257, arm:322, mips64le:5247, ppc64le:286, s390x:288
+__NR_write = 4, amd64:1, arm64:riscv64:64, mips64le:5001