summaryrefslogtreecommitdiff
path: root/fs/bcachefs
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@linux.dev>2023-05-14 00:21:55 +0300
committerKent Overstreet <kent.overstreet@linux.dev>2023-10-23 00:10:01 +0300
commitd598a9b7e27158d3b6972077e2f7296f279c2e8b (patch)
treeba1c7411139dd9d8bbafc87bbbefcc79fcbbaffb /fs/bcachefs
parent73da30e8e0f8ffcc91691934f202ab6e2f985604 (diff)
downloadlinux-d598a9b7e27158d3b6972077e2f7296f279c2e8b.tar.xz
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>
Diffstat (limited to 'fs/bcachefs')
-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 abb444192749..ee7ba700e75f 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));