On 12/17/2019 07:14 AM, Daniel Verkamp wrote:
After 86a559787e6f ("virtio-balloon: VIRTIO_BALLOON_F_FREE_PAGE_HINT"), the virtio-balloon device unconditionally specifies 4 virtqueues as the argument to find_vqs(), which means that 5 MSI-X vectors are required in order to assign one vector per VQ plus one for configuration changes. However, in cases where the virtio device only provides exactly as many MSI-X vectors as required for the features it implements (e.g. 3 for the basic configuration of inflate + deflate + config), this results in the selection of the fallback configuration where one interrupt vector is used for all VQs instead of having one VQ per vector.
I'm not sure if I get the above. Virtio won't do any vq allocation for the one that has "callbacks[i] = NULL", so no msi-x vector will be assigned for it. Btw, did you trigger any bug with the existing code? Best, Wei _______________________________________________ Virtualization mailing list Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linuxfoundation.org/mailman/listinfo/virtualization