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

From: Song Liu
Date: Tue Jun 11 2019 - 03:23:22 EST




> On Jun 10, 2019, at 11:45 PM, Adrian Hunter <adrian.hunter@xxxxxxxxx> wrote:
>
> 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

Thanks for a better fix! I was using Arnaldo's perf/urgent branch, and missed
this one.

Song

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