perf cgroup: Introduce find_cgroup() method

To break down complexity in add_cgroup().

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-5yqshcf5hm837n7c86u7lhjf@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
Arnaldo Carvalho de Melo 2018-03-06 10:27:00 -03:00
parent fc9ffb9cf0
commit b80271f76a

View File

@ -90,11 +90,10 @@ static int open_cgroup(char *name)
return fd;
}
static int add_cgroup(struct perf_evlist *evlist, char *str)
static struct cgroup *evlist__find_cgroup(struct perf_evlist *evlist, char *str)
{
struct perf_evsel *counter;
struct cgroup *cgrp = NULL;
int n;
/*
* check if cgrp is already defined, if so we reuse it
*/
@ -107,6 +106,15 @@ static int add_cgroup(struct perf_evlist *evlist, char *str)
}
}
return cgrp;
}
static int add_cgroup(struct perf_evlist *evlist, char *str)
{
struct perf_evsel *counter;
struct cgroup *cgrp = evlist__find_cgroup(evlist, str);
int n;
if (!cgrp) {
cgrp = zalloc(sizeof(*cgrp));
if (!cgrp)