perf evlist: Pass the event_group info via perf_attr_details

So that we avoid dragging symbol.o into the python binding.

Cc: David Ahern <dsahern@gmail.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Namhyung Kim <namhyung@gmail.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lkml.kernel.org/n/tip-izjubje7ltd1srji5wb0ygwi@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
Arnaldo Carvalho de Melo 2013-02-06 17:20:02 -03:00
parent 91b988048b
commit e35ef355ad
3 changed files with 4 additions and 3 deletions

View File

@ -39,7 +39,7 @@ int cmd_evlist(int argc, const char **argv, const char *prefix __maybe_unused)
OPT_BOOLEAN('F', "freq", &details.freq, "Show the sample frequency"), OPT_BOOLEAN('F', "freq", &details.freq, "Show the sample frequency"),
OPT_BOOLEAN('v', "verbose", &details.verbose, OPT_BOOLEAN('v', "verbose", &details.verbose,
"Show all event attr details"), "Show all event attr details"),
OPT_BOOLEAN('g', "group", &symbol_conf.event_group, OPT_BOOLEAN('g', "group", &details.event_group,
"Show event group information"), "Show event group information"),
OPT_END() OPT_END()
}; };
@ -52,7 +52,7 @@ int cmd_evlist(int argc, const char **argv, const char *prefix __maybe_unused)
if (argc) if (argc)
usage_with_options(evlist_usage, options); usage_with_options(evlist_usage, options);
if (symbol_conf.event_group && (details.verbose || details.freq)) { if (details.event_group && (details.verbose || details.freq)) {
pr_err("--group option is not compatible with other options\n"); pr_err("--group option is not compatible with other options\n");
usage_with_options(evlist_usage, options); usage_with_options(evlist_usage, options);
} }

View File

@ -1391,7 +1391,7 @@ int perf_evsel__fprintf(struct perf_evsel *evsel,
bool first = true; bool first = true;
int printed = 0; int printed = 0;
if (symbol_conf.event_group) { if (details->event_group) {
struct perf_evsel *pos; struct perf_evsel *pos;
if (!perf_evsel__is_group_leader(evsel)) if (!perf_evsel__is_group_leader(evsel))

View File

@ -254,6 +254,7 @@ static inline bool perf_evsel__is_group_leader(const struct perf_evsel *evsel)
struct perf_attr_details { struct perf_attr_details {
bool freq; bool freq;
bool verbose; bool verbose;
bool event_group;
}; };
int perf_evsel__fprintf(struct perf_evsel *evsel, int perf_evsel__fprintf(struct perf_evsel *evsel,