-
Epic
-
Resolution: Unresolved
-
Undefined
-
rhel-10.1
-
None
-
None
-
[virtio-win] [viostor] Fixes related to the queues, MSIx vectors, and message ID mappings and calculations
-
None
-
None
-
None
-
False
-
False
-
-
None
-
None
-
None
-
None
-
Unspecified
-
Unspecified
-
Unspecified
-
-
All
-
Windows
-
None
During the code review several issues related to the MSIx vectors, and message ID mappings and calculations were detected:
- Possible overflows for queue to message ID translations.
- Slightly convoluted code related to the queue to message ID translations found in some places
- Initial calculations of amount of possible queues had a minor bug
- Handling of the corner case when only one vector is available and configuration interrupt and queue interrupt will use the same vector
- Possible improvements for mass vCPU cases and CPU hot plug
The Epic created as a placeholder for dev upstream work and QE work needed for the downstream.
Current upstream related PRs:
- viostor: Fix device configuration updates: https://github.com/virtio-win/kvm-guest-drivers-windows/pull/1520
- [viostor] Limit num_cpus and max_cpus to MAX_CPU https://github.com/virtio-win/kvm-guest-drivers-windows/pull/1518
- viostor: Cleanups around msix_one_vector and MessageId https://github.com/virtio-win/kvm-guest-drivers-windows/pull/1503
- [viostor] Use ULONG for num_queues https://github.com/virtio-win/kvm-guest-drivers-windows/pull/1502
- viostor: Fix MessageId update in MESSAGENUMBER_TO_QUEUE() and related cleanup https://github.com/virtio-win/kvm-guest-drivers-windows/pull/1495