Patch "perf intel-pt: Ensure never to set 'last_ip' when packet 'count' is zero" has been added to the 4.9-stable tree
Subsystems (2)
This is a note to let you know that I've just added the patch titled
perf intel-pt: Ensure never to set 'last_ip' when packet 'count' is zero
to the 4.9-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
perf-intel-pt-ensure-never-to-set-last_ip-when-packet-count-is-zero.patch
and it can be found in the queue-4.9 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
f952eaceb089b691eba7c4e13686e742a8f26bf5Mon Sep 17 00:00:00 2001
From: Adrian Hunter <[email protected]>
Date: Fri, 26 May 2017 11:17:07 +0300
Subject: perf intel-pt: Ensure never to set 'last_ip' when packet 'count' is zero
From: Adrian Hunter <[email protected]>
commit f952eaceb089b691eba7c4e13686e742a8f26bf5 upstream.
Intel PT uses IP compression based on the last IP. For decoding purposes, 'last IP' is not updated when a branch target has been suppressed, which is indicated by IPBytes == 0. IPBytes is stored in the packet 'count', so ensure never to set 'last_ip' when packet 'count' is zero.
--- tools/perf/util/intel-pt-decoder/intel-pt-decoder.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-)
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c +5 -3
@@ -1468,7 +1468,8 @@ static int intel_pt_walk_psbend(struct icase INTEL_PT_FUP : decoder->pge = true; -intel_pt_set_last_ip (decoder); +if (decoder->packet.count) +intel_pt_set_last_ip (decoder);break ;case INTEL_PT_MODE_TSX :
@@ -1754,8 +1755,9 @@ next:static inline bool intel_pt_have_ip (struct intel_pt_decoder *decoder) { -return decoder->have_last_ip || decoder->packet.count ==0 || - decoder->packet.count ==3 || decoder->packet.count ==6 ; +return decoder->packet.count && + (decoder->have_last_ip || decoder->packet.count ==3 || + decoder->packet.count ==6 ); }/* Walk PSB+ packets to get in sync. */
Patches currently in stable-queue which might be from [email protected] are
queue-4.9/perf-intel-pt-ensure-ip-is-zero-when-state-is-intel_pt_state_no_ip.patch queue-4.9/perf-intel-pt-ensure-never-to-set-last_ip-when-packet-count-is-zero.patch queue-4.9/perf-intel-pt-use-fup-always-when-scanning-for-an-ip.patch queue-4.9/perf-intel-pt-fix-last_ip-usage.patch queue-4.9/perf-intel-pt-move-decoder-error-setting-into-one-condition.patch queue-4.9/perf-intel-pt-clear-fup-flag-on-error.patch queue-4.9/perf-intel-pt-improve-sample-timestamp.patch queue-4.9/perf-intel-pt-fix-missing-stack-clear.patch