[Bug 218267] New: [Sapphire Rapids][Upstream]Boot up multiple Windows VMs hang

bugzilla-daemon
2023-12-15T08:23:46Z

Bug ID: 218267
Summary: [Sapphire Rapids][Upstream]Boot up multiple Windows
VMs hang
Product: Virtualization
Version: unspecified
Hardware: Intel
OS: Linux
Status: NEW
Severity: high
Priority: P3
Component: kvm
Assignee: virtualization_kvm@kernel-bugs.osdl.org
Reporter: qiangx.guo@intel.com
Regression: No

Created attachment 305601
--> https://bugzilla.kernel.org/attachment.cgi?id=305601&action=edit
Boot up 8 Windows VM script

System Environment
=======

Platform: Sapphire Rapids Platform

Host OS: CentOS Stream 9

Kernel:6.7.0-rc1 (commit:8ed26ab8d59111c2f7b86d200d1eb97d2a458fd1)
Qemu: QEMU emulator version 8.1.94 (v8.2.0-rc4)
(commit:039afc5ef7367fbc8fb475580c291c2655e856cb)

Host Kernel cmdline:BOOT_IMAGE=/kvm-vmlinuz root=/dev/mapper/cs_spr--2s2-root
ro crashkernel=auto console=tty0 console=ttyS0,115200,8n1 3 intel_iommu=on
disable_mtrr_cleanup

Bug detailed description
=======
We boot up 8 Windows VMs (total vCPUs > pCPUs) in host, random run application
on each VM such as WPS editing etc, and wait for a moment, then Some of the
Windows Guest hang and console reports "KVM internal error. Suberror: 3".

Tips:We add "-cpu
host,host-cache-info=on,migratable=on,hv-time=on,hv-relaxed=on,hv-vapic=on,hv-spinlocks=0x1fff"
in qemu parameters and boot up VMs.Some of VMs easy to hang.

Reproduce Steps
==============
1.Boot up 8 Windows VMs in Host:

for ((i=1;i<=8;i++));do
qemu-img create -b /home/guoqiang/win2k16_vdi_local.qcow2 -F qcow2 -f qcow2
/home/guoqiang/win2016$i.qcow2

sleep 1

qemu-system-x86_64 -accel kvm -cpu
host,host-cache-info=on,migratable=on,hv-time=on,hv-relaxed=on,hv-vapic=on,hv-spinlocks=0x1fff
-smp 30 -drive file=/home/guoqiang/win2016$i.qcow2,if=none,id=virtio-disk0
-device virtio-blk-pci,drive=virtio-disk0,bootindex=0 -m 4096 -daemonize -vnc
:$i -device virtio-net-pci,netdev=nic0 -netdev
tap,id=nic0,br=virbr0,helper=/usr/local/libexec/qemu-bridge-helper,vhost=on

sleep 5

done

2.Wait a monent and VMs hang.

Host error log:
KVM internal error. Suberror: 3

extra data[0]: 0x000000008000002f

extra data[1]: 0x0000000000000020

extra data[2]: 0x0000000000000d83

extra data[3]: 0x0000000000000038

RAX=0000000000000000 RBX=0000000000000000 RCX=0000000040000070
RDX=0000000000000000

RSI=0000000000000000 RDI=ffffc58dcf552010 RBP=fffff801ed48e100
RSP=fffff801ed48e060

R8 =00000000ffffffff R9 =0000000000000000 R10=00000000ffffffff
R11=0000000000000000

R12=000000133fd128fc R13=0000000000000046 R14=0000000000000000
R15=0000000000000000

RIP=fffff801eb94fd7c RFL=00000046 [---Z-P-] CPL=0 II=0 A20=1 SMM=0 HLT=0

ES =002b 0000000000000000 ffffffff 00c0f300 DPL=3 DS [-WA]

CS =0010 0000000000000000 00000000 00209b00 DPL=0 CS64 [-RA]

SS =0018 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA]

DS =002b 0000000000000000 ffffffff 00c0f300 DPL=3 DS [-WA]

FS =0053 000000000059b000 00003c00 0040f300 DPL=3 DS [-WA]

GS =002b fffff801ebb3f000 ffffffff 00c0f300 DPL=3 DS [-WA]

LDT=0000 0000000000000000 ffffffff 00c00000

TR =0040 fffff801ed486070 00000067 00008b00 DPL=0 TSS64-busy

GDT= fffff801ed485000 0000006f

IDT= fffff801ed485070 00000fff

CR0=80050031 CR2=0000000000000030 CR3=00000000001aa000 CR4=001506f8

DR0=0000000000000000 DR1=0000000000000000 DR2=0000000000000000
DR3=0000000000000000

DR6=00000000ffff0ff0 DR7=0000000000000400

EFER=0000000000000d01

