l4-hurd
[Top][All Lists]
Advanced

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

Memory management


From: Tomasz Gajewski
Subject: Memory management
Date: Sun, 18 Apr 2004 23:34:01 +0200
User-agent: Gnus/5.1002 (Gnus v5.10.2) Emacs/21.3 (gnu/linux)

Hi all.

I have some doubts about implementing memory management as described
in "Porting the GNU Hurd to the L4 Microcernel" document.

Here are the fragments that need to be clarified:


5.4.1 Guaranteed Frames and Extra Frames

The physical memory server may request that a client relinquish a
number of extant extra frames at any time.  The client must return the
frames to the physical memory (i.e. free them) in a short amount of
time.  The task should not assume that it has enough time to send
frames to backing store.  As such, extra frames should only contain
remanufacturable data (i.e. cached data).  Should a task fail to
return the frames in a reasonable amount of time, it risks having all
of its memory dropped---not swapped out or saved in any way---and
reclaimed by the physical memory server.

5.7 The Memory Policy Server

The policy server will give the task enough time to send frames to
swap before committing if the number of guaranteed frames is reduced.


Both fragments refer to releasing memory by the task and in both cases
the task is given some amount of "time" to do the requested work.

I assume that "time" cannot mean the clock time because that would
allow the possibility that under high load task would not get a
chance to do requested work.

So the "time" should be defined in terms of resources given to task
rather than a clock time. I think that processor time utilized by a
task could be a good solution but physical memory server and memory
policy server don't have information about it. It means that they
would have to ask for this information server which does accounting
information (task server if I remember correctly).

Does that make any sense?

This would mean that physical memory server and memory policy server
trust task server. From the other side task server has to trust
physical memory server. I'm not sure, but I'm afraid that it can be a
desing problem.

Regards
Tomasz Gajewski







reply via email to

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