bcachefs: Update path microoptimizations
authorKent Overstreet <kent.overstreet@gmail.com>
Sat, 21 Sep 2019 19:29:34 +0000 (15:29 -0400)
committerKent Overstreet <kent.overstreet@linux.dev>
Sun, 22 Oct 2023 21:08:27 +0000 (17:08 -0400)
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
fs/bcachefs/btree_locking.h
fs/bcachefs/btree_update_leaf.c

index 6591da0a52b37ce9dfe2a1b2787a8f8933bb4fde..aa5882cc485285602e10c66f3510c3e88d59121b 100644 (file)
@@ -211,7 +211,7 @@ static inline void bch2_btree_node_lock_write(struct btree *b, struct btree_iter
        EBUG_ON(iter->l[b->c.level].b != b);
        EBUG_ON(iter->l[b->c.level].lock_seq != b->c.lock.state.seq);
 
-       if (!six_trylock_write(&b->c.lock))
+       if (unlikely(!six_trylock_write(&b->c.lock)))
                __bch2_btree_node_lock_write(b, iter);
 }
 
index 0b3eed506c2c8ede0d11f5d04330ecd7fba911c0..a0a59cd496a31fe2f3a4b50b19fe341543017c53 100644 (file)
@@ -44,7 +44,7 @@ inline void bch2_btree_node_lock_for_insert(struct bch_fs *c, struct btree *b,
 {
        bch2_btree_node_lock_write(b, iter);
 
-       if (btree_node_just_written(b) &&
+       if (unlikely(btree_node_just_written(b)) &&
            bch2_btree_post_write_cleanup(c, b))
                bch2_btree_iter_reinit_node(iter, b);
 
@@ -605,8 +605,9 @@ static inline int do_btree_insert_at(struct btree_trans *trans,
                                goto out_clear_replicas;
                }
 
-       trans_for_each_update(trans, i)
-               btree_insert_entry_checks(trans, i);
+       if (IS_ENABLED(CONFIG_BCACHEFS_DEBUG))
+               trans_for_each_update(trans, i)
+                       btree_insert_entry_checks(trans, i);
        bch2_btree_trans_verify_locks(trans);
 
        /*