From: Brian Foster <bfoster@redhat.com>
To: Alberto Garcia <berto@igalia.com>
Cc: Kevin Wolf <kwolf@redhat.com>,
Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>,
qemu-block@nongnu.org, Dave Chinner <david@fromorbit.com>,
qemu-devel@nongnu.org, Max Reitz <mreitz@redhat.com>,
linux-xfs@vger.kernel.org
Subject: Re: [PATCH 0/1] qcow2: Skip copy-on-write when allocating a zero cluster
Date: Tue, 25 Aug 2020 15:47:24 -0400 [thread overview]
Message-ID: <20200825194724.GA338144@bfoster> (raw)
In-Reply-To: <w51d03etzj8.fsf@maestria.local.igalia.com>
On Tue, Aug 25, 2020 at 07:18:19PM +0200, Alberto Garcia wrote:
> On Tue 25 Aug 2020 06:54:15 PM CEST, Brian Foster wrote:
> > If I compare this 5m fio test between XFS and ext4 on a couple of my
> > systems (with either no prealloc or full file prealloc), I end up seeing
> > ext4 run slightly faster on my vm and XFS slightly faster on bare metal.
> > Either way, I don't see that huge disparity where ext4 is 5-6 times
> > faster than XFS. Can you describe the test, filesystem and storage in
> > detail where you observe such a discrepancy?
>
> Here's the test:
>
> fio --filename=/path/to/file.raw --direct=1 --randrepeat=1 \
> --eta=always --ioengine=libaio --iodepth=32 --numjobs=1 \
> --name=test --size=25G --io_limit=25G --ramp_time=0 \
> --rw=randwrite --bs=4k --runtime=300 --time_based=1
>
My fio fallocates the entire file by default with this command. Is that
the intent of this particular test? I added --fallocate=none to my test
runs to incorporate the allocation cost in the I/Os.
> The size of the XFS filesystem is 126 GB and it's almost empty, here's
> the xfs_info output:
>
> meta-data=/dev/vg/test isize=512 agcount=4, agsize=8248576
> blks
> = sectsz=512 attr=2, projid32bit=1
> = crc=1 finobt=1, sparse=1,
> rmapbt=0
> = reflink=0
> data = bsize=4096 blocks=32994304, imaxpct=25
> = sunit=0 swidth=0 blks
> naming =version 2 bsize=4096 ascii-ci=0, ftype=1
> log =internal log bsize=4096 blocks=16110, version=2
> = sectsz=512 sunit=0 blks, lazy-count=1
> realtime =none extsz=4096 blocks=0, rtextents=0
>
> The size of the ext4 filesystem is 99GB, of which 49GB are free (that
> is, without the file used in this test). The filesystem uses 4KB
> blocks, a 128M journal and these features:
>
> Filesystem revision #: 1 (dynamic)
> Filesystem features: has_journal ext_attr resize_inode dir_index
> filetype needs_recovery extent flex_bg
> sparse_super large_file huge_file uninit_bg
> dir_nlink extra_isize
> Filesystem flags: signed_directory_hash
> Default mount options: user_xattr acl
>
> In both cases I'm using LVM on top of LUKS and the hard drive is a
> Samsung SSD 850 PRO 1TB.
>
> The Linux version is 4.19.132-1 from Debian.
>
Thanks. I don't have LUKS in the mix on my box, but I was running on a
more recent kernel (Fedora 5.7.15-100). I threw v4.19 on the box and saw
a bit more of a delta between XFS (~14k iops) and ext4 (~24k). The same
test shows ~17k iops for XFS and ~19k iops for ext4 on v5.7. If I
increase the size of the LVM volume from 126G to >1TB, ext4 runs at
roughly the same rate and XFS closes the gap to around ~19k iops as
well. I'm not sure what might have changed since v4.19, but care to see
if this is still an issue on a more recent kernel?
Brian
> Berto
>
next prev parent reply other threads:[~2020-08-25 19:57 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-08-14 14:57 [PATCH 0/1] qcow2: Skip copy-on-write when allocating a zero cluster Alberto Garcia
2020-08-14 14:57 ` [PATCH 1/1] " Alberto Garcia
2020-08-14 18:07 ` Vladimir Sementsov-Ogievskiy
2020-08-14 18:06 ` [PATCH 0/1] " Vladimir Sementsov-Ogievskiy
2020-08-17 10:10 ` Kevin Wolf
2020-08-17 15:31 ` Alberto Garcia
2020-08-17 15:53 ` Kevin Wolf
2020-08-17 15:58 ` Alberto Garcia
2020-08-17 18:18 ` Alberto Garcia
2020-08-18 8:18 ` Kevin Wolf
2020-08-19 14:25 ` Alberto Garcia
2020-08-19 15:07 ` Kevin Wolf
2020-08-19 15:37 ` Alberto Garcia
2020-08-19 15:53 ` Alberto Garcia
2020-08-19 17:53 ` Brian Foster
2020-08-20 20:03 ` Alberto Garcia
2020-08-20 21:58 ` Dave Chinner
2020-08-21 11:05 ` Brian Foster
2020-08-21 11:42 ` Alberto Garcia
2020-08-21 12:12 ` Alberto Garcia
2020-08-21 17:02 ` Brian Foster
2020-08-25 12:24 ` Alberto Garcia
2020-08-25 16:54 ` Brian Foster
2020-08-25 17:18 ` Alberto Garcia
2020-08-25 19:47 ` Brian Foster [this message]
2020-08-26 18:34 ` Alberto Garcia
2020-08-27 16:47 ` Brian Foster
2020-08-23 21:59 ` Dave Chinner
2020-08-24 20:14 ` Alberto Garcia
2020-08-21 12:59 ` Brian Foster
2020-08-21 15:51 ` Alberto Garcia
2020-08-23 22:16 ` Dave Chinner
2020-08-21 16:09 ` Alberto Garcia
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=20200825194724.GA338144@bfoster \
--to=bfoster@redhat.com \
--cc=berto@igalia.com \
--cc=david@fromorbit.com \
--cc=kwolf@redhat.com \
--cc=linux-xfs@vger.kernel.org \
--cc=mreitz@redhat.com \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=vsementsov@virtuozzo.com \
/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;
as well as URLs for NNTP newsgroup(s).