From owner-freebsd-hackers Wed Oct 25 3:32: 3 2000 Delivered-To: freebsd-hackers@freebsd.org Received: from heechee.tobez.org (238.adsl0.ryv.worldonline.dk [213.237.10.238]) by hub.freebsd.org (Postfix) with ESMTP id ED17637B479; Wed, 25 Oct 2000 03:32:00 -0700 (PDT) Received: by heechee.tobez.org (Postfix, from userid 1001) id 5D3EC54CC; Wed, 25 Oct 2000 12:31:54 +0200 (CEST) Date: Wed, 25 Oct 2000 12:31:54 +0200 From: Anton Berezin To: Matt Dillon Cc: Alfred Perlstein , ps@FreeBSD.ORG, hackers@FreeBSD.ORG Subject: Re: vm_pageout_scan badness Message-ID: <20001025123154.A56298@heechee.tobez.org> References: <20001024112708.E28123@fw.wintelcom.net> <200010242010.e9OKAJK19739@earth.backplane.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <200010242010.e9OKAJK19739@earth.backplane.com>; from dillon@earth.backplane.com on Tue, Oct 24, 2000 at 01:10:19PM -0700 Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG On Tue, Oct 24, 2000 at 01:10:19PM -0700, Matt Dillon wrote: > Ouch. The original VM code assumed that pages would not often be > ripped out from under the pageadaemon, so it felt free to restart > whenever. I think you are absolutely correct in regards to the > clustering code causing nearby-page ripouts. > > I don't have much time available, but let me take a crack at the > problem tonight. While you are at it, would you care and have a look at PR19672. It seems to be at least remotely relevant. ;-) > I don't think we want to add another workaround to code that > already has too many of them. The solution may be to create a > dummy placemarker vm_page_t and to insert it into the pagelist > just after the current page after we've locked it and decided we > have to do something significant to it. We would then be able to > pick the scan up where we left off using the placemarker. > > This would allow us to get rid of the restart code entirely, or at > least devolve it back into its original design (i.e. something > that would not happen very often). Since we already have cache > locality of reference for the list node, the placemarker idea > ought to be quite fast. > > I'll take a crack at implementing the openbsd (or was it netbsd?) > partial fsync() code as well, to prevent the update daemon from > locking up large files that have lots of dirty pages for long > periods of time. Cheers, %Anton. -- and would be a nice addition to HTML specification. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message