Received: by 2002:a25:5b86:0:0:0:0:0 with SMTP id p128csp1544186ybb; Fri, 29 Mar 2019 06:39:34 -0700 (PDT) X-Google-Smtp-Source: APXvYqz27pf5l1Y3F1Wk2EpGWpt1j1zGZoaWCGxXrvR+vIKCnjixbr4cy3Of8skKdjW2XrVAcijF X-Received: by 2002:aa7:885a:: with SMTP id k26mr46749691pfo.70.1553866774582; Fri, 29 Mar 2019 06:39:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1553866774; cv=none; d=google.com; s=arc-20160816; b=ZMrG5AO9MX+ViEJGKZ46dcXCAZhCaRGjycIQ88LGvrXwhDpPv+yHFZqBc1m2SfAjdH lZ2WGXpraLm7WipPnb4f1KbhC8D7wBjxiyc6/HSwjVEkEzTY89rMR6vuU0MhgnftOQEl +aQAcXttni+wnAZPh7ag3hh7IbeWuAYeYy2b8gW7k2iPQ3SKn+Iy0ZlfPQtgS1LfrfyW xrcomSsY9/Aty/b05yJfwIMRNokBfz6V90xoTeb3et4UeORu1Kyr42W4rEcV+X7xXVr2 +0KNUkq1T4KGTCxkHJtnHDqbCCf5quJMPXnnloVNQtYW6RpBg+eFW8jLQ3AA9sf97nxT oJWQ== 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 :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=NR9DxOXjHR3k2TGXuM40dcQKAcWU1WzbDmRL4DQ83UA=; b=j4iCYaxqecfGDYj6//e+tAPkoTmhQL2fkpNfXW2OgKpMQ6uSXUKylI4vyEgpKzWpEE JFQBudYJIEu6DuA1ZevUHUNoMqQ0xTnym7UUAzRr54bbONajVGD4iaBfNGLIMuJSQxmf lf8BK/PdKXl+PkAvpZhPyUsOhF/7VxeQKAjkW4Uy62/zyvqyA8WnVHYIN+SmjAzVR0uA 3pGvlsPbjKInOkcTAu4m5m72Zj3nQ8Io5WEZ5M1QwaE2jMIpTbKo1JEOZwlDD7Y04r2X lhdAXBJXf5VQ35unRc0VqE1qp/Jl5wLbAZi+lKTP8t0WP2TFTJ1srQ/LVQ/zuWUPdppB 9eVw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=E2ZOxxT8; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id q6si1901422pls.105.2019.03.29.06.39.19; Fri, 29 Mar 2019 06:39:34 -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=E2ZOxxT8; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729749AbfC2NiU (ORCPT + 99 others); Fri, 29 Mar 2019 09:38:20 -0400 Received: from mail.kernel.org ([198.145.29.99]:33632 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729636AbfC2NiT (ORCPT ); Fri, 29 Mar 2019 09:38:19 -0400 Received: from quaco.ghostprotocols.net (unknown [190.15.121.82]) (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 855982184E; Fri, 29 Mar 2019 13:38:15 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1553866698; bh=83x8l1WFEWl9Iva/shfI0riQMRXWvBZlSu2zmrhS500=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=E2ZOxxT8JVzPaihthTN6Wg1PG6bLqlLNv2QYCjm9/BrSulUBlr7X4hLs16wdSq/qz XQ6tGubs3Luj4tC2b5RMdayrkMzPvANgSF5TOiID6kM4gFShxV2FPOgB6fOTRnRydl 7r4Orp07+XOD1fJYRxz2I+na7xWwoqRk+V5NpIt8= From: Arnaldo Carvalho de Melo To: Ingo Molnar , Thomas Gleixner Cc: Jiri Olsa , Namhyung Kim , Clark Williams , linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, Adrian Hunter , Jiri Olsa , stable@vger.kernel.org, Arnaldo Carvalho de Melo Subject: [PATCH 02/13] perf intel-pt: Fix TSC slip Date: Fri, 29 Mar 2019 10:37:50 -0300 Message-Id: <20190329133801.21004-3-acme@kernel.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190329133801.21004-1-acme@kernel.org> References: <20190329133801.21004-1-acme@kernel.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Adrian Hunter 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 --- .../util/intel-pt-decoder/intel-pt-decoder.c | 20 ++++++++----------- 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/tools/perf/util/intel-pt-decoder/intel-pt-decoder.c b/tools/perf/util/intel-pt-decoder/intel-pt-decoder.c index 6e03db142091..872fab163585 100644 --- 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_decoder_new(struct intel_pt_params *params) 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); -- 2.20.1