-
Bug
-
Resolution: Done
-
Normal
-
rhel-10.0.beta
-
edk2-20240524-7.el10
-
No
-
Moderate
-
ZStream
-
rhel-sst-virtualization
-
ssg_virtualization
-
29
-
3
-
False
-
-
None
-
None
-
Approved Blocker
-
Pass
-
Automated
-
-
x86_64
-
None
What were you trying to do that didn't work?
QEMU reports this warning while doing hot-unplug one vcpu which is hotplugged at first.
qemu-kvm: warning: Blocked re-entrant IO on MemoryRegion: acpi-cpu-hotplug at addr: 0x0
Please provide the package NVR for which bug is seen:
Test Env
. dell-per750-19.lab.eng.pek2.redhat.com - RHEL 10
6.10.0-15.el10.x86_64
qemu-kvm-9.0.0-7.el10.x86_64
edk2-ovmf-20240524-2.el10.noarch
seabios-bin-1.16.3-4.el10.noarch
How reproducible:
100%
Steps to reproduce
1. Boot a vm with following qemu commandline.
/usr/libexec/qemu-kvm \
-name 'avocado-vt-vm1' \
-sandbox on,elevateprivileges=deny,obsolete=deny,resourcecontrol=deny \
-blockdev '{"node-name": "file_ovmf_code", "driver": "file", "filename": "/usr/share/OVMF/OVMF_CODE.secboot.fd", "auto-read-only": true, "discard": "unmap"}' \
-blockdev '{"node-name": "drive_ovmf_code", "driver": "raw", "read-only": true, "file": "file_ovmf_code"}' \
-blockdev '{"node-name": "file_ovmf_vars", "driver": "file", "filename": "/mnt/virtio-scsi-ovmf_qcow2_filesystem_VARS.raw", "auto-read-only": true, "discard": "unmap"}' \
-blockdev '{"node-name": "drive_ovmf_vars", "driver": "raw", "read-only": false, "file": "file_ovmf_vars"}' \
-machine pc-q35-rhel9.4.0,pflash0=drive_ovmf_code,pflash1=drive_ovmf_vars,memory-backend=mem-machine_mem \
-device '{"id": "pcie-root-port-0", "driver": "pcie-root-port", "multifunction": true, "bus": "pcie.0", "addr": "0x1", "chassis": 1}' \
-device '{"id": "pcie-pci-bridge-0", "driver": "pcie-pci-bridge", "addr": "0x0", "bus": "pcie-root-port-0"}' \
-nodefaults \
-device '{"driver": "VGA", "bus": "pcie.0", "addr": "0x2"}' \
-m 28672 \
-object '{"size": 30064771072, "id": "mem-machine_mem", "qom-type": "memory-backend-ram"}' \
-smp 22,maxcpus=24,cores=12,threads=1,dies=1,sockets=2 \
-cpu 'Cascadelake-Server',vmx=on,pdcm=on,hypervisor=on,ss=on,tsc-adjust=on,mpx=off,umip=on,pku=on,md-clear=on,stibp=on,flush-l1d=on,arch-capabilities=on,xsaves=on,ibpb=on,ibrs=on,amd-stibp=on,amd-ssbd=on,rdctl-no=on,ibrs-all=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on,tsx-ctrl=on,sbdr-ssdp-no=on,psdp-no=on,fb-clear=on,gds-no=on,vmx-ins-outs=on,vmx-true-ctls=on,vmx-store-lma=on,vmx-activity-hlt=on,vmx-activity-wait-sipi=on,vmx-vmwrite-vmexit-fields=on,vmx-apicv-xapic=on,vmx-ept=on,vmx-desc-exit=on,vmx-rdtscp-exit=on,vmx-apicv-x2apic=on,vmx-vpid=on,vmx-wbinvd-exit=on,vmx-unrestricted-guest=on,vmx-apicv-register=on,vmx-apicv-vid=on,vmx-rdrand-exit=on,vmx-invpcid-exit=on,vmx-vmfunc=on,vmx-shadow-vmcs=on,vmx-rdseed-exit=on,vmx-pml=on,vmx-xsaves=on,vmx-tsc-scaling=on,vmx-ept-execonly=on,vmx-page-walk-4=on,vmx-ept-2mb=on,vmx-ept-1gb=on,vmx-invept=on,vmx-eptad=on,vmx-invept-single-context=on,vmx-invept-all-context=on,vmx-invvpid=on,vmx-invvpid-single-addr=on,vmx-invvpid-all-context=on,vmx-intr-exit=on,vmx-nmi-exit=on,vmx-vnmi=on,vmx-preemption-timer=on,vmx-posted-intr=on,vmx-vintr-pending=on,vmx-tsc-offset=on,vmx-hlt-exit=on,vmx-invlpg-exit=on,vmx-mwait-exit=on,vmx-rdpmc-exit=on,vmx-rdtsc-exit=on,vmx-cr3-load-noexit=on,vmx-cr3-store-noexit=on,vmx-cr8-load-exit=on,vmx-cr8-store-exit=on,vmx-flexpriority=on,vmx-vnmi-pending=on,vmx-movdr-exit=on,vmx-io-exit=on,vmx-io-bitmap=on,vmx-mtf=on,vmx-msr-bitmap=on,vmx-monitor-exit=on,vmx-pause-exit=on,vmx-secondary-ctls=on,vmx-exit-nosave-debugctl=on,vmx-exit-load-perf-global-ctrl=on,vmx-exit-ack-intr=on,vmx-exit-save-pat=on,vmx-exit-load-pat=on,vmx-exit-save-efer=on,vmx-exit-load-efer=on,vmx-exit-save-preemption-timer=on,vmx-exit-clear-bndcfgs=on,vmx-entry-noload-debugctl=on,vmx-entry-ia32e-mode=on,vmx-entry-load-perf-global-ctrl=on,vmx-entry-load-pat=on,vmx-entry-load-efer=on,vmx-entry-load-bndcfgs=on,vmx-eptp-switching=on,hle=off,rtm=off,kvm_pv_unhalt=on \
-chardev socket,wait=off,server=on,path=/tmp/monitor-qmpmonitor1-20240818-024008-TET7f1AN,id=qmp_id_qmpmonitor1 \
-mon chardev=qmp_id_qmpmonitor1,mode=control \
-chardev socket,wait=off,server=on,path=/tmp/monitor-catch_monitor-20240818-024008-TET7f1AN,id=qmp_id_catch_monitor \
-mon chardev=qmp_id_catch_monitor,mode=control \
-device '{"ioport": 1285, "driver": "pvpanic", "id": "id6grH2L"}' \
-chardev socket,wait=off,server=on,path=/tmp/serial-serial0-20240818-024008-TET7f1AN,id=chardev_serial0 \
-device '{"id": "serial0", "driver": "isa-serial", "chardev": "chardev_serial0"}' \
-chardev socket,id=seabioslog_id_20240818-024008-TET7f1AN,path=/tmp/seabios-20240818-024008-TET7f1AN,server=on,wait=off \
-device isa-debugcon,chardev=seabioslog_id_20240818-024008-TET7f1AN,iobase=0x402 \
-device '{"id": "pcie-root-port-1", "port": 1, "driver": "pcie-root-port", "addr": "0x1.0x1", "bus": "pcie.0", "chassis": 2}' \
-device '{"driver": "qemu-xhci", "id": "usb1", "bus": "pcie-root-port-1", "addr": "0x0"}' \
-device '{"driver": "usb-tablet", "id": "usb-tablet1", "bus": "usb1.0", "port": "1"}' \
-device '{"id": "pcie-root-port-2", "port": 2, "driver": "pcie-root-port", "addr": "0x1.0x2", "bus": "pcie.0", "chassis": 3}' \
-device '{"id": "virtio_scsi_pci0", "driver": "virtio-scsi-pci", "bus": "pcie-root-port-2", "addr": "0x0"}' \
-blockdev '{"node-name": "file_image1", "driver": "file", "auto-read-only": true, "discard": "unmap", "aio": "threads", "filename": "/mnt/rhel950-64-virtio-scsi-ovmf.qcow2", "cache": {"direct": true, "no-flush": false}}' \
-blockdev '{"node-name": "drive_image1", "driver": "qcow2", "read-only": false, "cache":
, "file": "file_image1"}' \
-device '{"driver": "scsi-hd", "id": "image1", "drive": "drive_image1", "write-cache": "on"}' \
-device '{"id": "pcie-root-port-3", "port": 3, "driver": "pcie-root-port", "addr": "0x1.0x3", "bus": "pcie.0", "chassis": 4}' \
-device '{"driver": "virtio-net-pci", "mac": "9a:00:8a:6d:8a:e5", "id": "id3CtXU3", "netdev": "idOdgjDY", "bus": "pcie-root-port-3", "addr": "0x0"}' \
-netdev '{"id": "idOdgjDY", "type": "tap", "vhost": true}' \
-vnc :0 \
-rtc base=utc,clock=host,driftfix=slew \
-boot menu=off,order=cdn,once=c,strict=off \
-enable-kvm \
-monitor stdio \
2. Hotplug 2 vcpus for the vm
{"execute": "device_add", "arguments": {"id": "vcpu1", "driver": "Cascadelake-Server-x86_64-cpu", "socket-id": 1, "die-id": 0, "core-id": 10, "thread-id": 0}, "id": "iroxZGyE"} {"return": {}, "id": "iroxZGyE"} {"timestamp": {"seconds": 1724050389, "microseconds": 603540}, "event": "ACPI_DEVICE_OST", "data": {"info": {"device": "vcpu1", "source": 1, "status": 0, "slot": "22", "slot-type": "CPU"}}} {"execute": "device_add", "arguments": {"id": "vcpu2", "driver": "Cascadelake-Server-x86_64-cpu", "socket-id": 1, "die-id": 0, "core-id": 11, "thread-id": 0}, "id": "iroxZGy"} {"return": {}, "id": "iroxZGy"} {"timestamp": {"seconds": 1724050401, "microseconds": 273715}, "event": "ACPI_DEVICE_OST", "data": {"info": {"device": "vcpu2", "source": 1, "status": 0, "slot": "23", "slot-type": "CPU"}}}
3. Hot-unplug the 2 vcpus for the vm
{"execute": "device_del", "arguments": {"id": "vcpu1"}} {"return": {}} {"timestamp": {"seconds": 1724050406, "microseconds": 421292}, "event": "ACPI_DEVICE_OST", "data": {"info": {"device": "vcpu1", "source": 3, "status": 132, "slot": "22", "slot-type": "CPU"}}} {"timestamp": {"seconds": 1724050406, "microseconds": 443975}, "event": "DEVICE_DELETED", "data": {"path": "/machine/peripheral/vcpu1/lapic"}} {"timestamp": {"seconds": 1724050406, "microseconds": 444128}, "event": "DEVICE_DELETED", "data": {"device": "vcpu1", "path": "/machine/peripheral/vcpu1"}} {"timestamp": {"seconds": 1724050406, "microseconds": 444177}, "event": "ACPI_DEVICE_OST", "data": {"info": {"source": 3, "status": 0, "slot": "22", "slot-type": "CPU"}}} {"execute": "device_del", "arguments": {"id": "vcpu2"}} {"return": {}} {"timestamp": {"seconds": 1724052137, "microseconds": 288616}, "event": "ACPI_DEVICE_OST", "data": {"info": {"device": "vcpu2", "source": 3, "status": 132, "slot": "23", "slot-type": "CPU"}}} {"timestamp": {"seconds": 1724052137, "microseconds": 305181}, "event": "DEVICE_DELETED", "data": {"path": "/machine/peripheral/vcpu2/lapic"}} {"timestamp": {"seconds": 1724052137, "microseconds": 305330}, "event": "DEVICE_DELETED", "data": {"device": "vcpu2", "path": "/machine/peripheral/vcpu2"}} {"timestamp": {"seconds": 1724052137, "microseconds": 305366}, "event": "ACPI_DEVICE_OST", "data": {"info": {"source": 3, "status": 0, "slot": "23", "slot-type": "CPU"}}}
Expected results
Hotplug/unplug vcpus work well without any error
Actual results
QEMU report warning:
qemu-kvm: warning: Blocked re-entrant IO on MemoryRegion: acpi-cpu-hotplug at addr: 0x0
- is cloned by
-
RHEL-56974 qemu-kvm: warning: Blocked re-entrant IO on MemoryRegion: acpi-cpu-hotplug at addr: 0x0 [rhel-9]
- Closed
- links to
-
RHBA-2024:130974 edk2 bug fix and enhancement update