Re: Ideas for memory management hackers. ( "importance levels" )

Steffen Ullrich (ccrlphr@xensei.com)
Tue, 18 Nov 1997 19:56:49 +0100


Because nobody except one made a comment to this I post it again (this time with
the right Subject line). If still nobody replies - forget about it (although I
really would like to know why this should be a bad or useless idea )

On Fri, Nov 14, 1997 at 07:37:25PM +0100, Steffen Ullrich wrote:
> Rik van Riel wrote:
> >
> > Send Linux memory-management wishes to me: I'm currently looking
> > for something to hack...
>
> what I really like to see is something like various "importance levels" for
> processes. imagine the following: An remote system behaves really bad and you
> want to have a look at it. You try to telnet to the machine but what happens
> there is that inetd tries to spwan in.telnetd. Because the system is already
> heavily used it cant get the memory/swap space needed to start in.telnetd on
> this system. A nice thing in this case would be that the system could be
> configured to consider in.telnetd as a very important application and do
> everything to start it, even if it needs to kill some less important processes.
>
> I had similar problems several times on OSF/1 (DEC UNIX) where I run a big
> application on a remote machine. I guess the following happened:
> The application took more and more memory but now another process got scheduled
> by the system so the system needed to move some pages of my app to the swap
> space. unfortunatly there wasn't any more space so OSF/1 too his strategy to get
> some free space - it killed the processes which were not used for the longest
> time. unfortunatly in this cases this was inetd :(
>
> It was probably a bit different but that is what I understood from the
> explanation I got. There are two modes of allocating swap space in OSF/1.
> one is the deferred mode which allocates a page in the swap space once a page
> needs to be swapped out, the other more conservative mode allocates a space
> in the swap area for each page used by the system. The first mode is a bit
> faster and uses less memory but has the problem above. The machine used the
> deferred mode which is I think similar to the mode linux uses - otherwise you
> couldn't run a system w/o swap space setup.
>
> Anyways, this kind of "importance" could be really useful because in critical
> situations there would be a better chance that your important applications will
> continue to run ore are able to start.
> The thing I could imagine the whole issue is that every process has an
> importance. If a new process gets spawned it inherits the importance if its
> parent, where the mother of all processes (usually "init") gets the highest
> importance on start. Then there should be a way for a process to change its
> importance ( maybe a syscall similar to "nice" ). Only root process are allowed
> to increase its level but everybody can decrease it.
>
> How does it sound or is there another/better way to deal with the above problem?