Btrfs: change the ordered tree to use a spinlock instead of a mutex
The ordered tree used to need a mutex, but currently all we use it for is to protect the rb_tree, and a spin_lock is just fine for that. Using a spin_lock instead makes dbench run a little faster, 58 mb/s instead of 51 mb/s, and have less latency, 3445.138 ms instead of 3820.633 ms. Signed-off-by: Josef Bacik <josef@redhat.com> Signed-off-by: Chris Mason <chris.mason@oracle.com>
This commit is contained in:
@@ -21,7 +21,7 @@
|
||||
|
||||
/* one of these per inode */
|
||||
struct btrfs_ordered_inode_tree {
|
||||
struct mutex mutex;
|
||||
spinlock_t lock;
|
||||
struct rb_root tree;
|
||||
struct rb_node *last;
|
||||
};
|
||||
@@ -128,7 +128,7 @@ static inline int btrfs_ordered_sum_size(struct btrfs_root *root,
|
||||
static inline void
|
||||
btrfs_ordered_inode_tree_init(struct btrfs_ordered_inode_tree *t)
|
||||
{
|
||||
mutex_init(&t->mutex);
|
||||
spin_lock_init(&t->lock);
|
||||
t->tree = RB_ROOT;
|
||||
t->last = NULL;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user