Dor Laor wrote:
On Thu, 2008-01-17 at 11:25 +0100, Martin Schwidefsky wrote:
Another idea: Martin added an oom notifier to the cmm driver. Before the
oom-killer kicks in cmm will try to free 256 pages. I think your virtio
balloon driver should do the same - it seems to be the correct tradeoff.
Nod, you definitly want to add an oom notifier. If 256 pages is the
correct number of pages to free is debatable. We have seen long delays
for a process that quickly eats up memory if there are lots of pages in
the balloon. The problem is that the memory management tries hard to
find memory until it decides to oom kill a process, only to be stopped
in the last second by the oom notifier. The 1MB is quickly eaten up
again so the whole things starts again. The profile of such a scenario
shows that almost all cpu is burned in the page reclaim code.
Seconded, in that case we can add a config space notification from the
guest to the host that will be triggered by the oom.
The host will get this notification and will decide whether to allow the
guest to deflate the balloon or to keep the current balloon size because
the whole host is over committed.
The host doesn't decide whether to allow the guest to deflate. Virtual
memory size and resident memory side are independent in KVM. The host
decides what the RSS is but the guest is free to determine it's VSS.
The host provides hints to the guest about it's RSS size (via
ballooning) so the guest can optimize it's VSS size. If guest chooses
to make it's VSS size to large, it will only hurt itself (by being
forced to swap by the host).
Regards,
Anthony Liguori
Regards,
Dor.
_______________________________________________
Virtualization mailing list
Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx
https://lists.linux-foundation.org/mailman/listinfo/virtualization