Re: [PATCH v1 2/3] virtio-balloon: deflate up to oom_pages on OOM

From: Wei Wang
Date: Sun Oct 22 2017 - 07:29:44 EST


On 10/22/2017 12:11 PM, Tetsuo Handa wrote:
Michael S. Tsirkin wrote:
- num_freed_pages = leak_balloon(vb, oom_pages);
+
+ /* Don't deflate more than the number of inflated pages */
+ while (npages && atomic64_read(&vb->num_pages))
+ npages -= leak_balloon(vb, npages);
don't we need to abort if leak_balloon() returned 0 for some reason?

I don't think so. Returning 0 should be a normal case when the host tries
to give back some pages to the guest, but there is no pages that have ever
been inflated. For example, right after booting the guest, the host sends a
deflating request to give the guest 1G memory, leak_balloon should return 0,
and guest wouldn't get 1 more G memory.


Best,
Wei