]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commitdiff
perf intel-pt: Fix CYC timestamp calculation after OVF
authorAdrian Hunter <adrian.hunter@intel.com>
Wed, 6 Feb 2019 10:39:45 +0000 (12:39 +0200)
committerKleber Sacilotto de Souza <kleber.souza@canonical.com>
Wed, 14 Aug 2019 09:18:49 +0000 (11:18 +0200)
BugLink: https://bugs.launchpad.net/bugs/1837952
commit 03997612904866abe7cdcc992784ef65cb3a4b81 upstream.

CYC packet timestamp calculation depends upon CBR which was being
cleared upon overflow (OVF). That can cause errors due to failing to
synchronize with sideband events. Even if a CBR change has been lost,
the old CBR is still a better estimate than zero. So remove the clearing
of CBR.

Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: stable@vger.kernel.org
Link: http://lkml.kernel.org/r/20190206103947.15750-4-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: Kamal Mostafa <kamal@canonical.com>
Signed-off-by: Khalid Elmously <khalid.elmously@canonical.com>
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c

index 5fbf0b795cbabc7f8883fb7c02f35f80ca4e6e12..a103b9f21d39f6f5caf7e641baee294bb7747fd5 100644 (file)
@@ -1389,7 +1389,6 @@ static int intel_pt_overflow(struct intel_pt_decoder *decoder)
 {
        intel_pt_log("ERROR: Buffer overflow\n");
        intel_pt_clear_tx_flags(decoder);
-       decoder->cbr = 0;
        decoder->pkt_state = INTEL_PT_STATE_ERR_RESYNC;
        decoder->overflow = true;
        return -EOVERFLOW;