]> granicus.if.org Git - zfs/commitdiff
arc_meta_limit should be updated when arc_max is changed.
authorGaurav Kumar <gaurav.kumar@nutanix.com>
Wed, 27 Jul 2016 21:27:31 +0000 (14:27 -0700)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Tue, 2 Aug 2016 20:43:36 +0000 (13:43 -0700)
When arc_max is increased, arc_meta_limit will not be updated to 3/4
of the new arc_c_max value.  This was done originally to preserve any
existing maximum value.  This turned out to be counter intuitive to
users and this fix changes that behavior.  If zfs_arc_meta_limit is
non-default, it will be picked up later in the ARC tuning function.

Signed-off-by: Gaurav Kumar <gaurav.kumar@nutanix.com>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #4893

module/zfs/arc.c

index 6d8bd48a3b1851cfa0b0af633246953439035ef7..cc26b2e48bb0d569621a54d141f48b35f31e6ef4 100644 (file)
@@ -5364,7 +5364,7 @@ arc_tuning_update(void)
                arc_c_max = zfs_arc_max;
                arc_c = arc_c_max;
                arc_p = (arc_c >> 1);
-               arc_meta_limit = MIN(arc_meta_limit, (3 * arc_c_max) / 4);
+               arc_meta_limit = (3 * arc_c_max) / 4;
                arc_dnode_limit = arc_meta_limit / 10;
        }