Re: [PATCH] mm: don't zero ballooned pages

From: Wei Wang
Date: Mon Jul 31 2017 - 04:32:24 EST


On 07/31/2017 03:43 PM, Michal Hocko wrote:
On Mon 31-07-17 15:41:49, Wei Wang wrote:
On 07/31/2017 02:55 PM, Michal Hocko wrote:
On Mon 31-07-17 12:13:33, Wei Wang wrote:
Ballooned pages will be marked as MADV_DONTNEED by the hypervisor and
shouldn't be given to the host ksmd to scan.
Could you point me where this MADV_DONTNEED is done, please?
Sure. It's done in the hypervisor when the balloon pages are received.

Please see line 40 at
https://github.com/qemu/qemu/blob/master/hw/virtio/virtio-balloon.c
Thanks. Are all hypervisors which are using this API doing this?


The implementation may be different across different hypervisors.
But the underlying concept is the same - they unmap the balloon
pages from the guest and those pages will be given to other guests
or host processes to use.

Regardless of the implementation, I think it is an improper operation
to make the memory KSM mergeable when the memory does not
belong to the guest anymore.


Best,
Wei