projects
/
linux.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
c81f583
)
bcachefs: Optimize __bch2_btree_node_iter_advance()
author
Kent Overstreet
<kent.overstreet@linux.dev>
Fri, 21 Oct 2022 21:37:42 +0000
(17:37 -0400)
committer
Kent Overstreet
<kent.overstreet@linux.dev>
Sun, 22 Oct 2023 21:09:45 +0000
(17:09 -0400)
This replaces an expensive memmove() call with an open-coded version.
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
fs/bcachefs/bset.c
patch
|
blob
|
history
diff --git
a/fs/bcachefs/bset.c
b/fs/bcachefs/bset.c
index e92737eb34e6cd2889b05bbb307dc56fde0f43da..aa8508efca00ce8237353b82bbddc62e3591908c 100644
(file)
--- a/
fs/bcachefs/bset.c
+++ b/
fs/bcachefs/bset.c
@@
-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;
}