]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/commitdiff
perf intel-pt: Use FUP always when scanning for an IP
authorAdrian Hunter <adrian.hunter@intel.com>
Fri, 26 May 2017 08:17:08 +0000 (11:17 +0300)
committerThadeu Lima de Souza Cascardo <cascardo@canonical.com>
Tue, 22 Aug 2017 09:58:00 +0000 (06:58 -0300)
BugLink: http://bugs.launchpad.net/bugs/1710646
commit 622b7a47b843c78626f40c1d1aeef8483383fba2 upstream.

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>
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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c

index cc33ec09ba539af65a60cfcc6e6c2efd1af523cb..740c5c1b3558e6e417dc6a632f8175d69d9c97e0 100644 (file)
@@ -1848,14 +1848,10 @@ static int intel_pt_walk_to_ip(struct intel_pt_decoder *decoder)
                        break;
 
                case INTEL_PT_FUP:
-                       if (decoder->overflow) {
-                               if (intel_pt_have_ip(decoder))
-                                       intel_pt_set_ip(decoder);
-                               if (decoder->ip)
-                                       return 0;
-                       }
-                       if (decoder->packet.count && decoder->have_last_ip)
-                               intel_pt_set_last_ip(decoder);
+                       if (intel_pt_have_ip(decoder))
+                               intel_pt_set_ip(decoder);
+                       if (decoder->ip)
+                               return 0;
                        break;
 
                case INTEL_PT_MTC: