Re: [PATCH 2/4] mm: introduce new VM_NOZEROPAGE flag

Dominik Dingel
2014-10-21T11:20:25Z

On Tue, 21 Oct 2014 10:11:43 +0200
Paolo Bonzini <pbonzini@redhat.com> wrote:

>
>
> On 10/21/2014 08:11 AM, Martin Schwidefsky wrote:
> >> I agree with Dave (I thought I disagreed, but I changed my mind while
> >> writing down my thoughts). Just define mm_forbids_zeropage in
> >> arch/s390/include/asm, and make it return mm->context.use_skey---with a
> >> comment explaining how this is only for processes that use KVM, and then
> >> only for guests that use storage keys.
> >
> > The mm_forbids_zeropage() sure will work for now, but I think a vma flag
> > is the better solution. This is analog to VM_MERGEABLE or VM_NOHUGEPAGE,
> > the best solution would be to only mark those vmas that are mapped to
> > the guest. That we have not found a way to do that yet in a sensible way
> > does not change the fact that "no-zero-page" is a per-vma property, no?
>
> I agree it should be per-VMA. However, right now the code is
> complicated unnecessarily by making it a per-VMA flag. Also, setting
> the flag per VMA should probably be done in
> kvm_arch_prepare_memory_region together with some kind of storage key
> notifier. This is not very much like Dominik's patch. All in all,
> mm_forbids_zeropage() provides a non-intrusive and non-controversial way
> to fix the bug. Later on, switching to vma_forbids_zeropage() will be
> trivial as far as mm/ code is concerned.
>

Thank you for all the feedback, will cook up a new version.