Bug 2178385
| Summary: | System hang when do cpu hotplug on Win2022 guest | ||
|---|---|---|---|
| Product: | Red Hat Enterprise Linux Advanced Virtualization | Reporter: | Peixiu Hou <phou> |
| Component: | qemu-kvm | Assignee: | Virtualization Maintenance <virt-maint> |
| qemu-kvm sub component: | CPU Models | QA Contact: | Virtualization Bugs <virt-bugs> |
| Status: | CLOSED DUPLICATE | Docs Contact: | |
| Severity: | high | ||
| Priority: | high | CC: | coli, jinzhao, juzhang, nanliu, qizhu, virt-maint |
| Version: | 8.0 | Flags: | pm-rhel:
mirror+
|
| Target Milestone: | rc | ||
| Target Release: | 8.5 | ||
| Hardware: | x86_64 | ||
| OS: | Windows | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | If docs needed, set a value | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2023-03-15 03:17:09 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: | |||
*** This bug has been marked as a duplicate of bug 2178384 *** |
Description of problem: System hang when do cpu hotplug on Win2022 guest. Tested with seabios mode, hit it on Win2022 guest, and did not hit on Win2019 guest. Version-Release number of selected component (if applicable): HOST: RHEL9.2.0 Guest: Win2022 kernel-5.14.0-249.el9.x86_64 qemu-kvm-7.2.0-8.el9.x86_64 seabios-bin-1.16.1-1.el9.noarch virtio-win-prewhql-234 How reproducible: 100% Steps to Reproduce: 1.Boot the Win2022 guest up with all hv flags: /usr/libexec/qemu-kvm \ -name 'installer' \ -machine q35 \ -nodefaults \ -vga std \ -device pcie-root-port,port=0x10,chassis=1,id=pci.1,bus=pcie.0,multifunction=on,addr=0x2 \ -device pcie-root-port,port=0x11,chassis=2,id=pci.2,bus=pcie.0,addr=0x2.0x1 \ -device pcie-root-port,port=0x12,chassis=3,id=pci.3,bus=pcie.0,addr=0x2.0x2 \ -device pcie-root-port,port=0x13,chassis=4,id=pci.4,bus=pcie.0,addr=0x2.0x3 \ -device pcie-root-port,port=0x14,chassis=5,id=pci.5,bus=pcie.0,addr=0x2.0x4 \ -device pcie-root-port,port=0x15,chassis=6,id=pci.6,bus=pcie.0,addr=0x2.0x5 \ -device pcie-root-port,port=0x16,chassis=7,id=pci.7,bus=pcie.0,addr=0x2.0x6 \ -device pcie-root-port,port=0x17,chassis=8,id=pci.8,bus=pcie.0,addr=0x2.0x7 \ -device virtio-scsi-pci,id=virtio_scsi_pci0,bus=pci.4,addr=0x0 \ -blockdev node-name=file_image1,driver=file,cache.direct=on,cache.no-flush=off,filename=/home/hyper-v-run/win2022-64-virtio-scsi.qcow2,aio=threads \ -blockdev node-name=drive_image1,driver=qcow2,cache.direct=on,cache.no-flush=off,file=file_image1 \ -device scsi-hd,id=image1,drive=drive_image1,bus=virtio_scsi_pci0.0 \ -blockdev node-name=file_stg1,driver=file,cache.direct=on,cache.no-flush=off,filename=stgtest1.qcow2,aio=threads \ -blockdev node-name=drive_stg1,driver=qcow2,cache.direct=on,cache.no-flush=off,file=file_stg1 \ -device virtio-blk-pci,id=stg1,drive=drive_stg1,bus=pci.8,addr=0x0 \ -device virtio-net-pci,mac=9a:36:83:b6:3d:06,id=idJVpmsF,netdev=id23ZUK6,bus=pci.3 \ -netdev tap,id=id23ZUK6,vhost=on \ -m 14336 \ -cpu 'Icelake-Server-noTSX',hv_stimer,hv_synic,hv_vpindex,hv_reset,hv_relaxed,hv_spinlocks=0x1fff,hv_vapic,hv_time,hv_frequencies,hv_runtime,hv_tlbflush,hv_reenlightenment,hv_stimer_direct,hv_evmcs,hv_crash,hv_ipi,+kvm_pv_unhalt \ -no-hpet \ -smp 4,maxcpus=6,cores=3,threads=1,dies=1,sockets=2 \ -drive id=drive_cd1,if=none,snapshot=off,aio=threads,cache=none,media=cdrom,file=/home/kvm_autotest_root/iso/ISO/Win2022/windows_server_2022_x64_testsigned_enable_dvd.iso \ -device ide-cd,id=cd2,drive=drive_cd1,bus=ide.0,unit=0 \ -cdrom /home/kvm_autotest_root/iso/windows/winutils.iso \ -device piix3-usb-uhci,id=usb -device usb-tablet,id=input0 \ -vnc :2 \ -rtc base=localtime,clock=host,driftfix=slew \ -boot order=cdn,once=c,menu=off,strict=off \ -enable-kvm \ -qmp tcp:0:1232,server,nowait \ -monitor stdio \ -device vmcoreinfo \ -object rng-random,filename=/dev/urandom,id=rng0 -device virtio-rng-pci,rng=rng0 \ 2.$ telnet 10.73.72.118 1232 3.{"QMP": {"version": {"qemu": {"micro": 0, "minor": 2, "major": 7}, "package": "qemu-kvm-7.2.0-8.el9"}, "capabilities": ["oob"]}} {"execute": "qmp_capabilities"} 4. {"execute": "query-hotpluggable-cpus"} {"return": [{"props": {"core-id": 2, "thread-id": 0, "socket-id": 1}, "vcpus-count": 1, "type": "Icelake-Server-noTSX-x86_64-cpu"}, {"props": {"core-id": 1, "thread-id": 0, "socket-id": 1}, "vcpus-count": 1, "type": "Icelake-Server-noTSX-x86_64-cpu"}, {"props": {"core-id": 0, "thread-id": 0, "socket-id": 1}, "vcpus-count": 1, "qom-path": "/machine/unattached/device[4]", "type": "Icelake-Server-noTSX-x86_64-cpu"}, {"props": {"core-id": 2, "thread-id": 0, "socket-id": 0}, "vcpus-count": 1, "qom-path": "/machine/unattached/device[3]", "type": "Icelake-Server-noTSX-x86_64-cpu"}, {"props": {"core-id": 1, "thread-id": 0, "socket-id": 0}, "vcpus-count": 1, "qom-path": "/machine/unattached/device[2]", "type": "Icelake-Server-noTSX-x86_64-cpu"}, {"props": {"core-id": 0, "thread-id": 0, "socket-id": 0}, "vcpus-count": 1, "qom-path": "/machine/unattached/device[0]", "type": "Icelake-Server-noTSX-x86_64-cpu"}]} 5. On the guest, check the Processors in Device manager. There are 4 processors show out. 6. Do Cpu hotplug on qmp monitor: { "execute": "device_add","arguments":{"driver":"Icelake-Server-noTSX-x86_64-cpu","core-id": 1, "thread-id": 0, "socket-id": 1,"id":"cpu2" }} {"timestamp": {"seconds": 1678090670, "microseconds": 169066}, "event": "ACPI_DEVICE_OST", "data": {"info": {"device": "cpu2", "source": 0, "status": 0, "slot": "4", "slot-type": "CPU"}}} {"return": {}} 7. Check the processor status in windows guest device manager. There are 5 processors shown, but the system was hang, mouse cannot be moved on the desktop. 8. Try to system_reset the system, after reset, the system restore to work. 9. Try to hotplug another cpu: { "execute": "device_add","arguments":{"driver":"Icelake-Server-noTSX-x86_64-cpu","core-id": 2, "thread-id": 0, "socket-id": 1,"id":"cpu1" }} {"return": {}} {"timestamp": {"seconds": 1678090958, "microseconds": 503971}, "event": "ACPI_DEVICE_OST", "data": {"info": {"device": "cpu1", "source": 0, "status": 0, "slot": "5", "slot-type": "CPU"}}} Actual results: System hang Expected results: Smoothly pass Additional info: