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: 7248e308a5 ("perf tools: Record ARM64 LR register automatically")
Signed-off-by: German 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: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
German Gomez 2022-01-25 10:44:34 +00:00 коммит произвёл Arnaldo Carvalho de Melo
Родитель 52a9dab6d8
Коммит 047e6032c4
5 изменённых файлов: 24 добавлений и 0 удалений

Просмотреть файл

@ -45,8 +45,10 @@ Following tests are defined (with perf commands):
perf record -d kill (test-record-data) perf record -d kill (test-record-data)
perf record -F 100 kill (test-record-freq) perf record -F 100 kill (test-record-freq)
perf record -g kill (test-record-graph-default) 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 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)
perf record --call-graph fp kill (test-record-graph-fp-aarch64)
perf record --group -e cycles,instructions kill (test-record-group) perf record --group -e cycles,instructions kill (test-record-group)
perf record -e '{cycles,instructions}' kill (test-record-group1) perf record -e '{cycles,instructions}' kill (test-record-group1)
perf record -e '{cycles/period=1/,instructions/period=2/}:S' kill (test-record-group2) perf record -e '{cycles/period=1/,instructions/period=2/}:S' kill (test-record-group2)

Просмотреть файл

@ -2,6 +2,8 @@
command = record command = record
args = --no-bpf-event -g kill >/dev/null 2>&1 args = --no-bpf-event -g kill >/dev/null 2>&1
ret = 1 ret = 1
# arm64 enables registers in the default mode (fp)
arch = !aarch64
[event:base-record] [event:base-record]
sample_type=295 sample_type=295

Просмотреть файл

@ -0,0 +1,9 @@
[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,6 +2,8 @@
command = record command = record
args = --no-bpf-event --call-graph fp kill >/dev/null 2>&1 args = --no-bpf-event --call-graph fp kill >/dev/null 2>&1
ret = 1 ret = 1
# arm64 enables registers in fp mode
arch = !aarch64
[event:base-record] [event:base-record]
sample_type=295 sample_type=295

Просмотреть файл

@ -0,0 +1,9 @@
[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