Re: [PATCH v1 0/3] Perf tool: Enable Arm arch timer counter and arm-spe's timestamp

From: Leo Yan
Date: Wed Jul 15 2020 - 21:17:43 EST


Hi Ian,

On Wed, Jul 15, 2020 at 09:31:14AM -0700, Ian Rogers wrote:
> On Tue, Jul 14, 2020 at 7:34 PM Leo Yan <leo.yan@xxxxxxxxxx> wrote:
> >
> > 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
>
> This looks good to me! Would it be possible to add a test on the
> functionality? It's possible to add a C test in
> tools/perf/arch/arm64/tests or something related to you perf script
> command line in tools/perf/tests/shell.

Yeah, will look into testing and it's good add two testing cases,
one is for arch timer testing in C, another is for SPE testing
with shell script.

Thanks for suggestions,
Leo