Illumos 6033 - arc_adjust() should search MFU lists

6033 arc_adjust() should search MFU lists for oldest
buffer when adjusting MFU size
Reviewed by: Saso Kiselkov <saso.kiselkov@nexenta.com>
Reviewed by: Xin Li <delphij@delphij.net>
Reviewed by: Prakash Surya <me@prakashsurya.com>
Approved by: Matthew Ahrens <mahrens@delphix.com>

References:
  https://www.illumos.org/issues/6033
  https://github.com/illumos/illumos-gate/commit/31c46cf

Ported-by: kernelOfTruth kerneloftruth@gmail.com
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #3545
This commit is contained in:
Alek Pinchuk 2015-07-01 17:18:08 +02:00 committed by Brian Behlendorf
parent 8f3439733f
commit a7b10a9319

View File

@ -2880,7 +2880,7 @@ arc_adjust(void)
*/
target = arc_size - arc_c;
if (arc_adjust_type(arc_mru) == ARC_BUFC_METADATA &&
if (arc_adjust_type(arc_mfu) == ARC_BUFC_METADATA &&
arc_meta_used > arc_meta_min) {
bytes = arc_adjust_impl(arc_mfu, 0, target, ARC_BUFC_METADATA);
total_evicted += bytes;