]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
perf intel-pt: Fix MTC timestamp calculation for large MTC periods
authorAdrian Hunter <adrian.hunter@intel.com>
Wed, 28 Sep 2016 11:41:36 +0000 (14:41 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 28 Oct 2016 07:45:20 +0000 (03:45 -0400)
commit171159e08f8f5055f8ad861a621d5535b72b3ef1
tree21b89218f6576105bff3d5a7ae84489cddc02060
parentdab15533be0cad71550c8276e2a0aba6b965b7a2
perf intel-pt: Fix MTC timestamp calculation for large MTC periods

commit 3bccbe20f6d188ce7b00326e776b745cfd35b10a upstream.

The MTC packet provides a 8-bit slice of CTC which is related to TSC by
the TMA packet, however the TMA packet only provides the lower 16 bits
of CTC.  If mtc_shift > 8 then some of the MTC bits are not in the CTC
provided by the TMA packet. Fix-up the last_mtc calculated from the TMA
packet by copying the missing bits from the current MTC assuming the
least difference between the two, and that the current MTC comes after
last_mtc.

Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Link: http://lkml.kernel.org/r/1475062896-22274-2-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>
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c