On 23/02/2016 05:40, Xiao Guangrong wrote: >>> >>> @@ -7878,6 +7877,7 @@ void kvm_arch_destroy_vm(struct kvm *kvm) >>> kfree(kvm->arch.vioapic); >>> kvm_free_vcpus(kvm); >>> kfree(rcu_dereference_check(kvm->arch.apic_map, 1)); >>> + kvm_mmu_uninit_vm(kvm); >> >> This function is not necessary, since the VM is disappearing anyway and >> the page tracker is not going to be called. > > I think it is still necessary, as we are using srcu to protect the > notifier, so > we should wait all the callers of notifier callbacks gone, i.e, > synchronize_srcu() is needed anyway.
You're right. Paolo

