[PATCH v4 0/6] Perf tool: Support TSC for Arm64

Arnaldo Carvalho de Melo acme at kernel.org
Wed Sep 23 11:27:53 EDT 2020


Em Tue, Sep 22, 2020 at 01:49:06PM -0300, Arnaldo Carvalho de Melo escreveu:
> Em Tue, Sep 22, 2020 at 08:07:32PM +0800, Leo Yan escreveu:
> > Hi Arnaldo,
> > 
> > On Mon, Sep 14, 2020 at 07:53:05PM +0800, Leo Yan wrote:
> > > This patch set is to refactor TSC implementation and move TSC code from
> > > x86 folder to util/tsc.c, this allows all archs to reuse the code.  And
> > > alse move the TSC testing from x86 folder to tests so can work as a
> > > common testing.
> > > 
> > > So far, for x86 it needs to support cap_user_time_zero and for Arm64
> > > it needs to support cap_user_time_short.  For architecture specific
> > > code, every arch only needs to implement its own rdtsc() to read out
> > > timer's counter.
> > > 
> > > This patch set has been rebased on the perf/core branch with latest
> > > commit b1f815c479c1 ("perf vendor events power9: Add hv_24x7 core level
> > > metric events") and tested on Arm64 DB410c.
> > 
> > Could you pick up this patch set?  Thanks!
> 
> Yeah, I picked it up now, its a pity nobody provided Acks :-\
> 
> Or have a missed them somehow?

Also:

$ cat dm.log/debian:experimental-x-mips64

  CC       /tmp/build/perf/tests/llvm-src-prologue.o
  CC       /tmp/build/perf/tests/llvm-src-relocation.o
tests/perf-time-to-tsc.c:24:10: fatal error: arch-tests.h: No such file or directory
   24 | #include "arch-tests.h"
      |          ^~~~~~~~~~~~~~
compilation terminated.
make[4]: *** [/git/linux/tools/build/Makefile.build:96: /tmp/build/perf/tests/perf-time-to-tsc.o] Error 1
make[4]: *** Waiting for unfinished jobs....

[perfbuilder at five ~]$ cat dm.log/debian:experimental-x-mipsel | grep "fatal error" -A5
tests/perf-time-to-tsc.c:24:10: fatal error: arch-tests.h: No such file or directory
   24 | #include "arch-tests.h"
      |          ^~~~~~~~~~~~~~
compilation terminated.
make[4]: *** [/git/linux/tools/build/Makefile.build:96: /tmp/build/perf/tests/perf-time-to-tsc.o] Error 1
make[4]: *** Waiting for unfinished jobs....
[perfbuilder at five ~]$ 

[perfbuilder at five ~]$ cat dm.log/fedora:30-x-ARC-uClibc | grep "fatal error" -A5
tests/perf-time-to-tsc.c:24:10: fatal error: arch-tests.h: No such file or directory
 #include "arch-tests.h"
          ^~~~~~~~~~~~~~
compilation terminated.
make[4]: *** [/git/linux/tools/build/Makefile.build:97: /tmp/build/perf/tests/perf-time-to-tsc.o] Error 1
make[4]: *** Waiting for unfinished jobs....
[perfbuilder at five ~]$

[perfbuilder at five ~]$ cat dm.log/ubuntu:18.04-x-s390 | grep "fatal error" -A5
tests/perf-time-to-tsc.c:24:10: fatal error: arch-tests.h: No such file or directory
 #include "arch-tests.h"
          ^~~~~~~~~~~~~~
compilation terminated.
/git/linux/tools/build/Makefile.build:96: recipe for target '/tmp/build/perf/tests/perf-time-to-tsc.o' failed
make[4]: *** [/tmp/build/perf/tests/perf-time-to-tsc.o] Error 1
[perfbuilder at five ~]$


Oh, it works for arm64 and powerpc

  69    25.93 ubuntu:18.04-x-arm            : Ok   arm-linux-gnueabihf-gcc (Ubuntu/Linaro 7.5.0-3ubuntu1~18.04) 7.5.0
  70    25.69 ubuntu:18.04-x-arm64          : Ok   aarch64-linux-gnu-gcc (Ubuntu/Linaro 7.5.0-3ubuntu1~18.04) 7.5.0


  68    79.84 ubuntu:18.04                  : Ok   gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0, clang version 6.0.0-1ubuntu2 (tags/RELEASE_600/final)
  69    25.93 ubuntu:18.04-x-arm            : Ok   arm-linux-gnueabihf-gcc (Ubuntu/Linaro 7.5.0-3ubuntu1~18.04) 7.5.0
  70    25.69 ubuntu:18.04-x-arm64          : Ok   aarch64-linux-gnu-gcc (Ubuntu/Linaro 7.5.0-3ubuntu1~18.04) 7.5.0
  71    11.75 ubuntu:18.04-x-m68k           : FAIL m68k-linux-gnu-gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0
  72    25.72 ubuntu:18.04-x-powerpc        : Ok   powerpc-linux-gnu-gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0
  73    28.10 ubuntu:18.04-x-powerpc64      : Ok   powerpc64-linux-gnu-gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0
  74    27.84 ubuntu:18.04-x-powerpc64el    : Ok   powerpc64le-linux-gnu-gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0
  75    12.11 ubuntu:18.04-x-riscv64        : FAIL riscv64-linux-gnu-gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0
  76    11.85 ubuntu:18.04-x-s390           : FAIL s390x-linux-gnu-gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0
  77    12.55 ubuntu:18.04-x-sh4            : FAIL sh4-linux-gnu-gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0
  78    11.42 ubuntu:18.04-x-sparc64        : FAIL sparc64-linux-gnu-gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0


[perfbuilder at five ~]$ grep tsc dm.log/ubuntu\:18.04-x-powerpc64
  CC       /tmp/build/perf/tests/perf-time-to-tsc.o
  CC       /tmp/build/perf/util/tsc.o
  CC       /tmp/build/perf/tests/perf-time-to-tsc.o
  CC       /tmp/build/perf/util/tsc.o
  CC       /tmp/build/perf/tests/perf-time-to-tsc.o
  CC       /tmp/build/perf/util/tsc.o
[perfbuilder at five ~]$

Can you please take a look and resubmit? I'm removing the series from my
local branch.

- Arnaldo



More information about the linux-arm-kernel mailing list