l4-hurd
[Top][All Lists]
Advanced

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

Re: Status Bits and Super Pages


From: Espen Skoglund
Subject: Re: Status Bits and Super Pages
Date: Thu, 23 Aug 2007 16:05:30 +0100

[Neal H Walfield]
> Hi,
> I'm writing a memory manager and in order to make eviction
> decisions, I want to use the status bits.  Because I'm a good
> citizen, I've written my memory manager to get the largest mappings
> possible from sigma0.  My resource manager, however, sub-divides
> these pages and maps them to clients.

> I suspect (but please confirm) that my resource manager is only able
> to get the status bits for the mappings that it received from its
> pager, not the mappings it sent to its clients.  That is, if it got
> a 64MB fpage from sigma0, even though it may have only handed out
> 4KB pages to clients, there is only a single status bit available to
> it: the one for the 64MB page.  Is this interpretation correct?

The 64MB mapping will effectively be split into page sizes supported
by the kernel/hardware.  On ia32 this will result in 16 * 4MB pages
mapped to the memory manager.  Each of these pages will have status
bits associated with them that you can query individually.
Additionally you can query the bits of pages mapped from the resource
manager *into* other address spaces (without taking its current page
into account).  This also works if you split a mapping into smaller
page sized, i.e., you can query individual 4KB pages that you have
mapped out of a 4MB page in your own address space.

Note that you'll have to enable the "new" mapping databse for this to
work.

        eSk





reply via email to

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