This site requires JavaScript to be enabled to function correctly, please enable it.
Note: This bug is displayed in read-only format because
the product is no longer active in Red Hat Bugzilla.
Summary:
Fail to migrate after adding "iommu_platform=on,disable-legacy=on,disable-modern=off" to virtio-net-pci
Product:
Red Hat Enterprise Linux Advanced Virtualization
Reporter:
bfu <bfu>
Component:
qemu-kvm Assignee:
Virtualization Maintenance <virt-maint>
qemu-kvm sub component:
PCI
QA Contact:
bfu <bfu>
Status:
CLOSED
DUPLICATE
Docs Contact:
Severity:
medium
Priority:
medium
CC:
dgibson, gkurz, hannsj_uhl, jinzhao, juzhang, lvivier, mdeng, ngu, qzhang, virt-maint, xianwang, xuma, zhenyzha
Version:
8.3 Flags:
pm-rhel:
mirror+
Target Milestone:
rc
Target Release:
8.3
Hardware:
ppc64le
OS:
Linux
Whiteboard:
Fixed In Version:
Doc Type:
If docs needed, set a value
Doc Text:
Story Points:
---
Clone Of:
Environment:
Last Closed:
2020-09-24 13:06:57 UTC
Type:
---
Regression:
---
Mount Type:
---
Documentation:
---
CRM:
Verified Versions:
Category:
---
oVirt Team:
---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team:
---
Target Upstream Version:
Embargoed:
Description of problem: After adding "iommu_platform=on,disable-legacy=on,disable-modern=off" to virtio-net-pci device, guest could not migrate successfully with error output:qemu-kvm: GLib: gmem.c:135: failed to allocate 17592186299128 bytes Version-Release number of selected component (if applicable): host kernel:4.18.0-239.el8.ppc64le slof:SLOF-20200717-1.gite18ddad8.scrmod+el8.3.0+7993+98b756aa.noarch qemu version:qemu-kvm-5.1.0-0.scrmod+el8.3.0+7993+98b756aa.wrb200909.ppc64le guest kernel:4.18.0-236.el8.ppc64le How reproducible: 100% Steps to Reproduce: 1.boot up guest with qemu cli: source:/usr/libexec/qemu-kvm \ -S \ -name 'vm1' \ -sandbox on \ -machine pseries,cap-ccf-assist=off \ -nodefaults \ -device VGA,bus=pci.0,addr=0x2 \ -m 8192 \ -smp 8,maxcpus=8,cores=4,threads=1,sockets=2 \ -cpu 'host' \ -chardev socket,id=chardev_serial0,server,path=/tmp/slofpath,nowait \ -device spapr-vty,id=serial0,reg=0x30000000,chardev=chardev_serial0 \ -device virtio-serial-pci,id=virtio-serial0,max_ports=16,vectors=0,bus=pci.0,addr=0x3,iommu_platform=on,disable-legacy=on,disable-modern=off \ -chardev socket,path=/tmp/qga.sock,server,nowait,id=qga0 \ -device virtserialport,chardev=qga0,name=org.qemu.guest_agent.0\ -device qemu-xhci,id=usb1,bus=pci.0,addr=0x6 \ -device virtio-scsi-pci,id=virtio_scsi_pci0,bus=pci.0,addr=0x9,iommu_platform=on,disable-legacy=on,disable-modern=off \ -blockdev node-name=file_image1,driver=file,aio=threads,filename=rhel8300916.qcow2,cache.direct=off,cache.no-flush=on \ -blockdev node-name=drive_image1,driver=qcow2,cache.direct=off,cache.no-flush=on,file=file_image1 \ -device scsi-hd,id=image1,drive=drive_image1,write-cache=on \ -device virtio-net-pci,mac=9a:f3:34:18:4d:a4,id=idxUm7Mp,netdev=idgKDzyu,bus=pci.0,addr=0x8,iommu_platform=on,disable-legacy=on,disable-modern=off \ -netdev tap,id=idgKDzyu,vhost=on \ -device usb-tablet,id=usb-tablet1,bus=usb1.0,port=1 \ -device usb-kbd,id=usb-kbdppc1,bus=usb1.0,port=2 \ -vnc :30 \ -qmp tcp:0:4441,server,nowait \ -rtc base=utc,clock=host \ -boot menu=off,order=cdn,once=c,strict=off \ -enable-kvm \ -monitor stdio \ destination: /usr/libexec/qemu-kvm \ -incoming defer \ -name 'vm1' \ -sandbox on \ -machine pseries,cap-ccf-assist=off \ -nodefaults \ -device VGA,bus=pci.0,addr=0x2 \ -m 8192 \ -smp 8,maxcpus=8,cores=4,threads=1,sockets=2 \ -cpu 'host' \ -chardev socket,id=chardev_serial0,server,path=/tmp/slofpath1,nowait \ -device spapr-vty,id=serial0,reg=0x30000000,chardev=chardev_serial0 \ -device virtio-serial-pci,id=virtio-serial0,max_ports=16,vectors=0,bus=pci.0,addr=0x3,iommu_platform=on,disable-legacy=on,disable-modern=off \ -chardev socket,path=/tmp/qga.sock1,server,nowait,id=qga0 \ -device virtserialport,chardev=qga0,name=org.qemu.guest_agent.0\ -device qemu-xhci,id=usb1,bus=pci.0,addr=0x6 \ -device virtio-scsi-pci,id=virtio_scsi_pci0,bus=pci.0,addr=0x9,iommu_platform=on,disable-legacy=on,disable-modern=off \ -blockdev node-name=file_image1,driver=file,aio=threads,filename=rhel8300916.qcow2,cache.direct=off,cache.no-flush=on \ -blockdev node-name=drive_image1,driver=qcow2,cache.direct=off,cache.no-flush=on,file=file_image1 \ -device scsi-hd,id=image1,drive=drive_image1,write-cache=on \ -device virtio-net-pci,mac=9a:f3:34:18:4d:a4,id=idxUm7Mp,netdev=idgKDzyu,bus=pci.0,addr=0x8,iommu_platform=on,disable-legacy=on,disable-modern=off \ -netdev tap,id=idgKDzyu,vhost=on \ -device usb-tablet,id=usb-tablet1,bus=usb1.0,port=1 \ -device usb-kbd,id=usb-kbdppc1,bus=usb1.0,port=2 \ -vnc :31 \ -qmp tcp:0:4442,server,nowait \ -rtc base=utc,clock=host \ -boot menu=off,order=cdn,once=c,strict=off \ -enable-kvm \ -monitor stdio \ 2.boot two guest up and do migration with (qemu) migrate_incoming tcp:10.16.214.92:4443 in destination side (qemu) migrate -d tcp:10.16.214.92:4443 in source side Actual results: qemu report error with "(qemu)qemu-kvm: GLib: gmem.c:135: failed to allocate 17592186299128 bytes" and source guest hang Expected results: able to migrate Additional info: