Lines Matching defs:cgroup

4 #include "cgroup.h"
33 fprintf(stderr, "no access to cgroup %s\n", path);
38 static struct cgroup *evlist__find_cgroup(struct evlist *evlist, const char *str)
54 static struct cgroup *cgroup__new(const char *name, bool do_open)
56 struct cgroup *cgroup = zalloc(sizeof(*cgroup));
58 if (cgroup != NULL) {
59 refcount_set(&cgroup->refcnt, 1);
61 cgroup->name = strdup(name);
62 if (!cgroup->name)
66 cgroup->fd = open_cgroup(name);
67 if (cgroup->fd == -1)
70 cgroup->fd = -1;
74 return cgroup;
77 zfree(&cgroup->name);
79 free(cgroup);
83 struct cgroup *evlist__findnew_cgroup(struct evlist *evlist, const char *name)
85 struct cgroup *cgroup = evlist__find_cgroup(evlist, name);
87 return cgroup ?: cgroup__new(name, true);
93 struct cgroup *cgrp = evlist__findnew_cgroup(evlist, str);
100 * if add cgroup N, then need to find event N
116 static void cgroup__delete(struct cgroup *cgroup)
118 if (cgroup->fd >= 0)
119 close(cgroup->fd);
120 zfree(&cgroup->name);
121 free(cgroup);
124 void cgroup__put(struct cgroup *cgrp)
131 struct cgroup *cgroup__get(struct cgroup *cgroup)
133 if (cgroup)
134 refcount_inc(&cgroup->refcnt);
135 return cgroup;
138 static void evsel__set_default_cgroup(struct evsel *evsel, struct cgroup *cgroup)
141 evsel->cgrp = cgroup__get(cgroup);
144 void evlist__set_default_cgroup(struct evlist *evlist, struct cgroup *cgroup)
149 evsel__set_default_cgroup(evsel, cgroup);
157 struct cgroup *cgrp = NULL;
188 /* for the case one cgroup combine to multiple events */
210 struct cgroup *cgrp = NULL;
301 static struct cgroup *__cgroup__findnew(struct rb_root *root, uint64_t id,
306 struct cgroup *cgrp;
310 cgrp = rb_entry(parent, struct cgroup, node);
344 struct cgroup *cgroup__findnew(struct perf_env *env, uint64_t id,
347 struct cgroup *cgrp;
355 struct cgroup *cgroup__find(struct perf_env *env, uint64_t id)
357 struct cgroup *cgrp;
368 struct cgroup *cgrp;
373 cgrp = rb_entry(node, struct cgroup, node);