Re: [PATCH 1/3] KVM: cleanup (physical) CPU hotplug

2013-09-17 Thread Paolo Bonzini
Il 17/09/2013 09:57, Jan Kiszka ha scritto:
>> > Remove the useless argument, and do not do anything if there are no
>> > VMs running at the time of the hotplug.
> kvm_cpu_hotplug already filters !kvm_usage_count. If we need the check
> to be under kvm_lock, drop that line as well. If that is not required
> (machine still halted?), drop the related changes here.

CPU_DYING is called under stop_machine, CPU_STARTING is not.  So I
should drop the test in kvm_cpu_hotplug.  It's a bit clearer anyway to
not rely on stop_machine.

Paolo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH 1/3] KVM: cleanup (physical) CPU hotplug

2013-09-17 Thread Jan Kiszka
On 2013-09-16 16:06, Paolo Bonzini wrote:
> Remove the useless argument, and do not do anything if there are no
> VMs running at the time of the hotplug.

kvm_cpu_hotplug already filters !kvm_usage_count. If we need the check
to be under kvm_lock, drop that line as well. If that is not required
(machine still halted?), drop the related changes here.

Jan

> 
> Cc: sta...@vger.kernel.org
> Cc: k...@vger.kernel.org
> Cc: g...@redhat.com
> Cc: jan.kis...@siemens.com
> Signed-off-by: Paolo Bonzini 
> ---
>  virt/kvm/kvm_main.c | 14 --
>  1 file changed, 8 insertions(+), 6 deletions(-)
> 
> diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
> index 979bff4..75522b3 100644
> --- a/virt/kvm/kvm_main.c
> +++ b/virt/kvm/kvm_main.c
> @@ -2681,10 +2681,11 @@ static void hardware_enable_nolock(void *junk)
>   }
>  }
>  
> -static void hardware_enable(void *junk)
> +static void hardware_enable(void)
>  {
>   raw_spin_lock(_lock);
> - hardware_enable_nolock(junk);
> + if (kvm_usage_count)
> + hardware_enable_nolock(NULL);
>   raw_spin_unlock(_lock);
>  }
>  
> @@ -2698,10 +2699,11 @@ static void hardware_disable_nolock(void *junk)
>   kvm_arch_hardware_disable(NULL);
>  }
>  
> -static void hardware_disable(void *junk)
> +static void hardware_disable(void)
>  {
>   raw_spin_lock(_lock);
> - hardware_disable_nolock(junk);
> + if (kvm_usage_count)
> + hardware_disable_nolock(NULL);
>   raw_spin_unlock(_lock);
>  }
>  
> @@ -2756,12 +2758,12 @@ static int kvm_cpu_hotplug(struct notifier_block 
> *notifier, unsigned long val,
>   case CPU_DYING:
>   printk(KERN_INFO "kvm: disabling virtualization on CPU%d\n",
>  cpu);
> - hardware_disable(NULL);
> + hardware_disable();
>   break;
>   case CPU_STARTING:
>   printk(KERN_INFO "kvm: enabling virtualization on CPU%d\n",
>  cpu);
> - hardware_enable(NULL);
> + hardware_enable();
>   break;
>   }
>   return NOTIFY_OK;
> 

-- 
Siemens AG, Corporate Technology, CT RTC ITP SES-DE
Corporate Competence Center Embedded Linux
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH 1/3] KVM: cleanup (physical) CPU hotplug

2013-09-17 Thread Jan Kiszka
On 2013-09-16 16:06, Paolo Bonzini wrote:
 Remove the useless argument, and do not do anything if there are no
 VMs running at the time of the hotplug.

kvm_cpu_hotplug already filters !kvm_usage_count. If we need the check
to be under kvm_lock, drop that line as well. If that is not required
(machine still halted?), drop the related changes here.

Jan

 
 Cc: sta...@vger.kernel.org
 Cc: k...@vger.kernel.org
 Cc: g...@redhat.com
 Cc: jan.kis...@siemens.com
 Signed-off-by: Paolo Bonzini pbonz...@redhat.com
 ---
  virt/kvm/kvm_main.c | 14 --
  1 file changed, 8 insertions(+), 6 deletions(-)
 
 diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
 index 979bff4..75522b3 100644
 --- a/virt/kvm/kvm_main.c
 +++ b/virt/kvm/kvm_main.c
 @@ -2681,10 +2681,11 @@ static void hardware_enable_nolock(void *junk)
   }
  }
  
 -static void hardware_enable(void *junk)
 +static void hardware_enable(void)
  {
   raw_spin_lock(kvm_lock);
 - hardware_enable_nolock(junk);
 + if (kvm_usage_count)
 + hardware_enable_nolock(NULL);
   raw_spin_unlock(kvm_lock);
  }
  
 @@ -2698,10 +2699,11 @@ static void hardware_disable_nolock(void *junk)
   kvm_arch_hardware_disable(NULL);
  }
  
 -static void hardware_disable(void *junk)
 +static void hardware_disable(void)
  {
   raw_spin_lock(kvm_lock);
 - hardware_disable_nolock(junk);
 + if (kvm_usage_count)
 + hardware_disable_nolock(NULL);
   raw_spin_unlock(kvm_lock);
  }
  
 @@ -2756,12 +2758,12 @@ static int kvm_cpu_hotplug(struct notifier_block 
 *notifier, unsigned long val,
   case CPU_DYING:
   printk(KERN_INFO kvm: disabling virtualization on CPU%d\n,
  cpu);
 - hardware_disable(NULL);
 + hardware_disable();
   break;
   case CPU_STARTING:
   printk(KERN_INFO kvm: enabling virtualization on CPU%d\n,
  cpu);
 - hardware_enable(NULL);
 + hardware_enable();
   break;
   }
   return NOTIFY_OK;
 

