]> git.karo-electronics.de Git - karo-tx-linux.git/commit
Btrfs: do not async metadata csumming in certain situations
authorJosef Bacik <jbacik@fusionio.com>
Tue, 25 Sep 2012 18:25:58 +0000 (14:25 -0400)
committerChris Mason <chris.mason@fusionio.com>
Thu, 4 Oct 2012 13:40:07 +0000 (09:40 -0400)
commit6b7649a70ce2a13c5f3b80744e8c2651fc4eaf37
treee4d1326ce31c93c6b53459e75177ea8a66776b73
parent56dacb0bc049b29d29a0d0415617a8cb5a855322
Btrfs: do not async metadata csumming in certain situations

There are a coule scenarios where farming metadata csumming off to an async
thread doesn't help.  The first is if our processor supports crc32c, in
which case the csumming will be fast and so the overhead of the async model
is not worth the cost.  The other case is for our tree log.  We will be
making that stuff dirty and writing it out and waiting for it immediately.
Even with software crc32c this gives me a ~15% increase in speed with O_SYNC
workloads.  Thanks,

Signed-off-by: Josef Bacik <jbacik@fusionio.com>
fs/btrfs/disk-io.c
fs/btrfs/extent_io.c
fs/btrfs/extent_io.h