Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/tools/testing/selftests/bpf/cgroup_helpers.h
26285 views
1
/* SPDX-License-Identifier: GPL-2.0 */
2
#ifndef __CGROUP_HELPERS_H
3
#define __CGROUP_HELPERS_H
4
5
#include <errno.h>
6
#include <string.h>
7
8
#define clean_errno() (errno == 0 ? "None" : strerror(errno))
9
#define log_err(MSG, ...) fprintf(stderr, "(%s:%d: errno: %s) " MSG "\n", \
10
__FILE__, __LINE__, clean_errno(), ##__VA_ARGS__)
11
12
/* cgroupv2 related */
13
int enable_controllers(const char *relative_path, const char *controllers);
14
int write_cgroup_file(const char *relative_path, const char *file,
15
const char *buf);
16
int write_cgroup_file_parent(const char *relative_path, const char *file,
17
const char *buf);
18
int cgroup_setup_and_join(const char *relative_path);
19
int get_root_cgroup(void);
20
int create_and_get_cgroup(const char *relative_path);
21
void remove_cgroup(const char *relative_path);
22
unsigned long long get_cgroup_id(const char *relative_path);
23
int get_cgroup1_hierarchy_id(const char *subsys_name);
24
25
int join_cgroup(const char *relative_path);
26
int join_root_cgroup(void);
27
int join_parent_cgroup(const char *relative_path);
28
29
int set_cgroup_xattr(const char *relative_path,
30
const char *name,
31
const char *value);
32
33
int setup_cgroup_environment(void);
34
void cleanup_cgroup_environment(void);
35
36
/* cgroupv1 related */
37
int set_classid(void);
38
int join_classid(void);
39
unsigned long long get_classid_cgroup_id(void);
40
int open_classid(void);
41
42
int setup_classid_environment(void);
43
void cleanup_classid_environment(void);
44
45
#endif /* __CGROUP_HELPERS_H */
46
47