tools/testing/selftests/bpf/bpf_experimental.h | 2 ++ 1 file changed, 2 insertions(+)
get_preempt_count() is enabled to return preempt_count for powerpc,
so that bpf_in_interrupt()/get_preempt_count() works for powerpc as
well.
Signed-off-by: Saket Kumar Bhaskar <skb99@linux.ibm.com>
---
tools/testing/selftests/bpf/bpf_experimental.h | 2 ++
1 file changed, 2 insertions(+)
diff --git a/tools/testing/selftests/bpf/bpf_experimental.h b/tools/testing/selftests/bpf/bpf_experimental.h
index 2cd9165c7348..c3f039a878f3 100644
--- a/tools/testing/selftests/bpf/bpf_experimental.h
+++ b/tools/testing/selftests/bpf/bpf_experimental.h
@@ -630,6 +630,8 @@ static inline int get_preempt_count(void)
return *(int *) bpf_this_cpu_ptr(&__preempt_count);
#elif defined(bpf_target_arm64)
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;
#endif
return 0;
}
--
2.52.0
On 29/01/26 11:10 am, Saket Kumar Bhaskar wrote: > get_preempt_count() is enabled to return preempt_count for powerpc, > so that bpf_in_interrupt()/get_preempt_count() works for powerpc as > well. > > Signed-off-by: Saket Kumar Bhaskar <skb99@linux.ibm.com> > --- > tools/testing/selftests/bpf/bpf_experimental.h | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/tools/testing/selftests/bpf/bpf_experimental.h b/tools/testing/selftests/bpf/bpf_experimental.h > index 2cd9165c7348..c3f039a878f3 100644 > --- a/tools/testing/selftests/bpf/bpf_experimental.h > +++ b/tools/testing/selftests/bpf/bpf_experimental.h > @@ -630,6 +630,8 @@ static inline int get_preempt_count(void) > return *(int *) bpf_this_cpu_ptr(&__preempt_count); > #elif defined(bpf_target_arm64) > 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; > #endif > return 0; > } Tested this patch by applying on mainline kernel and it passes the below selftest. ./test_progs -t timer_interrupt #481 timer_interrupt:OK Summary: 1/0 PASSED, 0 SKIPPED, 0 FAILED Please add below tag. Tested-by: Venkat Rao Bagalkote <venkat88@linux.ibm.com> Regards, Venkat.
> diff --git a/tools/testing/selftests/bpf/bpf_experimental.h b/tools/testing/selftests/bpf/bpf_experimental.h > index a39576c8ba..147bbf6cd3 100644 > --- a/tools/testing/selftests/bpf/bpf_experimental.h > +++ b/tools/testing/selftests/bpf/bpf_experimental.h > @@ -627,6 +627,8 @@ static inline int get_preempt_count(void) > return *(int *) bpf_this_cpu_ptr(&__preempt_count); > #elif defined(bpf_target_arm64) > 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; > #endif > return 0; > } Now that get_preempt_count() supports PowerPC, should the documentation comments for bpf_in_interrupt(), bpf_in_nmi(), bpf_in_hardirq(), bpf_in_serving_softirq(), and bpf_in_task() be updated to include PowerPC in their supported architecture lists? Currently these comments still say "Only works on the following archs: x86, arm64" but they now also work on PowerPC via this change to get_preempt_count(). --- AI reviewed your patch. Please fix the bug or email reply why it's not a bug. See: https://github.com/kernel-patches/vmtest/blob/master/ci/claude/README.md CI run summary: https://github.com/kernel-patches/bpf/actions/runs/21467281843 AI-authorship-score: low AI-authorship-explanation: Straightforward kernel patch with natural technical writing style and minimal code changes consistent with human-authored commits. issues-found: 1 issue-severity-score: low issue-severity-explanation: Documentation comments not updated to reflect PowerPC support in helper functions; minor documentation mismatch in test code.
© 2016 - 2026 Red Hat, Inc.