Subject: Re: lazy mlock?
To: None <Richard.Earnshaw@buzzard.freeserve.co.uk>
From: Alfred Perlstein <bright@mu.org>
List: tech-kern
Date: 04/16/2002 15:16:57
* Richard Earnshaw <rearnsha@buzzard.freeserve.co.uk> [020416 15:04] wrote:
> 
> So, how hard would it be to add a syscall that would only lock a page into 
> memory if it were really needed?  That is, we start with an empty set of 
> locked pages, then as a page is referenced it is loaded and locked in 
> place (so that it won't be swapped out again later).  This way, pages that 
> aren't referenced will never be locked, and pages that are will only pay 
> the fetch cost once (on first reference).  For something like ntp this 
> would surely be perfectly adequate.

I think you could achieve the same thing using mprotect(2) and
smarts in your signal handler to then mlock(2) the memory you
fault on.

-- 
-Alfred Perlstein [alfred@freebsd.org]
'Instead of asking why a piece of software is using "1970s technology,"
 start asking why software is ignoring 30 years of accumulated wisdom.'
Tax deductible donations for FreeBSD: http://www.freebsdfoundation.org/