[PATCH 07/54] perf cgroup: Introduce cgroup__new() out of open coded equivalent

From: Arnaldo Carvalho de Melo
Date: Thu Mar 08 2018 - 14:51:09 EST


From: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>

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;
- }
}

/*
--
2.14.3