Home
last modified time | relevance | path

Searched refs:cgroup (Results 1 - 25 of 342) sorted by relevance

12345678910>>...14

/kernel/linux/linux-5.10/tools/testing/selftests/cgroup/
H A Dtest_freezer.c27 * Check if the cgroup is frozen by looking at the cgroup.events::frozen value.
29 static int cg_check_frozen(const char *cgroup, bool frozen) in cg_check_frozen() argument
32 if (cg_read_strstr(cgroup, "cgroup.events", "frozen 1") != 0) { in cg_check_frozen()
33 debug("Cgroup %s isn't frozen\n", cgroup); in cg_check_frozen()
38 * Check the cgroup.events::frozen value. in cg_check_frozen()
40 if (cg_read_strstr(cgroup, "cgroup.events", "frozen 0") != 0) { in cg_check_frozen()
41 debug("Cgroup %s is frozen\n", cgroup); in cg_check_frozen()
52 cg_freeze_nowait(const char *cgroup, bool freeze) cg_freeze_nowait() argument
60 cg_prepare_for_wait(const char *cgroup) cg_prepare_for_wait() argument
116 cg_enter_and_wait_for_frozen(const char *cgroup, int pid, bool frozen) cg_enter_and_wait_for_frozen() argument
150 cg_freeze_wait(const char *cgroup, bool freeze) cg_freeze_wait() argument
178 child_fn(const char *cgroup, void *arg) child_fn() argument
196 char *cgroup = NULL; test_cgfreezer_simple() local
247 char *cgroup[10] = {0}; test_cgfreezer_tree() local
397 forkbomb_fn(const char *cgroup, void *arg) forkbomb_fn() argument
420 char *cgroup = NULL; test_cgfreezer_forkbomb() local
568 char *cgroup[2] = {0}; test_cgfreezer_migrate() local
643 char *cgroup = NULL; test_cgfreezer_ptrace() local
725 char *cgroup = NULL; test_cgfreezer_stopped() local
769 char *cgroup = NULL; test_cgfreezer_ptraced() local
820 vfork_fn(const char *cgroup, void *arg) vfork_fn() argument
838 char *cgroup = NULL; test_cgfreezer_vfork() local
[all...]
H A Dcgroup_util.h22 extern char *cg_control(const char *cgroup, const char *control);
23 extern int cg_create(const char *cgroup);
24 extern int cg_destroy(const char *cgroup);
25 extern int cg_read(const char *cgroup, const char *control,
27 extern int cg_read_strcmp(const char *cgroup, const char *control,
29 extern int cg_read_strstr(const char *cgroup, const char *control,
31 extern long cg_read_long(const char *cgroup, const char *control);
32 long cg_read_key_long(const char *cgroup, const char *control, const char *key);
33 extern long cg_read_lc(const char *cgroup, const char *control);
34 extern int cg_write(const char *cgroup, cons
[all...]
H A Dcgroup_util.c78 char *cg_control(const char *cgroup, const char *control) in cg_control() argument
80 size_t len = strlen(cgroup) + strlen(control) + 2; in cg_control()
83 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
92 snprintf(path, sizeof(path), "%s/%s", cgroup, control); in cg_read()
100 int cg_read_strcmp(const char *cgroup, const char *control, in cg_read_strcmp() argument
117 if (cg_read(cgroup, control, buf, size)) { in cg_read_strcmp()
127 int cg_read_strstr(const char *cgroup, const char *control, const char *needle) in cg_read_strstr() argument
131 if (cg_read(cgroup, control, buf, sizeof(buf))) in cg_read_strstr()
137 long cg_read_long(const char *cgroup, cons argument
147 cg_read_key_long(const char *cgroup, const char *control, const char *key) cg_read_key_long() argument
162 cg_read_lc(const char *cgroup, const char *control) cg_read_lc() argument
178 cg_write(const char *cgroup, const char *control, char *buf) cg_write() argument
220 cg_create(const char *cgroup) cg_create() argument
225 cg_wait_for_proc_count(const char *cgroup, int count) cg_wait_for_proc_count() argument
250 cg_killall(const char *cgroup) cg_killall() argument
274 cg_destroy(const char *cgroup) cg_destroy() argument
292 cg_enter(const char *cgroup, int pid) cg_enter() argument
300 cg_enter_current(const char *cgroup) cg_enter_current() argument
305 cg_enter_current_thread(const char *cgroup) cg_enter_current_thread() argument
310 cg_run(const char *cgroup, int (*fn)(const char *cgroup, void *arg), void *arg) cg_run() argument
408 clone_into_cgroup_run_nowait(const char *cgroup, int (*fn)(const char *cgroup, void *arg), void *arg) clone_into_cgroup_run_nowait() argument
427 cg_run_nowait(const char *cgroup, int (*fn)(const char *cgroup, void *arg), void *arg) cg_run_nowait() argument
482 alloc_anon(const char *cgroup, void *arg) alloc_anon() argument
555 clone_into_cgroup_run_wait(const char *cgroup) clone_into_cgroup_run_wait() argument
[all...]
/kernel/linux/linux-6.6/tools/testing/selftests/cgroup/
H A Dtest_freezer.c25 * Check if the cgroup is frozen by looking at the cgroup.events::frozen value.
27 static int cg_check_frozen(const char *cgroup, bool frozen) in cg_check_frozen() argument
30 if (cg_read_strstr(cgroup, "cgroup.events", "frozen 1") != 0) { in cg_check_frozen()
31 debug("Cgroup %s isn't frozen\n", cgroup); in cg_check_frozen()
36 * Check the cgroup.events::frozen value. in cg_check_frozen()
38 if (cg_read_strstr(cgroup, "cgroup.events", "frozen 0") != 0) { in cg_check_frozen()
39 debug("Cgroup %s is frozen\n", cgroup); in cg_check_frozen()
50 cg_freeze_nowait(const char *cgroup, bool freeze) cg_freeze_nowait() argument
59 cg_enter_and_wait_for_frozen(const char *cgroup, int pid, bool frozen) cg_enter_and_wait_for_frozen() argument
93 cg_freeze_wait(const char *cgroup, bool freeze) cg_freeze_wait() argument
121 child_fn(const char *cgroup, void *arg) child_fn() argument
139 char *cgroup = NULL; test_cgfreezer_simple() local
190 char *cgroup[10] = {0}; test_cgfreezer_tree() local
340 forkbomb_fn(const char *cgroup, void *arg) forkbomb_fn() argument
363 char *cgroup = NULL; test_cgfreezer_forkbomb() local
511 char *cgroup[2] = {0}; test_cgfreezer_migrate() local
586 char *cgroup = NULL; test_cgfreezer_ptrace() local
668 char *cgroup = NULL; test_cgfreezer_stopped() local
712 char *cgroup = NULL; test_cgfreezer_ptraced() local
763 vfork_fn(const char *cgroup, void *arg) vfork_fn() argument
781 char *cgroup = NULL; test_cgfreezer_vfork() local
[all...]
H A Dtest_kill.c17 * Kill the given cgroup and wait for the inotify signal.
19 * Then check that the cgroup is in the desired state.
21 static int cg_kill_wait(const char *cgroup) in cg_kill_wait() argument
25 fd = cg_prepare_for_wait(cgroup); in cg_kill_wait()
29 ret = cg_write(cgroup, "cgroup.kill", "1"); in cg_kill_wait()
46 static int child_fn(const char *cgroup, void *arg) in child_fn() argument
60 char *cgroup = NULL; in test_cgkill_simple() local
63 cgroup = cg_name(root, "cg_test_simple"); in test_cgkill_simple()
64 if (!cgroup) in test_cgkill_simple()
116 char *cgroup[10] = {0}; test_cgkill_tree() local
204 forkbomb_fn(const char *cgroup, void *arg) forkbomb_fn() argument
225 char *cgroup = NULL; test_cgkill_forkbomb() local
[all...]
H A Dcgroup_util.h27 extern char *cg_control(const char *cgroup, const char *control);
28 extern int cg_create(const char *cgroup);
29 extern int cg_destroy(const char *cgroup);
30 extern int cg_read(const char *cgroup, const char *control,
32 extern int cg_read_strcmp(const char *cgroup, const char *control,
34 extern int cg_read_strstr(const char *cgroup, const char *control,
36 extern long cg_read_long(const char *cgroup, const char *control);
37 long cg_read_key_long(const char *cgroup, const char *control, const char *key);
38 extern long cg_read_lc(const char *cgroup, const char *control);
39 extern int cg_write(const char *cgroup, cons
[all...]
H A Dcgroup_util.c75 char *cg_control(const char *cgroup, const char *control) in cg_control() argument
77 size_t len = strlen(cgroup) + strlen(control) + 2; in cg_control()
80 snprintf(ret, len, "%s/%s", cgroup, control); in cg_control()
86 int cg_read(const char *cgroup, const char *control, char *buf, size_t len) in cg_read() argument
91 snprintf(path, sizeof(path), "%s/%s", cgroup, control); in cg_read()
97 int cg_read_strcmp(const char *cgroup, const char *control, in cg_read_strcmp() argument
114 if (cg_read(cgroup, control, buf, size)) { in cg_read_strcmp()
124 int cg_read_strstr(const char *cgroup, const char *control, const char *needle) in cg_read_strstr() argument
128 if (cg_read(cgroup, control, buf, sizeof(buf))) in cg_read_strstr()
134 long cg_read_long(const char *cgroup, cons argument
144 cg_read_key_long(const char *cgroup, const char *control, const char *key) cg_read_key_long() argument
159 cg_read_lc(const char *cgroup, const char *control) cg_read_lc() argument
176 cg_write(const char *cgroup, const char *control, char *buf) cg_write() argument
186 cg_write_numeric(const char *cgroup, const char *control, long value) cg_write_numeric() argument
227 cg_create(const char *cgroup) cg_create() argument
232 cg_wait_for_proc_count(const char *cgroup, int count) cg_wait_for_proc_count() argument
257 cg_killall(const char *cgroup) cg_killall() argument
285 cg_destroy(const char *cgroup) cg_destroy() argument
305 cg_enter(const char *cgroup, int pid) cg_enter() argument
313 cg_enter_current(const char *cgroup) cg_enter_current() argument
318 cg_enter_current_thread(const char *cgroup) cg_enter_current_thread() argument
323 cg_run(const char *cgroup, int (*fn)(const char *cgroup, void *arg), void *arg) cg_run() argument
421 clone_into_cgroup_run_nowait(const char *cgroup, int (*fn)(const char *cgroup, void *arg), void *arg) clone_into_cgroup_run_nowait() argument
440 cg_run_nowait(const char *cgroup, int (*fn)(const char *cgroup, void *arg), void *arg) cg_run_nowait() argument
495 alloc_anon(const char *cgroup, void *arg) alloc_anon() argument
582 clone_into_cgroup_run_wait(const char *cgroup) clone_into_cgroup_run_wait() argument
607 __prepare_for_wait(const char *cgroup, const char *filename) __prepare_for_wait() argument
624 cg_prepare_for_wait(const char *cgroup) cg_prepare_for_wait() argument
629 memcg_prepare_for_wait(const char *cgroup) memcg_prepare_for_wait() argument
[all...]
/kernel/linux/linux-6.6/kernel/bpf/
H A Dbpf_cgrp_storage.c41 struct cgroup *cg = owner; in cgroup_storage_ptr()
46 void bpf_cgrp_storage_free(struct cgroup *cgroup) in bpf_cgrp_storage_free() argument
51 local_storage = rcu_dereference(cgroup->bpf_cgrp_storage); in bpf_cgrp_storage_free()
64 cgroup_storage_lookup(struct cgroup *cgroup, struct bpf_map *map, bool cacheit_lockit) in cgroup_storage_lookup() argument
69 cgroup_storage = rcu_dereference_check(cgroup->bpf_cgrp_storage, in cgroup_storage_lookup()
81 struct cgroup *cgroup; in bpf_cgrp_storage_lookup_elem() local
85 cgroup in bpf_cgrp_storage_lookup_elem()
100 struct cgroup *cgroup; bpf_cgrp_storage_update_elem() local
116 cgroup_storage_delete(struct cgroup *cgroup, struct bpf_map *map) cgroup_storage_delete() argument
130 struct cgroup *cgroup; bpf_cgrp_storage_delete_elem() local
[all...]
H A Dcgroup_iter.c5 #include <linux/cgroup.h>
9 #include "../cgroup/cgroup-internal.h" /* cgroup_mutex and cgroup_is_dead */
11 /* cgroup_iter provides four modes of traversal to the cgroup hierarchy.
13 * 1. Walk the descendants of a cgroup in pre-order.
14 * 2. Walk the descendants of a cgroup in post-order.
15 * 3. Walk the ancestors of a cgroup.
16 * 4. Show the given cgroup only.
19 * post-order. For walking ancestors, the iter walks up from a cgroup to
26 * the first element. The prog may also be passed a NULL cgroup,
[all...]
/kernel/linux/linux-5.10/tools/perf/util/
H A Dcgroup.c4 #include "cgroup.h"
33 fprintf(stderr, "no access to cgroup %s\n", path); in open_cgroup()
38 static struct cgroup *evlist__find_cgroup(struct evlist *evlist, const char *str) in evlist__find_cgroup()
54 static struct cgroup *cgroup__new(const char *name, bool do_open) in cgroup__new()
56 struct cgroup *cgroup = zalloc(sizeof(*cgroup)); in cgroup__new() local
58 if (cgroup != NULL) { in cgroup__new()
59 refcount_set(&cgroup->refcnt, 1); in cgroup__new()
61 cgroup in cgroup__new()
85 struct cgroup *cgroup = evlist__find_cgroup(evlist, name); evlist__findnew_cgroup() local
116 cgroup__delete(struct cgroup *cgroup) cgroup__delete() argument
131 cgroup__get(struct cgroup *cgroup) cgroup__get() argument
138 evsel__set_default_cgroup(struct evsel *evsel, struct cgroup *cgroup) evsel__set_default_cgroup() argument
144 evlist__set_default_cgroup(struct evlist *evlist, struct cgroup *cgroup) evlist__set_default_cgroup() argument
[all...]
H A Dcgroup.h11 struct cgroup { struct
21 struct cgroup *cgroup__get(struct cgroup *cgroup);
22 void cgroup__put(struct cgroup *cgroup);
27 struct cgroup *evlist__findnew_cgroup(struct evlist *evlist, const char *name);
31 void evlist__set_default_cgroup(struct evlist *evlist, struct cgroup *cgroup);
35 struct cgroup *cgroup__findne
[all...]
/kernel/linux/linux-6.6/tools/testing/selftests/bpf/progs/
H A Dcgrp_kfunc_failure.c16 * TP_PROTO(struct cgroup *cgrp, const char *path),
20 static struct __cgrps_kfunc_map_value *insert_lookup_cgrp(struct cgroup *cgrp) in insert_lookup_cgrp()
33 int BPF_PROG(cgrp_kfunc_acquire_untrusted, struct cgroup *cgrp, const char *path) in BPF_PROG()
35 struct cgroup *acquired; in BPF_PROG()
52 int BPF_PROG(cgrp_kfunc_acquire_no_null_check, struct cgroup *cgrp, const char *path) in BPF_PROG()
54 struct cgroup *acquired; in BPF_PROG()
67 __failure __msg("arg#0 pointer type STRUCT cgroup must point")
68 int BPF_PROG(cgrp_kfunc_acquire_fp, struct cgroup *cgrp, const char *path) in BPF_PROG()
70 struct cgroup *acquired, *stack_cgrp = (struct cgroup *) in BPF_PROG()
[all...]
H A Dcgrp_kfunc_common.h13 struct cgroup __kptr * cgrp;
23 struct cgroup *bpf_cgroup_acquire(struct cgroup *p) __ksym;
24 void bpf_cgroup_release(struct cgroup *p) __ksym;
25 struct cgroup *bpf_cgroup_ancestor(struct cgroup *cgrp, int level) __ksym;
26 struct cgroup *bpf_cgroup_from_id(u64 cgid) __ksym;
30 static inline struct __cgrps_kfunc_map_value *cgrps_kfunc_map_value_lookup(struct cgroup *cgrp) in cgrps_kfunc_map_value_lookup()
42 static inline int cgrps_kfunc_map_insert(struct cgroup *cgrp) in cgrps_kfunc_map_insert()
46 struct cgroup *acquire in cgrps_kfunc_map_insert()
[all...]
H A Dcgrp_kfunc_success.c17 * TP_PROTO(struct cgroup *cgrp, const char *path),
33 int BPF_PROG(test_cgrp_acquire_release_argument, struct cgroup *cgrp, const char *path) in BPF_PROG()
35 struct cgroup *acquired; in BPF_PROG()
50 int BPF_PROG(test_cgrp_acquire_leave_in_map, struct cgroup *cgrp, const char *path) in BPF_PROG()
65 int BPF_PROG(test_cgrp_xchg_release, struct cgroup *cgrp, const char *path) in BPF_PROG()
67 struct cgroup *kptr, *cg; in BPF_PROG()
108 int BPF_PROG(test_cgrp_get_release, struct cgroup *cgrp, const char *path) in BPF_PROG()
110 struct cgroup *kptr; in BPF_PROG()
139 int BPF_PROG(test_cgrp_get_ancestors, struct cgroup *cgrp, const char *path) in BPF_PROG()
141 struct cgroup *sel in BPF_PROG()
[all...]
/kernel/linux/linux-5.10/include/linux/
H A Dcgroup.h5 * cgroup interface
28 #include <linux/cgroup-defs.h>
101 struct cgroup_subsys_state *cgroup_e_css(struct cgroup *cgroup,
103 struct cgroup_subsys_state *cgroup_get_e_css(struct cgroup *cgroup,
108 struct cgroup *cgroup_get_from_path(const char *path);
109 struct cgroup *cgroup_get_from_fd(int fd);
112 int cgroup_transfer_tasks(struct cgroup *to, struct cgroup *fro
[all...]
/kernel/linux/linux-6.6/include/linux/
H A Dcgroup.h5 * cgroup interface
28 #include <linux/cgroup-defs.h>
101 struct cgroup_subsys_state *cgroup_e_css(struct cgroup *cgroup,
103 struct cgroup_subsys_state *cgroup_get_e_css(struct cgroup *cgroup,
108 struct cgroup *cgroup_get_from_path(const char *path);
109 struct cgroup *cgroup_get_from_fd(int fd);
110 struct cgroup *cgroup_v1v2_get_from_fd(int fd);
113 int cgroup_transfer_tasks(struct cgroup *t
[all...]
/kernel/linux/linux-6.6/tools/perf/util/
H A Dcgroup.c4 #include "cgroup.h"
23 /* used to match cgroup name with patterns */
45 fprintf(stderr, "no access to cgroup %s\n", path); in open_cgroup()
51 int read_cgroup_id(struct cgroup *cgrp) in read_cgroup_id()
93 static struct cgroup *evlist__find_cgroup(struct evlist *evlist, const char *str) in evlist__find_cgroup()
109 static struct cgroup *cgroup__new(const char *name, bool do_open) in cgroup__new()
111 struct cgroup *cgroup = zalloc(sizeof(*cgroup)); in cgroup__new() local
113 if (cgroup ! in cgroup__new()
140 struct cgroup *cgroup = evlist__find_cgroup(evlist, name); evlist__findnew_cgroup() local
171 cgroup__delete(struct cgroup *cgroup) cgroup__delete() argument
186 cgroup__get(struct cgroup *cgroup) cgroup__get() argument
193 evsel__set_default_cgroup(struct evsel *evsel, struct cgroup *cgroup) evsel__set_default_cgroup() argument
199 evlist__set_default_cgroup(struct evlist *evlist, struct cgroup *cgroup) evlist__set_default_cgroup() argument
[all...]
H A Dcgroup.h12 struct cgroup { struct
23 struct cgroup *cgroup__get(struct cgroup *cgroup);
24 void cgroup__put(struct cgroup *cgroup);
29 struct cgroup *evlist__findnew_cgroup(struct evlist *evlist, const char *name);
33 void evlist__set_default_cgroup(struct evlist *evlist, struct cgroup *cgroup);
37 struct cgroup *cgroup__findne
[all...]
/kernel/linux/linux-5.10/include/trace/events/
H A Dcgroup.h3 #define TRACE_SYSTEM cgroup
8 #include <linux/cgroup.h>
54 DECLARE_EVENT_CLASS(cgroup,
56 TP_PROTO(struct cgroup *cgrp, const char *path),
78 DEFINE_EVENT(cgroup, cgroup_mkdir,
80 TP_PROTO(struct cgroup *cgrp, const char *path),
85 DEFINE_EVENT(cgroup, cgroup_rmdir,
87 TP_PROTO(struct cgroup *cgrp, const char *path),
92 DEFINE_EVENT(cgroup, cgroup_release,
94 TP_PROTO(struct cgroup *cgr
[all...]
/kernel/linux/linux-6.6/include/trace/events/
H A Dcgroup.h3 #define TRACE_SYSTEM cgroup
8 #include <linux/cgroup.h>
54 DECLARE_EVENT_CLASS(cgroup,
56 TP_PROTO(struct cgroup *cgrp, const char *path),
78 DEFINE_EVENT(cgroup, cgroup_mkdir,
80 TP_PROTO(struct cgroup *cgrp, const char *path),
85 DEFINE_EVENT(cgroup, cgroup_rmdir,
87 TP_PROTO(struct cgroup *cgrp, const char *path),
92 DEFINE_EVENT(cgroup, cgroup_release,
94 TP_PROTO(struct cgroup *cgr
[all...]
/kernel/linux/linux-5.10/kernel/cgroup/
H A Dcgroup-internal.h5 #include <linux/cgroup.h>
44 * The cgroup filesystem superblock creation/mount context.
88 * A cgroup can be associated with multiple css_sets as different tasks may
96 /* the cgroup and css_set this link associates */
97 struct cgroup *cgrp;
178 * for_each_subsys - iterate all enabled cgroup subsystems
186 static inline bool cgroup_is_dead(const struct cgroup *cgrp) in cgroup_is_dead()
191 static inline bool notify_on_release(const struct cgroup *cgrp) in notify_on_release()
224 bool cgroup_on_dfl(const struct cgroup *cgrp);
225 bool cgroup_is_thread_root(struct cgroup *cgr
[all...]
H A Drstat.c2 #include "cgroup-internal.h"
9 static void cgroup_base_stat_flush(struct cgroup *cgrp, int cpu);
11 static struct cgroup_rstat_cpu *cgroup_rstat_cpu(struct cgroup *cgrp, int cpu) in cgroup_rstat_cpu()
18 * @cgrp: target cgroup
25 void cgroup_rstat_updated(struct cgroup *cgrp, int cpu) in cgroup_rstat_updated()
28 struct cgroup *parent; in cgroup_rstat_updated()
55 * Both additions and removals are bottom-up. If a cgroup in cgroup_rstat_updated()
76 * each returned cgroup is unlinked from the tree. Must be called with the
83 static struct cgroup *cgroup_rstat_cpu_pop_updated(struct cgroup *po
[all...]
/kernel/linux/linux-6.6/kernel/cgroup/
H A Dcgroup-internal.h5 #include <linux/cgroup.h>
43 * The cgroup filesystem superblock creation/mount context.
87 * A cgroup can be associated with multiple css_sets as different tasks may
95 /* the cgroup and css_set this link associates */
96 struct cgroup *cgrp;
176 * for_each_subsys - iterate all enabled cgroup subsystems
184 static inline bool cgroup_is_dead(const struct cgroup *cgrp) in cgroup_is_dead()
189 static inline bool notify_on_release(const struct cgroup *cgrp) in notify_on_release()
222 bool cgroup_on_dfl(const struct cgroup *cgrp);
225 struct cgroup *task_cgroup_from_roo
[all...]
H A Dcgroup.c31 #include "cgroup-internal.h"
33 #include <linux/bpf-cgroup.h>
65 #include <trace/events/cgroup.h>
81 * cgroup_mutex is the master lock. Any modification to cgroup or its
88 * cgroup.h can use them for lockdep annotations.
122 * cgroup destruction makes heavy use of work items and there can be a lot
123 * of concurrent destructions. Use a separate workqueue so that cgroup
129 /* generate an array of cgroup subsystem pointers */
136 /* array of cgroup subsystem names */
210 /* cgroup namespac
3625 struct cgroup *cgroup = seq_css(seq)->cgroup; cgroup_stat_show() local
5689 struct cgroup *cgroup; cgroup_check_hierarchy_limits() local
6940 struct cgroup *cgroup; cgroup_sk_alloc() local
[all...]
/kernel/linux/linux-6.6/tools/perf/tests/shell/
H A Dstat_bpf_counters_cgrp.sh2 # perf stat --bpf-counters --for-each-cgroup test
12 # skip if --bpf-counters --for-each-cgroup is not supported
15 if ! perf stat -a --bpf-counters --for-each-cgroup / true > /dev/null 2>&1; then
17 echo "Skipping: --bpf-counters --for-each-cgroup not supported"
18 perf --no-pager stat -a --bpf-counters --for-each-cgroup / true || true
28 if [ -d /sys/fs/cgroup/system.slice ] && [ -d /sys/fs/cgroup/user.slice ]; then
34 find_cgroups_self_cgrp=$(grep perf_event /proc/self/cgroup | cut -d: -f3)
36 # cgroup v2 doesn't specify perf_event
37 find_cgroups_self_cgrp=$(grep ^0: /proc/self/cgroup | cu
[all...]

Completed in 14 milliseconds

12345678910>>...14