From: Dave Chinner <david@fromorbit.com>
To: alexjlzheng@gmail.com
Cc: alexjlzheng@tencent.com, chandan.babu@oracle.com,
djwong@kernel.org, linux-kernel@vger.kernel.org,
linux-xfs@vger.kernel.org
Subject: Re: [PATCH v2] xfs: remove redundant batch variables for serialization
Date: Thu, 14 Sep 2023 09:44:42 +1000 [thread overview]
Message-ID: <ZQJJasg4eIt99t/0@dread.disaster.area> (raw)
In-Reply-To: <20230913034115.1238353-1-alexjlzheng@tencent.com>
On Wed, Sep 13, 2023 at 11:41:15AM +0800, alexjlzheng@gmail.com wrote:
> On Mon, 11 Sep 2023 07:49:51 +1000, Dave Chinner <david@fromorbit.com> wrote:
> > On Sat, Sep 09, 2023 at 03:17:51PM +0800, alexjlzheng@gmail.com wrote:
> > > From: Jinliang Zheng <alexjlzheng@tencent.com>
> > >
> > > Historically, when generic percpu counters were introduced in xfs for
> > > free block counters by commit 0d485ada404b ("xfs: use generic percpu
> > > counters for free block counter"), the counters used a custom batch
> > > size. In xfs_mod_freecounter(), originally named xfs_mod_fdblocks(),
> > > this patch attempted to serialize the program using a smaller batch size
> > > as parameter to the addition function as the counter approaches 0.
> > >
> > > Commit 8c1903d3081a ("xfs: inode and free block counters need to use
> > > __percpu_counter_compare") pointed out the error in commit 0d485ada404b
> > > ("xfs: use generic percpu counters for free block counter") mentioned
> > > above and said that "Because the counters use a custom batch size, the
> > > comparison functions need to be aware of that batch size otherwise the
> > > comparison does not work correctly". Then percpu_counter_compare() was
> > > replaced with __percpu_counter_compare() with parameter
> > > XFS_FDBLOCKS_BATCH.
> > >
> > > After commit 8c1903d3081a ("xfs: inode and free block counters need to
> > > use __percpu_counter_compare"), the existence of the batch variable is
> > > no longer necessary, so this patch is proposed to simplify the code by
> > > removing it.
> >
> > Hmmmm. Fiddling with percpu counter batch thresholds can expose
> > unexpected corner case behaviours. What testing have you done on
> > this change?
>
> Hi, Dave,
>
> Thank you for your reply.
>
> I have tested the patch using _filebench_ and _fio_.
What about all the ENOSPC and shutdown tests in fstests?
If you haven't exercised ENOSPC conditions in your testing, then you
haven't actually tested whether the new code can accurately and
correctly detect ENOSPC conditions....
Cheers,
Dave.
--
Dave Chinner
david@fromorbit.com
next prev parent reply other threads:[~2023-09-13 23:44 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-09-09 7:17 [PATCH v2] xfs: remove redundant batch variables for serialization alexjlzheng
2023-09-10 21:49 ` Dave Chinner
2023-09-13 3:41 ` alexjlzheng
2023-09-13 3:58 ` alexjlzheng
2023-09-13 23:44 ` Dave Chinner [this message]
2023-09-18 4:33 ` alexjlzheng
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=ZQJJasg4eIt99t/0@dread.disaster.area \
--to=david@fromorbit.com \
--cc=alexjlzheng@gmail.com \
--cc=alexjlzheng@tencent.com \
--cc=chandan.babu@oracle.com \
--cc=djwong@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-xfs@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox