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