[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20200715023401.23988-1-leo.yan@linaro.org>
Date: Wed, 15 Jul 2020 10:33:58 +0800
From: Leo Yan <leo.yan@...aro.org>
To: Arnaldo Carvalho de Melo <acme@...nel.org>,
Mark Rutland <mark.rutland@....com>,
Peter Zijlstra <peterz@...radead.org>,
Ingo Molnar <mingo@...hat.com>,
Alexander Shishkin <alexander.shishkin@...ux.intel.com>,
Jiri Olsa <jolsa@...hat.com>,
Namhyung Kim <namhyung@...nel.org>,
Kemeng Shi <shikemeng@...wei.com>,
Nick Desaulniers <ndesaulniers@...gle.com>,
Ian Rogers <irogers@...gle.com>,
Mathieu Poirier <mathieu.poirier@...aro.org>,
Adrian Hunter <adrian.hunter@...el.com>,
Igor Lubashev <ilubashe@...mai.com>,
Andi Kleen <ak@...ux.intel.com>,
Jin Yao <yao.jin@...ux.intel.com>,
James Clark <james.clark@....com>, linux-kernel@...r.kernel.org
Cc: Leo Yan <leo.yan@...aro.org>
Subject: [PATCH v1 0/3] Perf tool: Enable Arm arch timer counter and arm-spe's timestamp
This patch set is to enable Arm arch timer counter and Arm SPE is the
first customer to use arch timer counter for its timestamp.
The patch 01 is to retrieve arch timer's parameters from mmaped page;
patch 02 provides APIs for the conversion between arch timer's counter
and time; patch 03 is to enable timestamp based on the new introduced
APIs for timestamp related calculation.
Note, this patch set is depend on the kernel changes for "arm64: perf:
Proper cap_user_time* support" [1].
This patch set has been rebased on mainline kernel with the latest
commit 11ba468877bb ("Linux 5.8-rc5") and also applied on top of patch
set [1]. After enabling the timestamp, the samples can show the
timestamp, and the timestamp is consistent with the kernel's timestamp
by checking the kernel log:
$ perf script -F,+time
dd 6799 [034] 25496.733475: 1 l1d-access: ffff87f37b88 _dl_start+0x288 (/usr/lib/aarch64-linux-gnu/ld-2.28.so)
dd 6799 [034] 25496.733475: 1 tlb-access: ffff87f37b88 _dl_start+0x288 (/usr/lib/aarch64-linux-gnu/ld-2.28.so)
dd 6799 [034] 25496.733479: 1 l1d-access: ffff87f37c74 _dl_start+0x374 (/usr/lib/aarch64-linux-gnu/ld-2.28.so)
dd 6799 [034] 25496.733479: 1 tlb-access: ffff87f37c74 _dl_start+0x374 (/usr/lib/aarch64-linux-gnu/ld-2.28.so)
dd 6799 [034] 25496.733485: 1 l1d-access: ffff87f49af4 __GI___tunables_init+0x3c (/usr/lib/aarch64-linux-gnu/ld-2.28.so)
dd 6799 [034] 25496.733485: 1 tlb-access: ffff87f49af4 __GI___tunables_init+0x3c (/usr/lib/aarch64-linux-gnu/ld-2.28.so)
[1] https://patchwork.kernel.org/project/linux-arm-kernel/list/?series=318401
Leo Yan (3):
perf tools: Support Arm arch timer counter
perf arm_arch_timer: Convert between counter and timestamp
perf arm-spe: Enable timestamp with arch timer counter
tools/perf/arch/arm64/util/Build | 1 +
tools/perf/arch/arm64/util/arch_timer.c | 50 +++++++++++++++++++++++++
tools/perf/arch/arm64/util/arm-spe.c | 17 +++++++++
tools/perf/util/Build | 1 +
tools/perf/util/arm-spe.c | 16 +++++++-
tools/perf/util/arm-spe.h | 5 +++
tools/perf/util/arm_arch_timer.c | 28 ++++++++++++++
tools/perf/util/arm_arch_timer.h | 23 ++++++++++++
8 files changed, 139 insertions(+), 2 deletions(-)
create mode 100644 tools/perf/arch/arm64/util/arch_timer.c
create mode 100644 tools/perf/util/arm_arch_timer.c
create mode 100644 tools/perf/util/arm_arch_timer.h
--
2.17.1
Powered by blists - more mailing lists