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.

-------------------------------------------------------------------------
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