[PATCH] mm: don't zero ballooned pages

Wei Wang
Mon, 31 Jul 2017 08:34:58 -0000

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