Blame SOURCES/kvm-target-s390x-kvm-Enable-adapter-interruption-suppres.patch

ddf19c
From c4fe37ae6d75ed72e6a3bde01fea053eb508274c Mon Sep 17 00:00:00 2001
ddf19c
From: Thomas Huth <thuth@redhat.com>
ddf19c
Date: Fri, 5 Jun 2020 07:41:11 -0400
ddf19c
Subject: [PATCH 41/42] target/s390x/kvm: Enable adapter interruption
ddf19c
 suppression again
ddf19c
MIME-Version: 1.0
ddf19c
Content-Type: text/plain; charset=UTF-8
ddf19c
Content-Transfer-Encoding: 8bit
ddf19c
ddf19c
RH-Author: Thomas Huth <thuth@redhat.com>
ddf19c
Message-id: <20200605074111.2185-4-thuth@redhat.com>
ddf19c
Patchwork-id: 97370
ddf19c
O-Subject: [RHEL-8.3.0 qemu-kvm PATCH 3/3] target/s390x/kvm: Enable adapter interruption suppression again
ddf19c
Bugzilla: 1756946
ddf19c
RH-Acked-by: Philippe Mathieu-Daudé <philmd@redhat.com>
ddf19c
RH-Acked-by: Cornelia Huck <cohuck@redhat.com>
ddf19c
RH-Acked-by: David Hildenbrand <david@redhat.com>
ddf19c
ddf19c
The AIS feature has been disabled late in the v2.10 development cycle since
ddf19c
there were some issues with migration (see commit 3f2d07b3b01ea61126b -
ddf19c
"s390x/ais: for 2.10 stable: disable ais facility"). We originally wanted
ddf19c
to enable it again for newer machine types, but apparently we forgot to do
ddf19c
this so far. Let's do it now for the machines that support proper CPU models.
ddf19c
ddf19c
Buglink: https://bugzilla.redhat.com/show_bug.cgi?id=1756946
ddf19c
Signed-off-by: Thomas Huth <thuth@redhat.com>
ddf19c
Message-Id: <20200122101437.5069-1-thuth@redhat.com>
ddf19c
Reviewed-by: David Hildenbrand <david@redhat.com>
ddf19c
Tested-by: Matthew Rosato <mjrosato@linux.ibm.com>
ddf19c
Signed-off-by: Cornelia Huck <cohuck@redhat.com>
ddf19c
(cherry picked from commit a5c8617af6919515b84256978452edf07401c45e)
ddf19c
Signed-off-by: Danilo C. L. de Paula <ddepaula@redhat.com>
ddf19c
---
ddf19c
 target/s390x/kvm.c | 9 ++++++---
ddf19c
 1 file changed, 6 insertions(+), 3 deletions(-)
ddf19c
ddf19c
diff --git a/target/s390x/kvm.c b/target/s390x/kvm.c
ddf19c
index c589ef9034..0bbf8f81b0 100644
ddf19c
--- a/target/s390x/kvm.c
ddf19c
+++ b/target/s390x/kvm.c
ddf19c
@@ -377,10 +377,13 @@ int kvm_arch_init(MachineState *ms, KVMState *s)
ddf19c
     /*
ddf19c
      * The migration interface for ais was introduced with kernel 4.13
ddf19c
      * but the capability itself had been active since 4.12. As migration
ddf19c
-     * support is considered necessary let's disable ais in the 2.10
ddf19c
-     * machine.
ddf19c
+     * support is considered necessary, we only try to enable this for
ddf19c
+     * newer machine types if KVM_CAP_S390_AIS_MIGRATION is available.
ddf19c
      */
ddf19c
-    /* kvm_vm_enable_cap(s, KVM_CAP_S390_AIS, 0); */
ddf19c
+    if (cpu_model_allowed() && kvm_kernel_irqchip_allowed() &&
ddf19c
+        kvm_check_extension(s, KVM_CAP_S390_AIS_MIGRATION)) {
ddf19c
+        kvm_vm_enable_cap(s, KVM_CAP_S390_AIS, 0);
ddf19c
+    }
ddf19c
 
ddf19c
     kvm_set_max_memslot_size(KVM_SLOT_MAX_BYTES);
ddf19c
     return 0;
ddf19c
-- 
ddf19c
2.27.0
ddf19c