Re: Fairness in love and swapping

Rik van Riel (
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.

| For Linux mm-patches, go to | "I'm busy managing memory.." |
| my homepage (via LinuxHQ). | |
| ...submissions welcome... | |

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to