summaryrefslogtreecommitdiffstats
path: root/drivers/char
diff options
context:
space:
mode:
authorAdrian Hunter <adrian.hunter@intel.com>2019-05-10 15:41:42 +0300
committerArnaldo Carvalho de Melo <acme@redhat.com>2019-05-16 14:17:23 -0300
commit61b6e08dc8e3ea80b7485c9b3f875ddd45c8466b (patch)
treeb0ed27f4eb4d490c8f75d2cba25ecfa015b8447d /drivers/char
parent7ba8fa20e26eb3c0c04d747f7fd2223694eac4d5 (diff)
downloadlinux-61b6e08dc8e3ea80b7485c9b3f875ddd45c8466b.tar.bz2
perf intel-pt: Fix improved sample timestamp
The decoder uses its current timestamp in samples. Usually that is a timestamp that has already passed, but in some cases it is a timestamp for a branch that the decoder is walking towards, and consequently hasn't reached. The intel_pt_sample_time() function decides which is which, but was not handling TNT packets exactly correctly. In the case of TNT, the timestamp applies to the first branch, so the decoder must first walk to that branch. That means intel_pt_sample_time() should return true for TNT, and this patch makes that change. However, if the first branch is a non-taken branch (i.e. a 'N'), then intel_pt_sample_time() needs to return false for subsequent taken branches in the same TNT packet. To handle that, introduce a new state INTEL_PT_STATE_TNT_CONT to distinguish the cases. Note that commit 3f04d98e972b5 ("perf intel-pt: Improve sample timestamp") was also a stable fix and appears, for example, in v4.4 stable tree as commit a4ebb58fd124 ("perf intel-pt: Improve sample timestamp"). Signed-off-by: Adrian Hunter <adrian.hunter@intel.com> Cc: Jiri Olsa <jolsa@redhat.com> Cc: stable@vger.kernel.org # v4.4+ Fixes: 3f04d98e972b5 ("perf intel-pt: Improve sample timestamp") Link: http://lkml.kernel.org/r/20190510124143.27054-3-adrian.hunter@intel.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'drivers/char')
0 files changed, 0 insertions, 0 deletions