Subject: Re: Page daemon behavior part N
To: None <eeh@netbsd.org>
From: Charles M. Hannum <root@ihack.net>
List: tech-kern
Date: 01/25/2001 18:41:28
>                 dd if=/dev/zero of=foo bs=64k
>                 cat title-key /dvd/video_ts/vts_01_?.vob | efdtt >movie.vob
>                 cdd -a

> We should be able to fix that by puting UBC pages directly on to the
> inactive list as soon as current UBC operation is complete.  As far
> as I'm concerned there's no reason UBC pages should ever be `active'
> unless they are mmapp()ed into some process' address space.

It strikes me as highly improbable that will help much.  The real
problem is simply that too many writes are being cached, and forcing
other data out of memory.  We need to be more aggressive about
scheduling writebacks, especially when memory is low, and giving some
preference to writes over reads.  Merely inactivating pages slightly
faster isn't going to help much, because they're *already* getting
inactivated pretty quickly.

Interestingly, if you go further back, there was a hack to explicitly
lower the caching priority of full blocks written by FFS, using B_AGE.
This would have had the effect of causing writebacks to happen faster,
as well as being a slightly different way of accomplish the
`immediately inactivate it' hack.