Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp490863yba; Mon, 1 Apr 2019 10:20:43 -0700 (PDT) X-Google-Smtp-Source: APXvYqxme8RmF4Oc3KnC39QeKrtRHV0/n7ToKQRbFLNY+7CGcYfKC30PB6FMmcmyBbD/wCh0/vgG X-Received: by 2002:a17:902:bb0d:: with SMTP id l13mr30153282pls.141.1554139243481; Mon, 01 Apr 2019 10:20:43 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1554139243; cv=none; d=google.com; s=arc-20160816; b=0dZ/L5B6V2kJz9VVi6kf3Nj8YxA4LWUC9tAFLkhLJtqpgNX/OUr21EQWy+Ni/iDET/ jyvULD3qbfjJ3eW0yJkh0Xg3MQ3+OqDMQJSu70W6bV+8S+cov60L89kZA/extM3YyCSS ytMq+FRAURbP0DWL5fo5eUIU0gSeRBEqY58/2YWgzlYPfnDCUmJYnldoH/ZOFQeqIsmX EwXwysXf9fFT8bnfKw7MqvJi51H7LGvVMD32vVZZtgcnH9kWvpNwbk8tbdml8JfPUjnx I8WVr+12bWxaewj7zATr+N7kR4QgMiYdqnnJ8FTQJLHoqKZDTuQDuMSDMXJBTCaH4Tie 47uA== 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=XRy5aoYi5FLnbo8goVQ0ufU0jMDKuOJZWra3/KXwJck=; b=pcHF5crKxt1BiSMGw7lrbOKR6qr6rF91ZhoWtAk4BpcDK7BfW5esTXGvOiaAzOTBW0 V1zdbbFVV4DFgqxLb/aYm+Y6Ux7OIIKtJ+9A7xNEa6rv5DY2uAKE5kI/wbAz5HfUZels 9Za+GxzxUQDVM51uU+TXxeSiG+zJzX595wB/ZJDfrz2Cyqnphyk7V2d00C/uXLGRMNqx gesW2pD9RMNxKhVnENYQvpNYTH+WcScxuYieugfHYOuppoTug6i9QldCF7XAOHPXvDYK 7c59e4cUTdLVEM6YMR8OAjfcmRojCb/eUK/1B1a+7ax1ZKWwzGVW1VW/iFTMrAEurAfT AYJQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=MYU2YLOm; 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 h14si9144811pgg.377.2019.04.01.10.20.27; Mon, 01 Apr 2019 10:20:43 -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=MYU2YLOm; 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 S1731572AbfDARTp (ORCPT + 99 others); Mon, 1 Apr 2019 13:19:45 -0400 Received: from mail.kernel.org ([198.145.29.99]:47716 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1731139AbfDARTm (ORCPT ); Mon, 1 Apr 2019 13:19:42 -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 5EF2521473; Mon, 1 Apr 2019 17:19:41 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1554139181; bh=NG9vAxxYKSU/x+s+QLEQdi1P2/5YUpvQgB2pALodnP0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=MYU2YLOmPMrj2jz9usZml0IlJKLrDLXnoowZoiRv0/5vAle2qUFJaw2dvEj8nvteu ctzhkS1by2Ch2S7+Zr3G90cy+l18CksH9ottfAI4nw3Rz5WKuu/DNLdOYLbdsKvTl5 bKu26jGG67zS00Y/1CYRPOh3LUuZyEE6yGYF3Vss= 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 4.19 116/134] perf intel-pt: Fix TSC slip Date: Mon, 1 Apr 2019 19:02:32 +0200 Message-Id: <20190401170055.136710059@linuxfoundation.org> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190401170044.243719205@linuxfoundation.org> References: <20190401170044.243719205@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 4.19-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);