KVM: remove kvm_arch_has_vcpu_debugfs()
PATCH v2 1/2 KVM: remove kvm_arch_has_vcpu_debugfs()
There is no need for this function as all arches have to implement kvm_arch_create_vcpu_debugfs() no matter what, so just remove this call as it is pointless.
---
v2: new patch in the series
arch/mips/kvm/mips.c | 5 ----- arch/powerpc/kvm/powerpc.c | 5 ----- arch/s390/kvm/kvm-s390.c | 5 ----- arch/x86/kvm/debugfs.c | 5 ----- include/linux/kvm_host.h | 1 - virt/kvm/arm/arm.c | 5 ----- virt/kvm/kvm_main.c | 3 --- 7 files changed, 29 deletions(-)
arch/mips/kvm/mips.c +0 -5
@@ -150,11 +150,6 @@ int kvm_arch_init_vm(struct kvm *kvm, unsigned long type)return 0 ; } -bool kvm_arch_has_vcpu_debugfs (void ) -{ -return false; -} -int kvm_arch_create_vcpu_debugfs (struct kvm_vcpu *vcpu) {return 0 ;
arch/powerpc/kvm/powerpc.c +0 -5
@@ -452,11 +452,6 @@ int kvm_arch_init_vm(struct kvm *kvm, unsigned long type)return -EINVAL ; } -bool kvm_arch_has_vcpu_debugfs (void ) -{ -return false; -} -int kvm_arch_create_vcpu_debugfs (struct kvm_vcpu *vcpu) {return 0 ;
arch/s390/kvm/kvm-s390.c +0 -5
@@ -2516,11 +2516,6 @@ int kvm_arch_init_vm(struct kvm *kvm, unsigned long type)return rc; } -bool kvm_arch_has_vcpu_debugfs (void ) -{ -return false; -} -int kvm_arch_create_vcpu_debugfs (struct kvm_vcpu *vcpu) {return 0 ;
arch/x86/kvm/debugfs.c +0 -5
@@ -8,11 +8,6 @@#include <linux/debugfs.h> #include "lapic.h" -bool kvm_arch_has_vcpu_debugfs (void ) -{ -return true; -} -static int vcpu_get_timer_advance_ns (void *data,u64 *val) {struct kvm_vcpu *vcpu = (struct kvm_vcpu *) data;
include/linux/kvm_host.h +0 -1
@@ -861,7 +861,6 @@ int kvm_arch_vcpu_setup(struct kvm_vcpu *vcpu);void kvm_arch_vcpu_postcreate (struct kvm_vcpu *vcpu);void kvm_arch_vcpu_destroy (struct kvm_vcpu *vcpu); -bool kvm_arch_has_vcpu_debugfs (void );int kvm_arch_create_vcpu_debugfs (struct kvm_vcpu *vcpu);int kvm_arch_hardware_enable (void );
virt/kvm/arm/arm.c +0 -5
@@ -144,11 +144,6 @@ int kvm_arch_init_vm(struct kvm *kvm, unsigned long type)return ret; } -bool kvm_arch_has_vcpu_debugfs (void ) -{ -return false; -} -int kvm_arch_create_vcpu_debugfs (struct kvm_vcpu *vcpu) {return 0 ;
virt/kvm/kvm_main.c +0 -3
@@ -2596,9 +2596,6 @@ static int kvm_create_vcpu_debugfs(struct kvm_vcpu *vcpu)char dir_name[ITOA_MAX_LEN *2 ];int ret; -if (!kvm_arch_has_vcpu_debugfs ()) -return 0 ; -if (!debugfs_initialized ())return 0 ;
Signature · 1 line
2.22.0
PATCH v2 2/2 KVM: no need to check return value of debugfs_create functions
When calling debugfs functions, there is no need to ever check the return value. The function can work or not, but the code logic should never do something different based on this.
Also, when doing this, change kvm_arch_create_vcpu_debugfs() to return void instead of an integer, as we should not care at all about if this function actually does anything or not.
---
v2: change the return value of kvm_arch_create_vcpu_debugfs() to be
void, based on review comments.
arch/mips/kvm/mips.c | 3 +-- arch/powerpc/kvm/powerpc.c | 3 +-- arch/s390/kvm/kvm-s390.c | 3 +-- arch/x86/kvm/debugfs.c | 41 ++++++++++++-------------------------- include/linux/kvm_host.h | 2 +- virt/kvm/arm/arm.c | 3 +-- virt/kvm/kvm_main.c | 21 +++++-------------- 7 files changed, 23 insertions(+), 53 deletions(-)
arch/mips/kvm/mips.c +1 -2
@@ -150,9 +150,8 @@ int kvm_arch_init_vm(struct kvm *kvm, unsigned long type)return 0 ; } -int kvm_arch_create_vcpu_debugfs (struct kvm_vcpu *vcpu) +void kvm_arch_create_vcpu_debugfs (struct kvm_vcpu *vcpu) { -return 0 ; }void kvm_mips_free_vcpus (struct kvm *kvm)
arch/powerpc/kvm/powerpc.c +1 -2
@@ -452,9 +452,8 @@ int kvm_arch_init_vm(struct kvm *kvm, unsigned long type)return -EINVAL ; } -int kvm_arch_create_vcpu_debugfs (struct kvm_vcpu *vcpu) +void kvm_arch_create_vcpu_debugfs (struct kvm_vcpu *vcpu) { -return 0 ; }void kvm_arch_destroy_vm (struct kvm *kvm)
arch/s390/kvm/kvm-s390.c +1 -2
@@ -2516,9 +2516,8 @@ int kvm_arch_init_vm(struct kvm *kvm, unsigned long type)return rc; } -int kvm_arch_create_vcpu_debugfs (struct kvm_vcpu *vcpu) +void kvm_arch_create_vcpu_debugfs (struct kvm_vcpu *vcpu) { -return 0 ; }void kvm_arch_vcpu_destroy (struct kvm_vcpu *vcpu)
arch/x86/kvm/debugfs.c +13 -28
50 lines not on this page · raw message
include/linux/kvm_host.h +1 -1
@@ -861,7 +861,7 @@ int kvm_arch_vcpu_setup(struct kvm_vcpu *vcpu);void kvm_arch_vcpu_postcreate (struct kvm_vcpu *vcpu);void kvm_arch_vcpu_destroy (struct kvm_vcpu *vcpu); -int kvm_arch_create_vcpu_debugfs (struct kvm_vcpu *vcpu); +void kvm_arch_create_vcpu_debugfs (struct kvm_vcpu *vcpu);int kvm_arch_hardware_enable (void );void kvm_arch_hardware_disable (void );
virt/kvm/arm/arm.c +1 -2
@@ -144,9 +144,8 @@ int kvm_arch_init_vm(struct kvm *kvm, unsigned long type)return ret; } -int kvm_arch_create_vcpu_debugfs (struct kvm_vcpu *vcpu) +void kvm_arch_create_vcpu_debugfs (struct kvm_vcpu *vcpu) { -return 0 ; }vm_fault_t kvm_arch_vcpu_fault (struct kvm_vcpu *vcpu,struct vm_fault *vmf)
virt/kvm/kvm_main.c +5 -16
@@ -2591,27 +2591,18 @@ static int create_vcpu_fd(struct kvm_vcpu *vcpu)return anon_inode_getfd (name, &kvm_vcpu_fops, vcpu,O_RDWR |O_CLOEXEC ); } -static int kvm_create_vcpu_debugfs (struct kvm_vcpu *vcpu) +static void kvm_create_vcpu_debugfs (struct kvm_vcpu *vcpu) {char dir_name[ITOA_MAX_LEN *2 ]; -int ret;if (!debugfs_initialized ()) -return 0 ; +return ;snprintf (dir_name,sizeof (dir_name),"vcpu%d" , vcpu->vcpu_id); vcpu->debugfs_dentry =debugfs_create_dir (dir_name, - vcpu->kvm->debugfs_dentry); -if (!vcpu->debugfs_dentry) -return -ENOMEM ; + vcpu->kvm->debugfs_dentry); - ret =kvm_arch_create_vcpu_debugfs (vcpu); -if (ret <0 ) { -debugfs_remove_recursive (vcpu->debugfs_dentry); -return ret; - } - -return 0 ; +kvm_arch_create_vcpu_debugfs (vcpu); }/*
@@ -2646,9 +2637,7 @@ static int kvm_vm_ioctl_create_vcpu(struct kvm *kvm, u32 id)if (r) goto vcpu_destroy; - r =kvm_create_vcpu_debugfs (vcpu); -if (r) - goto vcpu_destroy; +kvm_create_vcpu_debugfs (vcpu);mutex_lock (&kvm->lock);if (kvm_get_vcpu_by_id (kvm, id)) {
Signature · 1 line
2.22.0
Paolo Bonzini
maintainerQuoted 13 lines · Greg KH
There is no need for this function as all arches have to implement
kvm_arch_create_vcpu_debugfs()no matter what, so just remove this call as it is pointless.Cc Paolo Bonzini <[email protected]>Cc "Radim Krm" <[email protected]>Cc Thomas Gleixner <[email protected]>Cc Ingo Molnar <[email protected]>Cc Borislav Petkov <[email protected]>Cc "H. Peter Anvin" <[email protected]>Cc <[email protected]>Cc <[email protected]>Signed-off-by Greg Kroah-Hartman <[email protected]>
Quoted 2 lines
---
v2: new patch in the series
Let's remove kvm_arch_arch_create_vcpu_debugfs too for non-x86 arches.
I'll queue your 2/2.
---------------- 8< ------------------
From fe1b874aca4679836f0533a923c641a1a367cd32 Mon Sep 17 00:00:00 2001
From: Paolo Bonzini <[email protected]>
Date: Sat, 3 Aug 2019 08:14:25 +0200
Subject: [PATCH] KVM: remove kvm_arch_has_vcpu_debugfs()
There is no need for this function as all arches have to implement kvm_arch_create_vcpu_debugfs() no matter what. A #define symbol let us actually simplify the code.
arch/mips/kvm/mips.c +0 -10
@@ -150,16 +150,6 @@ int kvm_arch_init_vm(struct kvm *kvm, unsigned long type)return 0 ; } -bool kvm_arch_has_vcpu_debugfs (void ) -{ -return false; -} - -int kvm_arch_create_vcpu_debugfs (struct kvm_vcpu *vcpu) -{ -return 0 ; -} -void kvm_mips_free_vcpus (struct kvm *kvm) {unsigned int i;
arch/powerpc/kvm/powerpc.c +0 -10
@@ -452,16 +452,6 @@ int kvm_arch_init_vm(struct kvm *kvm, unsigned long type)return -EINVAL ; } -bool kvm_arch_has_vcpu_debugfs (void ) -{ -return false; -} - -int kvm_arch_create_vcpu_debugfs (struct kvm_vcpu *vcpu) -{ -return 0 ; -} -void kvm_arch_destroy_vm (struct kvm *kvm) {unsigned int i;
arch/s390/kvm/kvm-s390.c +0 -10
@@ -2516,16 +2516,6 @@ int kvm_arch_init_vm(struct kvm *kvm, unsigned long type)return rc; } -bool kvm_arch_has_vcpu_debugfs (void ) -{ -return false; -} - -int kvm_arch_create_vcpu_debugfs (struct kvm_vcpu *vcpu) -{ -return 0 ; -} -void kvm_arch_vcpu_destroy (struct kvm_vcpu *vcpu) {VCPU_EVENT (vcpu,3 ,"%s" ,"free cpu" );
arch/x86/include/asm/kvm_host.h +2 -0
@@ -35,6 +35,8 @@#include <asm/kvm_vcpu_regs.h> #include <asm/hyperv-tlfs.h> +#define __KVM_HAVE_ARCH_VCPU_DEBUGFS +#define KVM_MAX_VCPUS 288#define KVM_SOFT_MAX_VCPUS 240#define KVM_MAX_VCPU_ID 1023
arch/x86/kvm/debugfs.c +0 -5
@@ -8,11 +8,6 @@#include <linux/debugfs.h> #include "lapic.h" -bool kvm_arch_has_vcpu_debugfs (void ) -{ -return true; -} -static int vcpu_get_timer_advance_ns (void *data,u64 *val) {struct kvm_vcpu *vcpu = (struct kvm_vcpu *) data;
include/linux/kvm_host.h +2 -1
@@ -861,8 +861,9 @@ int kvm_arch_vcpu_ioctl_set_guest_debug(struct kvm_vcpu *vcpu,void kvm_arch_vcpu_postcreate (struct kvm_vcpu *vcpu);void kvm_arch_vcpu_destroy (struct kvm_vcpu *vcpu); -bool kvm_arch_has_vcpu_debugfs (void ); +#ifdef __KVM_HAVE_ARCH_VCPU_DEBUGFSint kvm_arch_create_vcpu_debugfs (struct kvm_vcpu *vcpu); +#endif int kvm_arch_hardware_enable (void );void kvm_arch_hardware_disable (void );
virt/kvm/arm/arm.c +0 -5
@@ -144,11 +144,6 @@ int kvm_arch_init_vm(struct kvm *kvm, unsigned long type)return ret; } -bool kvm_arch_has_vcpu_debugfs (void ) -{ -return false; -} -int kvm_arch_create_vcpu_debugfs (struct kvm_vcpu *vcpu) {return 0 ;
virt/kvm/kvm_main.c +2 -3
@@ -2593,12 +2593,10 @@ static int create_vcpu_fd(struct kvm_vcpu *vcpu)static int kvm_create_vcpu_debugfs (struct kvm_vcpu *vcpu) { +#ifdef __KVM_HAVE_ARCH_VCPU_DEBUGFSchar dir_name[ITOA_MAX_LEN *2 ];int ret; -if (!kvm_arch_has_vcpu_debugfs ()) -return 0 ; -if (!debugfs_initialized ())return 0 ;
@@ -2613,6 +2611,7 @@ static int kvm_create_vcpu_debugfs(struct kvm_vcpu *vcpu)debugfs_remove_recursive (vcpu->debugfs_dentry); return ret; } +#endif return 0 ; }
Quoted 6 lines · Paolo Bonzini
Quoted 3 lines · Greg KH
There is no need for this function as all arches have to implement
kvm_arch_create_vcpu_debugfs()no matter what, so just remove this call as it is pointless.Let's remove
kvm_arch_arch_create_vcpu_debugfstoo for non-x86 arches.
Can't we remove _all_ that virt muck? That would solve a lot more problems in one go.
/me ducks
Paolo Bonzini
maintainerQuoted 10 lines · Thomas Gleixner
Quoted 6 lines · Paolo Bonzini
Quoted 3 lines · Greg KH
There is no need for this function as all arches have to implement
kvm_arch_create_vcpu_debugfs()no matter what, so just remove this call as it is pointless.Let's remove
kvm_arch_arch_create_vcpu_debugfstoo for non-x86 arches.Can't we remove _all_ that virt muck? That would solve a lot more problems in one go.
It sure would take some maintainer burden off me. :)
Paolo
Quoted 17 lines · Paolo Bonzini
Quoted 13 lines · Greg KH
There is no need for this function as all arches have to implement
kvm_arch_create_vcpu_debugfs()no matter what, so just remove this call as it is pointless.Cc Paolo Bonzini <[email protected]>Cc "Radim Krm" <[email protected]>Cc Thomas Gleixner <[email protected]>Cc Ingo Molnar <[email protected]>Cc Borislav Petkov <[email protected]>Cc "H. Peter Anvin" <[email protected]>Cc <[email protected]>Cc <[email protected]>Signed-off-by Greg Kroah-Hartman <[email protected]>Quoted 2 lines
---
v2: new patch in the series
Quoted 3 lines
Let's remove
kvm_arch_arch_create_vcpu_debugfstoo for non-x86 arches.I'll queue your 2/2.
Great, so what about 1/2? I have no objection to your patch for this.
thanks,
greg k-h
Paolo Bonzini
maintainerQuoted 18 lines · Greg KH
Quoted 17 lines · Paolo Bonzini
Quoted 15 lines · Greg KH
There is no need for this function as all arches have to implement
kvm_arch_create_vcpu_debugfs()no matter what, so just remove this call as it is pointless.Cc Paolo Bonzini <[email protected]>Cc "Radim Krm" <[email protected]>Cc Thomas Gleixner <[email protected]>Cc Ingo Molnar <[email protected]>Cc Borislav Petkov <[email protected]>Cc "H. Peter Anvin" <[email protected]>Cc <[email protected]>Cc <[email protected]>Signed-off-by Greg Kroah-Hartman <[email protected]>---
v2: new patch in the series
Quoted 5 lines
Quoted 3 lines
Let's remove
kvm_arch_arch_create_vcpu_debugfstoo for non-x86 arches.I'll queue your 2/2.
Great, so what about 1/2? I have no objection to your patch for this.
I'll queue my own replacement of 1/2, together with your 2/2. Both should reach Linus later this week.
Paolo
Quoted 19 lines · Paolo Bonzini
Quoted 18 lines · Greg KH
Quoted 17 lines · Paolo Bonzini
Quoted 15 lines · Greg KH
There is no need for this function as all arches have to implement
kvm_arch_create_vcpu_debugfs()no matter what, so just remove this call as it is pointless.Cc Paolo Bonzini <[email protected]>Cc "Radim Krm" <[email protected]>Cc Thomas Gleixner <[email protected]>Cc Ingo Molnar <[email protected]>Cc Borislav Petkov <[email protected]>Cc "H. Peter Anvin" <[email protected]>Cc <[email protected]>Cc <[email protected]>Signed-off-by Greg Kroah-Hartman <[email protected]>---
v2: new patch in the series
Quoted 8 lines
Quoted 5 lines
Quoted 3 lines
Let's remove
kvm_arch_arch_create_vcpu_debugfstoo for non-x86 arches.I'll queue your 2/2.
Great, so what about 1/2? I have no objection to your patch for this.
I'll queue my own replacement of 1/2, together with your 2/2. Both should reach Linus later this week.
Wonderful, thanks.
greg k-h