[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: [virtio-dev] Re: [virtio-comment] [PATCH v3 2/3] content: Document balloon feature page poison
On 27.05.20 08:14, Wei Wang wrote: > On 05/26/2020 11:38 PM, Cornelia Huck wrote: >> On Tue, 26 May 2020 17:28:00 +0200 David Hildenbrand >> <david@redhat.com> wrote: >> >>> On 26.05.20 16:50, Alexander Duyck wrote: >>>> On Tue, May 26, 2020 at 1:24 AM David Hildenbrand >>>> <david@redhat.com> wrote: >>>>> Still wondering what to do with free page hinting ... in the >>>>> meantime I'll have a look at free page reporting :) >>>> The problem is it is already out there so I worry we wouldn't >>>> ever be able to get rid of it. At most we could deprecate it, >>>> but we are still stuck with it consuming bit resources and >>>> such. >>> Yeah, that's not an issue, they will simply turn to dead bits >>> with minimal documentation. I just don't see us fixing/supporting >>> that feature, really. Let's see what @MST things when he has time >>> to look into this. >>> >> If free page hinting is broken enough that we don't want anybody to >> try implementing it, we maybe could: > > May I know the issues that you got with FREE_PAGE_HINT? Did you follow the discussion on the spec updates proposed by Alexander? We might have identified a couple of issues in the QEMU side trying to document the semantics of free page hinting. For example: 1. When migration fails in the live stage, before stopping the VM, the guest will not receive a VIRTIO_BALLOON_CMD_ID_DONE. 2. The semantics about what could happen to hinted pages are unclear (and it is unclear if the current QEMU behavior is a BUG or expected). While writing to a hinted page will result in the page to get migrated and not change the value, the guest might suddenly observe a change in the value when only reading the page. Imagine (just as an example) something in a guest like /* page was previously hinted and is now getting reused by the guest */ if (!page_filled_with(page, X)) { fill_page_with(page, X); } /* migration finished, value of page changed */ And Alexander pointed out, that the change the guest might observe might not be the change to a zero page. Semantics unclear. There seems to be more related to the async iothread/reset handling + the other fixes I just recently sent. It would be good if you could have a look at the matter. -- Thanks, David / dhildenb
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]