Carsten Otte wrote:
> Avi Kivity wrote:
>> kvm only tracks dirty bits if requested by userspace (for live 
>> migration).  Checking the pte is not so easy because the pte contains 
>> only host addresses, not page addresses (well, we could consult the 
>> guest page table, but...).
> As far as I undstand this code, this function is used to release a 
> memory page. Hopefully at this time the guest has not set up any page 
> table entries to this page, because we're releasing the target page. 
> When the guest migrates the dirty bit from its pte to its struct page 
> (it always does this at least when removing the pte), we could 
> indicate this to the hypervisor e.g. via hypercall. This way the 
> hypervisor would know if the page is dirty or not, without asking the 
> guest if the guest is paravirtual.
> That said, for ept/npt/s390 we have the information anyway without the 
> need to do above trick, due to the double dirty/reference tracking 
> approach. That would also work for non-paravirtual guests in that case.

We can actually make it work for non-paravirt, non-npt as well; when 
removing the shadow pte, set the page dirty bit.  I forgot that the gfn 
is immaterial for this.


-- 
error compiling committee.c: too many arguments to function


-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/
_______________________________________________
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel

Reply via email to