[3.13.y.z extended stable] Patch "KVM: s390: Optimize ucontrol path" has been added to staging queue

Kamal Mostafa kamal at canonical.com
Thu May 1 19:17:14 UTC 2014

This is a note to let you know that I have just added a patch titled

    KVM: s390: Optimize ucontrol path

to the linux-3.13.y-queue branch of the 3.13.y.z extended stable tree 
which can be found at:


This patch is scheduled to be released in version

If you, or anyone else, feels it should not be added to this tree, please 
reply to this email.

For more information about the 3.13.y.z tree, see



>From 32af9938c3c580f7812ad4445e794d3a1194548a Mon Sep 17 00:00:00 2001
From: Christian Borntraeger <borntraeger at de.ibm.com>
Date: Thu, 6 Mar 2014 16:01:38 +0100
Subject: KVM: s390: Optimize ucontrol path

commit 2955c83f72801245afd0fe5c560cc75b82bea9aa upstream.

Since commit 7c470539c95630c1f2a10f109e96f249730b75eb
(s390/kvm: avoid automatic sie reentry) we will run through the C code
of KVM on host interrupts instead of just reentering the guest. This
will result in additional ucontrol exits (at least HZ per second). Let
handle a 0 intercept in the kernel and dont return to userspace,
even if in ucontrol mode.

Signed-off-by: Christian Borntraeger <borntraeger at de.ibm.com>
Reviewed-by: Cornelia Huck <cornelia.huck at de.ibm.com>
Signed-off-by: Kamal Mostafa <kamal at canonical.com>
 arch/s390/kvm/kvm-s390.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/arch/s390/kvm/kvm-s390.c b/arch/s390/kvm/kvm-s390.c
index bb383df..bfe7726 100644
--- a/arch/s390/kvm/kvm-s390.c
+++ b/arch/s390/kvm/kvm-s390.c
@@ -746,7 +746,8 @@ static int vcpu_post_run(struct kvm_vcpu *vcpu, int exit_reason)

 	if (rc == 0) {
 		if (kvm_is_ucontrol(vcpu->kvm))
-			rc = -EOPNOTSUPP;
+			/* Don't exit for host interrupts. */
+			rc = vcpu->arch.sie_block->icptcode ? -EOPNOTSUPP : 0;
 			rc = kvm_handle_sie_intercept(vcpu);

More information about the kernel-team mailing list