Date: Tue, 24 Oct 2000 15:32:01 -0700 (PDT) From: Matt Dillon <dillon@earth.backplane.com> To: Alfred Perlstein <bright@wintelcom.net> Cc: ps@FreeBSD.ORG, hackers@FreeBSD.ORG Subject: Re: vm_pageout_scan badness Message-ID: <200010242232.e9OMW1X21204@earth.backplane.com> References: <20001024112708.E28123@fw.wintelcom.net> <200010242010.e9OKAJK19739@earth.backplane.com> <20001024151414.P28123@fw.wintelcom.net>
next in thread | previous in thread | raw e-mail | index | archive | help
:The people getting hit by this are Yahoo! boxes, they have giant areas :of NOSYNC mmap'd data, the issue is that for them the first scan through :the loop always sees dirty data that needs to be written out. I think :they also need a _lot_ more than 32 pages cleaned per pass because all :of thier pages need laundering. : :Perhaps if you detected how often the routine was being called you :could slowly raise max_page_launder to compensate and lower it :after some time without a shortage. Perhaps adding a quarter of :'should_have_laundered' to maxlaunder for a short interval. :.... :It might be wise to switch to a 'launder mode' if this sort of :usage pattern is detected and figure some better figure to use than :32, I was hoping you'd have some suggestions for a heuristic to :detect this along the lines of what you have implemented in bufdaemon. We definitely don't want to increase max_page_launder too much... the problem is that there is a relationship between it and the number of simultanious async writes that can be queued in one go, and that can interfere with normal I/O. But perhaps we should decouple it from the I/O count and have it count clusters instead of pages. i.e. this line: written = vm_pageout_clean(m); if (vp) vput(vp) maxlaunder -= written; Can turn into: if (vm_pageout_clean(m)) --maxlaunder; if (vp) vput(vp); In regards to speeding up paging, perhaps we can implement a heuristic similar to what buf_daemon() does. We could wake the pageout daemon up more often. I'll experiment with it a bit. We certainly have enough statistical information to come up with something good. -Matt :-Alfred : To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200010242232.e9OMW1X21204>