From: Chris Dunlop <chris@onthe.net.au>
To: Amir Goldstein <amir73il@gmail.com>
Cc: Leah Rumancik <lrumancik@google.com>,
Theodore Ts'o <tytso@mit.edu>, Dave Chinner <david@fromorbit.com>,
linux-xfs@vger.kernel.org,
Leah Rumancik <leah.rumancik@gmail.com>,
"Darrick J. Wong" <djwong@kernel.org>,
Chandan Babu R <chandan.babu@oracle.com>
Subject: Re: Subject: v5.15 backport - 5e672cd69f0a xfs: non-blocking inodegc pushes
Date: Thu, 13 Jul 2023 10:57:44 +1000 [thread overview]
Message-ID: <20230713005744.GA1043347@onthe.net.au> (raw)
In-Reply-To: <20230713003104.GA1039855@onthe.net.au>
On Thu, Jul 13, 2023 at 10:31:04AM +1000, Chris Dunlop wrote:
> On Wed, Jul 12, 2023 at 12:26:54PM +0300, Amir Goldstein wrote:
>> On Wed, Jul 12, 2023 at 5:37 AM Chris Dunlop <chris@onthe.net.au> wrote:
>>>
>>> Request for backport to v5.15:
>>>
>>> 5e672cd69f0a xfs: non-blocking inodegc pushes
>>
>> This is not the subject of above commit, it was the
>> subject of the cover letter:
>> https://www.spinics.net/lists/linux-xfs/msg61813.html
>>
>> containing the following upstream commits:
>> 7cf2b0f9611b xfs: bound maximum wait time for inodegc work
>> 5e672cd69f0a xfs: introduce xfs_inodegc_push()
> ...
>> Leah has already queued these two patches for 5.15 backport,
>> but she is now on sick leave, so that was not done yet.
>>
>> We did however, identify a few more inodegc fixes from 6.4,
>> which also fix a bug in one of the two commits above:
>>
>> 03e0add80f4c xfs: explicitly specify cpu when forcing inodegc delayed
>> work to run immediately
>> Fixes: 7cf2b0f9611b ("xfs: bound maximum wait time for inodegc work")
>> b37c4c8339cd xfs: check that per-cpu inodegc workers actually run on that cpu
>> 2254a7396a0c xfs: fix xfs_inodegc_stop racing with mod_delayed_work
>> Fixes: 6191cf3ad59f ("xfs: flush inodegc workqueue tasks before cancel")
>>
>> 6191cf3ad59f ("xfs: flush inodegc workqueue tasks before cancel") has already
>> been applied to 5.15.y.
>>
>> stable tree rules require that the above fixes from 6.4 be applied to 6.1.y
>> before 5.15.y, so I have already tested them and they are ready to be posted.
>> I wanted to wait a bit after the 6.4.0 release to make sure that we did not pull
>> the blanket too much to the other side, because as the reports from Chris
>> demonstrate, the inodegc fixes had some unexpected outcomes.
>
> Just to clarify: whilst I updated to 6.1 specifically to gain access
> to the non-blocking inodegc commits, there's no evidence those inodegc
> commits had anything at all to do with my issue on 6.1, and Dave's
> sense is that they probably weren't involved.
>
> That said, those "Fixes:" commits that haven't yet made it to 6.1 look
> at least a little suspicious to my naive eye.
Hmmm.... in particular, this fix:
2254a7396a0c xfs: fix xfs_inodegc_stop racing with mod_delayed_work
Fixes: 6191cf3ad59f ("xfs: flush inodegc workqueue tasks before cancel")
mentions:
----
For this to trip, we must have a thread draining the inodedgc workqueue
and a second thread trying to queue inodegc work to that workqueue.
This can happen if freezing or a ro remount race with reclaim poking our
faux inodegc shrinker and another thread dropping an unlinked O_RDONLY
file:
----
I'm indeed periodically freezing these filesystems to take snapshots.
So that could possibly be the source of my problem, although my kernel log
does not have the WARN_ON_ONCE() mentioned in the patch.
Cheers,
Chris
next prev parent reply other threads:[~2023-07-13 0:58 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-07-10 21:53 rm hanging, v6.1.35 Chris Dunlop
2023-07-11 0:13 ` Chris Dunlop
2023-07-11 1:57 ` Chris Dunlop
2023-07-11 3:10 ` Dave Chinner
2023-07-11 7:05 ` Chris Dunlop
2023-07-11 22:21 ` Dave Chinner
2023-07-12 1:13 ` Chris Dunlop
2023-07-12 1:42 ` Dave Chinner
2023-07-12 2:17 ` Subject: v5.15 backport - 5e672cd69f0a xfs: non-blocking inodegc pushes Chris Dunlop
2023-07-12 9:26 ` Amir Goldstein
2023-07-13 0:31 ` Chris Dunlop
2023-07-13 0:57 ` Chris Dunlop [this message]
2023-07-11 0:53 ` rm hanging, v6.1.35 Bagas Sanjaya
2023-07-11 1:13 ` Chris Dunlop
2023-07-11 2:29 ` Dave Chinner
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=20230713005744.GA1043347@onthe.net.au \
--to=chris@onthe.net.au \
--cc=amir73il@gmail.com \
--cc=chandan.babu@oracle.com \
--cc=david@fromorbit.com \
--cc=djwong@kernel.org \
--cc=leah.rumancik@gmail.com \
--cc=linux-xfs@vger.kernel.org \
--cc=lrumancik@google.com \
--cc=tytso@mit.edu \
/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