From owner-svn-src-all@FreeBSD.ORG Thu Aug 28 23:22:48 2014 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 0F41E8C6; Thu, 28 Aug 2014 23:22:48 +0000 (UTC) Received: from smtp2.wemm.org (smtp2.wemm.org [IPv6:2001:470:67:39d::78]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "smtp2.wemm.org", Issuer "StartCom Class 1 Primary Intermediate Server CA" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id DA4E71FFD; Thu, 28 Aug 2014 23:22:47 +0000 (UTC) Received: from overcee.wemm.org (canning.wemm.org [192.203.228.65]) by smtp2.wemm.org (Postfix) with ESMTP id 4855CDA8; Thu, 28 Aug 2014 16:22:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=wemm.org; s=m20140428; t=1409268161; bh=goRUCaZyvRXGy4Wo7zjyLKzoRtaW4LDT4P3O7iydC5w=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=OPaKuf74hIn4BwgVmiC8zZTKbbfYSbF3UudiPocbIDlZi97qgOnbmdaHiG64l4yNE 8LHV2T1l1PNm0U6Fi3vammMrqn9QCY0pmuKUaG/vfZj8ZX7yXxLAHvv4mmHC9Tlmv/ 2VzAuN5ueiBgRhYubMoKPxAs3Vy78eeKnvBhtCdo= From: Peter Wemm To: Alan Cox Subject: Re: svn commit: r270759 - in head/sys: cddl/compat/opensolaris/kern cddl/compat/opensolaris/sys cddl/contrib/opensolaris/uts/common/fs/zfs vm Date: Thu, 28 Aug 2014 16:22:31 -0700 Message-ID: <1617817.cOUOX4x8n2@overcee.wemm.org> User-Agent: KMail/4.12.5 (FreeBSD/11.0-CURRENT; KDE/4.12.5; amd64; ; ) In-Reply-To: <53FFAD79.7070106@rice.edu> References: <201408281950.s7SJo90I047213@svn.freebsd.org> <20140828211508.GK46031@over-yonder.net> <53FFAD79.7070106@rice.edu> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="nextPart1965031.UcmHp7AfKf"; micalg="pgp-sha1"; protocol="application/pgp-signature" Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, Dmitry Morozovsky , "Matthew D. Fuller" , svn-src-head@freebsd.org, Steven Hartland X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 28 Aug 2014 23:22:48 -0000 --nextPart1965031.UcmHp7AfKf Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="us-ascii" On Thursday 28 August 2014 17:30:17 Alan Cox wrote: > On 08/28/2014 16:15, Matthew D. Fuller wrote: > > On Thu, Aug 28, 2014 at 10:11:39PM +0100 I heard the voice of > >=20 > > Steven Hartland, and lo! it spake thus: > >> Its very likely applicable to stable/9 although I've never used 9 > >> myself, we jumped from 9 direct to 10. > >=20 > > This is actually hitting two different issues from the two bugs: > >=20 > > - 191510 is about "ARC isn't greedy enough" on huge-memory machines= , > >=20 > > and from the osreldate that bug was filed on 9.2, so presumably i= s > > applicable. > >=20 > > - 187594 is about "ARC is too greedy" (probably mostly on not-so-hu= ge > >=20 > > machines) and starves/drives the rest of the system into swap. T= hat > > I believe came about as a result of some unrelated change in the > > 10.x stream that upset the previous balance between ARC and the r= est > > of the VM, so isn't a problem on 9.x. >=20 > 10.0 had a bug in the page daemon that was fixed in 10-STABLE about > three months ago (r265945). The ARC was not the only thing affected = by > this bug. I'm concerned about potential unintended consequences of this change. Before, arc reclaim was driven by vm_paging_needed(), which was: vm_paging_needed(void) { return (vm_cnt.v_free_count + vm_cnt.v_cache_count < vm_pageout_wakeup_thresh); } Now it's ignoring the v_cache_count and looking exclusively at v_free_c= ount. =20 "cache" pages are free pages that just happen to have known contents. = If I=20 read this change right, zfs arc will now discard checksummed cache page= s to=20 make room for non-checksummed pages: + if (kmem_free_count() < zfs_arc_free_target) { + return (1); + } ... +kmem_free_count(void) +{ + return (vm_cnt.v_free_count); +} This seems like a pretty substantial behavior change. I'm concerned th= at it=20 doesn't appear to count all the forms of "free" pages. I haven't seen the problems with the over-aggressive ARC since the page= daemon=20 bug was fixed. It's been working fine under pretty abusive loads in th= e freebsd=20 cluster after that fix. (I should know better than to fire a reply off before full fact checkin= g, but=20 this commit worries me..) =2D-=20 Peter Wemm - peter@wemm.org; peter@FreeBSD.org; peter@yahoo-inc.com; KI= 6FJV UTF-8: for when a ' or ... just won\342\200\231t do\342\200\246 --nextPart1965031.UcmHp7AfKf Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part. Content-Transfer-Encoding: 7Bit -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQEcBAABAgAGBQJT/7nAAAoJEDXWlwnsgJ4E1H0IALdKdhcW0/8GeJPI9pOzNXsz ReoaRK+C0B84IFS0HVzieelli+m4D264Dpb8qPOAUWzc60rpodp/weKSLbz0WD8L wuq3ONf7NjBg3zc3w2b9aj3UvyhNnyp4RZY/uWBNJHdwBNpiVP6BPnnp2y6hs3/l 5tVwfFZEnKNgBTDkfXdz/3dpc8+ORwRWcZfq7v4W33220p/oDWuteUaj3bNPa1SS CG5Q6FBcjAuvSyRR7voKiJl+M/OpkT7kUBcfX9jNQ69WwVS+qxJbo6gV8N+654vU 2p8+yUXgkxlIOR6Se33W+zX6c0SfSwWq4vo39HlN9gtSnh+OKMZAi9kMqxIq9QY= =0rPk -----END PGP SIGNATURE----- --nextPart1965031.UcmHp7AfKf--