Code=25 88 61 00 00 b9 70 00 00 40 0f ba 32 00 72 06 33 c0 8b d0 <0f> 30 5a 58
59 c3 cc cc cc cc cc cc 0f 1f 84 00 00 00 00 00 48 81 ec 38 01 00 00 48 8d 84

KVM internal error. Suberror: 3

extra data[0]: 0x000000008000002f

extra data[1]: 0x0000000000000020

extra data[2]: 0x0000000000000d81

extra data[3]: 0x00000000000000a2

RAX=0000000000000000 RBX=0000000000000000 RCX=0000000040000070
RDX=0000000000000000

RSI=0000000000000000 RDI=ffffdf86659d07b0 RBP=ffff96806225b100
RSP=ffff96806225b060

R8 =00000000ffffffff R9 =0000000000000000 R10=00000000ffffffff
R11=0000000000000000

R12=00000013e153ce49 R13=0000000000000046 R14=0000000000000000
R15=0000000000000000

RIP=fffff8001f1ddd7c RFL=00000046 [---Z-P-] CPL=0 II=0 A20=1 SMM=0 HLT=0

ES =002b 0000000000000000 ffffffff 00c0f300 DPL=3 DS [-WA]

CS =0010 0000000000000000 00000000 00209b00 DPL=0 CS64 [-RA]

SS =0018 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA]

DS =002b 0000000000000000 ffffffff 00c0f300 DPL=3 DS [-WA]

FS =0053 0000000000604000 00007c00 0040f300 DPL=3 DS [-WA]

GS =002b ffff968062230000 ffffffff 00c0f300 DPL=3 DS [-WA]

LDT=0000 0000000000000000 ffffffff 00c00000

TR =0040 ffff968062236ac0 00000067 00008b00 DPL=0 TSS64-busy

GDT= ffff96806223db80 0000006f

IDT= ffff96806223dbf0 00000fff

CR0=80050031 CR2=0000000000000030 CR3=00000000001aa000 CR4=001506f8

DR0=0000000000000000 DR1=0000000000000000 DR2=0000000000000000
DR3=0000000000000000

DR6=00000000fffe07f0 DR7=0000000000000400

EFER=0000000000000d01

Code=25 88 61 00 00 b9 70 00 00 40 0f ba 32 00 72 06 33 c0 8b d0 <0f> 30 5a 58
59 c3 cc cc cc cc cc cc 0f 1f 84 00 00 00 00 00 48 81 ec 38 01 00 00 48 8d 84

KVM internal error. Suberror: 3

extra data[0]: 0x000000008000002f

extra data[1]: 0x0000000000000020

extra data[2]: 0x0000000000000f82

extra data[3]: 0x000000000000004b

KVM internal error. Suberror: 3

extra data[0]: 0x000000008000002f

extra data[1]: 0x0000000000000020

extra data[2]: 0x0000000000000f82

extra data[3]: 0x000000000000004b

RAX=0000000000000000 RBX=0000000000000000 RCX=0000000040000070
RDX=0000000000000000

RSI=0000000000000000 RDI=ffffe7885a932010 RBP=fffff802a5a8e100
RSP=fffff802a5a8e060

R8 =00000000ffffffff R9 =0000000000000000 R10=00000000ffffffff
R11=0000000000000000

R12=000000144b0a7258 R13=0000000000000046 R14=0000000000000000
R15=0000000000000000

RIP=fffff802a3f60d7c RFL=00000046 [---Z-P-] CPL=0 II=0 A20=1 SMM=0 HLT=0

ES =002b 0000000000000000 ffffffff 00c0f300 DPL=3 DS [-WA]

CS =0010 0000000000000000 00000000 00209b00 DPL=0 CS64 [-RA]

SS =0018 0000000000000000 00000000 00409300 DPL=0 DS [-WA]

DS =002b 0000000000000000 ffffffff 00c0f300 DPL=3 DS [-WA]

FS =0053 0000000013b70000 00003c00 0040f300 DPL=3 DS [-WA]

GS =002b fffff802a4150000 ffffffff 00c0f300 DPL=3 DS [-WA]

LDT=0000 0000000000000000 ffffffff 00c00000

TR =0040 fffff802a5a86070 00000067 00008b00 DPL=0 TSS64-busy

GDT= fffff802a5a85000 0000006f

IDT= fffff802a5a85070 00000fff

CR0=80050031 CR2=0000000000000030 CR3=00000000001aa000 CR4=001506f8

DR0=0000000000000000 DR1=0000000000000000 DR2=0000000000000000
DR3=0000000000000000

DR6=00000000ffff0ff0 DR7=0000000000000400

EFER=0000000000000d01

Code=25 88 61 00 00 b9 70 00 00 40 0f ba 32 00 72 06 33 c0 8b d0 <0f> 30 5a 58
59 c3 cc cc cc cc cc cc 0f 1f 84 00 00 00 00 00 48 81 ec 38 01 00 00 48 8d 84