Lines Matching refs:cgroup
93 static struct cgroup *evlist__find_cgroup(struct perf_evlist *evlist, const char *str) in evlist__find_cgroup()
109 static struct cgroup *cgroup__new(const char *name) in cgroup__new()
111 struct cgroup *cgroup = zalloc(sizeof(*cgroup)); in cgroup__new() local
113 if (cgroup != NULL) { in cgroup__new()
114 refcount_set(&cgroup->refcnt, 1); in cgroup__new()
116 cgroup->name = strdup(name); in cgroup__new()
117 if (!cgroup->name) in cgroup__new()
119 cgroup->fd = open_cgroup(name); in cgroup__new()
120 if (cgroup->fd == -1) in cgroup__new()
124 return cgroup; in cgroup__new()
127 free(cgroup->name); in cgroup__new()
129 free(cgroup); in cgroup__new()
133 struct cgroup *evlist__findnew_cgroup(struct perf_evlist *evlist, const char *name) in evlist__findnew_cgroup()
135 struct cgroup *cgroup = evlist__find_cgroup(evlist, name); in evlist__findnew_cgroup() local
137 return cgroup ?: cgroup__new(name); in evlist__findnew_cgroup()
143 struct cgroup *cgrp = evlist__findnew_cgroup(evlist, str); in add_cgroup()
166 static void cgroup__delete(struct cgroup *cgroup) in cgroup__delete() argument
168 close(cgroup->fd); in cgroup__delete()
169 zfree(&cgroup->name); in cgroup__delete()
170 free(cgroup); in cgroup__delete()
173 void cgroup__put(struct cgroup *cgrp) in cgroup__put()
180 struct cgroup *cgroup__get(struct cgroup *cgroup) in cgroup__get() argument
182 if (cgroup) in cgroup__get()
183 refcount_inc(&cgroup->refcnt); in cgroup__get()
184 return cgroup; in cgroup__get()
187 static void evsel__set_default_cgroup(struct perf_evsel *evsel, struct cgroup *cgroup) in evsel__set_default_cgroup() argument
190 evsel->cgrp = cgroup__get(cgroup); in evsel__set_default_cgroup()
193 void evlist__set_default_cgroup(struct perf_evlist *evlist, struct cgroup *cgroup) in evlist__set_default_cgroup() argument
198 evsel__set_default_cgroup(evsel, cgroup); in evlist__set_default_cgroup()
206 struct cgroup *cgrp = NULL; in parse_cgroups()