Commit 047e6032 authored by German Gomez's avatar German Gomez Committed by Arnaldo Carvalho de Melo
Browse files

perf test: Fix arm64 perf_event_attr tests wrt --call-graph initialization



The struct perf_event_attr is initialised differently in Arm64 when
recording in call-graph fp mode, so update the relevant tests, and add
two extra arm64-only tests.

Before:

  $ perf test 17 -v
  17: Setup struct perf_event_attr
  [...]
  running './tests/attr/test-record-graph-default'
  expected sample_type=295, got 4391
  expected sample_regs_user=0, got 1073741824
  FAILED './tests/attr/test-record-graph-default' - match failure
  test child finished with -1
  ---- end ----

After:

[...]
  running './tests/attr/test-record-graph-default-aarch64'
  test limitation 'aarch64'
  running './tests/attr/test-record-graph-fp-aarch64'
  test limitation 'aarch64'
  running './tests/attr/test-record-graph-default'
  test limitation '!aarch64'
  excluded architecture list ['aarch64']
  skipped [aarch64] './tests/attr/test-record-graph-default'
  running './tests/attr/test-record-graph-fp'
  test limitation '!aarch64'
  excluded architecture list ['aarch64']
  skipped [aarch64] './tests/attr/test-record-graph-fp'
[...]

Fixes: 7248e308 ("perf tools: Record ARM64 LR register automatically")
Signed-off-by: default avatarGerman Gomez <german.gomez@arm.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Alexandre Truong <alexandre.truong@arm.com>
Cc: Ian Rogers <irogers@google.com>
Cc: James Clark <james.clark@arm.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: John Fastabend <john.fastabend@gmail.com>
Cc: KP Singh <kpsingh@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Martin KaFai Lau <kafai@fb.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Song Liu <songliubraving@fb.com>
Cc: Yonghong Song <yhs@fb.com>
Link: http://lore.kernel.org/lkml/20220125104435.2737-1-german.gomez@arm.com


Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
parent 52a9dab6
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -45,8 +45,10 @@ Following tests are defined (with perf commands):
  perf record -d kill                           (test-record-data)
  perf record -F 100 kill                       (test-record-freq)
  perf record -g kill                           (test-record-graph-default)
  perf record -g kill                           (test-record-graph-default-aarch64)
  perf record --call-graph dwarf kill		(test-record-graph-dwarf)
  perf record --call-graph fp kill              (test-record-graph-fp)
  perf record --call-graph fp kill              (test-record-graph-fp-aarch64)
  perf record --group -e cycles,instructions kill (test-record-group)
  perf record -e '{cycles,instructions}' kill   (test-record-group1)
  perf record -e '{cycles/period=1/,instructions/period=2/}:S' kill (test-record-group2)
+2 −0
Original line number Diff line number Diff line
@@ -2,6 +2,8 @@
command = record
args    = --no-bpf-event -g kill >/dev/null 2>&1
ret     = 1
# arm64 enables registers in the default mode (fp)
arch    = !aarch64

[event:base-record]
sample_type=295
+9 −0
Original line number Diff line number Diff line
[config]
command = record
args    = --no-bpf-event -g kill >/dev/null 2>&1
ret     = 1
arch    = aarch64

[event:base-record]
sample_type=4391
sample_regs_user=1073741824
+2 −0
Original line number Diff line number Diff line
@@ -2,6 +2,8 @@
command = record
args    = --no-bpf-event --call-graph fp kill >/dev/null 2>&1
ret     = 1
# arm64 enables registers in fp mode
arch    = !aarch64

[event:base-record]
sample_type=295
+9 −0
Original line number Diff line number Diff line
[config]
command = record
args    = --no-bpf-event --call-graph fp kill >/dev/null 2>&1
ret     = 1
arch    = aarch64

[event:base-record]
sample_type=4391
sample_regs_user=1073741824