From: "Darrick J. Wong" <djwong@kernel.org>
To: Kundan Kumar <kundanthebest@gmail.com>
Cc: Anuj gupta <anuj1072538@gmail.com>,
Christoph Hellwig <hch@lst.de>,
Anuj Gupta/Anuj Gupta <anuj20.g@samsung.com>,
Kundan Kumar <kundan.kumar@samsung.com>,
jaegeuk@kernel.org, chao@kernel.org, viro@zeniv.linux.org.uk,
brauner@kernel.org, jack@suse.cz, miklos@szeredi.hu,
agruenba@redhat.com, trondmy@kernel.org, anna@kernel.org,
akpm@linux-foundation.org, willy@infradead.org,
mcgrof@kernel.org, clm@meta.com, david@fromorbit.com,
amir73il@gmail.com, axboe@kernel.dk, ritesh.list@gmail.com,
dave@stgolabs.net, p.raghav@samsung.com, da.gomez@samsung.com,
linux-f2fs-devel@lists.sourceforge.net,
linux-fsdevel@vger.kernel.org, gfs2@lists.linux.dev,
linux-nfs@vger.kernel.org, linux-mm@kvack.org,
gost.dev@samsung.com
Subject: Re: [PATCH 00/13] Parallelizing filesystem writeback
Date: Wed, 11 Jun 2025 08:51:44 -0700 [thread overview]
Message-ID: <20250611155144.GD6138@frogsfrogsfrogs> (raw)
In-Reply-To: <CALYkqXqVRYqq+5_5W4Sdeh07M8DyEYLvrsm3yqhhCQTY0pvU1g@mail.gmail.com>
On Wed, Jun 04, 2025 at 02:52:34PM +0530, Kundan Kumar wrote:
> > > > For xfs used this command:
> > > > xfs_io -c "stat" /mnt/testfile
> > > > And for ext4 used this:
> > > > filefrag /mnt/testfile
> > >
> > > filefrag merges contiguous extents, and only counts up for discontiguous
> > > mappings, while fsxattr.nextents counts all extent even if they are
> > > contiguous. So you probably want to use filefrag for both cases.
> >
> > Got it — thanks for the clarification. We'll switch to using filefrag
> > and will share updated extent count numbers accordingly.
>
> Using filefrag, we recorded extent counts on xfs and ext4 at three
> stages:
> a. Just after a 1G random write,
> b. After a 30-second wait,
> c. After unmounting and remounting the filesystem,
>
> xfs
> Base
> a. 6251 b. 2526 c. 2526
> Parallel writeback
> a. 6183 b. 2326 c. 2326
Interesting that the mapping record count goes down...
I wonder, you said the xfs filesystem has 4 AGs and 12 cores, so I guess
wb_ctx_arr[] is 12? I wonder, do you see a knee point in writeback
throughput when the # of wb contexts exceeds the AG count?
Though I guess for the (hopefully common) case of pure overwrites, we
don't have to do any metadata updates so we wouldn't really hit a
scaling limit due to ag count or log contention or whatever. Does that
square with what you see?
> ext4
> Base
> a. 7080 b. 7080 c. 11
> Parallel writeback
> a. 5961 b. 5961 c. 11
Hum, that's particularly ... interesting. I wonder what the mapping
count behaviors are when you turn off delayed allocation?
--D
> Used the same fio commandline as earlier:
> fio --filename=/mnt/testfile --name=test --bs=4k --iodepth=1024
> --rw=randwrite --ioengine=io_uring --fallocate=none --numjobs=1
> --size=1G --direct=0 --eta-interval=1 --eta-newline=1
> --group_reporting
>
> filefrag command:
> filefrag /mnt/testfile
>
WARNING: multiple messages have this Message-ID (diff)
From: "Darrick J. Wong via Linux-f2fs-devel" <linux-f2fs-devel@lists.sourceforge.net>
To: Kundan Kumar <kundanthebest@gmail.com>
Cc: ritesh.list@gmail.com, Anuj gupta <anuj1072538@gmail.com>,
jack@suse.cz, amir73il@gmail.com, david@fromorbit.com,
gfs2@lists.linux.dev, linux-mm@kvack.org, clm@meta.com,
Christoph Hellwig <hch@lst.de>,
dave@stgolabs.net, agruenba@redhat.com, miklos@szeredi.hu,
Kundan Kumar <kundan.kumar@samsung.com>,
willy@infradead.org, p.raghav@samsung.com,
Anuj Gupta/Anuj Gupta <anuj20.g@samsung.com>,
linux-nfs@vger.kernel.org, da.gomez@samsung.com,
viro@zeniv.linux.org.uk, jaegeuk@kernel.org, axboe@kernel.dk,
brauner@kernel.org, linux-f2fs-devel@lists.sourceforge.net,
mcgrof@kernel.org, anna@kernel.org, gost.dev@samsung.com,
linux-fsdevel@vger.kernel.org, akpm@linux-foundation.org,
trondmy@kernel.org
Subject: Re: [f2fs-dev] [PATCH 00/13] Parallelizing filesystem writeback
Date: Wed, 11 Jun 2025 08:51:44 -0700 [thread overview]
Message-ID: <20250611155144.GD6138@frogsfrogsfrogs> (raw)
In-Reply-To: <CALYkqXqVRYqq+5_5W4Sdeh07M8DyEYLvrsm3yqhhCQTY0pvU1g@mail.gmail.com>
On Wed, Jun 04, 2025 at 02:52:34PM +0530, Kundan Kumar wrote:
> > > > For xfs used this command:
> > > > xfs_io -c "stat" /mnt/testfile
> > > > And for ext4 used this:
> > > > filefrag /mnt/testfile
> > >
> > > filefrag merges contiguous extents, and only counts up for discontiguous
> > > mappings, while fsxattr.nextents counts all extent even if they are
> > > contiguous. So you probably want to use filefrag for both cases.
> >
> > Got it — thanks for the clarification. We'll switch to using filefrag
> > and will share updated extent count numbers accordingly.
>
> Using filefrag, we recorded extent counts on xfs and ext4 at three
> stages:
> a. Just after a 1G random write,
> b. After a 30-second wait,
> c. After unmounting and remounting the filesystem,
>
> xfs
> Base
> a. 6251 b. 2526 c. 2526
> Parallel writeback
> a. 6183 b. 2326 c. 2326
Interesting that the mapping record count goes down...
I wonder, you said the xfs filesystem has 4 AGs and 12 cores, so I guess
wb_ctx_arr[] is 12? I wonder, do you see a knee point in writeback
throughput when the # of wb contexts exceeds the AG count?
Though I guess for the (hopefully common) case of pure overwrites, we
don't have to do any metadata updates so we wouldn't really hit a
scaling limit due to ag count or log contention or whatever. Does that
square with what you see?
> ext4
> Base
> a. 7080 b. 7080 c. 11
> Parallel writeback
> a. 5961 b. 5961 c. 11
Hum, that's particularly ... interesting. I wonder what the mapping
count behaviors are when you turn off delayed allocation?
--D
> Used the same fio commandline as earlier:
> fio --filename=/mnt/testfile --name=test --bs=4k --iodepth=1024
> --rw=randwrite --ioengine=io_uring --fallocate=none --numjobs=1
> --size=1G --direct=0 --eta-interval=1 --eta-newline=1
> --group_reporting
>
> filefrag command:
> filefrag /mnt/testfile
>
_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel
next prev parent reply other threads:[~2025-06-11 15:51 UTC|newest]
Thread overview: 80+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CGME20250529113215epcas5p2edd67e7b129621f386be005fdba53378@epcas5p2.samsung.com>
2025-05-29 11:14 ` [PATCH 00/13] Parallelizing filesystem writeback Kundan Kumar
2025-05-29 11:14 ` [f2fs-dev] " Kundan Kumar
2025-05-29 11:14 ` [PATCH 01/13] writeback: add infra for parallel writeback Kundan Kumar
2025-05-29 11:14 ` [f2fs-dev] " Kundan Kumar
2025-05-29 11:14 ` [PATCH 02/13] writeback: add support to initialize and free multiple writeback ctxs Kundan Kumar
2025-05-29 11:14 ` [f2fs-dev] " Kundan Kumar
2025-05-29 11:14 ` [PATCH 03/13] writeback: link bdi_writeback to its corresponding bdi_writeback_ctx Kundan Kumar
2025-05-29 11:14 ` [f2fs-dev] " Kundan Kumar
2025-05-29 11:14 ` [PATCH 04/13] writeback: affine inode to a writeback ctx within a bdi Kundan Kumar
2025-05-29 11:14 ` [f2fs-dev] " Kundan Kumar
2025-06-02 14:24 ` Christoph Hellwig
2025-06-02 14:24 ` [f2fs-dev] " Christoph Hellwig
2025-05-29 11:14 ` [PATCH 05/13] writeback: modify bdi_writeback search logic to search across all wb ctxs Kundan Kumar
2025-05-29 11:14 ` [f2fs-dev] " Kundan Kumar
2025-05-29 11:14 ` [PATCH 06/13] writeback: invoke all writeback contexts for flusher and dirtytime writeback Kundan Kumar
2025-05-29 11:14 ` [f2fs-dev] " Kundan Kumar
2025-05-29 11:14 ` [PATCH 07/13] writeback: modify sync related functions to iterate over all writeback contexts Kundan Kumar
2025-05-29 11:14 ` [f2fs-dev] " Kundan Kumar
2025-05-29 11:14 ` [PATCH 08/13] writeback: add support to collect stats for all writeback ctxs Kundan Kumar
2025-05-29 11:14 ` [f2fs-dev] " Kundan Kumar
2025-05-29 11:15 ` [PATCH 09/13] f2fs: add support in f2fs to handle multiple writeback contexts Kundan Kumar
2025-05-29 11:15 ` [f2fs-dev] " Kundan Kumar
2025-06-02 14:20 ` Christoph Hellwig
2025-06-02 14:20 ` [f2fs-dev] " Christoph Hellwig
2025-05-29 11:15 ` [PATCH 10/13] fuse: add support for multiple writeback contexts in fuse Kundan Kumar
2025-05-29 11:15 ` [f2fs-dev] " Kundan Kumar
2025-06-02 14:21 ` Christoph Hellwig
2025-06-02 14:21 ` [f2fs-dev] " Christoph Hellwig
2025-06-02 15:50 ` Bernd Schubert
2025-06-02 15:50 ` [f2fs-dev] " Bernd Schubert
2025-06-02 15:55 ` Christoph Hellwig
2025-06-02 15:55 ` [f2fs-dev] " Christoph Hellwig
2025-05-29 11:15 ` [PATCH 11/13] gfs2: add support in gfs2 to handle multiple writeback contexts Kundan Kumar
2025-05-29 11:15 ` [f2fs-dev] " Kundan Kumar
2025-05-29 11:15 ` [PATCH 12/13] nfs: add support in nfs " Kundan Kumar
2025-05-29 11:15 ` [f2fs-dev] " Kundan Kumar
2025-06-02 14:22 ` Christoph Hellwig
2025-06-02 14:22 ` [f2fs-dev] " Christoph Hellwig
2025-05-29 11:15 ` [PATCH 13/13] writeback: set the num of writeback contexts to number of online cpus Kundan Kumar
2025-05-29 11:15 ` [f2fs-dev] " Kundan Kumar
2025-06-03 14:36 ` kernel test robot
2025-06-03 14:36 ` [f2fs-dev] " kernel test robot
2025-05-30 3:37 ` [PATCH 00/13] Parallelizing filesystem writeback Andrew Morton
2025-05-30 3:37 ` [f2fs-dev] " Andrew Morton
2025-06-25 15:44 ` Kundan Kumar
2025-06-25 15:44 ` [f2fs-dev] " Kundan Kumar
2025-07-02 18:43 ` Darrick J. Wong
2025-07-02 18:43 ` [f2fs-dev] " Darrick J. Wong via Linux-f2fs-devel
2025-07-03 13:05 ` Christoph Hellwig
2025-07-03 13:05 ` [f2fs-dev] " Christoph Hellwig
2025-07-04 7:02 ` Kundan Kumar
2025-07-04 7:02 ` [f2fs-dev] " Kundan Kumar
2025-07-07 14:28 ` Christoph Hellwig
2025-07-07 14:28 ` [f2fs-dev] " Christoph Hellwig
2025-07-07 15:47 ` Jan Kara
2025-07-07 15:47 ` [f2fs-dev] " Jan Kara
2025-06-02 14:19 ` Christoph Hellwig
2025-06-02 14:19 ` [f2fs-dev] " Christoph Hellwig
2025-06-03 9:16 ` Anuj Gupta/Anuj Gupta
2025-06-03 9:16 ` [f2fs-dev] " Anuj Gupta/Anuj Gupta
2025-06-03 13:24 ` Christoph Hellwig
2025-06-03 13:24 ` [f2fs-dev] " Christoph Hellwig
2025-06-03 13:52 ` Anuj gupta
2025-06-03 13:52 ` [f2fs-dev] " Anuj gupta
2025-06-03 14:04 ` Christoph Hellwig
2025-06-03 14:04 ` [f2fs-dev] " Christoph Hellwig
2025-06-03 14:05 ` Christoph Hellwig
2025-06-03 14:05 ` [f2fs-dev] " Christoph Hellwig
2025-06-06 5:04 ` Kundan Kumar
2025-06-06 5:04 ` [f2fs-dev] " Kundan Kumar
2025-06-09 4:00 ` Christoph Hellwig
2025-06-09 4:00 ` [f2fs-dev] " Christoph Hellwig
2025-06-04 9:22 ` Kundan Kumar
2025-06-04 9:22 ` [f2fs-dev] " Kundan Kumar
2025-06-11 15:51 ` Darrick J. Wong [this message]
2025-06-11 15:51 ` Darrick J. Wong via Linux-f2fs-devel
2025-06-24 5:59 ` Kundan Kumar
2025-06-24 5:59 ` [f2fs-dev] " Kundan Kumar
2025-07-02 18:44 ` Darrick J. Wong
2025-07-02 18:44 ` [f2fs-dev] " Darrick J. Wong via Linux-f2fs-devel
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=20250611155144.GD6138@frogsfrogsfrogs \
--to=djwong@kernel.org \
--cc=agruenba@redhat.com \
--cc=akpm@linux-foundation.org \
--cc=amir73il@gmail.com \
--cc=anna@kernel.org \
--cc=anuj1072538@gmail.com \
--cc=anuj20.g@samsung.com \
--cc=axboe@kernel.dk \
--cc=brauner@kernel.org \
--cc=chao@kernel.org \
--cc=clm@meta.com \
--cc=da.gomez@samsung.com \
--cc=dave@stgolabs.net \
--cc=david@fromorbit.com \
--cc=gfs2@lists.linux.dev \
--cc=gost.dev@samsung.com \
--cc=hch@lst.de \
--cc=jack@suse.cz \
--cc=jaegeuk@kernel.org \
--cc=kundan.kumar@samsung.com \
--cc=kundanthebest@gmail.com \
--cc=linux-f2fs-devel@lists.sourceforge.net \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=linux-nfs@vger.kernel.org \
--cc=mcgrof@kernel.org \
--cc=miklos@szeredi.hu \
--cc=p.raghav@samsung.com \
--cc=ritesh.list@gmail.com \
--cc=trondmy@kernel.org \
--cc=viro@zeniv.linux.org.uk \
--cc=willy@infradead.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.