Bas Wijnen wrote:
Hello,
[...]
So to make things clear: In case of memory pressure (that is, the sum of
quota is equal to the amount of physical memory), when a process requests a
new page (either really new, or from swap), an other page of itself will be
paged out. This is done by rearranging the list of owned pages. When a
process frees a page, and thus uses less than its quota, the quota will slowly
decay. This should also happen in general, using some priority scheme
(perhaps the same which is used for scheduling, and perhaps a different one).
I hope I've made clear what I mean. My questions to you:
- Is this a good idea?
- If it isn't, what's wrong with it?
- If it is, what does this mean for our choice of kernel? Will/can it be
implemented in/on top of {L4ng,L4sec,Coyotos}?
Thanks,
Bas
I have not thought very much about the algorithm you propose in detail,
but I want to mention sth. else:
What you propose is not self-paging in a narrower sense. Self-paging
means, on memory pressure the application is informed and requested to
free a page. This opens a covert channel. You want to close this channel
by making the page-out invisible to the application (that's at least how
I interpret "an other page of itself will be paged out"). And only the
last thing (invisibility of resource revokation) is interesting for
closing the covert channel. In fact, every visible resource revokation
seems to be a covert channel, regardless to the benefits (could one list
those, please?).
*But* I think we have to balance the benefits of visible resource
revokation against the disadvantages of this kind of covert channel.
With such a covert channel we cannot enforce confinement in a narrower
sense, but I am not sure how applications could efficiently exploit such
a channel (can one tell an example, please?).
--
-ness-
_______________________________________________
L4-hurd mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/l4-hurd