diff options
author | David Hildenbrand <dahi@linux.vnet.ibm.com> | 2016-05-27 22:03:52 +0200 |
---|---|---|
committer | Christian Borntraeger <borntraeger@de.ibm.com> | 2016-06-21 09:43:44 +0200 |
commit | adbf16985c387851fd3454ca34893705dbde7f98 (patch) | |
tree | da60441f03e9b218ea1a8f822b46558c2da92756 /arch/s390/kvm/interrupt.c | |
parent | 1b7029bec18718eca8cfc5c1c0917444f019be1e (diff) | |
download | op-kernel-dev-adbf16985c387851fd3454ca34893705dbde7f98.zip op-kernel-dev-adbf16985c387851fd3454ca34893705dbde7f98.tar.gz |
KVM: s390: vsie: speed up VCPU irq delivery when handling vsie
Whenever we want to wake up a VCPU (e.g. when injecting an IRQ), we
have to kick it out of vsie, so the request will be handled faster.
Acked-by: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: David Hildenbrand <dahi@linux.vnet.ibm.com>
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Diffstat (limited to 'arch/s390/kvm/interrupt.c')
-rw-r--r-- | arch/s390/kvm/interrupt.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/s390/kvm/interrupt.c b/arch/s390/kvm/interrupt.c index d72c4a8..ca19627 100644 --- a/arch/s390/kvm/interrupt.c +++ b/arch/s390/kvm/interrupt.c @@ -995,6 +995,11 @@ void kvm_s390_vcpu_wakeup(struct kvm_vcpu *vcpu) swake_up(&vcpu->wq); vcpu->stat.halt_wakeup++; } + /* + * The VCPU might not be sleeping but is executing the VSIE. Let's + * kick it, so it leaves the SIE to process the request. + */ + kvm_s390_vsie_kick(vcpu); } enum hrtimer_restart kvm_s390_idle_wakeup(struct hrtimer *timer) |