From owner-svn-src-head@freebsd.org Tue Apr 10 14:10:01 2018 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 3E780F9FE3A; Tue, 10 Apr 2018 14:10:01 +0000 (UTC) (envelope-from slw@zxy.spb.ru) Received: from zxy.spb.ru (zxy.spb.ru [195.70.199.98]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id CDE1975FD0; Tue, 10 Apr 2018 14:10:00 +0000 (UTC) (envelope-from slw@zxy.spb.ru) Received: from slw by zxy.spb.ru with local (Exim 4.86 (FreeBSD)) (envelope-from ) id 1f5ty9-000Bnj-Sg; Tue, 10 Apr 2018 17:09:57 +0300 Date: Tue, 10 Apr 2018 17:09:57 +0300 From: Slawa Olhovchenkov To: Mark Johnston Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r332365 - head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs Message-ID: <20180410140957.GG6612@zxy.spb.ru> References: <201804101356.w3ADu6Jr072766@repo.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <201804101356.w3ADu6Jr072766@repo.freebsd.org> User-Agent: Mutt/1.5.24 (2015-08-30) X-SA-Exim-Connect-IP: X-SA-Exim-Mail-From: slw@zxy.spb.ru X-SA-Exim-Scanned: No (on zxy.spb.ru); SAEximRunCond expanded to false X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Apr 2018 14:10:01 -0000 On Tue, Apr 10, 2018 at 01:56:06PM +0000, Mark Johnston wrote: > Author: markj > Date: Tue Apr 10 13:56:06 2018 > New Revision: 332365 > URL: https://svnweb.freebsd.org/changeset/base/332365 > > Log: > Set zfs_arc_free_target to v_free_target. > > Page daemon output is now regulated by a PID controller with a setpoint > of v_free_target. Moreover, the page daemon now wakes up regularly > rather than waiting for a wakeup from another thread. This means that > the free page count is unlikely to drop below the old > zfs_arc_free_target value, and as a result the ARC was not readily > freeing pages under memory pressure. Address the immediate problem by > updating zfs_arc_free_target to match the page daemon's new behaviour. Can you explain some more about new page daemon algo (and reclaim zone free memory)? PS: zfs need some more time for free pages from ARC. Also, vanila zfs have broken logic for count used and free ARC's memory. For most correctly count system-wide used and free memory need accounting in-zone free memory. > arc_free_target_init(void *unused __unused) > { > > - zfs_arc_free_target = (vm_cnt.v_free_min / 10) * 11; > + zfs_arc_free_target = vm_cnt.v_free_target; > }