Messages in this thread Patch in this message | | | Subject | Re: [PATCH 03/18] perf tools: Keep group information | From | Namhyung Kim <> | Date | Thu, 29 Nov 2012 23:58:54 +0900 |
| |
2012-11-29 (목), 15:33 +0100, Jiri Olsa: > On Thu, Nov 29, 2012 at 03:38:31PM +0900, Namhyung Kim wrote: > > From: Namhyung Kim <namhyung.kim@lge.com> > > SNIP > > > --- a/tools/perf/util/evlist.h > > +++ b/tools/perf/util/evlist.h > > @@ -21,6 +21,7 @@ struct perf_evlist { > > struct list_head entries; > > struct hlist_head heads[PERF_EVLIST__HLIST_SIZE]; > > int nr_entries; > > + int nr_groups; > > int nr_fds; > > int nr_mmaps; > > int mmap_len; > > diff --git a/tools/perf/util/evsel.h b/tools/perf/util/evsel.h > > index 46c8004ca56b..887834ed0af1 100644 > > --- a/tools/perf/util/evsel.h > > +++ b/tools/perf/util/evsel.h > > @@ -73,6 +73,7 @@ struct perf_evsel { > > bool needs_swap; > > /* parse modifier helper */ > > int exclude_GH; > > + int nr_members; > > struct perf_evsel *leader; > > char *group_name; > > }; > > we could test both new fields in existing group tests > > > @@ -230,4 +231,9 @@ static inline bool perf_evsel__is_group_leader(const struct perf_evsel *evsel) > > { > > return evsel->leader == evsel; >
You mean adding 'evsel->nr_members > 1' to this function? For some reason, I'd like to treat non-group events as group leaders so I dropped that check from the function.
> SNIP > > > { > > struct list_head *list = $3; > > + struct parse_events_data__events *data = _data; > > + > > + /* Count groups only have more than 1 members */ > > + if (!list_is_last(list->next, list)) > > + data->nr_groups++; > > > > parse_events__set_leader($1, list); > > $$ = list; > > @@ -130,6 +135,11 @@ PE_NAME '{' events '}' > > '{' events '}' > > { > > struct list_head *list = $2; > > + struct parse_events_data__events *data = _data; > > + > > + /* Count groups only have more than 1 members */ > > + if (!list_is_last(list->next, list)) > > + data->nr_groups++; > > nitpick.. maybe add a function for above 3 lines? > > You could add static function right after ABORT_ON > macro definition.
No problem. Will do.
Thanks, Namhyung
-- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |