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