Allow "arc_p" to drop to zero or grow to "arc_c"

Setting a limit on the minimum value of "arc_p" has been shown to have
detrimental effects on the arc hit rate for certain "metadata" intensive
workloads. Specifically, this has been exhibited with a workload that
constantly dirties new "metadata" but also frequently touches a "small"
amount of mfu data (e.g. mkdir's).

What is seen is that the new anon data throttles the mfu list to a
negligible size (because arc_p > anon + mru in arc_get_data_buf), even
though the mfu ghost list receives a constant stream of hits. To remedy
this, arc_p is now allowed to drop to zero if the algorithm deems it
necessary.

Signed-off-by: Prakash Surya <surya1@llnl.gov>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Issue #2110
This commit is contained in:
Prakash Surya
2014-01-03 10:20:21 -08:00
committed by Brian Behlendorf
parent 89c8cac493
commit f521ce1b9c
2 changed files with 4 additions and 24 deletions
-11
View File
@@ -293,17 +293,6 @@ Min life of prefetch block
Default value: \fB100\fR.
.RE
.sp
.ne 2
.na
\fBzfs_arc_p_min_shift\fR (int)
.ad
.RS 12n
arc_c shift to calc min/max arc_p
.sp
Default value: \fB4\fR.
.RE
.sp
.ne 2
.na