summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRich Ercolani <[email protected]>2018-09-05 01:15:14 -0400
committerBrian Behlendorf <[email protected]>2018-09-04 22:15:14 -0700
commit0405eeea6a8d142171ce352d3dac5f08cd6f70f0 (patch)
tree91c81bec2646aa292dde310848c9dd96c783b412
parent27ca030fa68dd58fbb36714a6ddfc3fdf6974df3 (diff)
Added recalculation of ARC stats mid-eviction
Re-adds a recalculation step for the ARC stats after the MRU eviction so that we don't pathologically attempt to evict the MFU. Reviewed-by: Richard Elling <[email protected]> Reviewed-by: George Melikov <[email protected]> Reviewed-by: Brian Behlendorf <[email protected]> Authored-by: Mark Johnston <[email protected]> Signed-off-by: Rich Ercolani <[email protected]> Closes #7855
-rw-r--r--module/zfs/arc.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/module/zfs/arc.c b/module/zfs/arc.c
index 727b21f3f..5e53f9879 100644
--- a/module/zfs/arc.c
+++ b/module/zfs/arc.c
@@ -4639,6 +4639,13 @@ arc_adjust(void)
}
/*
+ * Re-sum ARC stats after the first round of evictions.
+ */
+ asize = aggsum_value(&arc_size);
+ ameta = aggsum_value(&arc_meta_used);
+
+
+ /*
* Adjust MFU size
*
* Now that we've tried to evict enough from the MRU to get its