From 0f87614c4dbdd14bbcc23c69b09be58177ce7b9b Mon Sep 17 00:00:00 2001 From: Ilya Leoshkevich Date: Tue, 17 Feb 2026 17:05:09 +0100 Subject: bpf/s390: Implement get_preempt_count() exe_ctx test fails on s390, because get_preempt_count() is not implemented and its fallback path always returns 0. Implement it using the new bpf_get_lowcore() kfunc. Signed-off-by: Ilya Leoshkevich Link: https://lore.kernel.org/r/20260217160813.100855-3-iii@linux.ibm.com Signed-off-by: Alexei Starovoitov --- tools/testing/selftests/bpf/bpf_experimental.h | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'tools/testing') diff --git a/tools/testing/selftests/bpf/bpf_experimental.h b/tools/testing/selftests/bpf/bpf_experimental.h index 4453ad27b2ef..44466acf8083 100644 --- a/tools/testing/selftests/bpf/bpf_experimental.h +++ b/tools/testing/selftests/bpf/bpf_experimental.h @@ -651,6 +651,8 @@ static inline int get_preempt_count(void) return bpf_get_current_task_btf()->thread_info.preempt.count; #elif defined(bpf_target_powerpc) return bpf_get_current_task_btf()->thread_info.preempt_count; +#elif defined(bpf_target_s390) + return bpf_get_lowcore()->preempt_count; #endif return 0; } @@ -660,6 +662,7 @@ static inline int get_preempt_count(void) * * x86 * * arm64 * * powerpc64 + * * s390x */ static inline int bpf_in_interrupt(void) { @@ -680,6 +683,7 @@ static inline int bpf_in_interrupt(void) * * x86 * * arm64 * * powerpc64 + * * s390x */ static inline int bpf_in_nmi(void) { @@ -691,6 +695,7 @@ static inline int bpf_in_nmi(void) * * x86 * * arm64 * * powerpc64 + * * s390x */ static inline int bpf_in_hardirq(void) { @@ -702,6 +707,7 @@ static inline int bpf_in_hardirq(void) * * x86 * * arm64 * * powerpc64 + * * s390x */ static inline int bpf_in_serving_softirq(void) { @@ -721,6 +727,7 @@ static inline int bpf_in_serving_softirq(void) * * x86 * * arm64 * * powerpc64 + * * s390x */ static inline int bpf_in_task(void) { -- cgit v1.2.3