[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Swapping pagers out

From: Ludovic Courtès
Subject: Re: Swapping pagers out
Date: Fri, 11 Feb 2005 13:56:44 +0100
User-agent: Mutt/1.5.6+20040907i

Hi Jean-Christophe,

I'll give it a try.  :-)

On Fri, Feb 11, 2005 at 12:23:48PM +0100, address@hidden wrote:
> I have read the design document : it seems that it is not possible
> for a task to be completely paged out, because of the pager thread.
> Am I correct ?

Sort of, see below.

> However, there is something written about a "final pager", and the
> howto in the hurd-l4 sources states :
>   "Then the last-resort pager in a task can run on memory in this
>    container, and physmem can freely unmap that memory temporarily
>    (for reorganization).  The last-resort pager would use physmem as
>    its pager.  This relieves the need to wire down the memory the
>    pager is running on."
> Is this "last-resort pager" the same thing ? Does it mean that a
> task can have more than one pager ? Or that each pager should
> itself have a (possibly non user-defined, system-fallback) pager ?

This is some sort of a "meta-circular" problem: at some point, there
must be some piece of code wired down into physical memory.  The
question is: which piece of code?

Tasks will be granted a certain amount of guaranteed physical memory
frames (I guess a few times 4kb) by physmem.  I believe the current plan
is to use that typically to store pagers' code (which should be
small enough).

If pagers' code were to be swappable, then pagers themselves would need
to be backed by other pagers and so on, until we reach the final "root"
pager(s) whose code is unswappable.  I don't think adding those levels
of indirection would buy us much.  It might reduce the number of
wired-down physical memory (which is not really a concern) at the
expense of worse performance.

However, Marcus once mentioned [1] that pagers' code might temporalily
be unmapped (not swapped out) by physmem, in which case physmem acts as
the last-resort pager you mentioned.


[1] http://lists.gnu.org/archive/html/l4-hurd/2004-10/msg00059.html

reply via email to

[Prev in Thread] Current Thread [Next in Thread]