Beyond the DIRECT_CALLS support on arm64 [1], select HAVE_SINGLE_FTRACE_DIRECT_OPS for arm64, which enables the BPF tracing_multi link on arm64 [2].
All tracing_multi link selftests are passed on arm64. cd tools/testing/selftests/bpf ./test_progs -a 'tracing_multi_*' #545/1 tracing_multi_attach_rollback/put:OK #545/2 tracing_multi_attach_rollback/unlink:OK #545 tracing_multi_attach_rollback:OK #546 tracing_multi_bench_attach:OK #547/1 tracing_multi_test/skel_api:OK #547/2 tracing_multi_test/link_api_pattern:OK #547/3 tracing_multi_test/link_api_ids:OK #547/4 tracing_multi_test/module_skel_api:OK #547/5 tracing_multi_test/module_link_api_pattern:OK #547/6 tracing_multi_test/module_link_api_ids:OK #547/7 tracing_multi_test/intersect:OK #547/8 tracing_multi_test/cookies:OK #547/9 tracing_multi_test/session:OK #547/10 tracing_multi_test/attach_api_fails:OK #547/11 tracing_multi_test/fentry_direct_access:OK #547/12 tracing_multi_test/fexit_direct_access:OK #547/13 tracing_multi_test/fsession_direct_access:OK #547/14 tracing_multi_test/fentry_after_multi:OK #547 tracing_multi_test:OK Summary: 3/16 PASSED, 0 SKIPPED, 0 FAILED ./test_progs -a 'fill_link_info/tracing_multi_*' #132/11 fill_link_info/tracing_multi_link_info:OK #132/12 fill_link_info/tracing_multi_invalid_ubuff:OK #132 fill_link_info:OK Summary: 1/2 PASSED, 0 SKIPPED, 0 FAILED Links: [1] https://lore.kernel.org/all/[email protected]/ [2] https://github.com/kernel-patches/bpf/pull/12986 Leon Hwang (2): arm64: ftrace: enable single ftrace_ops for direct calls selftests/bpf: Enable tracing_multi tests on arm64 arch/arm64/Kconfig | 2 ++ arch/arm64/kernel/ftrace.c | 3 +-- tools/testing/selftests/bpf/prog_tests/tracing_multi.c | 9 +++++++-- tools/testing/selftests/bpf/test_progs.h | 6 ++++++ 4 files changed, 16 insertions(+), 4 deletions(-) -- 2.55.0
