diff options
author | Andriy Gapon <avg@FreeBSD.org> | 2019-10-16 07:02:02 +0000 |
---|---|---|
committer | Andriy Gapon <avg@FreeBSD.org> | 2019-10-16 07:02:02 +0000 |
commit | f4902c2a07172325115df5f6dad0519d4a63244f (patch) | |
tree | 3a0c64e4975de2883418354520da0ff1aad28be3 /cddl | |
parent | 35b885b060938f1f618e83e93a871548e64005c4 (diff) | |
download | src-f4902c2a07172325115df5f6dad0519d4a63244f.tar.gz src-f4902c2a07172325115df5f6dad0519d4a63244f.zip |
9691 fat zap should prefetch when iterating
illumos/illumos-gate@52abb70e073c2a88808c0d66fd810ba8c5080572
https://github.com/illumos/illumos-gate/commit/52abb70e073c2a88808c0d66fd810ba8c5080572
https://www.illumos.org/issues/9691
When iterating over a ZAP object, we're almost always certain to
iterate over the entire object. If there are multiple leaf blocks, we
can realize a performance win by issuing reads for all the leaf blocks
in parallel when the iteration begins.
For example, if we have 10,000 snapshots, "zfs destroy -nv
pool/fs@1%9999" can take 30 minutes when the cache is cold. This
change provides a >3x performance improvement, by issuing the reads
for all ~64 blocks of each ZAP object in parallel.
Author: Matthew Ahrens <mahrens@delphix.com>
Notes
Notes:
svn path=/vendor-sys/illumos/dist/; revision=353619
Diffstat (limited to 'cddl')
0 files changed, 0 insertions, 0 deletions