diff options
author | Josef Bacik <jbacik@fusionio.com> | 2012-09-25 18:25:58 (GMT) |
---|---|---|
committer | Chris Mason <chris.mason@fusionio.com> | 2012-10-09 13:15:40 (GMT) |
commit | de0022b9da616b95ea5b41eab32da825b0b5150f (patch) | |
tree | 5a96323c250b846da82da82ed999828255be0e34 /fs/btrfs/extent_io.h | |
parent | 221b831835421f9451182611fa25fa60f440662f (diff) | |
download | linux-de0022b9da616b95ea5b41eab32da825b0b5150f.tar.xz |
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>
Diffstat (limited to 'fs/btrfs/extent_io.h')
-rw-r--r-- | fs/btrfs/extent_io.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/btrfs/extent_io.h b/fs/btrfs/extent_io.h index 512f8da..a69dea2 100644 --- a/fs/btrfs/extent_io.h +++ b/fs/btrfs/extent_io.h @@ -27,6 +27,7 @@ * type for this bio */ #define EXTENT_BIO_COMPRESSED 1 +#define EXTENT_BIO_TREE_LOG 2 #define EXTENT_BIO_FLAG_SHIFT 16 /* these are bit numbers for test/set bit */ |