Uploaded image for project: 'RHEL'
  1. RHEL
  2. RHEL-56154

qemu-kvm: warning: Blocked re-entrant IO on MemoryRegion: acpi-cpu-hotplug at addr: 0x0 [rhel-10]

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Normal Normal
    • rhel-10.0.beta
    • rhel-10.0.beta
    • edk2
    • edk2-20240524-7.el10
    • No
    • Moderate
    • ZStream
    • rhel-sst-virtualization
    • ssg_virtualization
    • 29
    • 3
    • False
    • Hide

      None

      Show
      None
    • None
    • None
    • Approved Blocker
    • 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":

      {"direct": true, "no-flush": false}

      , "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
       
       
       

       

              rhn-engineering-ghoffman Gerd Hoffmann
              rhn-support-nanliu NaNa Liu
              virt-maint virt-maint
              Xueqiang Wei Xueqiang Wei
              Votes:
              0 Vote for this issue
              Watchers:
              16 Start watching this issue

                Created:
                Updated: