diff options
author | Arnaldo Carvalho de Melo <acme@redhat.com> | 2018-03-06 16:33:04 +0300 |
---|---|---|
committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2018-03-07 16:22:25 +0300 |
commit | 923a0fb332f8ee49b063df07129b2686f78ec9c3 (patch) | |
tree | 00dfcf352073b5628bacfb9945755ad3cf061edb /tools/perf/util/cgroup.c | |
parent | b80271f76ac5fe498f8fb701b2745dcd841627cc (diff) | |
download | linux-923a0fb332f8ee49b063df07129b2686f78ec9c3.tar.xz |
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.c | 30 |
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; - } } /* |