From: Nikolay Borisov <nborisov@suse.com>
To: Chris Murphy <lists@colorremedies.com>, Su Yue <l@damenly.su>
Cc: Qu Wenruo <quwenruo.btrfs@gmx.com>, Qu Wenruo <wqu@suse.com>,
Btrfs BTRFS <linux-btrfs@vger.kernel.org>
Subject: Re: 5.14.9 aarch64 OOPS Workqueue: btrfs-delalloc btrfs_work_helper
Date: Fri, 22 Oct 2021 14:43:00 +0300 [thread overview]
Message-ID: <9e746c1c-85e5-c766-26fa-a4d83f1bfd34@suse.com> (raw)
In-Reply-To: <ff911f0c-9ea5-43b1-4b8d-e8c392f0718e@suse.com>
On 22.10.21 г. 13:44, Nikolay Borisov wrote:
>
>
> On 22.10.21 г. 5:36, Chris Murphy wrote:
>> OK I have a vmcore file:
>> https://dustymabe.fedorapeople.org/bz2011928-vmcore/
>>
>> lib/modules/5.14.10-300.fc35.aarch64/vmlinuz
>> https://drive.google.com/file/d/1xXM8XGRi_Wzyupbm4MSNteF0rwUzO4GE/view?usp=sharing
>>
>
> So the problem is we have a null inode:
>
>
> crash> struct async_chunk ffff00012a78eb08
> struct async_chunk {
> inode = 0x0,
> locked_page = 0xfffffc000508c240,
> start = 0,
> end = 4095,
> write_flags = 0,
> extents = {
> next = 0xffff00012a78eb30,
> prev = 0xffff00012a78eb30
> },
> blkcg_css = 0x0,
> work = {
> func = 0xffffd7c4c03c05c0 <async_cow_start>,
> ordered_func = 0xffffd7c4c03c1bf0 <async_cow_submit>,
> ordered_free = 0xffffd7c4c03be2e0 <async_cow_free>,
> normal_work = {
> data = {
> counter = 256
> },
> entry = {
> next = 0xffff00012a78eb68,
> prev = 0xffff00012a78eb68
> },
> func = 0xffffd7c4c03f9e84 <btrfs_work_helper>
> },
> ordered_list = {
> next = 0xffff00012a78ee80,
> prev = 0xffff0000c6d83510
> },
> wq = 0xffff0000c6d83500,
> flags = 3
> },
> pending = 0xffff00012a78eb00
> }
>
>
> But this makes no sense since before submit_compressed_extents is called
> we have an explicit check for async_hunk->inode presence but AFAICS this
> is not done in a concurrent context. So this either leaves some hw issue
> or some race which manifests due to ARM's weak mm.
I also looked at the assembly generated in async_cow_submit to see if
anything funny happens while the async_chunk->inode check is performed -
everything looks fine. Also given that the extents list is empty and the
inode is NULL I'd assume that the "write" side is also correct i.e the
code in async_cow_start. This pretty much excludes a codegen problem.
Chris can you add the following line in submit_compressed_extents right
before the BTRFS_I() function is called:
WARN_ON(!async_chunk->inode);
And re-run the workload again?
>
>>
>> --
>> Chris Murphy
>>
>
next prev parent reply other threads:[~2021-10-22 11:43 UTC|newest]
Thread overview: 62+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-10-12 0:59 5.14.9 aarch64 OOPS Workqueue: btrfs-delalloc btrfs_work_helper Chris Murphy
2021-10-12 5:25 ` Nikolay Borisov
2021-10-12 6:47 ` Qu Wenruo
2021-10-12 14:30 ` Chris Murphy
2021-10-12 21:24 ` Chris Murphy
2021-10-12 23:55 ` Qu Wenruo
2021-10-13 12:14 ` Chris Murphy
2021-10-13 12:18 ` Qu Wenruo
2021-10-13 12:27 ` Chris Murphy
2021-10-13 12:29 ` Nikolay Borisov
2021-10-13 12:43 ` Chris Murphy
2021-10-13 12:46 ` Nikolay Borisov
2021-10-13 12:55 ` Chris Murphy
2021-10-13 19:21 ` Chris Murphy
2021-10-18 1:57 ` Chris Murphy
2021-10-18 11:32 ` Su Yue
2021-10-18 13:28 ` Qu Wenruo
2021-10-18 14:49 ` Chris Murphy
2021-10-18 18:24 ` Chris Murphy
2021-10-19 1:24 ` Su Yue
2021-10-19 18:26 ` Chris Murphy
2021-10-19 23:42 ` Su Yue
2021-10-20 1:21 ` Qu Wenruo
2021-10-20 1:25 ` Chris Murphy
2021-10-20 23:55 ` Chris Murphy
2021-10-21 0:29 ` Su Yue
2021-10-21 0:37 ` Qu Wenruo
2021-10-21 0:46 ` Su Yue
2021-10-21 14:43 ` Chris Murphy
2021-10-21 14:48 ` Chris Murphy
2021-10-21 14:51 ` Nikolay Borisov
2021-10-21 14:55 ` Chris Murphy
2021-10-21 15:01 ` Nikolay Borisov
2021-10-21 15:06 ` Chris Murphy
2021-10-21 15:32 ` Chris Murphy
2021-10-21 18:07 ` Chris Murphy
2021-10-21 5:56 ` Nikolay Borisov
2021-10-22 2:36 ` Chris Murphy
2021-10-22 6:02 ` Nikolay Borisov
2021-10-22 6:17 ` Su Yue
2021-10-22 10:44 ` Nikolay Borisov
2021-10-22 11:43 ` Nikolay Borisov [this message]
2021-10-22 17:18 ` Chris Murphy
2021-10-23 10:09 ` Nikolay Borisov
2021-10-25 14:48 ` Chris Murphy
2021-10-25 18:34 ` Chris Murphy
2021-10-25 19:40 ` Chris Murphy
2021-10-26 7:14 ` Nikolay Borisov
2021-10-26 12:51 ` Chris Murphy
2021-10-26 13:05 ` Nikolay Borisov
2021-10-26 18:08 ` Chris Murphy
2021-10-26 18:14 ` Nikolay Borisov
2021-10-26 18:26 ` Chris Murphy
2021-10-26 18:31 ` Chris Murphy
2021-10-26 18:35 ` Nikolay Borisov
2021-10-27 18:22 ` Chris Murphy
2021-10-28 5:36 ` Nikolay Borisov
2021-11-02 14:23 ` Chris Murphy
2021-11-02 14:25 ` Nikolay Borisov
2021-11-05 16:12 ` Chris Murphy
2021-11-07 9:11 ` Nikolay Borisov
2021-10-19 1:25 ` Qu Wenruo
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=9e746c1c-85e5-c766-26fa-a4d83f1bfd34@suse.com \
--to=nborisov@suse.com \
--cc=l@damenly.su \
--cc=linux-btrfs@vger.kernel.org \
--cc=lists@colorremedies.com \
--cc=quwenruo.btrfs@gmx.com \
--cc=wqu@suse.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;
as well as URLs for NNTP newsgroup(s).