bcache: Don't touch bucket gen for dirty ptrs
Unnecessary since a bucket that has dirty pointers pointing to it can never be invalidated - and skipping it is a measurable performance boost, since the bucket gen will usually be a cache miss. Signed-off-by: Kent Overstreet <kmo@daterainc.com>
This commit is contained in:
@@ -176,10 +176,14 @@ bool bch_ptr_bad(struct btree *b, const struct bkey *k)
|
||||
bch_ptr_invalid(b, k))
|
||||
return true;
|
||||
|
||||
for (i = 0; i < KEY_PTRS(k); i++) {
|
||||
for (i = 0; i < KEY_PTRS(k); i++)
|
||||
if (!ptr_available(b->c, k, i))
|
||||
return true;
|
||||
|
||||
if (!expensive_debug_checks(b->c) && KEY_DIRTY(k))
|
||||
return false;
|
||||
|
||||
for (i = 0; i < KEY_PTRS(k); i++) {
|
||||
g = PTR_BUCKET(b->c, k, i);
|
||||
stale = ptr_stale(b->c, k, i);
|
||||
|
||||
|
Reference in New Issue
Block a user