aboutsummaryrefslogtreecommitdiffstats
path: root/tools/perf/util/cgroup.c
diff options
context:
space:
mode:
authorArnaldo Carvalho de Melo <acme@redhat.com>2018-03-06 10:33:04 -0300
committerArnaldo Carvalho de Melo <acme@redhat.com>2018-03-07 10:22:25 -0300
commit923a0fb332f8ee49b063df07129b2686f78ec9c3 (patch)
tree00dfcf352073b5628bacfb9945755ad3cf061edb /tools/perf/util/cgroup.c
parentperf cgroup: Introduce find_cgroup() method (diff)
downloadlinux-dev-923a0fb332f8ee49b063df07129b2686f78ec9c3.tar.xz
linux-dev-923a0fb332f8ee49b063df07129b2686f78ec9c3.zip
perf cgroup: Introduce cgroup__new() out of open coded equivalent
To follow the namespacing convention in tools/perf. Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: David Ahern <dsahern@gmail.com> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Stephane Eranian <eranian@google.com> Cc: Wang Nan <wangnan0@huawei.com> Link: https://lkml.kernel.org/n/tip-jaalyl6bkvvji4r5u8wqw4n4@git.kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf/util/cgroup.c')
-rw-r--r--tools/perf/util/cgroup.c30
1 files changed, 20 insertions, 10 deletions
diff --git a/tools/perf/util/cgroup.c b/tools/perf/util/cgroup.c
index 84dfc34a6d0f..26a837037797 100644
--- a/tools/perf/util/cgroup.c
+++ b/tools/perf/util/cgroup.c
@@ -109,6 +109,25 @@ static struct cgroup *evlist__find_cgroup(struct perf_evlist *evlist, char *str)
return cgrp;
}
+static struct cgroup *cgroup__new(char *name)
+{
+ struct cgroup *cgroup = zalloc(sizeof(*cgroup));
+
+ if (cgroup != NULL) {
+ cgroup->name = name;
+ refcount_set(&cgroup->refcnt, 1);
+
+ cgroup->fd = open_cgroup(name);
+ if (cgroup->fd == -1)
+ goto out_err;
+ }
+
+ return cgroup;
+out_err:
+ free(cgroup);
+ return NULL;
+}
+
static int add_cgroup(struct perf_evlist *evlist, char *str)
{
struct perf_evsel *counter;
@@ -116,18 +135,9 @@ static int add_cgroup(struct perf_evlist *evlist, char *str)
int n;
if (!cgrp) {
- cgrp = zalloc(sizeof(*cgrp));
+ cgrp = cgroup__new(str);
if (!cgrp)
return -1;
-
- cgrp->name = str;
- refcount_set(&cgrp->refcnt, 1);
-
- cgrp->fd = open_cgroup(str);
- if (cgrp->fd == -1) {
- free(cgrp);
- return -1;
- }
}
/*