From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933023AbcCHKch (ORCPT ); Tue, 8 Mar 2016 05:32:37 -0500 Received: from torg.zytor.com ([198.137.202.12]:45062 "EHLO terminus.zytor.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S932173AbcCHKcN (ORCPT ); Tue, 8 Mar 2016 05:32:13 -0500 Date: Tue, 8 Mar 2016 02:31:37 -0800 From: tip-bot for Adrian Hunter Message-ID: Cc: eranian@google.com, jolsa@redhat.com, hpa@zytor.com, acme@redhat.com, linux-kernel@vger.kernel.org, namhyung@kernel.org, alexander.shishkin@linux.intel.com, adrian.hunter@intel.com, peterz@infradead.org, dsahern@gmail.com, tglx@linutronix.de, mingo@kernel.org Reply-To: jolsa@redhat.com, hpa@zytor.com, eranian@google.com, namhyung@kernel.org, alexander.shishkin@linux.intel.com, linux-kernel@vger.kernel.org, acme@redhat.com, adrian.hunter@intel.com, peterz@infradead.org, mingo@kernel.org, tglx@linutronix.de, dsahern@gmail.com In-Reply-To: <1457005856-6143-9-git-send-email-adrian.hunter@intel.com> References: <1457005856-6143-9-git-send-email-adrian.hunter@intel.com> To: linux-tip-commits@vger.kernel.org Subject: [tip:perf/core] perf tools: Use 64-bit shifts with (TSC) time conversion Git-Commit-ID: a23f96ee4d51ebd50b83ce0dbb5d04898fb8e3cb 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: a23f96ee4d51ebd50b83ce0dbb5d04898fb8e3cb Gitweb: http://git.kernel.org/tip/a23f96ee4d51ebd50b83ce0dbb5d04898fb8e3cb Author: Adrian Hunter AuthorDate: Mon, 7 Mar 2016 16:44:42 -0300 Committer: Ingo Molnar CommitDate: Tue, 8 Mar 2016 10:11:18 +0100 perf tools: Use 64-bit shifts with (TSC) time conversion Commit b9511cd761fa ("perf/x86: Fix time_shift in perf_event_mmap_page") altered the time conversion algorithms documented in the perf_event.h header file, to use 64-bit shifts. That was done to make the code more future-proof (i.e. some time in the future a 32-bit shift could be allowed). Reflect those changes in perf tools. Signed-off-by: Adrian Hunter Signed-off-by: Arnaldo Carvalho de Melo Cc: Alexander Shishkin Cc: David Ahern Cc: Jiri Olsa Cc: Namhyung Kim Cc: Peter Zijlstra Cc: Stephane Eranian Cc: Thomas Gleixner Link: http://lkml.kernel.org/r/1457005856-6143-9-git-send-email-adrian.hunter@intel.com Signed-off-by: Ingo Molnar --- tools/perf/arch/x86/tests/rdpmc.c | 2 +- tools/perf/util/tsc.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/perf/arch/x86/tests/rdpmc.c b/tools/perf/arch/x86/tests/rdpmc.c index 7945462..72193f1 100644 --- a/tools/perf/arch/x86/tests/rdpmc.c +++ b/tools/perf/arch/x86/tests/rdpmc.c @@ -59,7 +59,7 @@ static u64 mmap_read_self(void *addr) u64 quot, rem; quot = (cyc >> time_shift); - rem = cyc & ((1 << time_shift) - 1); + rem = cyc & (((u64)1 << time_shift) - 1); delta = time_offset + quot * time_mult + ((rem * time_mult) >> time_shift); diff --git a/tools/perf/util/tsc.c b/tools/perf/util/tsc.c index 4d4210d..1b74164 100644 --- a/tools/perf/util/tsc.c +++ b/tools/perf/util/tsc.c @@ -19,7 +19,7 @@ u64 tsc_to_perf_time(u64 cyc, struct perf_tsc_conversion *tc) u64 quot, rem; quot = cyc >> tc->time_shift; - rem = cyc & ((1 << tc->time_shift) - 1); + rem = cyc & (((u64)1 << tc->time_shift) - 1); return tc->time_zero + quot * tc->time_mult + ((rem * tc->time_mult) >> tc->time_shift); }