In this function, the TLB flushing comes before spin unlock,
void kvm_mmu_slot_remove_write_access(struct kvm *kvm, int slot)
{
struct kvm_mmu_page *sp;
spin_lock(&kvm->mmu_lock);
kvm_flush_remote_tlbs(kvm);
spin_unlock(&kvm->mmu_lock);
}
but in kvm_vm_ioctl_set_memory_alias():
spin_unlock(&kvm->mmu_lock);
kvm_mmu_zap_all(kvm);
it comes after inside kvm_mmu_zap_all(). Does it sound logical?
--
Regards,
Peter Teoh
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html