s390x/kvm: execute "system reset" cpu resets on the vcpu thread
authorDavid Hildenbrand <dahi@linux.vnet.ibm.com>
Thu, 28 Aug 2014 11:58:51 +0000 (13:58 +0200)
committerChristian Borntraeger <borntraeger@de.ibm.com>
Mon, 1 Sep 2014 07:23:02 +0000 (09:23 +0200)
Let's execute resets triggered by qemu system resets on the target vcpu thread.
This will avoid synchronize_rcu's in the kernel.

Reviewed-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Acked-by: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: David Hildenbrand <dahi@linux.vnet.ibm.com>
Signed-off-by: Jens Freimann <jfrei@linux.vnet.ibm.com>
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
target-s390x/cpu.c

index c3082b7..4633282 100644 (file)
@@ -165,7 +165,7 @@ static void s390_cpu_machine_reset_cb(void *opaque)
 {
     S390CPU *cpu = opaque;
 
-    cpu_reset(CPU(cpu));
+    run_on_cpu(CPU(cpu), s390_do_cpu_full_reset, CPU(cpu));
 }
 #endif