Bug 1257407 - win2016 BSOD if hotplug cpu via qemu
win2016 BSOD if hotplug cpu via qemu
Status: CLOSED NOTABUG
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: qemu-kvm-rhev (Show other bugs)
7.2
x86_64 Unspecified
medium Severity medium
: rc
: ---
Assigned To: Yan Vugenfirer
Virtualization Bugs
:
Depends On:
Blocks: 1288337
  Show dependency treegraph
 
Reported: 2015-08-26 23:33 EDT by Qian Guo
Modified: 2016-08-16 03:17 EDT (History)
7 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2016-08-16 03:17:21 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
The minidump file of the BSOD (267.23 KB, application/octet-stream)
2015-08-26 23:56 EDT, Qian Guo
no flags Details

  None (edit)
Description Qian Guo 2015-08-26 23:33:53 EDT
Description of problem:
Once execute "cpu-add $cpuid", guest hit BSOD

Version-Release number of selected component (if applicable):
qemu-kvm-rhev-2.3.0-19.el7.x86_64

How reproducible:
100%

Steps to Reproduce:
1.Boot win2016 with maxcpus
...
    -smp 4,sockets=1,cores=4,threads=1,maxcpus=240 \
...

2.Hotplug cpu
(qemu) cpu-add 4

3.

Actual results:
gueset BSOD

Expected results:
works well after hotplug cpu.

Additional info:
the full cli:
/usr/libexec/qemu-kvm \
    -name rhel7.0 \
    -S \
    -machine pc-i440fx-rhel7.2.0,accel=kvm,usb=off,vmport=off \
    -cpu SandyBridge \
    -m 4096 \
    -realtime mlock=off \
    -sandbox off \
    -smp 4,sockets=1,cores=4,threads=1,maxcpus=240 \
    -uuid fbf54917-5833-48f2-b3fb-5ce2ad294d93 \
    -no-user-config \
    -nodefaults \
    -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/rhel7cp1.0.monitor,server,nowait \
    -mon chardev=charmonitor,id=monitor,mode=control \
    -rtc base=utc,driftfix=slew \
    -global kvm-pit.lost_tick_policy=discard \
    -no-hpet \
    -no-shutdown \
    -global PIIX4_PM.disable_s3=1 \
    -global PIIX4_PM.disable_s4=1 \
    -boot menu=on \
    -device ich9-usb-ehci1,id=usb,bus=pci.0,addr=0x6.0x7 \
    -device ich9-usb-uhci1,masterbus=usb.0,firstport=0,bus=pci.0,multifunction=on,addr=0x6 \
    -device ich9-usb-uhci2,masterbus=usb.0,firstport=2,bus=pci.0,addr=0x6.0x1 \
    -device ich9-usb-uhci3,masterbus=usb.0,firstport=4,bus=pci.0,addr=0x6.0x2 \
    -device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x5 \
    -drive file=/home/win2016.qcow2,snapshot=off,cache=none,if=none,id=drive-virtio-disk0,format=qcow2 \
    -device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x7,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 \
    -netdev tap,vhost=on,script=/etc/qemu-ifup,id=hostnet0 \
    -device virtio-net-pci,disable-modern=on,disable-legacy=off,netdev=hostnet0,id=net0,mac=52:54:00:0b:02:81,bus=pci.0,addr=0x3 \
    -chardev pty,id=charserial0 \
    -device isa-serial,chardev=charserial0,id=serial0 \
    -chardev socket,id=charchannel0,path=/var/lib/libvirt/qemu/channel/target/rhel7cp1.0.org.qemu.guest_agent.0,server,nowait \
    -device virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,id=channel0,name=org.qemu.guest_agent.0 \
    -chardev spicevmc,id=charchannel1,name=vdagent \
    -device virtserialport,bus=virtio-serial0.0,nr=2,chardev=charchannel1,id=channel1,name=com.redhat.spice.0 \
    -device usb-tablet,id=input0 \
    -spice port=5901,disable-ticketing,seamless-migration=on \
    -device qxl-vga,id=video0,ram_size=67108864,vram_size=67108864,vgamem_mb=16,bus=pci.0,addr=0x2 \
    -device intel-hda,id=sound0,bus=pci.0,addr=0x4 \
    -device hda-duplex,id=sound0-codec0,bus=sound0.0,cad=0 \
    -chardev spicevmc,id=charredir0,name=usbredir \
    -device usb-redir,chardev=charredir0,id=redir0 \
    -chardev spicevmc,id=charredir1,name=usbredir \
    -device usb-redir,chardev=charredir1,id=redir1 \
    -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x8 \
    -msg timestamp=on \
    -monitor stdio \
    -qmp unix:/tmp/q1,server,nowait \



