mirror of
https://github.com/freebsd/freebsd-src.git
synced 2026-10-31 04:45:39 +01:00
BRT: Skip duplicate BRT prefetches
If there is a pending entry for this block, then we've already issued BRT prefetch for it within this TXG, so don't do it again. BRT vdev lookup and following zap_prefetch_uint64() call can be pretty expensive and should be avoided when not necessary. Reviewed-by: Pawel Jakub Dawidek <[email protected]> Reviewed-by: Brian Behlendorf <[email protected]> Signed-off-by: Alexander Motin <[email protected]> Sponsored by: iXsystems, Inc. Closes #15941
This commit is contained in:
1 parent
dced953b62
commit
fdd8c0aea1
1 file changed
+3
-3
+3
-3
@@ -1472,10 +1472,10 @@ brt_pending_add(spa_t *spa, const blkptr_t *bp, dmu_tx_t *tx)
|
||||
kmem_cache_free(brt_pending_entry_cache, newbpe);
|
||||
} else {
|
||||
ASSERT(bpe == NULL);
|
||||
}
|
||||
|
||||
/* Prefetch BRT entry, as we will need it in the syncing context. */
|
||||
brt_prefetch(brt, bp);
|
||||
/* Prefetch BRT entry for the syncing context. */
|
||||
brt_prefetch(brt, bp);
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
|
||||
Reference in new issue
Block a user