perf report: Adjust sample type validation for synthesized branch stacks
authorAdrian Hunter <adrian.hunter@intel.com>
Fri, 25 Sep 2015 13:15:40 +0000 (16:15 +0300)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Mon, 28 Sep 2015 19:54:21 +0000 (16:54 -0300)
perf report looks at event sample types to determine if branch stacks
have been sampled.  Adjust the validation to know about instruction
tracing options.

This change allows the use of the -b option which otherwise would
complain with an error like:

Error:
Selected -b but no branch data. Did you call perf record without -b?
# To display the perf.data header info,
# please use --header/--header-only options.
#

Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Link: http://lkml.kernel.org/r/1443186956-18718-10-git-send-email-adrian.hunter@intel.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/builtin-report.c

index 0d53b485a87bc973f0950624aa012a9af7862365..7af35af5a5e58a90775fd5b3e94e2664609436a1 100644 (file)
@@ -220,6 +220,9 @@ static int report__setup_sample_type(struct report *rep)
             !session->itrace_synth_opts->set))
                sample_type |= PERF_SAMPLE_CALLCHAIN;
 
+       if (session->itrace_synth_opts->last_branch)
+               sample_type |= PERF_SAMPLE_BRANCH_STACK;
+
        if (!is_pipe && !(sample_type & PERF_SAMPLE_CALLCHAIN)) {
                if (sort__has_parent) {
                        ui__error("Selected --sort parent, but no "