From: Christoph Hellwig <hch@lst.de>
To: Josef Bacik <josef@toxicpanda.com>
Cc: Christoph Hellwig <hch@lst.de>, Chris Mason <clm@fb.com>,
David Sterba <dsterba@suse.com>,
linux-btrfs@vger.kernel.org, linux-fsdevel@vger.kernel.org
Subject: Re: small writeback fixes
Date: Wed, 19 Jul 2023 07:39:01 +0200 [thread overview]
Message-ID: <20230719053901.GA3241@lst.de> (raw)
In-Reply-To: <20230718171744.GA843162@perftesting>
On Tue, Jul 18, 2023 at 01:17:44PM -0400, Josef Bacik wrote:
> Just FYI I've been using these two series to see how the github CI stuff was
> working, and I keep tripping over a hang in generic/475. It appears to be in
> the fixup worker, here's the sysrq w output
>
> We appear to be getting hung up because the ENOSPC stuff is flushing and waiting
> on ordered extents, and then the fixup worker is waiting on trying to reserve
> space. My hunch is the page that's in the fixup worker is attached to an
> ordered extent.
>
> I can pretty reliably reproduce this in the CI, so if you have trouble
> reproducing it let me know. I'll dig into it later today, but I may not get to
> it before you do. Thanks,
My day was already over by the time you sent this, but I looked into
it the first thing this morning.
I can't reproduce the hang, but my first thought was "why the heck do
even end up in the fixup worker" given that there is no GUP-based
dirtying in the thread.
I can reproduce the test case hitting the fixup worker now, while
I can't on misc-next. Looking into it now, but the rework of the
fixup logic is a hot candidate.
next prev parent reply other threads:[~2023-07-19 5:39 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-07-13 13:04 small writeback fixes Christoph Hellwig
2023-07-13 13:04 ` [PATCH 1/9] btrfs: don't stop integrity writeback too early Christoph Hellwig
2023-07-13 13:04 ` [PATCH 2/9] btrfs: don't wait for writeback on clean pages in extent_write_cache_pages Christoph Hellwig
2023-07-13 13:04 ` [PATCH 3/9] btrfs: fix an error handling corner case in cow_file_range Christoph Hellwig
2023-07-13 13:04 ` [PATCH 4/9] btrfs: move the cow_fixup earlier in writepages handling Christoph Hellwig
2023-07-13 13:04 ` [PATCH 5/9] btrfs: fix handling of errors from __extent_writepage_io Christoph Hellwig
2023-07-13 13:04 ` [PATCH 6/9] btrfs: stop submitting I/O after an error in extent_write_locked_range Christoph Hellwig
2023-07-13 13:04 ` [PATCH 7/9] btrfs: fix a race in clearing the writeback bit for sub-page I/O Christoph Hellwig
2023-07-13 13:04 ` [PATCH 8/9] btrfs: remove the call to btrfs_mark_ordered_io_finished in btrfs_writepage_fixup_worker Christoph Hellwig
2023-07-13 13:04 ` [PATCH 9/9] btrfs: lift the call to mapping_set_error out of cow_file_range Christoph Hellwig
2023-07-14 13:59 ` small writeback fixes Josef Bacik
2023-07-18 17:17 ` Josef Bacik
2023-07-19 5:39 ` Christoph Hellwig [this message]
2023-07-19 11:50 ` Christoph Hellwig
2023-07-19 14:30 ` Josef Bacik
2023-07-19 15:25 ` Christoph Hellwig
2023-07-19 21:42 ` Josef Bacik
2023-07-20 4:48 ` Christoph Hellwig
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=20230719053901.GA3241@lst.de \
--to=hch@lst.de \
--cc=clm@fb.com \
--cc=dsterba@suse.com \
--cc=josef@toxicpanda.com \
--cc=linux-btrfs@vger.kernel.org \
--cc=linux-fsdevel@vger.kernel.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.