Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 28 Aug 2014 16:22:31 -0700
From:      Peter Wemm <peter@wemm.org>
To:        Alan Cox <alc@rice.edu>
Cc:        src-committers@freebsd.org, svn-src-all@freebsd.org, Dmitry Morozovsky <marck@rinet.ru>, "Matthew D. Fuller" <fullermd@over-yonder.net>, svn-src-head@freebsd.org, Steven Hartland <smh@freebsd.org>
Subject:   Re: svn commit: r270759 - in head/sys: cddl/compat/opensolaris/kern cddl/compat/opensolaris/sys cddl/contrib/opensolaris/uts/common/fs/zfs vm
Message-ID:  <1617817.cOUOX4x8n2@overcee.wemm.org>
In-Reply-To: <53FFAD79.7070106@rice.edu>
References:  <201408281950.s7SJo90I047213@svn.freebsd.org> <20140828211508.GK46031@over-yonder.net> <53FFAD79.7070106@rice.edu>

next in thread | previous in thread | raw e-mail | index | archive | help

--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--




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1617817.cOUOX4x8n2>