Lines Matching defs:cgroup

4 #include "cgroup.h"
23 /* used to match cgroup name with patterns */
45 fprintf(stderr, "no access to cgroup %s\n", path);
66 int read_cgroup_id(struct cgroup *cgrp)
101 static struct cgroup *evlist__find_cgroup(struct evlist *evlist, const char *str)
117 struct cgroup *cgroup__new(const char *name, bool do_open)
119 struct cgroup *cgroup = zalloc(sizeof(*cgroup));
121 if (cgroup != NULL) {
122 refcount_set(&cgroup->refcnt, 1);
124 cgroup->name = strdup(name);
125 if (!cgroup->name)
129 cgroup->fd = open_cgroup(name);
130 if (cgroup->fd == -1)
133 cgroup->fd = -1;
137 return cgroup;
140 zfree(&cgroup->name);
142 free(cgroup);
146 struct cgroup *evlist__findnew_cgroup(struct evlist *evlist, const char *name)
148 struct cgroup *cgroup = evlist__find_cgroup(evlist, name);
150 return cgroup ?: cgroup__new(name, true);
156 struct cgroup *cgrp = evlist__findnew_cgroup(evlist, str);
163 * if add cgroup N, then need to find event N
179 static void cgroup__delete(struct cgroup *cgroup)
181 if (cgroup->fd >= 0)
182 close(cgroup->fd);
183 zfree(&cgroup->name);
184 free(cgroup);
187 void cgroup__put(struct cgroup *cgrp)
194 struct cgroup *cgroup__get(struct cgroup *cgroup)
196 if (cgroup)
197 refcount_inc(&cgroup->refcnt);
198 return cgroup;
201 static void evsel__set_default_cgroup(struct evsel *evsel, struct cgroup *cgroup)
204 evsel->cgrp = cgroup__get(cgroup);
207 void evlist__set_default_cgroup(struct evlist *evlist, struct cgroup *cgroup)
212 evsel__set_default_cgroup(evsel, cgroup);
334 /* check cgroup name with the pattern */
346 /* first entry to root cgroup */
364 struct cgroup *cgrp = NULL;
395 /* for the case one cgroup combine to multiple events */
422 struct cgroup *cgrp = NULL;
469 /* the cgroup can go away in the meantime */
505 fprintf(stderr, "no cgroup matched: %s\n", str);
521 static struct cgroup *__cgroup__findnew(struct rb_root *root, uint64_t id,
526 struct cgroup *cgrp;
530 cgrp = rb_entry(parent, struct cgroup, node);
564 struct cgroup *cgroup__findnew(struct perf_env *env, uint64_t id,
567 struct cgroup *cgrp;
575 struct cgroup *__cgroup__find(struct rb_root *root, uint64_t id)
580 struct cgroup *cgroup__find(struct perf_env *env, uint64_t id)
582 struct cgroup *cgrp;
593 struct cgroup *cgrp;
598 cgrp = rb_entry(node, struct cgroup, node);