Re: [PATCH] perf script/intel-pt: set synth_opts.callchain for use_browser > 0

From: Adrian Hunter
Date: Tue Jun 11 2019 - 02:50:51 EST


On 11/06/19 2:42 AM, Song Liu wrote:
> Currently, intel_pt_process_auxtrace_info() sets synth_opts.callchain for
> use_browser != -1, which is not accurate after we set use_browser to 0 in
> cmd_script(). As a result, the following commands sees a lot more errors
> like:
>
> perf record -e intel_pt//u -C 10 -- sleep 3
> perf script
>
> ...
> instruction trace error type 1 time ...
> ...
>
> This patch fixes this by checking use_browser > 0 instead.
>
> Fixes: c1c9b9695cc8 ("perf script: Allow extended console debug output")
> Reported-by: David Carrillo Cisneros <davidca@xxxxxx>
> Cc: Milian Wolff <milian.wolff@xxxxxxxx>
> Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx>
> Signed-off-by: Song Liu <songliubraving@xxxxxx>
> ---
> tools/perf/util/intel-pt.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/tools/perf/util/intel-pt.c b/tools/perf/util/intel-pt.c
> index 6d288237887b..15692c104ca8 100644
> --- a/tools/perf/util/intel-pt.c
> +++ b/tools/perf/util/intel-pt.c
> @@ -2588,7 +2588,7 @@ int intel_pt_process_auxtrace_info(union perf_event *event,
> } else {
> itrace_synth_opts__set_default(&pt->synth_opts,
> session->itrace_synth_opts->default_no_sample);
> - if (use_browser != -1) {
> + if (use_browser > 0) {

That code has changed recently. Refer:

https://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git/commit/?h=perf/core&id=26f19c2eb7e54


> pt->synth_opts.branches = false;
> pt->synth_opts.callchain = true;
> }
>