From: "Darrick J. Wong" <darrick.wong@oracle.com>
To: Christoph Hellwig <hch@infradead.org>
Cc: linux-xfs@vger.kernel.org, bfoster@redhat.com
Subject: Re: [PATCH 2/4] xfs: measure all contiguous previous extents for prealloc size
Date: Fri, 22 May 2020 17:25:00 -0700 [thread overview]
Message-ID: <20200523002500.GC8230@magnolia> (raw)
In-Reply-To: <20200522065650.GA11266@infradead.org>
On Thu, May 21, 2020 at 11:56:50PM -0700, Christoph Hellwig wrote:
> On Thu, May 21, 2020 at 07:53:09PM -0700, Darrick J. Wong wrote:
> > From: Darrick J. Wong <darrick.wong@oracle.com>
> >
> > When we're estimating a new speculative preallocation length for an
> > extending write, we should walk backwards through the extent list to
> > determine the number of number of blocks that are physically and
> > logically contiguous with the write offset, and use that as an input to
> > the preallocation size computation.
> >
> > This way, preallocation length is truly measured by the effectiveness of
> > the allocator in giving us contiguous allocations without being
> > influenced by the state of a given extent. This fixes both the problem
> > where ZERO_RANGE within an EOF can reduce preallocation, and prevents
> > the unnecessary shrinkage of preallocation when delalloc extents are
> > turned into unwritten extents.
> >
> > This was found as a regression in xfs/014 after changing delalloc writes
> > to create unwritten extents during writeback.
> >
> > Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
>
> Looks good,
>
> Reviewed-by: Christoph Hellwig <hch@lst.de>
>
> A minor nitpick, though:
>
> > + struct xfs_iext_cursor ncur = *icur; /* struct copy */
> >
> > + struct xfs_bmbt_irec prev, got;
>
> The comment is pretty pointless, as the struct copy is obviously form
> the syntax (and we do it for the xfs_iext_cursor structure in quite a
> few other places).
>
> Also please don't add empty lines between the variable declarations.
I didn't... not sure where that came from.
--D
next prev parent reply other threads:[~2020-05-23 0:25 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-05-22 2:52 [PATCH v3 0/4] xfs: fix stale disk exposure after crash Darrick J. Wong
2020-05-22 2:53 ` [PATCH 1/4] xfs: don't fail unwritten extent conversion on writeback due to edquot Darrick J. Wong
2020-05-22 2:53 ` [PATCH 2/4] xfs: measure all contiguous previous extents for prealloc size Darrick J. Wong
2020-05-22 6:56 ` Christoph Hellwig
2020-05-23 0:25 ` Darrick J. Wong [this message]
2020-05-22 11:27 ` Brian Foster
2020-05-23 0:27 ` Darrick J. Wong
2020-05-23 7:09 ` Christoph Hellwig
2020-05-22 2:53 ` [PATCH 3/4] xfs: refactor xfs_iomap_prealloc_size Darrick J. Wong
2020-05-22 6:57 ` Christoph Hellwig
2020-05-22 2:53 ` [PATCH 4/4] xfs: force writes to delalloc regions to unwritten Darrick J. Wong
2020-05-22 3:31 ` Dave Chinner
2020-05-22 3:56 ` Darrick J. Wong
-- strict thread matches above, loose matches on Subject: below --
2020-05-23 16:49 [PATCH v4 0/4] xfs: fix stale disk exposure after crash Darrick J. Wong
2020-05-23 16:49 ` [PATCH 2/4] xfs: measure all contiguous previous extents for prealloc size Darrick J. Wong
2020-05-24 9:14 ` Christoph Hellwig
2020-05-24 17:16 ` Darrick J. Wong
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=20200523002500.GC8230@magnolia \
--to=darrick.wong@oracle.com \
--cc=bfoster@redhat.com \
--cc=hch@infradead.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 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.