All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arnaldo Carvalho de Melo <acme@kernel.org>
To: Ingo Molnar <mingo@kernel.org>
Cc: linux-kernel@vger.kernel.org,
	Adrian Hunter <adrian.hunter@intel.com>,
	Jiri Olsa <jolsa@redhat.com>,
	Arnaldo Carvalho de Melo <acme@redhat.com>
Subject: [PATCH 3/9] perf tools: Fix Intel PT timestamp handling
Date: Fri, 21 Aug 2015 13:10:47 -0300	[thread overview]
Message-ID: <1440173453-24475-4-git-send-email-acme@kernel.org> (raw)
In-Reply-To: <1440173453-24475-1-git-send-email-acme@kernel.org>

From: Adrian Hunter <adrian.hunter@intel.com>

Events that don't sample the timestamp have a timestamp value of -1.

Intel PT processing wasn't taking that into account.

This is particularly noticeable with Intel BTS because timestamps are
not requested by default.

Then, if the conversion of -1 to TSC results in a small number, the
processing is unaffected.

However if the conversion results in a big number, then the data is
processed prematurely before relevant sideband data like mmap events,
which in turn results in samples with unknown dsos.

Commiter note:

Since BTS wasn't upstream, I split the patch to fold the BTS part with
the patch introducing it, to avoid having this bug in the commit
history. PT was already upstream, so this patch contains that part.

Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Link: http://lkml.kernel.org/r/1440060692-5585-1-git-send-email-adrian.hunter@intel.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
 tools/perf/util/intel-pt.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/perf/util/intel-pt.c b/tools/perf/util/intel-pt.c
index 2a4a4120473b..a5acd2fe2447 100644
--- a/tools/perf/util/intel-pt.c
+++ b/tools/perf/util/intel-pt.c
@@ -1450,7 +1450,7 @@ static int intel_pt_process_event(struct perf_session *session,
 		return -EINVAL;
 	}
 
-	if (sample->time)
+	if (sample->time && sample->time != (u64)-1)
 		timestamp = perf_time_to_tsc(sample->time, &pt->tc);
 	else
 		timestamp = 0;
-- 
2.1.0


  parent reply	other threads:[~2015-08-21 16:11 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-21 16:10 [GIT PULL 0/9] perf/core improvements and fixes Arnaldo Carvalho de Melo
2015-08-21 16:10 ` [PATCH 1/9] perf script: Fix segfault using --show-mmap-events Arnaldo Carvalho de Melo
2015-08-21 16:10 ` [PATCH 2/9] perf tools: /proc/kcore requires CAP_SYS_RAWIO message too noisy Arnaldo Carvalho de Melo
2015-08-21 16:10 ` Arnaldo Carvalho de Melo [this message]
2015-08-21 16:10 ` [PATCH 4/9] tools lib traceevent: Add checks for returned EVENT_ERROR type Arnaldo Carvalho de Melo
2015-08-21 16:10 ` [PATCH 5/9] perf tools: Add Intel BTS support Arnaldo Carvalho de Melo
2015-08-21 16:10 ` [PATCH 6/9] perf tools: Put itrace options into an asciidoc include Arnaldo Carvalho de Melo
2015-08-21 16:10 ` [PATCH 7/9] perf tools: Add example call-graph script Arnaldo Carvalho de Melo
2015-08-21 16:10 ` [PATCH 8/9] perf tools: Initialize reference counts in map__clone() Arnaldo Carvalho de Melo
2015-08-21 16:10 ` [PATCH 9/9] perf probe: Try to use symbol table if searching debug info failed Arnaldo Carvalho de Melo
2015-08-22  6:47 ` [GIT PULL 0/9] perf/core improvements and fixes Ingo Molnar

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1440173453-24475-4-git-send-email-acme@kernel.org \
    --to=acme@kernel.org \
    --cc=acme@redhat.com \
    --cc=adrian.hunter@intel.com \
    --cc=jolsa@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.