summaryrefslogtreecommitdiffstats
path: root/tools/perf
diff options
context:
space:
mode:
authorAdrian Hunter <adrian.hunter@intel.com>2021-12-13 17:45:43 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2021-12-17 10:14:41 +0100
commit3bb7fd4be8c47a4c562dfeac1ef62ad85c9e3149 (patch)
tree44048e4189476d5c2699b632cb54eac5ca149c0a /tools/perf
parent731ff78841384877c7b36f78c8aafd60ed70ad3a (diff)
downloadlinux-stable-3bb7fd4be8c47a4c562dfeac1ef62ad85c9e3149.tar.gz
linux-stable-3bb7fd4be8c47a4c562dfeac1ef62ad85c9e3149.tar.bz2
linux-stable-3bb7fd4be8c47a4c562dfeac1ef62ad85c9e3149.zip
perf intel-pt: Fix sync state when a PSB (synchronization) packet is found
commit ad106a26aef3a95ac7ca88d033b431661ba346ce upstream. When syncing, it may be that branch packet generation is not enabled at that point, in which case there will not immediately be a control-flow packet, so some packets before a control flow packet turns up, get ignored. However, the decoder is in sync as soon as a PSB is found, so the state should be set accordingly. Fixes: f4aa081949e7b6 ("perf tools: Add Intel PT decoder") Signed-off-by: Adrian Hunter <adrian.hunter@intel.com> Cc: Jiri Olsa <jolsa@redhat.com> Cc: stable@vger.kernel.org # v5.15+ Link: https://lore.kernel.org/r/20211210162303.2288710-3-adrian.hunter@intel.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> [Adrian: Backport to v5.10] Signed-off-by: Adrian Hunter <adrian.hunter@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'tools/perf')
-rw-r--r--tools/perf/util/intel-pt-decoder/intel-pt-decoder.c2
1 files changed, 1 insertions, 1 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 a49122002768..83e54333f03c 100644
--- a/tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
+++ b/tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
@@ -2733,7 +2733,7 @@ leap:
return err;
decoder->have_last_ip = true;
- decoder->pkt_state = INTEL_PT_STATE_NO_IP;
+ decoder->pkt_state = INTEL_PT_STATE_IN_SYNC;
err = intel_pt_walk_psb(decoder);
if (err)