]> git.karo-electronics.de Git - karo-tx-linux.git/commit
Btrfs: do not try and lookup the file extent when finishing ordered io
authorJosef Bacik <josef@redhat.com>
Tue, 2 Feb 2010 20:50:10 +0000 (20:50 +0000)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 13 Aug 2010 20:20:11 +0000 (13:20 -0700)
commit8fde9c08a05eeec46081864307877d361fdbaafa
tree24446819bf81a53f9c02f4f666bf0b93ea9f5945
parentfa3c9782cdbb89ba2139e7c2edc1ae562582a6ba
Btrfs: do not try and lookup the file extent when finishing ordered io

commit efd049fb26a162c3830fd3cb1001fdc09b147f3b upstream.

When running the following fio job

[torrent]
filename=torrent-test
rw=randwrite
size=4g
filesize=4g
bs=4k
ioengine=sync

you would see long stalls where no work was being done.  That is because we were
doing all this extra work to read in the file extent outside of the transaction,
however in the random io case this ends up hurting us because the file extents
are not there to begin with.  So axe this logic, since we end up reading in the
file extent when we go to update it anyway.  This took the fio job from 11 mb/s
with several ~10 second stalls to 24 mb/s to a couple of 1-2 second stalls.

Signed-off-by: Josef Bacik <josef@redhat.com>
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Acked-by: Jeff Mahoney <jeffm@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
fs/btrfs/inode.c