• Yuxue Liu's avatar
    vp_vdpa: don't allocate unused msix vectors · 4d685629
    Yuxue Liu authored
    When there is a ctlq and it doesn't require interrupt
    callbacks,the original method of calculating vectors
    wastes hardware msi or msix resources as well as system
    IRQ resources.
    
    When conducting performance testing using testpmd in the
    guest os, it was found that the performance was lower compared
    to directly using vfio-pci to passthrough the device
    
    In scenarios where the virtio device in the guest os does
    not utilize interrupts, the vdpa driver still configures
    the hardware's msix vector. Therefore, the hardware still
    sends interrupts to the host os. Because of this unnecessary
    action by the hardware, hardware performance decreases, and
    it also affects the performance of the host os.
    
    Before modification:(interrupt mode)
     32:  0   0  0  0 PCI-MSI 32768-edge    vp-vdpa[0000:00:02.0]-0
     33:  0   0  0  0 PCI-MSI 32769-edge    vp-vdpa[0000:00:02.0]-1
     34:  0   0  0  0 PCI-MSI 32770-edge    vp-vdpa[0000:00:02.0]-2
     35:  0   0  0  0 PCI-MSI 32771-edge    vp-vdpa[0000:00:02.0]-config
    
    After modification:(interrupt mode)
     32:  0  0  1  7   PCI-MSI 32768-edge  vp-vdpa[0000:00:02.0]-0
     33: 36  0  3  0   PCI-MSI 32769-edge  vp-vdpa[0000:00:02.0]-1
     34:  0  0  0  0   PCI-MSI 32770-edge  vp-vdpa[0000:00:02.0]-config
    
    Before modification:(virtio pmd mode for guest os)
     32:  0   0  0  0 PCI-MSI 32768-edge    vp-vdpa[0000:00:02.0]-0
     33:  0   0  0  0 PCI-MSI 32769-edge    vp-vdpa[0000:00:02.0]-1
     34:  0   0  0  0 PCI-MSI 32770-edge    vp-vdpa[0000:00:02.0]-2
     35:  0   0  0  0 PCI-MSI 32771-edge    vp-vdpa[0000:00:02.0]-config
    
    After modification:(virtio pmd mode for guest os)
     32: 0  0  0   0   PCI-MSI 32768-edge   vp-vdpa[0000:00:02.0]-config
    
    To verify the use of the virtio PMD mode in the guest operating
    system, the following patch needs to be applied to QEMU:
    https://lore.kernel.org/all/20240408073311.2049-1-yuxue.liu@jaguarmicro.comSigned-off-by: default avatarYuxue Liu <yuxue.liu@jaguarmicro.com>
    Acked-by: default avatarJason Wang <jasowang@redhat.com>
    Reviewed-by: default avatarHeng Qi <hengqi@linux.alibaba.com>
    Message-Id: <20240410033020.1310-1-yuxue.liu@jaguarmicro.com>
    Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
    4d685629
vp_vdpa.c 17 KB