diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2021-10-07 18:23:35 +0200 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2021-10-12 15:25:31 +0200 |
| commit | 56aa38a8a19dc3605d0d60d6b99ef6c5469a5ee7 (patch) | |
| tree | d5e54eb355d1f5b42476a6a8f24dbc437ddf5426 /sys/linux/cgroup.txt | |
| parent | f5acd03671f4ca16599e72c393582fa6f38434f4 (diff) | |
sys/linux: add more cgroup controls
Add new and missing cgroup controls.
Diffstat (limited to 'sys/linux/cgroup.txt')
| -rw-r--r-- | sys/linux/cgroup.txt | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/sys/linux/cgroup.txt b/sys/linux/cgroup.txt index 96dae245b..2c0410438 100644 --- a/sys/linux/cgroup.txt +++ b/sys/linux/cgroup.txt @@ -11,6 +11,7 @@ resource fd_cgroup_pid[fd] resource fd_cgroup_netprio_ifpriomap[fd] resource fd_cgroup_devices[fd] resource fd_cgroup_freezer_state[fd] +resource fd_cgroup_pressure[fd] mkdirat$cgroup_root(fd const[AT_FDCWD], path ptr[in, string[cgroup_dirs]], mode const[0x1ff]) mkdirat$cgroup(fd fd_cgroup, path ptr[in, string[cgroup_names]], mode const[0x1ff]) @@ -21,10 +22,12 @@ openat$cgroup_int(fd fd_cgroup, file ptr[in, string[cgroup_ctrl_int]], flags con openat$cgroup_procs(fd fd_cgroup, file ptr[in, string[cgroup_proc_files]], flags const[O_RDWR], mode const[0]) fd_cgroup_pid openat$cgroup_subtree(fd fd_cgroup, file ptr[in, string["cgroup.subtree_control"]], flags const[O_RDWR], mode const[0]) fd_cgroup_subtree openat$cgroup_type(fd fd_cgroup, file ptr[in, string["cgroup.type"]], flags const[O_RDWR], mode const[0]) fd_cgroup_type +openat$cgroup_pressure(fd fd_cgroup, file ptr[in, string[cgroup_pressure_files]], flags const[O_RDWR], mode const[0]) fd_cgroup_pressure write$cgroup_int(fd fd_cgroup_int, buf ptr[in, fmt[hex, int64]], len bytesize[buf]) write$cgroup_pid(fd fd_cgroup_pid, buf ptr[in, fmt[hex, pid]], len bytesize[buf]) write$cgroup_subtree(fd fd_cgroup_subtree, buf ptr[in, cgroup_subtree], len bytesize[buf]) write$cgroup_type(fd fd_cgroup_type, buf ptr[in, string["threaded"]], len bytesize[buf]) +write$cgroup_pressure(fd fd_cgroup_pressure, buf ptr[in, cgroup_pressure], len bytesize[buf]) cgroup_subtree { controls array[cgroup_control] @@ -42,8 +45,9 @@ cgroup_paths = "./cgroup/syz0", "./cgroup.cpu/syz0", "./cgroup.net/syz0", "./cgr cgroup_control_signs = '+', '-' cgroup_subsystems = "cpu", "memory", "io", "pids", "rdma" cgroup_proc_files = "cgroup.procs", "cgroup.threads", "tasks" -cgroup_ctrl_read = "cgroup.controllers", "cgroup.events", "cgroup.stat", "cpu.stat", "cpu.stat", "io.stat", "memory.current", "memory.events", "memory.stat", "memory.swap.current", "pids.current", "pids.events", "rdma.current", "cpuacct.stat", "cpuacct.usage_all", "cpuacct.usage_percpu", "cpuacct.usage_percpu_sys", "cpuacct.usage_percpu_user", "cpuacct.usage_sys", "cpuacct.usage_user", "cpuset.effective_cpus", "cpuset.effective_mems", "cpuset.memory_pressure", "hugetlb.2MB.limit_in_bytes", "net_prio.prioidx", "devices.list", "freezer.state", "freezer.self_freezing", "freezer.parent_freezing" -cgroup_ctrl_int = "cgroup.max.depth", "cgroup.max.descendants", "cpu.weight", "cpu.weight.nice", "io.bfq.weight", "io.max", "io.weight", "memory.high", "memory.low", "memory.max", "memory.swap.max", "pids.max", "rdma.max", "cgroup.clone_children", "cpuacct.usage", "cpuset.cpu_exclusive", "cpuset.cpus", "cpuset.mem_exclusive", "cpuset.mem_hardwall", "cpuset.memory_migrate", "cpuset.memory_spread_page", "cpuset.memory_spread_slab", "cpuset.mems", "cpuset.sched_load_balance", "cpuset.sched_relax_domain_level", "hugetlb.2MB.failcnt", "hugetlb.2MB.usage_in_bytes", "hugetlb.2MB.max_usage_in_bytes", "net_cls.classid", "notify_on_release" +cgroup_ctrl_read = "cgroup.controllers", "cgroup.events", "cgroup.freeze", "cgroup.kill", "cgroup.stat", "cpu.stat", "io.stat", "memory.current", "memory.events", "memory.events.local", "memory.stat", "memory.swap.current", "memory.swap.events", "memory.numa_stat", "pids.current", "pids.events", "rdma.current", "cpuacct.stat", "cpuacct.usage_all", "cpuacct.usage_percpu", "cpuacct.usage_percpu_sys", "cpuacct.usage_percpu_user", "cpuacct.usage_sys", "cpuacct.usage_user", "cpuset.effective_cpus", "cpuset.effective_mems", "cpuset.memory_pressure", "cpuset.memory_pressure_enabled", "net_prio.prioidx", "devices.list", "freezer.state", "freezer.self_freezing", "freezer.parent_freezing", "hugetlb.2MB.usage_in_bytes", "hugetlb.2MB.rsvd.usage_in_bytes", "hugetlb.1GB.usage_in_bytes", "hugetlb.1GB.rsvd.usage_in_bytes", "blkio.bfq.avg_queue_size", "blkio.bfq.dequeue", "blkio.bfq.empty_time", "blkio.bfq.group_wait_time", "blkio.bfq.idle_time", "blkio.bfq.io_merged", "blkio.bfq.io_merged_recursive", "blkio.bfq.io_queued", "blkio.bfq.io_queued_recursive", "blkio.bfq.io_service_bytes", "blkio.bfq.io_service_bytes_recursive", "blkio.bfq.io_service_time", "blkio.bfq.io_service_time_recursive", "blkio.bfq.io_serviced", "blkio.bfq.io_serviced_recursive", "blkio.bfq.io_wait_time", "blkio.bfq.io_wait_time_recursive", "blkio.bfq.sectors", "blkio.bfq.sectors_recursive", "blkio.bfq.time", "blkio.bfq.time_recursive", "blkio.throttle.io_service_bytes", "blkio.throttle.io_service_bytes_recursive", "blkio.throttle.io_serviced", "blkio.throttle.io_serviced_recursive" +cgroup_ctrl_int = "cgroup.max.depth", "cgroup.max.descendants", "cpu.weight", "cpu.weight.nice", "io.bfq.weight", "io.latency", "io.max", "io.weight", "memory.high", "memory.low", "memory.max", "memory.min", "memory.swap.max", "memory.swap.high", "memory.swap.max", "memory.oom.group", "pids.max", "rdma.max", "cgroup.clone_children", "cpuacct.usage", "cpuset.cpu_exclusive", "cpuset.cpus", "cpuset.mem_exclusive", "cpuset.mem_hardwall", "cpuset.memory_migrate", "cpuset.memory_spread_page", "cpuset.memory_spread_slab", "cpuset.mems", "cpuset.sched_load_balance", "cpuset.sched_relax_domain_level", "hugetlb.2MB.failcnt", "hugetlb.2MB.limit_in_bytes", "hugetlb.2MB.max_usage_in_bytes", "hugetlb.2MB.rsvd.failcnt", "hugetlb.2MB.rsvd.limit_in_bytes", "hugetlb.2MB.rsvd.max_usage_in_bytes", "hugetlb.1GB.failcnt", "hugetlb.1GB.limit_in_bytes", "hugetlb.1GB.max_usage_in_bytes", "hugetlb.1GB.rsvd.failcnt", "hugetlb.1GB.rsvd.limit_in_bytes", "hugetlb.1GB.rsvd.max_usage_in_bytes", "net_cls.classid", "notify_on_release", "cpu.idle", "cpu.max", "cpu.max.burst", "blkio.reset_stats", "blkio.throttle.read_bps_device", "blkio.throttle.read_iops_device", "blkio.throttle.write_bps_device", "blkio.throttle.write_iops_device" +cgroup_pressure_files = "cpu.pressure", "io.pressure", "memory.pressure" # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # @@ -89,3 +93,14 @@ openat$cgroup_freezer_state(fd fd_cgroup, file ptr[in, string["freezer.state"]], write$cgroup_freezer_state(fd fd_cgroup_freezer_state, buf ptr[in, string[cgroup_freezer_states]], len bytesize[buf]) define CGROUP_OPEN_FLAGS O_RDWR | O_PATH + +cgroup_pressure { + type stringnoz[cgroup_pressure_types] + sp0 const[' ', int8] + threshold_us fmt[dec, int64] + sp1 const[' ', int8] + window_us fmt[dec, int64] + z const[0, int8] +} + +cgroup_pressure_types = "full", "some" |
