On Wed, 24 Nov 2004, Herbert Poetzl wrote:

Then, if you are a fat jabba, maybe you might end up getting rescheduled
instead of getting more memory whenever you want it!

thought about a simpler approach, with a TB for the actual page-ins, so that every page-in will consume a token, and you get a number per interval, as usual ...

There probably still needs to be a "target" size, which if exceeded, your bucket is refilled slower. This way small contexts would not be suffering because of a large and very active context. The sysadmins would need to make sure that the sum of all targets does not exceed physical RAM.


So you'd have two additional parameters - target size and fill-interval multiplier.

if (is_exceeded(target)) {
        interval *= multplier;
}

Also - at which point does a malloc actually fail? It seems like context 0 should have a priority over other contexts - a non-0 context should under no circumstances be able to exhaust the system memory.

May be there should be an additional level in the bucket - "reschedule level". If I actually empty the bucket, the malloc fails?

my $0.02

Grisha
_______________________________________________
Vserver mailing list
[EMAIL PROTECTED]
http://list.linux-vserver.org/mailman/listinfo/vserver

Reply via email to