Lines Matching refs:cgroup

77 char *cg_control(const char *cgroup, const char *control)  in cg_control()  argument
79 size_t len = strlen(cgroup) + strlen(control) + 2; in cg_control()
82 snprintf(ret, len, "%s/%s", cgroup, control); in cg_control()
88 int cg_read(const char *cgroup, const char *control, char *buf, size_t len) in cg_read() argument
93 snprintf(path, sizeof(path), "%s/%s", cgroup, control); in cg_read()
99 int cg_read_strcmp(const char *cgroup, const char *control, in cg_read_strcmp() argument
116 if (cg_read(cgroup, control, buf, size)) { in cg_read_strcmp()
126 int cg_read_strstr(const char *cgroup, const char *control, const char *needle) in cg_read_strstr() argument
130 if (cg_read(cgroup, control, buf, sizeof(buf))) in cg_read_strstr()
136 long cg_read_long(const char *cgroup, const char *control) in cg_read_long() argument
140 if (cg_read(cgroup, control, buf, sizeof(buf))) in cg_read_long()
156 long cg_read_key_long(const char *cgroup, const char *control, const char *key) in cg_read_key_long() argument
161 if (cg_read(cgroup, control, buf, sizeof(buf))) in cg_read_key_long()
171 long cg_read_lc(const char *cgroup, const char *control) in cg_read_lc() argument
178 if (cg_read(cgroup, control, buf, sizeof(buf))) in cg_read_lc()
188 int cg_write(const char *cgroup, const char *control, char *buf) in cg_write() argument
193 snprintf(path, sizeof(path), "%s/%s", cgroup, control); in cg_write()
202 int cg_open(const char *cgroup, const char *control, int flags) in cg_open() argument
206 snprintf(path, sizeof(path), "%s/%s", cgroup, control); in cg_open()
210 int cg_write_numeric(const char *cgroup, const char *control, long value) in cg_write_numeric() argument
219 return cg_write(cgroup, control, buf); in cg_write_numeric()
273 int cg_create(const char *cgroup) in cg_create() argument
275 return mkdir(cgroup, 0755); in cg_create()
278 int cg_wait_for_proc_count(const char *cgroup, int count) in cg_wait_for_proc_count() argument
287 if (cg_read(cgroup, "cgroup.procs", buf, sizeof(buf))) in cg_wait_for_proc_count()
303 int cg_killall(const char *cgroup) in cg_killall() argument
309 if (!cg_write(cgroup, "cgroup.kill", "1")) in cg_killall()
312 if (cg_read(cgroup, "cgroup.procs", buf, sizeof(buf))) in cg_killall()
331 int cg_destroy(const char *cgroup) in cg_destroy() argument
335 if (!cgroup) in cg_destroy()
338 ret = rmdir(cgroup); in cg_destroy()
340 cg_killall(cgroup); in cg_destroy()
351 int cg_enter(const char *cgroup, int pid) in cg_enter() argument
356 return cg_write(cgroup, "cgroup.procs", pidbuf); in cg_enter()
359 int cg_enter_current(const char *cgroup) in cg_enter_current() argument
361 return cg_write(cgroup, "cgroup.procs", "0"); in cg_enter_current()
364 int cg_enter_current_thread(const char *cgroup) in cg_enter_current_thread() argument
366 return cg_write(cgroup, CG_THREADS_FILE, "0"); in cg_enter_current_thread()
369 int cg_run(const char *cgroup, in cg_run() argument
370 int (*fn)(const char *cgroup, void *arg), in cg_run() argument
382 if (cg_write(cgroup, "cgroup.procs", buf)) in cg_run()
384 exit(fn(cgroup, arg)); in cg_run()
402 .cgroup = cgroup_fd, in clone_into_cgroup()
467 static int clone_into_cgroup_run_nowait(const char *cgroup, in clone_into_cgroup_run_nowait() argument
468 int (*fn)(const char *cgroup, void *arg), in clone_into_cgroup_run_nowait() argument
474 cgroup_fd = dirfd_open_opath(cgroup); in clone_into_cgroup_run_nowait()
481 exit(fn(cgroup, arg)); in clone_into_cgroup_run_nowait()
486 int cg_run_nowait(const char *cgroup, in cg_run_nowait() argument
487 int (*fn)(const char *cgroup, void *arg), in cg_run_nowait() argument
492 pid = clone_into_cgroup_run_nowait(cgroup, fn, arg); in cg_run_nowait()
505 if (cg_write(cgroup, "cgroup.procs", buf)) in cg_run_nowait()
507 exit(fn(cgroup, arg)); in cg_run_nowait()
550 int clone_into_cgroup_run_wait(const char *cgroup) in clone_into_cgroup_run_wait() argument
555 cgroup_fd = dirfd_open_opath(cgroup); in clone_into_cgroup_run_wait()
575 static int __prepare_for_wait(const char *cgroup, const char *filename) in __prepare_for_wait() argument
583 ret = inotify_add_watch(fd, cg_control(cgroup, filename), IN_MODIFY); in __prepare_for_wait()
592 int cg_prepare_for_wait(const char *cgroup) in cg_prepare_for_wait() argument
594 return __prepare_for_wait(cgroup, "cgroup.events"); in cg_prepare_for_wait()
597 int memcg_prepare_for_wait(const char *cgroup) in memcg_prepare_for_wait() argument
599 return __prepare_for_wait(cgroup, "memory.events"); in memcg_prepare_for_wait()