Subject: Re: UBC status
To: None <eeh@netbsd.org>
From: Neil A. Carson <neil@causality.com>
List: tech-kern
Date: 09/25/1999 12:19:07
"Eduardo E. Horvath" wrote:

> This has been a historical problem with unified buffer cache systems.  DEC
> (back when it was DEC) added some sort of hard limit on the size of the
> buffer cache for OSF1.  I believe it was a tunable that was originally
> turned off.  Sun has slowly added a number of ad-hoc heuristics:  never
> page out a page with a use count over some number (for shared libraries),
> don't replace process text pages, etc.

They sound like hacks to get around a bad implementation :-)

> I personally don't like the idea of a hard limit on the buffer cache, but
> something needs to be done or you may find the system start thrashing if
> someone does `find / -exec fgrep foo {} \; -print'.

Indeed.

> It would be nice if we could come up with an adaptive scheme, such as
> putting unreferenced pages on the head of the freelist rather than the
> tail.  But I havent been able to come up with anything truly elegant yet.

Have a look at the way FreeBSD works. Apart from the dirty data problems
mentioned before, it seems perfectly ideal in its VM vs cache policies.
In this respect, the work of the developers (McKusick, Dyson, Greenman,
Dillon) seems absolutely optimal. Certainly it seems to work a lot
better than Solaris, Linux or NT.

	Neil