[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v1 5/5] s390x/intc: AIS is now always migratable
From: |
Pierre Morel |
Subject: |
[Qemu-devel] [PATCH v1 5/5] s390x/intc: AIS is now always migratable |
Date: |
Wed, 4 Oct 2017 15:49:39 +0200 |
Adapter Interrupt Suppression can now be emulated if the host kernel
does not support the FLIC AIS attributes in KVM.
It follows it can always be migrated.
In the case AIS is supported by the kernel at one side of the migration
1) SRC and DST AIS in KVM
All PCI devices can be created on SRC and DST
All PCI devices can migrate
2) SRC and DST AIS NOT in KVM
Only emulated PCI devices can be used on SRC and DST
Only emulated PCI devices can migrate
3) SRC AIS in KVM DST has NOT AIS in KVM
Only emulated PCI devices can migrate
Only emulated PCI devices can be created on SRC and DST
VFIO PCI devices can be used only on SRC
4) SRC has NOT AIS in KVM DST AIS in KVM
Only emulated PCI devices can migrate
Only emulated PCI devices can be created on SRC and DST
VFIO PCI devices can be used only on DST
Signed-off-by: Pierre Morel <address@hidden>
---
hw/intc/s390_flic_kvm.c | 18 ++++++++++--------
1 file changed, 10 insertions(+), 8 deletions(-)
diff --git a/hw/intc/s390_flic_kvm.c b/hw/intc/s390_flic_kvm.c
index fd1aa22..6f44b1d 100644
--- a/hw/intc/s390_flic_kvm.c
+++ b/hw/intc/s390_flic_kvm.c
@@ -457,6 +457,12 @@ static void kvm_flic_ais_pre_save(void *opaque)
.attr = sizeof(ais),
};
+ if (!flic->parent_obj.ais_supported) {
+ tmp->simm = flic->simm;
+ tmp->nimm = flic->nimm;
+ return;
+ }
+
if (ioctl(flic->fd, KVM_GET_DEVICE_ATTR, &attr)) {
error_report("Failed to retrieve kvm flic ais states");
return;
@@ -479,14 +485,10 @@ static int kvm_flic_ais_post_load(void *opaque, int
version_id)
.addr = (uint64_t)&ais,
};
- /* This can happen when the user mis-configures its guests in an
- * incompatible fashion or without a CPU model. For example using
- * qemu with -cpu host (which is not migration safe) and do a
- * migration from a host that has AIS to a host that has no AIS.
- * In that case the target system will reject the migration here.
- */
- if (!ais_needed(flic)) {
- return -ENOSYS;
+ if (!flic->parent_obj.ais_supported) {
+ flic->simm = tmp->simm;
+ flic->nimm = tmp->nimm;
+ return 0;
}
return ioctl(flic->fd, KVM_SET_DEVICE_ATTR, &attr) ? -errno : 0;
--
2.3.0
- Re: [Qemu-devel] [PATCH v1 4/5] s390x/pci: Refuse to realize VFIO-PCI if AIS needed but supported, (continued)
- Re: [Qemu-devel] [PATCH v1 4/5] s390x/pci: Refuse to realize VFIO-PCI if AIS needed but supported, Cornelia Huck, 2017/10/09
- Re: [Qemu-devel] [PATCH v1 4/5] s390x/pci: Refuse to realize VFIO-PCI if AIS needed but supported, Alex Williamson, 2017/10/09
- Re: [Qemu-devel] [PATCH v1 4/5] s390x/pci: Refuse to realize VFIO-PCI if AIS needed but supported, Pierre Morel, 2017/10/09
- Re: [Qemu-devel] [PATCH v1 4/5] s390x/pci: Refuse to realize VFIO-PCI if AIS needed but supported, Cornelia Huck, 2017/10/10
- Re: [Qemu-devel] [PATCH v1 4/5] s390x/pci: Refuse to realize VFIO-PCI if AIS needed but supported, Pierre Morel, 2017/10/10
- Re: [Qemu-devel] [PATCH v1 4/5] s390x/pci: Refuse to realize VFIO-PCI if AIS needed but supported, Cornelia Huck, 2017/10/11
- Re: [Qemu-devel] [PATCH v1 4/5] s390x/pci: Refuse to realize VFIO-PCI if AIS needed but supported, Pierre Morel, 2017/10/12
- Re: [Qemu-devel] [PATCH v1 4/5] s390x/pci: Refuse to realize VFIO-PCI if AIS needed but supported, Pierre Morel, 2017/10/12
- Re: [Qemu-devel] [PATCH v1 4/5] s390x/pci: Refuse to realize VFIO-PCI if AIS needed but supported, Cornelia Huck, 2017/10/12
[Qemu-devel] [PATCH v1 5/5] s390x/intc: AIS is now always migratable,
Pierre Morel <=
Re: [Qemu-devel] [PATCH v1 0/5][RFC] Refactoring of AIS support, Christian Borntraeger, 2017/10/30
- Re: [Qemu-devel] [PATCH v1 0/5][RFC] Refactoring of AIS support, Cornelia Huck, 2017/10/30
- Re: [Qemu-devel] [PATCH v1 0/5][RFC] Refactoring of AIS support, Christian Borntraeger, 2017/10/30
- Re: [Qemu-devel] [PATCH v1 0/5][RFC] Refactoring of AIS support, Pierre Morel, 2017/10/30
- Re: [Qemu-devel] [PATCH v1 0/5][RFC] Refactoring of AIS support, Christian Borntraeger, 2017/10/30
- Re: [Qemu-devel] [PATCH v1 0/5][RFC] Refactoring of AIS support, Halil Pasic, 2017/10/30
- Re: [Qemu-devel] [PATCH v1 0/5][RFC] Refactoring of AIS support, Cornelia Huck, 2017/10/30
- Re: [Qemu-devel] [PATCH v1 0/5][RFC] Refactoring of AIS support, Christian Borntraeger, 2017/10/30
- Re: [Qemu-devel] [PATCH v1 0/5][RFC] Refactoring of AIS support, Pierre Morel, 2017/10/30
- Re: [Qemu-devel] [PATCH v1 0/5][RFC] Refactoring of AIS support, Halil Pasic, 2017/10/30