linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/4] Perf tool: Enable Arm arch timer counter and arm-spe's timestamp
@ 2020-08-07  7:16 Leo Yan
  2020-08-07  7:16 ` [PATCH v2 1/4] perf tools: Support Arm arch timer counter Leo Yan
                   ` (4 more replies)
  0 siblings, 5 replies; 16+ messages in thread
From: Leo Yan @ 2020-08-07  7:16 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo, Ian Rogers, Will Deacon, Mark Rutland,
	Peter Zijlstra, Ingo Molnar, Alexander Shishkin, Jiri Olsa,
	Namhyung Kim, Kemeng Shi, Naveen N. Rao, Adrian Hunter,
	Mathieu Poirier, Igor Lubashev, Andi Kleen, Jin Yao,
	Stephane Eranian, James Clark, linux-kernel
  Cc: Leo Yan

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.

Patches 01 ~ 03 enables Arm arch timer counter in Perf tool; 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
adds a test for patches 01 and 02.

As the first customer to use Arm arch timer counter in perf tool, patch
04 is to generate sample's timestamp for ARM SPE AUX trace data.

This patch set has been rebased on perf/core branch with the latest
commit c4735d990268 ("perf evsel: Don't set
sample_regs_intr/sample_regs_user for dummy event").

After changes:

  # perf test 67 -v
    67: Convert perf time to arch timer counter
    --- start ---
    test child forked, pid 5463
    mmap size 528384B
    1st event perf time 2231755083020 arch timer cnt 113097053477
    test time           2231755087460 arch timer cnt 113097053699
    2nd event perf time 2231755090680 arch timer cnt 113097053860
    test child finished with 0
    ---- end ----

  Reports the SPE sample with timestamp:

  $ 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)

Changes from v1:
* Rebased on the latest perf/core branch;
* Added a testing for Arm timer counter conversion (Ian Rogers).


Leo Yan (4):
  perf tools: Support Arm arch timer counter
  perf arm_arch_timer: Convert between counter and timestamp
  perf arm_arch_timer: Test conversion between counter and timestamp
  perf arm-spe: Enable timestamp with arch timer counter

 tools/perf/arch/arm64/include/arch-tests.h    |   6 +
 tools/perf/arch/arm64/tests/Build             |   1 +
 tools/perf/arch/arm64/tests/arch-tests.c      |   4 +
 .../tests/perf-time-to-arch-timer-counter.c   | 189 ++++++++++++++++++
 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 +++
 12 files changed, 339 insertions(+), 2 deletions(-)
 create mode 100644 tools/perf/arch/arm64/tests/perf-time-to-arch-timer-counter.c
 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


^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2020-08-21  9:36 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-08-07  7:16 [PATCH v2 0/4] Perf tool: Enable Arm arch timer counter and arm-spe's timestamp Leo Yan
2020-08-07  7:16 ` [PATCH v2 1/4] perf tools: Support Arm arch timer counter Leo Yan
2020-08-20  2:56   ` liwei (GF)
2020-08-21  9:36     ` Leo Yan
2020-08-07  7:16 ` [PATCH v2 2/4] perf arm_arch_timer: Convert between counter and timestamp Leo Yan
2020-08-20  3:05   ` liwei (GF)
2020-08-07  7:16 ` [PATCH v2 3/4] perf arm_arch_timer: Test conversion " Leo Yan
2020-08-07  7:16 ` [PATCH v2 4/4] perf arm-spe: Enable timestamp with arch timer counter Leo Yan
2020-08-12 16:06 ` [PATCH v2 0/4] Perf tool: Enable Arm arch timer counter and arm-spe's timestamp Mathieu Poirier
2020-08-12 18:53   ` Arnaldo Carvalho de Melo
2020-08-13  1:54     ` Leo Yan
2020-08-13  9:59     ` Will Deacon
2020-08-13 11:18       ` Will Deacon
2020-08-13 12:08         ` John Garry
2020-08-13 13:05           ` Arnaldo Carvalho de Melo
2020-08-13 16:17     ` Mathieu Poirier

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).