Re: [PATCH v11 4/6] mm: function to offer a page block on the free list

From: Michael S. Tsirkin
Date: Tue Jun 20 2017 - 14:17:42 EST


On Tue, Jun 20, 2017 at 06:49:33PM +0200, David Hildenbrand wrote:
> On 20.06.2017 18:44, Rik van Riel wrote:
> > On Mon, 2017-06-12 at 07:10 -0700, Dave Hansen wrote:
> >
> >> The hypervisor is going to throw away the contents of these pages,
> >> right? As soon as the spinlock is released, someone can allocate a
> >> page, and put good data in it. What keeps the hypervisor from
> >> throwing
> >> away good data?
> >
> > That looks like it may be the wrong API, then?
> >
> > We already have hooks called arch_free_page and
> > arch_alloc_page in the VM, which are called when
> > pages are freed, and allocated, respectively.
> >
> > Nitesh Lal (on the CC list) is working on a way
> > to efficiently batch recently freed pages for
> > free page hinting to the hypervisor.
> >
> > If that is done efficiently enough (eg. with
> > MADV_FREE on the hypervisor side for lazy freeing,
> > and lazy later re-use of the pages), do we still
> > need the harder to use batch interface from this
> > patch?
> >
> David's opinion incoming:
>
> No, I think proper free page hinting would be the optimum solution, if
> done right. This would avoid the batch interface and even turn
> virtio-balloon in some sense useless.

I agree generally. But we have to balance that against the fact that
this was discussed since at least 2011 and no one built this solution
yet.

> --
>
> Thanks,
>
> David