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

broken usb tablet after cpu hotplug on Win2022 guest

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Normal Normal
    • None
    • rhel-9.2.0
    • qemu-kvm
    • None
    • Moderate
    • rhel-sst-virtualization
    • ssg_virtualization
    • 5
    • False
    • Hide

      None

      Show
      None
    • None
    • None
    • None
    • None
    • If docs needed, set a value
    • None

      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:

              rhn-engineering-ghoffman Gerd Hoffmann
              rhn-support-phou Peixiu Hou
              Gerd Hoffmann Gerd Hoffmann
              Yanbin Duan Yanbin Duan
              Votes:
              0 Vote for this issue
              Watchers:
              18 Start watching this issue

                Created:
                Updated: