aboutsummaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorAdrian Hunter <adrian.hunter@intel.com>2017-05-26 04:17:08 -0400
committerArnaldo Carvalho de Melo <acme@redhat.com>2017-06-21 10:35:46 -0400
commit622b7a47b843c78626f40c1d1aeef8483383fba2 (patch)
tree29041c82a02606adb6fb4cb5934a0305a211f4f3 /tools
parentf952eaceb089b691eba7c4e13686e742a8f26bf5 (diff)
perf intel-pt: Use FUP always when scanning for an IP
The decoder will try to use branch packets to find an IP to start decoding or to recover from errors. Currently the FUP packet is used only in the case of an overflow, however there is no reason for that to be a special case. So just use FUP always when scanning for an IP. Signed-off-by: Adrian Hunter <adrian.hunter@intel.com> Cc: Andi Kleen <ak@linux.intel.com> Cc: stable@vger.kernel.org Link: http://lkml.kernel.org/r/1495786658-18063-8-git-send-email-adrian.hunter@intel.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools')
-rw-r--r--tools/perf/util/intel-pt-decoder/intel-pt-decoder.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/tools/perf/util/intel-pt-decoder/intel-pt-decoder.c b/tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
index 72b9dc8135a2..923c60efda26 100644
--- a/tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
+++ b/tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
@@ -1882,14 +1882,10 @@ static int intel_pt_walk_to_ip(struct intel_pt_decoder *decoder)
1882 break; 1882 break;
1883 1883
1884 case INTEL_PT_FUP: 1884 case INTEL_PT_FUP:
1885 if (decoder->overflow) { 1885 if (intel_pt_have_ip(decoder))
1886 if (intel_pt_have_ip(decoder)) 1886 intel_pt_set_ip(decoder);
1887 intel_pt_set_ip(decoder); 1887 if (decoder->ip)
1888 if (decoder->ip) 1888 return 0;
1889 return 0;
1890 }
1891 if (decoder->packet.count && decoder->have_last_ip)
1892 intel_pt_set_last_ip(decoder);
1893 break; 1889 break;
1894 1890
1895 case INTEL_PT_MTC: 1891 case INTEL_PT_MTC: