]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
perf evsel: Set leader evsel's ->leader to itself
authorNamhyung Kim <namhyung.kim@lge.com>
Thu, 29 Nov 2012 06:38:29 +0000 (15:38 +0900)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Sun, 9 Dec 2012 11:46:06 +0000 (08:46 -0300)
Currently only non-leader members are set ->leader to the leader evsel
of the group and the leader has set NULL.  Thus it requires special
casing for leader evsels.  Set ->leader to itself will remove this.

Suggested-by: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Acked-by: Jiri Olsa <jolsa@redhat.com>
Cc: Andi Kleen <andi@firstfloor.org>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lkml.kernel.org/r/1354171126-14387-3-git-send-email-namhyung@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/util/evlist.c
tools/perf/util/evsel.c
tools/perf/util/evsel.h

index 705293489e3c319c0b13ec3f5f32a3c1fd1fe5ed..90db2a14e4bb807d6587f8ee166ec6a474d41962 100644 (file)
@@ -111,7 +111,6 @@ void __perf_evlist__set_leader(struct list_head *list)
        struct perf_evsel *evsel, *leader;
 
        leader = list_entry(list->next, struct perf_evsel, node);
-       leader->leader = NULL;
 
        list_for_each_entry(evsel, list, node) {
                if (evsel != leader)
index 1b16dd1edc8eb2c6d632ec313e7380aac6c575c7..7e93418a45d1df5803a9559dc7a5b02d678c3609 100644 (file)
@@ -55,6 +55,7 @@ void perf_evsel__init(struct perf_evsel *evsel,
 {
        evsel->idx         = idx;
        evsel->attr        = *attr;
+       evsel->leader      = evsel;
        INIT_LIST_HEAD(&evsel->node);
        hists__init(&evsel->hists);
        evsel->sample_size = __perf_evsel__sample_size(attr->sample_type);
index 3d2b8017438c372f69458a2a39301c3bdf70425b..cbf6d97f064638a2836b34c7568b8659916b5132 100644 (file)
@@ -228,6 +228,6 @@ static inline struct perf_evsel *perf_evsel__next(struct perf_evsel *evsel)
 
 static inline bool perf_evsel__is_group_member(const struct perf_evsel *evsel)
 {
-       return evsel->leader != NULL;
+       return evsel->leader != evsel;
 }
 #endif /* __PERF_EVSEL_H */