On 11/17/2010 11:57 PM, Avi Kivity wrote: >>> set_pte: >>> update_spte(sptep, spte); >>> + /* >>> + * If we overwrite a writable spte with a read-only one we >>> + * should flush remote TLBs. Otherwise rmap_write_protect >>> + * will find a read-only spte, even though the writable spte >>> + * might be cached on a CPU's TLB. >>> + */ >>> + if (is_writable_pte(entry)&& !is_writable_pte(*sptep)) >>> + kvm_flush_remote_tlbs(vcpu->kvm); >> There is no need to flush on sync_page path since the guest is >> responsible for it. >> > > If we don't, the next rmap_write_protect() will incorrectly decide that > there's no need to flush tlbs. > Maybe it's not a problem if guest can flush all tlbs after overwrite it? Marcelo, what's your comment about this? -- 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