On 11/16/2011 06:28 AM, Takuya Yoshikawa wrote: > (2011/11/14 21:39), Avi Kivity wrote: >> There was a patchset from Peter Zijlstra that converted mmu notifiers to >> be preemptible, with that, we can convert the mmu spinlock to a mutex, >> I'll see what happened to it. > > Interesting! > >> There is a third method of doing write protection, and that is by >> write-protecting at the higher levels of the paging hierarchy. The >> advantage there is that write protection is O(1) no matter how large the >> guest is, or the number of dirty pages. >> >> To write protect all guest memory, we just write protect the 512 PTEs at >> the very top, and leave the rest alone. When the guest writes to a >> page, we allow writes for the top-level PTE that faulted, and >> write-protect all the PTEs that it points to. > > One important point is that the guest, not GET DIRTY LOG caller, will pay > for the write protection at the timing of faults. I don't think there is a significant difference. The number of write faults does not change. The amount of work done per fault does, but not by much, thanks to the writeable bitmap. -- error compiling committee.c: too many arguments to function -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html