Subject: Re: UBC performance patch
To: Jason R Thorpe <thorpej@zembu.com>
From: Chuck Silvers <chuq@chuq.com>
List: tech-kern
Date: 01/27/2001 04:01:16
On Fri, Jan 26, 2001 at 09:17:12AM -0800, Jason R Thorpe wrote:
> On Fri, Jan 26, 2001 at 09:10:46AM -0800, Jason R Thorpe wrote:
> 
>  > Perhaps we want a new "ubc_inactive" list, which isn't counted in the
>  > inactive target?  And always include ubc_inactive in the inactive scan
>  > (as opposed to including it in the object vs. swap backed toggle).
> 
> Actually, another thing that needs to happen is dealing with the
> write backlog.  Right now, pages aren't getting cleaned fast enough
> when I/O write load is high.
> 
> What the old buffer cache would have done is force a process to block
> waiting for a buffer if there weren't any left to give it -- while it
> cleaned a buffer to give the requester.

this also describes what happens now.  the difference is that now
we'll also steal "buffers" (ie. pages) currently used for anonymous data
rather than only stealing memory that was previously used for vnode data.


> One option might be to have a dirtyvnode threshold that causes writes
> to block until the dirtyvnode count drops below the threshold, and
> kick the pagedaemon to clean the pages.

this isn't a bad idea, but it may be a little tricky to keep accurate
counts of how many pages are dirty and clean.  it's worth investigating.

-Chuck