Commit-ID: 923a0fb332f8ee49b063df07129b2686f78ec9c3 Gitweb: https://git.kernel.org/tip/923a0fb332f8ee49b063df07129b2686f78ec9c3 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> AuthorDate: Tue, 6 Mar 2018 10:33:04 -0300 Committer: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> CommitDate: Wed, 7 Mar 2018 10:22:25 -0300 perf cgroup: Introduce cgroup__new() out of open coded equivalent To follow the namespacing convention in tools/perf. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: https://lkml.kernel.org/n/tip-jaalyl6bkvvji4r5u8wqw4n4@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> --- tools/perf/util/cgroup.c | 30 ++++++++++++++++++++---------- 1 file 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; - } } /* -- To unsubscribe from this list: send the line "unsubscribe linux-tip-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html
![]() |