[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v11 4/6] mm: function to offer a page block on t
From: |
David Hildenbrand |
Subject: |
Re: [Qemu-devel] [PATCH v11 4/6] mm: function to offer a page block on the free list |
Date: |
Wed, 21 Jun 2017 15:47:15 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.1.0 |
On 21.06.2017 14:56, Christian Borntraeger wrote:
> On 06/20/2017 06:49 PM, 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 said "some sense" for a reason. Mainly because other techniques are
being worked on that are to fill the holes.
> Two reasons why I disagree:
> - virtio-balloon is often used as memory hotplug. (e.g. libvirts current/max
> memory
> uses virtio ballon)
I know, while one can argue if this real unplug as there are basically
no guarantees (see virtio-mem RFC) it is used by people because there is
simply no alternative. Still, for now some people use it for that.
> - free page hinting will not allow to shrink the page cache of guests (like a
> ballooner does)
There are currently some projects ongoing that try to avoid the page
cache in the guest completely.
--
Thanks,
David
- Re: [Qemu-devel] [PATCH v11 4/6] mm: function to offer a page block on the free list, (continued)
- Re: [Qemu-devel] [PATCH v11 4/6] mm: function to offer a page block on the free list, Wei Wang, 2017/06/21
- Re: [Qemu-devel] [PATCH v11 4/6] mm: function to offer a page block on the free list, Michael S. Tsirkin, 2017/06/20
- Re: [Qemu-devel] [PATCH v11 4/6] mm: function to offer a page block on the free list, David Hildenbrand, 2017/06/20
- Re: [Qemu-devel] [PATCH v11 4/6] mm: function to offer a page block on the free list, Michael S. Tsirkin, 2017/06/20
- Re: [Qemu-devel] [PATCH v11 4/6] mm: function to offer a page block on the free list, David Hildenbrand, 2017/06/20
- Re: [Qemu-devel] [PATCH v11 4/6] mm: function to offer a page block on the free list, Christian Borntraeger, 2017/06/21
- Re: [Qemu-devel] [PATCH v11 4/6] mm: function to offer a page block on the free list,
David Hildenbrand <=
[Qemu-devel] [PATCH v11 5/6] mm: export symbol of next_zone and first_online_pgdat, Wei Wang, 2017/06/09
[Qemu-devel] [PATCH v11 3/6] virtio-balloon: VIRTIO_BALLOON_F_PAGE_CHUNKS, Wei Wang, 2017/06/09
[Qemu-devel] [PATCH v11 6/6] virtio-balloon: VIRTIO_BALLOON_F_CMD_VQ, Wei Wang, 2017/06/09