Re: Fairness in love and swapping

Rik van Riel (H.H.vanRiel@fys.ruu.nl)
Thu, 26 Feb 1998 15:30:25 +0100 (MET)


On Thu, 26 Feb 1998, Rogier Wolff wrote:

> 0 50 51 100
> P1 <in memory>...........<in memory>
>
> 0 1 50 51 100
> P2 ...........<in memory>...........<in memory>

Now, how do we select which processes to suspend temporarily
and which to wake up again...
Suspending X wouldn't be to good, since then a lot of other
procesess would block on it... But this gives us a good clue
as to what to do.

We could:
- force-swap out processes which have slept for some time
- suspend & force-swap out the largest process
- wake it up again when there are two proceses waiting on
it (to prevent X from being swapped out)
- wake up the suspended process after some time (2 seconds
per megabyte size?) and mark the process as just-suspended
(and don't swap it out again for a guaranteed 1 second *
megabyte size period)
- if necessary, suspend & swap another large process when
we're short on memory again

Doing this together with a dynamic RSS-limit strategy and
page cache page aging might give us quite an improvement
in VM performance.

Of course, I'm quite sure that I forgot something,
so please comment on how/what you want things changed.

Rik.
+-----------------------------+------------------------------+
| For Linux mm-patches, go to | "I'm busy managing memory.." |
| my homepage (via LinuxHQ). | H.H.vanRiel@fys.ruu.nl |
| ...submissions welcome... | http://www.fys.ruu.nl/~riel/ |
+-----------------------------+------------------------------+

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu