summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@linux.dev>2023-05-13 17:21:55 -0400
committerKent Overstreet <kent.overstreet@linux.dev>2023-05-13 17:24:18 -0400
commit2eae07ff7dfa8a594584935cb9a93b96b48090cd (patch)
tree5061a6c7b5ffba38483e9adc9f27439ad0d93fad
parentaa74a66fe2ada7429302f8552f400973f1466cf0 (diff)
bcachefs: Use memcpy_u64s_small() for copying keys
Small performance optimization; an open coded loop is better than rep ; movsq for small copies. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
-rw-r--r--fs/bcachefs/bkey.c2
-rw-r--r--fs/bcachefs/bkey_sort.c2
-rw-r--r--fs/bcachefs/bset.c2
3 files changed, 3 insertions, 3 deletions
diff --git a/fs/bcachefs/bkey.c b/fs/bcachefs/bkey.c
index ff5d01e6e674..b58b876fdc71 100644
--- a/fs/bcachefs/bkey.c
+++ b/fs/bcachefs/bkey.c
@@ -360,7 +360,7 @@ bool bch2_bkey_pack(struct bkey_packed *out, const struct bkey_i *in,
memmove_u64s((u64 *) out + format->key_u64s,
&in->v,
bkey_val_u64s(&in->k));
- memcpy_u64s(out, &tmp, format->key_u64s);
+ memcpy_u64s_small(out, &tmp, format->key_u64s);
return true;
}
diff --git a/fs/bcachefs/bkey_sort.c b/fs/bcachefs/bkey_sort.c
index cdef41db7692..b9aa027c881b 100644
--- a/fs/bcachefs/bkey_sort.c
+++ b/fs/bcachefs/bkey_sort.c
@@ -188,7 +188,7 @@ unsigned bch2_sort_keys(struct bkey_packed *dst,
}
if (bkey_deleted(in)) {
- memcpy_u64s(out, in, bkeyp_key_u64s(f, in));
+ memcpy_u64s_small(out, in, bkeyp_key_u64s(f, in));
set_bkeyp_val_u64s(f, out, 0);
} else {
bkey_copy(out, in);
diff --git a/fs/bcachefs/bset.c b/fs/bcachefs/bset.c
index a4c06e856c2e..4d55011551e0 100644
--- a/fs/bcachefs/bset.c
+++ b/fs/bcachefs/bset.c
@@ -1022,7 +1022,7 @@ void bch2_bset_insert(struct btree *b,
set_btree_bset_end(b, t);
}
- memcpy_u64s(where, src,
+ memcpy_u64s_small(where, src,
bkeyp_key_u64s(f, src));
memcpy_u64s(bkeyp_val(f, where), &insert->v,
bkeyp_val_u64s(f, src));