Message ID | 20170413201951.11939-2-rkrcmar@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 13.04.2017 22:19, Radim Krčmář wrote: > Moving it to generic code will allow us to extend it with ease. > > Signed-off-by: Radim Krčmář <rkrcmar@redhat.com> > --- > include/linux/kvm_host.h | 12 ------------ > virt/kvm/kvm_main.c | 16 +++++++++++++--- > 2 files changed, 13 insertions(+), 15 deletions(-) > > diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h > index 397b7b5b1933..ae4e114cb7d1 100644 > --- a/include/linux/kvm_host.h > +++ b/include/linux/kvm_host.h > @@ -769,18 +769,6 @@ int kvm_arch_vcpu_should_kick(struct kvm_vcpu *vcpu); > > void *kvm_kvzalloc(unsigned long size); > > -#ifndef __KVM_HAVE_ARCH_VM_ALLOC > -static inline struct kvm *kvm_arch_alloc_vm(void) > -{ > - return kzalloc(sizeof(struct kvm), GFP_KERNEL); > -} > - > -static inline void kvm_arch_free_vm(struct kvm *kvm) > -{ > - kfree(kvm); > -} > -#endif > - > #ifdef __KVM_HAVE_ARCH_NONCOHERENT_DMA > void kvm_arch_register_noncoherent_dma(struct kvm *kvm); > void kvm_arch_unregister_noncoherent_dma(struct kvm *kvm); > diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c > index 357e67cba32e..f03b093abffe 100644 > --- a/virt/kvm/kvm_main.c > +++ b/virt/kvm/kvm_main.c > @@ -604,10 +604,20 @@ static int kvm_create_vm_debugfs(struct kvm *kvm, int fd) > return 0; > } > > +static inline struct kvm *kvm_alloc_vm(void) > +{ > + return kzalloc(sizeof(struct kvm), GFP_KERNEL); > +} > + > +static inline void kvm_free_vm(struct kvm *kvm) > +{ > + kfree(kvm); > +} > + > static struct kvm *kvm_create_vm(unsigned long type) > { > int r, i; > - struct kvm *kvm = kvm_arch_alloc_vm(); > + struct kvm *kvm = kvm_alloc_vm(); > > if (!kvm) > return ERR_PTR(-ENOMEM); > @@ -684,7 +694,7 @@ static struct kvm *kvm_create_vm(unsigned long type) > kfree(kvm->buses[i]); > for (i = 0; i < KVM_ADDRESS_SPACE_NUM; i++) > kvm_free_memslots(kvm, kvm->memslots[i]); > - kvm_arch_free_vm(kvm); > + kvm_free_vm(kvm); > mmdrop(current->mm); > return ERR_PTR(r); > } > @@ -744,7 +754,7 @@ static void kvm_destroy_vm(struct kvm *kvm) > kvm_free_memslots(kvm, kvm->memslots[i]); > cleanup_srcu_struct(&kvm->irq_srcu); > cleanup_srcu_struct(&kvm->srcu); > - kvm_arch_free_vm(kvm); > + kvm_free_vm(kvm); > preempt_notifier_dec(); > hardware_disable_all(); > mmdrop(mm); > Reviewed-by: David Hildenbrand <david@redhat.com>
diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h index 397b7b5b1933..ae4e114cb7d1 100644 --- a/include/linux/kvm_host.h +++ b/include/linux/kvm_host.h @@ -769,18 +769,6 @@ int kvm_arch_vcpu_should_kick(struct kvm_vcpu *vcpu); void *kvm_kvzalloc(unsigned long size); -#ifndef __KVM_HAVE_ARCH_VM_ALLOC -static inline struct kvm *kvm_arch_alloc_vm(void) -{ - return kzalloc(sizeof(struct kvm), GFP_KERNEL); -} - -static inline void kvm_arch_free_vm(struct kvm *kvm) -{ - kfree(kvm); -} -#endif - #ifdef __KVM_HAVE_ARCH_NONCOHERENT_DMA void kvm_arch_register_noncoherent_dma(struct kvm *kvm); void kvm_arch_unregister_noncoherent_dma(struct kvm *kvm); diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c index 357e67cba32e..f03b093abffe 100644 --- a/virt/kvm/kvm_main.c +++ b/virt/kvm/kvm_main.c @@ -604,10 +604,20 @@ static int kvm_create_vm_debugfs(struct kvm *kvm, int fd) return 0; } +static inline struct kvm *kvm_alloc_vm(void) +{ + return kzalloc(sizeof(struct kvm), GFP_KERNEL); +} + +static inline void kvm_free_vm(struct kvm *kvm) +{ + kfree(kvm); +} + static struct kvm *kvm_create_vm(unsigned long type) { int r, i; - struct kvm *kvm = kvm_arch_alloc_vm(); + struct kvm *kvm = kvm_alloc_vm(); if (!kvm) return ERR_PTR(-ENOMEM); @@ -684,7 +694,7 @@ static struct kvm *kvm_create_vm(unsigned long type) kfree(kvm->buses[i]); for (i = 0; i < KVM_ADDRESS_SPACE_NUM; i++) kvm_free_memslots(kvm, kvm->memslots[i]); - kvm_arch_free_vm(kvm); + kvm_free_vm(kvm); mmdrop(current->mm); return ERR_PTR(r); } @@ -744,7 +754,7 @@ static void kvm_destroy_vm(struct kvm *kvm) kvm_free_memslots(kvm, kvm->memslots[i]); cleanup_srcu_struct(&kvm->irq_srcu); cleanup_srcu_struct(&kvm->srcu); - kvm_arch_free_vm(kvm); + kvm_free_vm(kvm); preempt_notifier_dec(); hardware_disable_all(); mmdrop(mm);
Moving it to generic code will allow us to extend it with ease. Signed-off-by: Radim Krčmář <rkrcmar@redhat.com> --- include/linux/kvm_host.h | 12 ------------ virt/kvm/kvm_main.c | 16 +++++++++++++--- 2 files changed, 13 insertions(+), 15 deletions(-)