-
Bug
-
Resolution: Unresolved
-
Minor
-
CentOS Stream 9
-
None
-
No
-
Important
-
rhel-sst-virtualization-windows
-
ssg_virtualization
-
3
-
QE ack
-
False
-
-
None
-
None
-
Fail
-
None
-
Unspecified
-
Unspecified
-
Unspecified
-
-
x86_64
-
None
https://github.com/virtio-win/kvm-guest-drivers-windows/issues/1312
Installation of build 266 (and later) hangs on 2025 (with PollMode enabled)
The problem is reproducible 100% on upstream user (Alibaba Cloud), they can't reproduce it on qemu.
Looking at guest dump from frozen machine I do not see any special reason why this can't happen on qemu, there is a difference with typical behavior on qemu setup, but the root cause of the difference is not clear and the flow in the driver is definitely problematic.
2 CPUs, 2 queues
On customer setup:
Windows configures RSS to work only on CPU0, so both poll handlers have the same affinity of CPU0. But the interrupts naturally may come on any of 2 CPUs , if the interrupt comes on Q1 this triggers poll handler 1 on CPU0, but the packet is related to Q0, so we trigger poll handler 0 and the system calls it synchronously because this poll handler's affinity is also CPU0.
On typical setup:
Windows configures RSS to work both CPUs, 2 poll handlers has different affinities and no problem happens.
Reproduction procedure worked for me:
- Configure virtio device with 2 queues, 2 cpus
- Install driver 266... 274 for Win11/2025
- Open Powershell admin prompt
- Run get-netadapter to see name(s) of virtio-net adapter
- Run get-NetAdapterRss -Name "adapter name"
- If printed MaxProcessors = 1, goto 8
- Run set-NetAadapterRss -Name "adapter name" -MaxProcessors 1
- If the OS is not frozen yet, try to turn the link off-on (via set_link hmp, for example) or ping the virtio-net from several different LAN addresses.