summaryrefslogtreecommitdiffstats
path: root/man/man5/zfs-module-parameters.5
diff options
context:
space:
mode:
authorMatthew Ahrens <[email protected]>2019-06-12 13:13:09 -0700
committerBrian Behlendorf <[email protected]>2019-06-12 13:13:09 -0700
commitd9b4bf0665a0b1a7af2bbb34c60bca612956022d (patch)
treec90c5694edb1dd655ecbe46caac64c2be50229d7 /man/man5/zfs-module-parameters.5
parentd9cd66e45f285356624d26eb92e10e2baf2738ee (diff)
fat zap should prefetch when iterating
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. Reviewed-by: Andreas Dilger <[email protected]> Reviewed-by: Brian Behlendorf <[email protected]> Signed-off-by: Matthew Ahrens <[email protected]> External-issue: DLPX-58347 Closes #8862
Diffstat (limited to 'man/man5/zfs-module-parameters.5')
-rw-r--r--man/man5/zfs-module-parameters.525
1 files changed, 25 insertions, 0 deletions
diff --git a/man/man5/zfs-module-parameters.5 b/man/man5/zfs-module-parameters.5
index f9fc3e0f6..604f2f6c9 100644
--- a/man/man5/zfs-module-parameters.5
+++ b/man/man5/zfs-module-parameters.5
@@ -107,6 +107,18 @@ Default value: \fB6\fR.
.sp
.ne 2
.na
+\fBdmu_prefetch_max\fR (int)
+.ad
+.RS 12n
+Limit the amount we can prefetch with one call to this amount (in bytes).
+This helps to limit the amount of memory that can be used by prefetching.
+.sp
+Default value: \fB134,217,728\fR (128MB).
+.RE
+
+.sp
+.ne 2
+.na
\fBignore_hole_birth\fR (int)
.ad
.RS 12n
@@ -505,6 +517,19 @@ Default value: \fB32,768\fR.
.sp
.ne 2
.na
+\fBzap_iterate_prefetch\fR (int)
+.ad
+.RS 12n
+If this is set, when we start iterating over a ZAP object, zfs will prefetch
+the entire object (all leaf blocks). However, this is limited by
+\fBdmu_prefetch_max\fR.
+.sp
+Use \fB1\fR for on (default) and \fB0\fR for off.
+.RE
+
+.sp
+.ne 2
+.na
\fBzfetch_array_rd_sz\fR (ulong)
.ad
.RS 12n