[Top] [All Lists]

slow xfs writes on loopback mounted xfs with dd + seek

To: xfs@xxxxxxxxxxx
Subject: slow xfs writes on loopback mounted xfs with dd + seek
From: Colin Ian King <colin.king@xxxxxxxxxxxxx>
Date: Tue, 11 Sep 2012 10:48:24 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:15.0) Gecko/20120827 Thunderbird/15.0

I've seeing really slow I/O writes on xfs when doing a dd with a seek offset to a file on an xfs file system which is loop mounted.

Reproduced on Linux 3.6.0-rc5 and 3.4

How to reproduce:

dd if=/dev/zero of=xfs.img bs=1M count=1024
mkfs.xfs -f xfs.img
sudo mount -o loop -t xfs xfs.img /mnt/test

First create a large file, write performance is excellent:

sudo dd if=/dev/zero of=/mnt/test/big bs=1M count=500
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 1.69451 s, 309 MB/s

..next seek and write some more blocks, write performance is poor:

sudo dd if=/dev/zero of=/mnt/test/big obs=4K count=8192 seek=131072
8192+0 records in
1024+0 records out
4194304 bytes (4.2 MB) copied, 47.0644 s, 89.1 kB/s

Using blktrace and seektracer I've captured the I/O on the block device containing the xfs.img and I'm seeing ~55-70 seeks per second during the slow writes, which seems excessive.

I can reproduce this on hardware with 1, 4 or 8 CPUs.

I've testing this with other file systems I and don't see this issue, so it looks like an xfs + loop mounted issue.

Is this a known performance "feature"?


<Prev in Thread] Current Thread [Next in Thread>