Re: [RFC][Patch v8 0/7] KVM: Guest Free Page Hinting

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 02/18/2019 10:36 AM, Wei Wang wrote:
On 02/15/2019 05:41 PM, David Hildenbrand wrote:
On 15.02.19 10:05, Wang, Wei W wrote:
On Thursday, February 14, 2019 5:43 PM, David Hildenbrand wrote:
Yes indeed, that is the important bit. They must not be put pack to the buddy before they have been processed by the hypervisor. But as the pages are not in the buddy, no one allocating a page will stumble over such a page and try to allocate it. Threads trying to allocate memory will simply pick another buddy page instead of "busy waiting" for that page to be finished
reporting.
What if a guest thread try to allocate some pages but the buddy cannot satisfy because all the pages are isolated? Would it be the same case that the guest thread gets blocked by waiting all the isolated pages to get madvised by the host and returned to the guest buddy, or even worse, some guest threads get killed due to oom?
Your question targets low memory situations in the guest. I think Nitesh
already answered parts of that question somewhere and I'll let him
answer it in detail, only a short comment from my side :)

I can imagine techniques where the OOM killer can be avoided, but the
OOM handler will eventually kick in and handle it.

In general your question is valid and we will have to think about a way
to avoid that from happening. However, in contrast to your approach
blocking on potentially every page that is being hinted, in Nitesh's
approach this would only happen when the guest is really low on memory.
And the question is in general, if a guest wants to hint if low on
memory ("safety buffer").

I think we should forget that the guest is low on memory because
%s/should/shouldn't
this approach takes all the pages off the list, not because the guest really
uses up the free memory.

Guest allocating one page could also potentially be blocked until all the pages
(as opposed to one page) being madvised and returned to the guest buddy.

Best,
Wei




[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux