From: Leon Hwang <hffilwlqm@gmail.com>
To: Ilya Leoshkevich <iii@linux.ibm.com>,
Tony Ambardar <tony.ambardar@gmail.com>
Cc: bpf@vger.kernel.org, linux-s390@vger.kernel.org,
Alexei Starovoitov <ast@kernel.org>
Subject: Re: Problem testing with S390x under QEMU on x86_64
Date: Fri, 23 Aug 2024 21:29:03 +0800 [thread overview]
Message-ID: <b010c646-007c-47e3-b547-414e66567ccf@gmail.com> (raw)
In-Reply-To: <aa8fe2731224ffdb6d64a014e3e02740c50010cd.camel@linux.ibm.com>
On 2024/8/22 01:28, Ilya Leoshkevich wrote:
> On Tue, 2024-08-20 at 17:38 -0700, Tony Ambardar wrote:
>
>
> [...]
>
>> I used the command line:
>> ./test_progs -d
>> get_stack_raw_tp,stacktrace_build_id,verifier_iterating_callbacks,tai
>> lcalls
>>
>> which includes the current DENYLIST.s390x as well as 'tailcalls',
>> which
>> is also excluded by the kernel-patches/bpf s390x CI. I note the CI
>> excludes several more tests that seem to work. Any idea why that is?
>>
>> For reference, the issue with 'tailcalls/tailcall_hierarchy_count' is
>> an
>> RCU stall and kernel hang:
>>
>> root@(none):/usr/libexec/kselftests-bpf# ./test_progs -v --debug -n
>> 332/19
>> bpf_testmod.ko is already unloaded.
>> Loading bpf_testmod.ko...
>> Successfully loaded bpf_testmod.ko.
>> test_tailcall_hierarchy_count:PASS:load obj 0 nsec
>> test_tailcall_hierarchy_count:PASS:find entry prog 0 nsec
>> test_tailcall_hierarchy_count:PASS:prog_fd 0 nsec
>> test_tailcall_hierarchy_count:PASS:find jmp_table 0 nsec
>> test_tailcall_hierarchy_count:PASS:map_fd 0 nsec
>> test_tailcall_hierarchy_count:PASS:update jmp_table 0 nsec
>> test_tailcall_hierarchy_count:PASS:find data_map 0 nsec
>> test_tailcall_hierarchy_count:PASS:open fentry_obj file 0 nsec
>> test_tailcall_hierarchy_count:PASS:find fentry prog 0 nsec
>> test_tailcall_hierarchy_count:PASS:set_attach_target subprog_tail 0
>> nsec
>> test_tailcall_hierarchy_count:PASS:load fentry_obj 0 nsec
>> test_tailcall_hierarchy_count:PASS:attach_trace 0 nsec
>> rcu: INFO: rcu_sched self-detected stall on CPU
>> rcu: 0-....: (1 GPs behind) idle=4eb4/1/0x4000000000000000
>> softirq=527/528 fqs=1050
>> rcu: (t=2100 jiffies g=-379 q=20 ncpus=2)
>> CPU: 0 UID: 0 PID: 84 Comm: test_progs Tainted: G O
>> 6.10.0-12706-g853081e84612-dirty #111
>> Tainted: [O]=OOT_MODULE
>> Hardware name: QEMU 8561 QEMU (KVM/Linux)
>> Krnl PSW : 0704f00180000000 000003ffe00f8fca
>> (lock_release+0xf2/0x190)
>> R:0 T:1 IO:1 EX:1 Key:0 M:1 W:0 P:0 AS:3 CC:3 PM:0 RI:0
>> EA:3
>> Krnl GPRS: 00000000b298dd12 0000000000000000 000002f23fd767c8
>> 000003ffe1848800
>> 0000000000000001 0000037fe034edbc 0000037fe034fd74
>> 0000000000000001
>> 0700037fe034edc8 000003ffe0249e48 000003ffe1848800
>> 000003ffe19ba7c8
>> 000003ff9f7a7f90 0000037fe034ef00 000003ffe00f8f96
>> 0000037fe034ed78
>> Krnl Code: 000003ffe00f8fbe: a7820300 tmhh %r8,768
>> 000003ffe00f8fc2: a7840004 brc
>> 8,000003ffe00f8fca
>> #000003ffe00f8fc6: ad03f0a0 stosm 160(%r15),3
>> >000003ffe00f8fca: eb8ff0a80004 lmg
>> %r8,%r15,168(%r15)
>> 000003ffe00f8fd0: 07fe bcr 15,%r14
>> 000003ffe00f8fd2: c0e500011057 brasl
>> %r14,000003ffe011b080
>> 000003ffe00f8fd8: ec26ffa6007e cij
>> %r2,0,6,000003ffe00f8f24
>> 000003ffe00f8fde: c01000b78b96 larl
>> %r1,000003ffe17ea70a
>> Call Trace:
>> [<000003ffe00f8fca>] lock_release+0xf2/0x190
>> ([<000003ffe00f8f96>] lock_release+0xbe/0x190)
>> [<000003ffe0249ea4>] __bpf_prog_exit_recur+0x5c/0x68
>> [<000003ff6001e0b0>] bpf_trampoline_73014444060+0xb0/0xd2
>> [<000003ff60024d14>] bpf_prog_eb7edc599e93dcc8_entry+0x5c/0xc8
>> [<000003ff60024d14>] bpf_prog_eb7edc599e93dcc8_entry+0x5c/0xc8
>> [<000003ff60024d14>] bpf_prog_eb7edc599e93dcc8_entry+0x5c/0xc8
>> [<000003ff60024d2a>] bpf_prog_eb7edc599e93dcc8_entry+0x72/0xc8
>> [<000003ff60024d2a>] bpf_prog_eb7edc599e93dcc8_entry+0x72/0xc8
>> [<000003ff60024d14>] bpf_prog_eb7edc599e93dcc8_entry+0x5c/0xc8
>> [<000003ff60024d14>] bpf_prog_eb7edc599e93dcc8_entry+0x5c/0xc8
>> [<000003ff60024d14>] bpf_prog_eb7edc599e93dcc8_entry+0x5c/0xc8
>> [<000003ffe084ecee>] bpf_test_run+0x216/0x3a8
>> [<000003ffe084f9cc>] bpf_prog_test_run_skb+0x21c/0x630
>> [<000003ffe0202ad2>] __sys_bpf+0x7ea/0xbb0
>> [<000003ffe0203114>] __s390x_sys_bpf+0x44/0
>
> Thanks for the detailed analysis! I will need to port
>
> commit 116e04ba1459fc08f80cf27b8c9f9f188be0fcb2
> Author: Leon Hwang <hffilwlqm@gmail.com>
> Date: Sun Jul 14 20:39:00 2024 +0800
>
> bpf, x64: Fix tailcall hierarchy
>
> to s390x to fix this.
>
Hi Ilya,
I think you should wait for a while, as I'll fix another tailcall issue
in near future. After fixing the issue, you can port them both in one shot.
Thanks,
Leon
next prev parent reply other threads:[~2024-08-23 13:29 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-08-17 21:57 Problem testing with S390x under QEMU on x86_64 Tony Ambardar
2024-08-19 9:15 ` Ilya Leoshkevich
2024-08-21 0:38 ` Tony Ambardar
2024-08-21 17:28 ` Ilya Leoshkevich
2024-08-23 13:29 ` Leon Hwang [this message]
2024-08-24 23:21 ` Tony Ambardar
2024-08-25 20:23 ` Yonghong Song
2024-08-26 10:50 ` Tony Ambardar
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=b010c646-007c-47e3-b547-414e66567ccf@gmail.com \
--to=hffilwlqm@gmail.com \
--cc=ast@kernel.org \
--cc=bpf@vger.kernel.org \
--cc=iii@linux.ibm.com \
--cc=linux-s390@vger.kernel.org \
--cc=tony.ambardar@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox