KVM: s390: vsie: Move conditional reschedule
authorDavid Hildenbrand <david@redhat.com>
Fri, 3 Apr 2020 15:30:49 +0000 (17:30 +0200)
committerChristian Borntraeger <borntraeger@de.ibm.com>
Mon, 20 Apr 2020 09:33:31 +0000 (11:33 +0200)
Let's move it to the outer loop, in case we ever run again into long
loops, trying to map the prefix. While at it, convert it to cond_resched().

Signed-off-by: David Hildenbrand <david@redhat.com>
Link: https://lore.kernel.org/r/20200403153050.20569-5-david@redhat.com
Reviewed-by: Claudio Imbrenda <imbrenda@linux.ibm.com>
Reviewed-by: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
arch/s390/kvm/vsie.c

index 4f6c22d72072ade872f638a704dab39aa38d2a42..ef05b4e167fb0be2fadfbde264e7528fc93ab369 100644 (file)
@@ -1000,8 +1000,6 @@ static int do_vsie_run(struct kvm_vcpu *vcpu, struct vsie_page *vsie_page)
 
        handle_last_fault(vcpu, vsie_page);
 
-       if (need_resched())
-               schedule();
        if (test_cpu_flag(CIF_MCCK_PENDING))
                s390_handle_mcck();
 
@@ -1185,6 +1183,7 @@ static int vsie_run(struct kvm_vcpu *vcpu, struct vsie_page *vsie_page)
                    kvm_s390_vcpu_has_irq(vcpu, 0) ||
                    kvm_s390_vcpu_sie_inhibited(vcpu))
                        break;
+               cond_resched();
        }
 
        if (rc == -EFAULT) {