From owner-svn-src-all@freebsd.org Fri Jul 10 18:49:18 2015 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4E2228FE8; Fri, 10 Jul 2015 18:49:18 +0000 (UTC) (envelope-from hiren@FreeBSD.org) Received: from mail.strugglingcoder.info (strugglingcoder.info [65.19.130.35]) (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 361211CB; Fri, 10 Jul 2015 18:49:17 +0000 (UTC) (envelope-from hiren@FreeBSD.org) Received: from localhost (unknown [10.1.1.3]) (Authenticated sender: hiren@strugglingcoder.info) by mail.strugglingcoder.info (Postfix) with ESMTPSA id 2481BD1D82; Fri, 10 Jul 2015 11:49:17 -0700 (PDT) Date: Fri, 10 Jul 2015 11:49:17 -0700 From: hiren panchasara To: Alan Cox Cc: Alan Cox , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r285282 - head/sys/vm Message-ID: <20150710184917.GI87473@strugglingcoder.info> References: <201507081746.t68Hk0To044278@repo.freebsd.org> <20150708182901.GJ51988@strugglingcoder.info> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="ev7mvGV+3JQuI2Eo" Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.23 (2014-03-12) X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.20 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: Fri, 10 Jul 2015 18:49:18 -0000 --ev7mvGV+3JQuI2Eo Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On 07/09/15 at 06:13P, Alan Cox wrote: >=20 > On Jul 8, 2015, at 1:29 PM, hiren panchasara wrote: >=20 > > On 07/08/15 at 05:46P, Alan Cox wrote: > >> Author: alc > >> Date: Wed Jul 8 17:45:59 2015 > >> New Revision: 285282 > >> URL: https://svnweb.freebsd.org/changeset/base/285282 > >>=20 > >> Log: > >> The intention of r254304 was to scan the active queue continuously. > >> However, I've observed the active queue scan stopping when there are > >> frequent free page shortages and the inactive queue is steadily refil= led > >> by other mechanisms, such as the sequential access heuristic in vm_fa= ult() > >> or madvise(2).=20 > >=20 > > What would be the actual downside/effect of this scenario? i.e. What go= es > > wrong when active queue scan stops and what would I see/observe on a > > system when the problem is going on - is what I want to understand. > >=20 >=20 >=20 > Basically, pages that haven?t been used recently get stuck in the active = queue. Consequently, they are never reclaimed and repurposed to hold newly= accessed data. Instead, more recently used pages from the inactive queue = are reclaimed. Effectively, this reduces the amount of physical memory tha= t is available for caching file data, and so the system (likely) performs m= ore I/O operations than it would have with the stuck pages problem correcte= d. > Thanks. So it seems now there is an enforced number of min pages that *must* be scanned which is proportional to the time of last scan. Cheers, Hiren >=20 > >> To remedy this problem, record the time of the last active > >> queue scan, and always scan a number of pages proportional to the time > >> since the last scan, regardless of whether that last scan was a > >> timeout-triggered ("pass =3D=3D 0") or free-page-shortage-triggered (= "pass > > >> 0") scan. > >>=20 > >> Also, on a timeout-triggered scan, allow a full scan of the active qu= eue > >> when the system is short of inactive pages. > >>=20 > >> Reviewed by: kib > >> MFC after: 6 weeks > >> Sponsored by: EMC / Isilon Storage Division > >=20 > > [skip] > >=20 > > Thanks in advance. > > Cheers, > > Hiren >=20 >=20 --ev7mvGV+3JQuI2Eo Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (FreeBSD) iQF8BAEBCgBmBQJVoBOsXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXRBNEUyMEZBMUQ4Nzg4RjNGMTdFNjZGMDI4 QjkyNTBFMTU2M0VERkU1AAoJEIuSUOFWPt/lbXMIAJHYVah3TXApocr/nl+j2+oa mFUj9nJKY2nj4OT0HM7xYq0DJymp//3/NlCNcqSU0cSFzq9WyE2vYHgcpv4kQOmi N1rYeLWQKWHOpWwJ9NptnG1TJ0V1iHSpY5X60vpXP8pKivfaPgnBtv58U+Xi3UKu G5R1n4FkAIAgqQAqgfQQLg9Qf3HIGpE0CilmFo95pC28fbivClMOKuXsiEhHAt3O zP1Cdmbom6Xa9Kw2+SYtM9AtgDVG/54jnTNfHHu6CbFrIONkCkyivZKN0h4Sy0Ay TZtJxfV99dap2xfUvgFOa8hKHJs6nKjDSNJZedRfaFsvte/h1AjeXts+/gUf4Bg= =AYZb -----END PGP SIGNATURE----- --ev7mvGV+3JQuI2Eo--