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
>> <[email protected]> wrote:
>>
>>> On 26.05.20 16:50, Alexander Duyck wrote:
>>>> On Tue, May 26, 2020 at 1:24 AM David Hildenbrand
>>>> <[email protected]> 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
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]