​>On 12/02/15 06:54, Tian, Kevin wrote:
>>
>>>> which presumably
>>>> means that the PML buffer flush needs to be aware of which gfns are
>>>> mapped by superpages to be able to correctly set a block of bits in the
>>>> logdirty bitmap.
>>>>
>>> Unfortunately PML itself can't tell us if the logged GPA comes from
>>> superpage or not, but even in PML we still need to split superpages to
>>> 4K page, just like traditional write protection approach does. I think
>>> this is because live migration should be based on 4K page granularity.
>>> Marking all 512 bits of a 2M page to be dirty by a single write doesn't
>>> make sense in both write protection and PML cases.
>>>
>> agree. extending one write to superpage enlarges dirty set unnecessary.
>> since spec doesn't say superpage logging is not supported, I'd think a
>> 4k-aligned entry being logged if within superpage.
>
>The spec states that an gfn is appended to the log strictly on the
>transition of the D bit from 0 to 1.
>
>In the case of a 2M superpage, there is a single D bit for the entire 2M
>range.
>
>
>The plausible (working) scenarios I can see are:
>
>1) superpages are not supported (not indicated by the whitepaper).

It seems The whitepaper doesn't say it is not supported either.  from my
understanding, it should be supported. whenever a dirty flag in a leaf EPT
table entry that points to the final machine frame (4KB or 2MB,..) is set,
the corresponding written address will be logged.

>2) a single entry will be written which must be taken to cover the
>entire 2M range.

I think yes, and any subsequent writes to the same 2M range address won't
be updated to the log entry.

>3) an individual entry is written for every access.

If I understand correctly for this, only the first write access for the
same 2M page (or 4K page if 4KB size is used in EPT).

>Have I missed anything?
>
>~Andrew
​

Bing
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

Reply via email to