Re: [PATCH v2 2/6] KVM: MMU: don't drop spte if overwrite it fromW to RO

From: Xiao Guangrong
Date: Thu Nov 18 2010 - 02:08:43 EST


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 linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/