Subject: Re: [PATCH 2/2] selftests/bpf: Enable private stack tests for powerpc64

From: adubey <[email-masked]>
Date: Tue, 24 Feb 2026 01:02:38 +0530

On 2026-02-23 16:41, Christophe Leroy (CS GROUP) wrote:
> Le 16/02/2026 à 16:22, [email-masked] a écrit :
>> From: Abhishek Dubey <[email-masked]>
>> 
>> With support of private stack, relevant tests must pass
>> on powerpc64.
>> 
>> #./test_progs -t struct_ops_private_stack
>> #434/1   struct_ops_private_stack/private_stack:OK
>> #434/2   struct_ops_private_stack/private_stack_fail:OK
>> #434/3   struct_ops_private_stack/private_stack_recur:OK
>> #434     struct_ops_private_stack:OK
>> Summary: 1/3 PASSED, 0 SKIPPED, 0 FAILED
>> 
>> Signed-off-by: Abhishek Dubey <[email-masked]>
>> ---
>>   tools/testing/selftests/bpf/progs/struct_ops_private_stack.c   | 3 
>> ++-
>>   .../selftests/bpf/progs/struct_ops_private_stack_fail.c        | 3 
>> ++-
>>   .../selftests/bpf/progs/struct_ops_private_stack_recur.c       | 3 
>> ++-
>>   3 files changed, 6 insertions(+), 3 deletions(-)
>> 
>> diff --git 
>> a/tools/testing/selftests/bpf/progs/struct_ops_private_stack.c 
>> b/tools/testing/selftests/bpf/progs/struct_ops_private_stack.c
>> index dbe646013811..1df1111cd029 100644
>> --- a/tools/testing/selftests/bpf/progs/struct_ops_private_stack.c
>> +++ b/tools/testing/selftests/bpf/progs/struct_ops_private_stack.c
>> @@ -7,7 +7,8 @@
>>     char _license[] SEC("license") = "GPL";
>>   -#if defined(__TARGET_ARCH_x86) || defined(__TARGET_ARCH_arm64)
>> +#if defined(__TARGET_ARCH_x86) || defined(__TARGET_ARCH_arm64) \
>> +				|| defined(__TARGET_ARCH_powerpc)
> 
> Won't this also trigger the test on powerpc/32 ?
We have patch ready marking test separation b/w 32/64-bit ppc.
Planning to post it immediately after few concurrent patches are frozen.
With current tag, yes it does invoke on 32 bit. Our intent is to
support private stack for ppc64 only in this series.
> 
> 
>>   bool skip __attribute((__section__(".data"))) = false;
>>   #else
>>   bool skip = true;
>> diff --git 
>> a/tools/testing/selftests/bpf/progs/struct_ops_private_stack_fail.c 
>> b/tools/testing/selftests/bpf/progs/struct_ops_private_stack_fail.c
>> index 3d89ad7cbe2a..e09c1a8782b4 100644
>> --- 
>> a/tools/testing/selftests/bpf/progs/struct_ops_private_stack_fail.c
>> +++ 
>> b/tools/testing/selftests/bpf/progs/struct_ops_private_stack_fail.c
>> @@ -7,7 +7,8 @@
>>     char _license[] SEC("license") = "GPL";
>>   -#if defined(__TARGET_ARCH_x86) || defined(__TARGET_ARCH_arm64)
>> +#if defined(__TARGET_ARCH_x86) || defined(__TARGET_ARCH_arm64) \
>> +				|| defined(__TARGET_ARCH_powerpc)
>>   bool skip __attribute((__section__(".data"))) = false;
>>   #else
>>   bool skip = true;
>> diff --git 
>> a/tools/testing/selftests/bpf/progs/struct_ops_private_stack_recur.c 
>> b/tools/testing/selftests/bpf/progs/struct_ops_private_stack_recur.c
>> index b1f6d7e5a8e5..791800835673 100644
>> --- 
>> a/tools/testing/selftests/bpf/progs/struct_ops_private_stack_recur.c
>> +++ 
>> b/tools/testing/selftests/bpf/progs/struct_ops_private_stack_recur.c
>> @@ -7,7 +7,8 @@
>>     char _license[] SEC("license") = "GPL";
>>   -#if defined(__TARGET_ARCH_x86) || defined(__TARGET_ARCH_arm64)
>> +#if defined(__TARGET_ARCH_x86) || defined(__TARGET_ARCH_arm64) \
>> +				|| defined(__TARGET_ARCH_powerpc)
>>   bool skip __attribute((__section__(".data"))) = false;
>>   #else
>>   bool skip = true;
-Abhishek