From 923a0fb332f8ee49b063df07129b2686f78ec9c3 Mon Sep 17 00:00:00 2001 From: Arnaldo Carvalho de Melo Date: Tue, 6 Mar 2018 10:33:04 -0300 Subject: [PATCH] perf cgroup: Introduce cgroup__new() out of open coded equivalent To follow the namespacing convention in tools/perf. Cc: Adrian Hunter Cc: David Ahern Cc: Jiri Olsa Cc: Namhyung Kim Cc: Stephane Eranian Cc: Wang Nan Link: https://lkml.kernel.org/n/tip-jaalyl6bkvvji4r5u8wqw4n4@git.kernel.org Signed-off-by: Arnaldo Carvalho de Melo --- 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; - } } /* -- GitLab