From 61586dd64709e2d85c8cb969a99d3e78eda6f815 Mon Sep 17 00:00:00 2001 From: Alexander Motin Date: Fri, 7 Jun 2019 19:03:17 +0000 Subject: [PATCH] Explicitly start ARC adjustment on limits change. While formally it is not necessary, but the sooner it start, the sooner it finish, and supposedly less disturbing for workload it will be. MFC after: 2 weeks --- sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c index ab4891a602ff..0c943e8f976f 100644 --- a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c +++ b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c @@ -1233,6 +1233,12 @@ sysctl_vfs_zfs_arc_meta_limit(SYSCTL_HANDLER_ARGS) return (EINVAL); arc_meta_limit = val; + + mutex_enter(&arc_adjust_lock); + arc_adjust_needed = B_TRUE; + mutex_exit(&arc_adjust_lock); + zthr_wakeup(arc_adjust_zthr); + return (0); } @@ -1294,6 +1300,11 @@ sysctl_vfs_zfs_arc_max(SYSCTL_HANDLER_ARGS) zfs_arc_max = arc_c; + mutex_enter(&arc_adjust_lock); + arc_adjust_needed = B_TRUE; + mutex_exit(&arc_adjust_lock); + zthr_wakeup(arc_adjust_zthr); + return (0); }