Lines Matching refs:cgrp

51 int read_cgroup_id(struct cgroup *cgrp)
64 scnprintf(path, PATH_MAX, "%s/%s", mnt, cgrp->name);
70 cgrp->id = handle.cgroup_id;
97 * check if cgrp is already defined, if so we reuse it
100 if (!counter->cgrp)
102 if (!strcmp(counter->cgrp->name, str))
103 return cgroup__get(counter->cgrp);
148 struct cgroup *cgrp = evlist__findnew_cgroup(evlist, str);
151 if (!cgrp)
164 cgroup__put(cgrp);
167 counter->cgrp = cgrp;
179 void cgroup__put(struct cgroup *cgrp)
181 if (cgrp && refcount_dec_and_test(&cgrp->refcnt)) {
182 cgroup__delete(cgrp);
195 if (evsel->cgrp == NULL)
196 evsel->cgrp = cgroup__get(cgroup);
356 struct cgroup *cgrp = NULL;
392 cgrp = counter->cgrp;
394 counter->cgrp = cgrp;
395 refcount_inc(&cgrp->refcnt);
414 struct cgroup *cgrp = NULL;
460 cgrp = cgroup__new(name, open_cgroup);
461 if (cgrp == NULL)
470 cgroup__put(evsel->cgrp);
471 evsel->cgrp = cgroup__get(cgrp);
480 cgroup__put(cgrp);
484 if (metricgroup__copy_metric_events(tmp_list, cgrp,
516 struct cgroup *cgrp;
520 cgrp = rb_entry(parent, struct cgroup, node);
522 if (cgrp->id == id)
523 return cgrp;
525 if (cgrp->id < id)
534 cgrp = malloc(sizeof(*cgrp));
535 if (cgrp == NULL)
538 cgrp->name = strdup(path);
539 if (cgrp->name == NULL) {
540 free(cgrp);
544 cgrp->fd = -1;
545 cgrp->id = id;
546 refcount_set(&cgrp->refcnt, 1);
548 rb_link_node(&cgrp->node, parent, p);
549 rb_insert_color(&cgrp->node, root);
551 return cgrp;
557 struct cgroup *cgrp;
560 cgrp = __cgroup__findnew(&env->cgroups.tree, id, true, path);
562 return cgrp;
567 struct cgroup *cgrp;
570 cgrp = __cgroup__findnew(&env->cgroups.tree, id, false, NULL);
572 return cgrp;
578 struct cgroup *cgrp;
583 cgrp = rb_entry(node, struct cgroup, node);
586 cgroup__put(cgrp);