From: Gregory (Grisha) Trubetskoy (grisha_at_ispol.com)
Date: Wed 24 Nov 2004 - 16:00:40 GMT
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
Vserver_at_list.linux-vserver.org
http://list.linux-vserver.org/mailman/listinfo/vserver