aboutsummaryrefslogtreecommitdiff
path: root/tools/perf/arch/x86/tests/arch-tests.c
diff options
context:
space:
mode:
authorGravatar Ravi Bangoria <ravi.bangoria@amd.com> 2023-05-04 16:30:03 +0530
committerGravatar Peter Zijlstra <peterz@infradead.org> 2023-05-08 10:58:31 +0200
commit78075d947534013b4575687d19ebcbbb6d3addcd (patch)
tree687b472a921e0070cf442562519fe4f2d4307d08 /tools/perf/arch/x86/tests/arch-tests.c
parentperf/core: Remove pmu linear searching code (diff)
downloadlinux-78075d947534013b4575687d19ebcbbb6d3addcd.tar.gz
linux-78075d947534013b4575687d19ebcbbb6d3addcd.tar.bz2
linux-78075d947534013b4575687d19ebcbbb6d3addcd.zip
perf test: Add selftest to test IBS invocation via core pmu events
IBS pmu can be invoked via fixed set of core pmu events with 'precise_ip' set to 1. Add a simple event open test for all these events. Without kernel fix: $ sudo ./perf test -vv 76 76: AMD IBS via core pmu : --- start --- test child forked, pid 6553 Using CPUID AuthenticAMD-25-1-1 type: 0x0, config: 0x0, fd: 3 - Pass type: 0x0, config: 0x1, fd: -1 - Pass type: 0x4, config: 0x76, fd: -1 - Fail type: 0x4, config: 0xc1, fd: -1 - Fail type: 0x4, config: 0x12, fd: -1 - Pass test child finished with -1 ---- end ---- AMD IBS via core pmu: FAILED! With kernel fix: $ sudo ./perf test -vv 76 76: AMD IBS via core pmu : --- start --- test child forked, pid 7526 Using CPUID AuthenticAMD-25-1-1 type: 0x0, config: 0x0, fd: 3 - Pass type: 0x0, config: 0x1, fd: -1 - Pass type: 0x4, config: 0x76, fd: 3 - Pass type: 0x4, config: 0xc1, fd: 3 - Pass type: 0x4, config: 0x12, fd: -1 - Pass test child finished with 0 ---- end ---- AMD IBS via core pmu: Ok Signed-off-by: Ravi Bangoria <ravi.bangoria@amd.com> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Link: https://lkml.kernel.org/r/20230504110003.2548-5-ravi.bangoria@amd.com
Diffstat (limited to 'tools/perf/arch/x86/tests/arch-tests.c')
-rw-r--r--tools/perf/arch/x86/tests/arch-tests.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/tools/perf/arch/x86/tests/arch-tests.c b/tools/perf/arch/x86/tests/arch-tests.c
index aae6ea0fe52b..b5c85ab8d92e 100644
--- a/tools/perf/arch/x86/tests/arch-tests.c
+++ b/tools/perf/arch/x86/tests/arch-tests.c
@@ -22,6 +22,7 @@ struct test_suite suite__intel_pt = {
DEFINE_SUITE("x86 bp modify", bp_modify);
#endif
DEFINE_SUITE("x86 Sample parsing", x86_sample_parsing);
+DEFINE_SUITE("AMD IBS via core pmu", amd_ibs_via_core_pmu);
struct test_suite *arch_tests[] = {
#ifdef HAVE_DWARF_UNWIND_SUPPORT
@@ -35,5 +36,6 @@ struct test_suite *arch_tests[] = {
&suite__bp_modify,
#endif
&suite__x86_sample_parsing,
+ &suite__amd_ibs_via_core_pmu,
NULL,
};