Hi Ju, On Thu, Oct 01, 2020 at 11:30:14PM +0900, Ju Hyung Park wrote: > Hi Stefano, > > On Thu, Oct 1, 2020 at 5:59 PM Stefano Garzarella <sgarz...@redhat.com> wrote: > > Please, can you share the qemu command line that you are using? > > This can be useful for the analysis. > > Sure.
Thanks for sharing. The issue seems related to io_uring and the new io_uring fd monitoring implementation available from QEMU 5.0. I'll try to reproduce. For now, as a workaround, you can rebuild qemu by disabling io-uring support: ../configure --disable-linux-io-uring ... Thanks, Stefano > > QEMU: > /usr/bin/qemu-system-x86_64 -name guest=win10,debug-threads=on -S > -object > secret,id=masterKey0,format=raw,file=/var/lib/libvirt/qemu/domain-1-win10/master-key.aes > -blockdev > {"driver":"file","filename":"/usr/share/OVMF/OVMF_CODE.fd","node-name":"libvirt-pflash0-storage","auto-read-only":true,"discard":"unmap"} > -blockdev > {"node-name":"libvirt-pflash0-format","read-only":true,"driver":"raw","file":"libvirt-pflash0-storage"} > -blockdev > {"driver":"file","filename":"/var/lib/libvirt/qemu/nvram/win10_VARS.fd","node-name":"libvirt-pflash1-storage","auto-read-only":true,"discard":"unmap"} > -blockdev > {"node-name":"libvirt-pflash1-format","read-only":false,"driver":"raw","file":"libvirt-pflash1-storage"} > -machine > pc-q35-5.0,accel=kvm,usb=off,vmport=off,dump-guest-core=off,mem-merge=off,pflash0=libvirt-pflash0-format,pflash1=libvirt-pflash1-format > -cpu > Skylake-Client-IBRS,ss=on,vmx=on,hypervisor=on,tsc-adjust=on,clflushopt=on,umip=on,md-clear=on,stibp=on,arch-capabilities=on,ssbd=on,xsaves=on,pdpe1gb=on,ibpb=on,amd-ssbd=on,fma=off,avx=off,f16c=off,rdrand=off,bmi1=off,hle=off,avx2=off,bmi2=off,rtm=off,rdseed=off,adx=off,hv-time,hv-relaxed,hv-vapic,hv-spinlocks=0x1fff,hv-vpindex,hv-runtime,hv-synic,hv-stimer,hv-reset > -m 8192 -mem-prealloc -mem-path /dev/hugepages/libvirt/qemu/1-win10 > -overcommit mem-lock=off -smp 4,sockets=1,dies=1,cores=2,threads=2 > -uuid 7ccc3031-1dab-4267-b72a-d60065b5ff7f -display none > -no-user-config -nodefaults -chardev > socket,id=charmonitor,fd=32,server,nowait -mon > chardev=charmonitor,id=monitor,mode=control -rtc > base=localtime,driftfix=slew -global kvm-pit.lost_tick_policy=delay > -no-hpet -no-shutdown -global ICH9-LPC.disable_s3=1 -global > ICH9-LPC.disable_s4=1 -boot menu=off,strict=on -device > pcie-root-port,port=0x8,chassis=1,id=pci.1,bus=pcie.0,multifunction=on,addr=0x1 > -device pcie-root-port,port=0x9,chassis=2,id=pci.2,bus=pcie.0,addr=0x1.0x1 > -device pcie-root-port,port=0xa,chassis=3,id=pci.3,bus=pcie.0,addr=0x1.0x2 > -device pcie-root-port,port=0xb,chassis=4,id=pci.4,bus=pcie.0,addr=0x1.0x3 > -device pcie-pci-bridge,id=pci.5,bus=pci.2,addr=0x0 -device > qemu-xhci,id=usb,bus=pci.1,addr=0x0 -blockdev > {"driver":"host_device","filename":"/dev/disk/by-partuuid/05c3750b-060f-4703-95ea-6f5e546bf6e9","node-name":"libvirt-1-storage","cache":{"direct":false,"no-flush":true},"auto-read-only":true,"discard":"unmap"} > -blockdev > {"node-name":"libvirt-1-format","read-only":false,"discard":"unmap","detect-zeroes":"unmap","cache":{"direct":false,"no-flush":true},"driver":"raw","file":"libvirt-1-storage"} > -device > virtio-blk-pci,scsi=off,bus=pcie.0,addr=0xa,drive=libvirt-1-format,id=virtio-disk0,bootindex=1,write-cache=on > -netdev tap,fd=34,id=hostnet0 -device > e1000,netdev=hostnet0,id=net0,mac=52:54:00:c6:bb:bc,bus=pcie.0,addr=0x3 > -device ich9-intel-hda,id=sound0,bus=pcie.0,addr=0x4 -device > hda-duplex,id=sound0-codec0,bus=sound0.0,cad=0 -device > vfio-pci,host=0000:00:02.0,id=hostdev0,bus=pcie.0,addr=0x2,rombar=0 > -device virtio-balloon-pci,id=balloon0,bus=pcie.0,addr=0x8 -object > rng-random,id=objrng0,filename=/dev/urandom -device > virtio-rng-pci,rng=objrng0,id=rng0,bus=pcie.0,addr=0x9 -msg > timestamp=on > > And I use libvirt 6.3.0 to manage the VM. Here's an xml of my VM. > > <domain type="kvm"> > <name>win10</name> > <uuid>7ccc3031-1dab-4267-b72a-d60065b5ff7f</uuid> > <metadata> > <libosinfo:libosinfo > xmlns:libosinfo="http://libosinfo.org/xmlns/libvirt/domain/1.0"> > <libosinfo:os id="http://microsoft.com/win/10"/> > </libosinfo:libosinfo> > </metadata> > <memory unit="KiB">8388608</memory> > <currentMemory unit="KiB">8388608</currentMemory> > <memoryBacking> > <hugepages/> > <nosharepages/> > </memoryBacking> > <vcpu placement="static">4</vcpu> > <cputune> > <vcpupin vcpu="0" cpuset="0"/> > <vcpupin vcpu="1" cpuset="2"/> > <vcpupin vcpu="2" cpuset="1"/> > <vcpupin vcpu="3" cpuset="3"/> > </cputune> > <os> > <type arch="x86_64" machine="pc-q35-5.0">hvm</type> > <loader readonly="yes" type="pflash">/usr/share/OVMF/OVMF_CODE.fd</loader> > <nvram>/var/lib/libvirt/qemu/nvram/win10_VARS.fd</nvram> > <boot dev="hd"/> > <bootmenu enable="no"/> > </os> > <features> > <acpi/> > <apic/> > <hyperv> > <relaxed state="on"/> > <vapic state="on"/> > <spinlocks state="on" retries="8191"/> > <vpindex state="on"/> > <runtime state="on"/> > <synic state="on"/> > <stimer state="on"/> > <reset state="on"/> > </hyperv> > <vmport state="off"/> > </features> > <cpu mode="host-model" check="partial"> > <topology sockets="1" dies="1" cores="2" threads="2"/> > </cpu> > <clock offset="localtime"> > <timer name="rtc" tickpolicy="catchup"/> > <timer name="pit" tickpolicy="delay"/> > <timer name="hpet" present="no"/> > <timer name="hypervclock" present="yes"/> > </clock> > <on_poweroff>destroy</on_poweroff> > <on_reboot>restart</on_reboot> > <on_crash>destroy</on_crash> > <pm> > <suspend-to-mem enabled="no"/> > <suspend-to-disk enabled="no"/> > </pm> > <devices> > <emulator>/usr/bin/qemu-system-x86_64</emulator> > <disk type="block" device="disk"> > <driver name="qemu" type="raw" cache="unsafe" discard="unmap" > detect_zeroes="unmap"/> > <source > dev="/dev/disk/by-partuuid/05c3750b-060f-4703-95ea-6f5e546bf6e9"/> > <target dev="vda" bus="virtio"/> > <address type="pci" domain="0x0000" bus="0x00" slot="0x0a" > function="0x0"/> > </disk> > <controller type="pci" index="0" model="pcie-root"/> > <controller type="pci" index="1" model="pcie-root-port"> > <model name="pcie-root-port"/> > <target chassis="1" port="0x8"/> > <address type="pci" domain="0x0000" bus="0x00" slot="0x01" > function="0x0" multifunction="on"/> > </controller> > <controller type="pci" index="2" model="pcie-root-port"> > <model name="pcie-root-port"/> > <target chassis="2" port="0x9"/> > <address type="pci" domain="0x0000" bus="0x00" slot="0x01" > function="0x1"/> > </controller> > <controller type="pci" index="3" model="pcie-root-port"> > <model name="pcie-root-port"/> > <target chassis="3" port="0xa"/> > <address type="pci" domain="0x0000" bus="0x00" slot="0x01" > function="0x2"/> > </controller> > <controller type="pci" index="4" model="pcie-root-port"> > <model name="pcie-root-port"/> > <target chassis="4" port="0xb"/> > <address type="pci" domain="0x0000" bus="0x00" slot="0x01" > function="0x3"/> > </controller> > <controller type="pci" index="5" model="pcie-to-pci-bridge"> > <model name="pcie-pci-bridge"/> > <address type="pci" domain="0x0000" bus="0x02" slot="0x00" > function="0x0"/> > </controller> > <controller type="usb" index="0" model="qemu-xhci"> > <address type="pci" domain="0x0000" bus="0x01" slot="0x00" > function="0x0"/> > </controller> > <controller type="sata" index="0"> > <address type="pci" domain="0x0000" bus="0x00" slot="0x1f" > function="0x2"/> > </controller> > <interface type="network"> > <mac address="52:54:00:c6:bb:bc"/> > <source network="default"/> > <model type="e1000"/> > <address type="pci" domain="0x0000" bus="0x00" slot="0x03" > function="0x0"/> > </interface> > <input type="mouse" bus="ps2"/> > <input type="keyboard" bus="ps2"/> > <sound model="ich9"> > <address type="pci" domain="0x0000" bus="0x00" slot="0x04" > function="0x0"/> > </sound> > <hostdev mode="subsystem" type="pci" managed="yes"> > <source> > <address domain="0x0000" bus="0x00" slot="0x02" function="0x0"/> > </source> > <rom bar="off"/> > <address type="pci" domain="0x0000" bus="0x00" slot="0x02" > function="0x0"/> > </hostdev> > <memballoon model="virtio"> > <address type="pci" domain="0x0000" bus="0x00" slot="0x08" > function="0x0"/> > </memballoon> > <rng model="virtio"> > <backend model="random">/dev/urandom</backend> > <address type="pci" domain="0x0000" bus="0x00" slot="0x09" > function="0x0"/> > </rng> > </devices> > </domain> >