mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-06 01:59:54 -04:00
bcachefs: Optimize __bch2_btree_node_iter_advance()
This replaces an expensive memmove() call with an open-coded version. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
This commit is contained in:
@@ -1429,7 +1429,10 @@ static inline void __bch2_btree_node_iter_advance(struct btree_node_iter *iter,
|
||||
EBUG_ON(iter->data->k > iter->data->end);
|
||||
|
||||
if (unlikely(__btree_node_iter_set_end(iter, 0))) {
|
||||
bch2_btree_node_iter_set_drop(iter, iter->data);
|
||||
/* avoid an expensive memmove call: */
|
||||
iter->data[0] = iter->data[1];
|
||||
iter->data[1] = iter->data[2];
|
||||
iter->data[2] = (struct btree_node_iter_set) { 0, 0 };
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user