Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp529242yba; Mon, 1 Apr 2019 11:08:32 -0700 (PDT) X-Google-Smtp-Source: APXvYqze4ygBZZ7VYcNva8ek0TetB6ZLMdl2YZvLX8isYSDY5nQtnMbdDhmEefgJQqUnJBL6aDlb X-Received: by 2002:a63:618d:: with SMTP id v135mr62301522pgb.2.1554142112591; Mon, 01 Apr 2019 11:08:32 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1554142112; cv=none; d=google.com; s=arc-20160816; b=Nt5NlspzIYTJHNeyb6K+j2GvaQQc8o8sXEiW0TKenx6S5knZLhW16Rh3RaxMWkm1Ql cBhDle6Ki6HzAnvL5eFe50rHy9GPOYJydPFJ7abrfrAO5VihVp84pc7v5UhbpxohVWu0 WPPGoXh4RSRyi+TbSLQk96EPMMORSFGUwBY1Q9s7uGe9fZXWMpnhumlPo7emuBGDjPFB yzZLKcIt/cc9s5VwEBRjVFymm3cHvusb6liSmb9r+c2JC6BN/jJY7msqpE03SNbKgeIv 94nPq7QyYrwHKAL3wh6BlfaPMt8eYR6dr5MERfA4jXRk1YI6pxBTiT7qVQA59bAZg+rR xluw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=v9uZyoXmpGH6Slr7fAewPq9g5v97Ae0Ayh/x5cweCk8=; b=JwEIGd1ucRLmAYuoIrRrY0pCVr7sXmtPAEhZPv6JTqM9TNXDnBZLZPlX4iHssgufhl EZx1CFfoHiwSMHKXP+7HmnyBzruKUm/HCfQzyhsAXZnU+BQ+ZYm84XsuEGycz2jFGscC rq6IsNvfYJxAPMXR7v3Mejon0P9doH0QvyR9qRK04Fo+o8FxTMngkVUfPE9zPEX9LzRo kXcy7qUNnjc7crI6WTBiG6FzzlaBO+5ETyFFrBQgrI2HSw2cxMx/Rm+CGzuv33scHiNZ T3+JC5hk1qy+Vx25zw8HE6p8BD67mmZIau3zJL4+ZhV58PbNvpbuq8dNemqBpFpkiteY Dahw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=iHh0zUjd; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id b23si2631485pls.430.2019.04.01.11.08.17; Mon, 01 Apr 2019 11:08:32 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=iHh0zUjd; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729898AbfDASHn (ORCPT + 99 others); Mon, 1 Apr 2019 14:07:43 -0400 Received: from mail.kernel.org ([198.145.29.99]:59426 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730097AbfDARLH (ORCPT ); Mon, 1 Apr 2019 13:11:07 -0400 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 2B33521929; Mon, 1 Apr 2019 17:11:06 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1554138666; bh=Je2sMY183ZLWxTvcT5/8I49S8pDPBARHkin3rTirWm4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=iHh0zUjd7SwIQGr2/UiNmBiwILp84/Lh9BsVYZiLB9J8E5bKt7DwQ+gJXx3ylGxUr fECCaHu0/o+Gy5hiH+84TkgcQb1n8BdLmNbQSApFpJc0vQQGI1g3Zxee/XzG7fIC+k 56fY/E9JSj1CpwNzG2yjUB4rOYXcGuV2mCfkVCMY= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Adrian Hunter , Jiri Olsa , Arnaldo Carvalho de Melo Subject: [PATCH 5.0 134/146] perf intel-pt: Fix TSC slip Date: Mon, 1 Apr 2019 19:02:26 +0200 Message-Id: <20190401170059.481064979@linuxfoundation.org> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190401170048.449559024@linuxfoundation.org> References: <20190401170048.449559024@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review X-Patchwork-Hint: ignore MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 5.0-stable review patch. If anyone has any objections, please let me know. ------------------ From: Adrian Hunter commit f3b4e06b3bda759afd042d3d5fa86bea8f1fe278 upstream. A TSC packet can slip past MTC packets so that the timestamp appears to go backwards. One estimate is that can be up to about 40 CPU cycles, which is certainly less than 0x1000 TSC ticks, but accept slippage an order of magnitude more to be on the safe side. Signed-off-by: Adrian Hunter Cc: Jiri Olsa Cc: stable@vger.kernel.org Fixes: 79b58424b821c ("perf tools: Add Intel PT support for decoding MTC packets") Link: http://lkml.kernel.org/r/20190325135135.18348-1-adrian.hunter@intel.com Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: Greg Kroah-Hartman --- tools/perf/util/intel-pt-decoder/intel-pt-decoder.c | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) --- a/tools/perf/util/intel-pt-decoder/intel-pt-decoder.c +++ b/tools/perf/util/intel-pt-decoder/intel-pt-decoder.c @@ -251,19 +251,15 @@ struct intel_pt_decoder *intel_pt_decode if (!(decoder->tsc_ctc_ratio_n % decoder->tsc_ctc_ratio_d)) decoder->tsc_ctc_mult = decoder->tsc_ctc_ratio_n / decoder->tsc_ctc_ratio_d; - - /* - * Allow for timestamps appearing to backwards because a TSC - * packet has slipped past a MTC packet, so allow 2 MTC ticks - * or ... - */ - decoder->tsc_slip = multdiv(2 << decoder->mtc_shift, - decoder->tsc_ctc_ratio_n, - decoder->tsc_ctc_ratio_d); } - /* ... or 0x100 paranoia */ - if (decoder->tsc_slip < 0x100) - decoder->tsc_slip = 0x100; + + /* + * A TSC packet can slip past MTC packets so that the timestamp appears + * to go backwards. One estimate is that can be up to about 40 CPU + * cycles, which is certainly less than 0x1000 TSC ticks, but accept + * slippage an order of magnitude more to be on the safe side. + */ + decoder->tsc_slip = 0x10000; intel_pt_log("timestamp: mtc_shift %u\n", decoder->mtc_shift); intel_pt_log("timestamp: tsc_ctc_ratio_n %u\n", decoder->tsc_ctc_ratio_n);