Did not hit it with RHEL7.2 guest.
Comment 2 Qian Guo 2015-08-26 23:56:05 EDT
Created attachment 1067489 [details]
The minidump file of the BSOD
Comment 3 Yan Vugenfirer 2015-09-07 11:04:47 EDT
2016 is not fully supported yet, moving to 7.3
Comment 4 Yan Vugenfirer 2015-10-04 04:34:35 EDT
What release of Windows 2016 was tested?
Comment 5 Qian Guo 2015-10-07 21:14:09 EDT
(In reply to Yan Vugenfirer from comment #4)
> What release of Windows 2016 was tested?

Hi, Yan

I can not recall it, but it is one of the followings:
en_windows_server_2016_technical_preview_3_x64_dvd_6942082.iso
en_windows_server_technical_preview_2_x64_dvd_6687981.iso


Thanks,
Qian
Comment 8 Yan Vugenfirer 2016-08-01 04:47:28 EDT
Please retest with latest release of Windows Server 2016 - https://www.microsoft.com/en-us/evalcenter/evaluate-windows-server-technical-preview
Comment 9 juzhang 2016-08-01 04:49:00 EDT
(In reply to Yan Vugenfirer from comment #8)
> Please retest with latest release of Windows Server 2016 -
> https://www.microsoft.com/en-us/evalcenter/evaluate-windows-server-technical-
> preview

Hi Zhiyi,

Could you have a try when you are available?

Best Regards,
Junyi
Comment 10 Guo, Zhiyi 2016-08-16 02:11:50 EDT
Test against latest windows 2016 pt5 datacenter guest & latest cpu hotplug method, guest obtain a hotplug cpu successfully without BSOD.
qemu package used:
qemu-kvm-rhev-2.6.0-20.el7
host kernel:
3.10.0-489.el7.x86_64

qemu-cmd used:
/usr/libexec/qemu-kvm \
-name win2k16 \
-machine pc-i440fx-rhel7.0.0,accel=kvm,usb=off \
-cpu Haswell,-hle,-rtm \
-m 4096 \
-realtime mlock=off \
-smp 1,sockets=1,cores=6,threads=1,maxcpus=6 \
-uuid d4988cbb-eed4-4f43-b771-74c2500f9d34 \
-no-user-config \
-nodefaults \
-rtc base=utc,driftfix=slew \
-global kvm-pit.lost_tick_policy=discard \
-no-hpet \
-no-shutdown \
-global PIIX4_PM.disable_s3=1 \
-global PIIX4_PM.disable_s4=1 \
-boot strict=on \
-device ich9-usb-ehci1,id=usb,bus=pci.0,addr=0x6.0x7 \
-device ich9-usb-uhci1,masterbus=usb.0,firstport=0,bus=pci.0,multifunction=on,addr=0x6 \
-device ich9-usb-uhci2,masterbus=usb.0,firstport=2,bus=pci.0,addr=0x6.0x1 \
-device ich9-usb-uhci3,masterbus=usb.0,firstport=4,bus=pci.0,addr=0x6.0x2 \
-device ahci,id=sata0,bus=pci.0,addr=0x5 \
-device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x7 \
-drive file=/home/win2k16.qcow2,format=qcow2,if=none,id=drive-sata0-0-0 \
-device ide-hd,bus=sata0.0,drive=drive-sata0-0-0,id=sata0-0-0,bootindex=1 \
-drive if=none,id=drive-ide0-0-1,readonly=on \
-device ide-cd,bus=ide.0,unit=1,drive=drive-ide0-0-1,id=ide0-0-1 \
-chardev spicevmc,id=charchannel0,name=vdagent \
-device virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,id=channel0,name=com.redhat.spice.0 \
-vnc :0 \
-vga std \
-global VGA.vgamem_mb=16 \
-device intel-hda,id=sound0,bus=pci.0,addr=0x4 \
-device hda-duplex,id=sound0-codec0,bus=sound0.0,cad=0 \
-chardev spicevmc,id=charredir0,name=usbredir \
-device usb-redir,chardev=charredir0,id=redir0,bus=usb.0,port=1 \
-chardev spicevmc,id=charredir1,name=usbredir \
-device usb-redir,chardev=charredir1,id=redir1,bus=usb.0,port=2 \
-qmp tcp:localhost:4444,server,nowait \
-msg timestamp=on \
-monitor stdio \

steps:
issue following cmd to qmp port:
{ "execute": "qmp_capabilities" }
{ "execute": "device_add","arguments":{"driver":"Haswell-x86_64-cpu","core-id": 4, "thread-id": 0, "socket-id": 0,"id":"core5"}}

Results:
guest obtain a hotplug cpu successfully without BSOD.

Use (qemu) cpu-add 1/2/3, guest also obtain correct hotplug cpus successfully without BSOD
Comment 11 Yan Vugenfirer 2016-08-16 03:17:21 EDT
The issue was fixed by MS in the latest Windows Server 2016 preview.

Note You need to log in before you can comment on or make changes to this bug.