Subject: Re: Page daemon behavior part N+2
To: Jason R Thorpe <thorpej@zembu.com>
From: Charles M. Hannum <root@ihack.net>
List: tech-kern
Date: 01/25/2001 08:10:36
> Using the patch I posted, uvm_pagedeactivate() does not require or
> imply any penalty.  If another process is using the data, then the
> referenced bit will get set, and it will get reactivated.

False.  The faults and/or system calls that cause the deactivates are
asynchronous WRT the pagedaemon, and can (will?) easily cause the
pages to get paged out more often.  (Note that, since the inactive
scan happens first, so this is *particularly* like -- e.g. if the one
process then went and allocated another page, implicitly kicking the
pagedaemon.)  There is a really trivial test case that causes this to
behave very, very badly.

> What reference count?  On the page?  Pages don't have a reference
> count.

That's true, but the object holding the page (e.g. the anon) does have
a reference count that could potentially be used.