Takuya Yoshikawa
Fri, 12 Mar 2010 02:09:36 -0800
I made this patch for the coalesced mmio's error handling work. Though, I wanted to finish this work, I have no time this week any more. I'll do the remaining part next week, sorry. Takuya Yoshikawa wrote:
We have kvm_init_mmu_notifier() for registering mmu notifier. This patch makes the counterpart for unregister. Signed-off-by: Takuya Yoshikawa <yoshikawa.tak...@oss.ntt.co.jp> --- virt/kvm/kvm_main.c | 16 +++++++++++----- 1 files changed, 11 insertions(+), 5 deletions(-) diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c index e758ef7..64b792c 100644 --- a/virt/kvm/kvm_main.c +++ b/virt/kvm/kvm_main.c @@ -359,6 +359,11 @@ static int kvm_init_mmu_notifier(struct kvm *kvm) return mmu_notifier_register(&kvm->mmu_notifier, current->mm); }+static void kvm_uninit_mmu_notifier(struct kvm *kvm)+{ + mmu_notifier_unregister(&kvm->mmu_notifier, kvm->mm); +} + #else /* !(CONFIG_MMU_NOTIFIER && KVM_ARCH_WANT_MMU_NOTIFIER) */static int kvm_init_mmu_notifier(struct kvm *kvm)@@ -366,6 +371,11 @@ static int kvm_init_mmu_notifier(struct kvm *kvm) return 0; }+static void kvm_uninit_mmu_notifier(struct kvm *kvm)+{ + kvm_arch_flush_shadow(kvm); +} + #endif /* CONFIG_MMU_NOTIFIER && KVM_ARCH_WANT_MMU_NOTIFIER */static struct kvm *kvm_create_vm(void)@@ -485,11 +495,7 @@ static void kvm_destroy_vm(struct kvm *kvm) for (i = 0; i < KVM_NR_BUSES; i++) kvm_io_bus_destroy(kvm->buses[i]); kvm_coalesced_mmio_free(kvm); -#if defined(CONFIG_MMU_NOTIFIER) && defined(KVM_ARCH_WANT_MMU_NOTIFIER) - mmu_notifier_unregister(&kvm->mmu_notifier, kvm->mm); -#else - kvm_arch_flush_shadow(kvm); -#endif + kvm_uninit_mmu_notifier(kvm); kvm_arch_destroy_vm(kvm); hardware_disable_all(); mmdrop(mm);
-- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html