Re: [PATCH 0/3] [RFC] KVM: Guest page hinting

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

 



On 04.08.2017 07:16, Yang Zhang wrote:
> On 2017/8/2 4:48, Nitesh Narayan Lal wrote:
>> The following patch-set proposes an efficient mechanism for handing freed memory between the guest and the host. This approach has some different trade-offs compared to ballooning:
>> -For guests with DAX (no page cache) it rapidly hands back all free memory to the host.
>> -Resolves the complexity of ballooning policy as the whole process is transparent and occurs automatically.
>> -More frequent hypercalls than ballooning. More efficient memory use at the cost of higher CPU use.
>> -Guest can quickly re-use memory if it is needed again, with MADV_FREE use on the host side.
> 
> Hi Nitesh,
> 
> I didn't look into the patch set. But seems there already two people are 
> doing the similar thing:
> https://lkml.org/lkml/2017/7/12/249
> https://lists.gnu.org/archive/html/qemu-devel/2017-06/msg03870.html
> 
> Are you doing the same thing?
> 

(I'm working on virtio-mem, so my point of view)

virtio-balloon was used for different purposes:
1. Forcing memory pressure onto the guest, making it shrink its page cache.
2. Collaborative memory management. Flexible memory assignment between
guests.
3. Memory hot(un)plug.

While one was able to do these things to some degree, there are certain
limitations that cannot be fixed (not going into detail).

Now, work is being done on virtio-balloon to do free page hinting in
special scenarios (when migrating the guest, so unused pages are not
migrated).

What people are working on right now:

fake DAX targets 1. free page hinting targets 2. virtio-mem targets 3.

So this work (guest page hinting) "collides" with the current work being
done on virtio-balloon. But it is way superior, as free pages are
_always_ hinted, not just when the guest is being migrated.

-- 

Thanks,

David



[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