From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753314AbbHVGwr (ORCPT ); Sat, 22 Aug 2015 02:52:47 -0400 Received: from terminus.zytor.com ([198.137.202.10]:60090 "EHLO terminus.zytor.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753271AbbHVGwo (ORCPT ); Sat, 22 Aug 2015 02:52:44 -0400 Date: Fri, 21 Aug 2015 23:52:19 -0700 From: tip-bot for Adrian Hunter Message-ID: Cc: tglx@linutronix.de, jolsa@redhat.com, mingo@kernel.org, linux-kernel@vger.kernel.org, acme@redhat.com, hpa@zytor.com, adrian.hunter@intel.com Reply-To: linux-kernel@vger.kernel.org, acme@redhat.com, hpa@zytor.com, adrian.hunter@intel.com, mingo@kernel.org, tglx@linutronix.de, jolsa@redhat.com In-Reply-To: <1440060692-5585-1-git-send-email-adrian.hunter@intel.com> References: <1440060692-5585-1-git-send-email-adrian.hunter@intel.com> To: linux-tip-commits@vger.kernel.org Subject: [tip:perf/core] perf tools: Fix Intel PT timestamp handling Git-Commit-ID: 81cd60cc29a9c3e92ad6ca167a4764b2c2d2fc04 X-Mailer: tip-git-log-daemon Robot-ID: Robot-Unsubscribe: Contact to get blacklisted from these emails MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset=UTF-8 Content-Disposition: inline Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Commit-ID: 81cd60cc29a9c3e92ad6ca167a4764b2c2d2fc04 Gitweb: http://git.kernel.org/tip/81cd60cc29a9c3e92ad6ca167a4764b2c2d2fc04 Author: Adrian Hunter AuthorDate: Thu, 20 Aug 2015 11:51:32 +0300 Committer: Arnaldo Carvalho de Melo CommitDate: Fri, 21 Aug 2015 10:29:23 -0300 perf tools: Fix Intel PT timestamp handling 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 Cc: Jiri Olsa Link: http://lkml.kernel.org/r/1440060692-5585-1-git-send-email-adrian.hunter@intel.com Signed-off-by: Arnaldo Carvalho de Melo --- 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 2a4a412..a5acd2f 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;