-- 
Siemens AG, Corporate Technology, CT RTC ITP SES-DE
Corporate Competence Center Embedded Linux
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH 1/3] KVM: cleanup (physical) CPU hotplug

2013-09-17 Thread Paolo Bonzini
Il 17/09/2013 09:57, Jan Kiszka ha scritto:
  Remove the useless argument, and do not do anything if there are no
  VMs running at the time of the hotplug.
 kvm_cpu_hotplug already filters !kvm_usage_count. If we need the check
 to be under kvm_lock, drop that line as well. If that is not required
 (machine still halted?), drop the related changes here.

CPU_DYING is called under stop_machine, CPU_STARTING is not.  So I
should drop the test in kvm_cpu_hotplug.  It's a bit clearer anyway to
not rely on stop_machine.

Paolo
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 1/3] KVM: cleanup (physical) CPU hotplug

2013-09-16 Thread Paolo Bonzini
Remove the useless argument, and do not do anything if there are no
VMs running at the time of the hotplug.

Cc: sta...@vger.kernel.org
Cc: k...@vger.kernel.org
Cc: g...@redhat.com
Cc: jan.kis...@siemens.com
Signed-off-by: Paolo Bonzini 
---
 virt/kvm/kvm_main.c | 14 --
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
index 979bff4..75522b3 100644
--- a/virt/kvm/kvm_main.c
+++ b/virt/kvm/kvm_main.c
@@ -2681,10 +2681,11 @@ static void hardware_enable_nolock(void *junk)
}
 }
 
-static void hardware_enable(void *junk)
+static void hardware_enable(void)
 {
raw_spin_lock(_lock);
-   hardware_enable_nolock(junk);
+   if (kvm_usage_count)
+   hardware_enable_nolock(NULL);
raw_spin_unlock(_lock);
 }
 
@@ -2698,10 +2699,11 @@ static void hardware_disable_nolock(void *junk)
kvm_arch_hardware_disable(NULL);
 }
 
-static void hardware_disable(void *junk)
+static void hardware_disable(void)
 {
raw_spin_lock(_lock);
-   hardware_disable_nolock(junk);
+   if (kvm_usage_count)
+   hardware_disable_nolock(NULL);
raw_spin_unlock(_lock);
 }
 
@@ -2756,12 +2758,12 @@ static int kvm_cpu_hotplug(struct notifier_block 
*notifier, unsigned long val,
case CPU_DYING:
printk(KERN_INFO "kvm: disabling virtualization on CPU%d\n",
   cpu);
-   hardware_disable(NULL);
+   hardware_disable();
break;
case CPU_STARTING:
printk(KERN_INFO "kvm: enabling virtualization on CPU%d\n",
   cpu);
-   hardware_enable(NULL);
+   hardware_enable();
break;
}
return NOTIFY_OK;
-- 
1.8.3.1


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 1/3] KVM: cleanup (physical) CPU hotplug

2013-09-16 Thread Paolo Bonzini
Remove the useless argument, and do not do anything if there are no
VMs running at the time of the hotplug.

Cc: sta...@vger.kernel.org
Cc: k...@vger.kernel.org
Cc: g...@redhat.com
Cc: jan.kis...@siemens.com
Signed-off-by: Paolo Bonzini pbonz...@redhat.com
---
 virt/kvm/kvm_main.c | 14 --
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
index 979bff4..75522b3 100644
--- a/virt/kvm/kvm_main.c
+++ b/virt/kvm/kvm_main.c
@@ -2681,10 +2681,11 @@ static void hardware_enable_nolock(void *junk)
}
 }
 
-static void hardware_enable(void *junk)
+static void hardware_enable(void)
 {
raw_spin_lock(kvm_lock);
-   hardware_enable_nolock(junk);
+   if (kvm_usage_count)
+   hardware_enable_nolock(NULL);
raw_spin_unlock(kvm_lock);
 }
 
@@ -2698,10 +2699,11 @@ static void hardware_disable_nolock(void *junk)
kvm_arch_hardware_disable(NULL);
 }
 
-static void hardware_disable(void *junk)
+static void hardware_disable(void)
 {
raw_spin_lock(kvm_lock);
-   hardware_disable_nolock(junk);
+   if (kvm_usage_count)
+   hardware_disable_nolock(NULL);
raw_spin_unlock(kvm_lock);
 }
 
@@ -2756,12 +2758,12 @@ static int kvm_cpu_hotplug(struct notifier_block 
*notifier, unsigned long val,
case CPU_DYING:
printk(KERN_INFO kvm: disabling virtualization on CPU%d\n,
   cpu);
-   hardware_disable(NULL);
+   hardware_disable();
break;
case CPU_STARTING:
printk(KERN_INFO kvm: enabling virtualization on CPU%d\n,
   cpu);
-   hardware_enable(NULL);
+   hardware_enable();
break;
}
return NOTIFY_OK;
-- 
1.8.3.1


--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/