Lines Matching refs:cgrp

42 	 * check if cgrp is already defined, if so we reuse it
45 if (!counter->cgrp)
47 if (!strcmp(counter->cgrp->name, str))
48 return cgroup__get(counter->cgrp);
93 struct cgroup *cgrp = evlist__findnew_cgroup(evlist, str);
96 if (!cgrp)
109 cgroup__put(cgrp);
112 counter->cgrp = cgrp;
124 void cgroup__put(struct cgroup *cgrp)
126 if (cgrp && refcount_dec_and_test(&cgrp->refcnt)) {
127 cgroup__delete(cgrp);
140 if (evsel->cgrp == NULL)
141 evsel->cgrp = cgroup__get(cgroup);
157 struct cgroup *cgrp = NULL;
193 cgrp = counter->cgrp;
195 counter->cgrp = cgrp;
196 refcount_inc(&cgrp->refcnt);
210 struct cgroup *cgrp = NULL;
248 cgrp = cgroup__new(name, open_cgroup);
250 if (cgrp == NULL)
253 cgrp = NULL;
262 cgroup__put(evsel->cgrp);
263 evsel->cgrp = cgroup__get(cgrp);
272 cgroup__put(cgrp);
277 if (metricgroup__copy_metric_events(tmp_list, cgrp,
306 struct cgroup *cgrp;
310 cgrp = rb_entry(parent, struct cgroup, node);
312 if (cgrp->id == id)
313 return cgrp;
315 if (cgrp->id < id)
324 cgrp = malloc(sizeof(*cgrp));
325 if (cgrp == NULL)
328 cgrp->name = strdup(path);
329 if (cgrp->name == NULL) {
330 free(cgrp);
334 cgrp->fd = -1;
335 cgrp->id = id;
336 refcount_set(&cgrp->refcnt, 1);
338 rb_link_node(&cgrp->node, parent, p);
339 rb_insert_color(&cgrp->node, root);
341 return cgrp;
347 struct cgroup *cgrp;
350 cgrp = __cgroup__findnew(&env->cgroups.tree, id, true, path);
352 return cgrp;
357 struct cgroup *cgrp;
360 cgrp = __cgroup__findnew(&env->cgroups.tree, id, false, NULL);
362 return cgrp;
368 struct cgroup *cgrp;
373 cgrp = rb_entry(node, struct cgroup, node);
376 cgroup__put(cgrp);