Sorry, CC list is lost. :( On 11/29/2011 06:01 PM, Xiao Guangrong wrote: > Avi Kivity <avi <at> redhat.com> writes: > >> >> 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. >> > > Avi, > > I think it needs more thinking if only less page need be write protected. > > For example, framebuffer-based device used by Xwindow, only ~64M pages needs > to be write protected, but in your way, guest will get write page fault on all > memory? Hmm? > > It has some tricks but i missed? > > -- > 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 > > -- 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