• Xuan Zhuo's avatar
    virtio_net: merge dma operations when filling mergeable buffers · 295525e2
    Xuan Zhuo authored
    Currently, the virtio core will perform a dma operation for each
    buffer. Although, the same page may be operated multiple times.
    
    This patch, the driver does the dma operation and manages the dma
    address based the feature premapped of virtio core.
    
    This way, we can perform only one dma operation for the pages of the
    alloc frag. This is beneficial for the iommu device.
    
    kernel command line: intel_iommu=on iommu.passthrough=0
    
           |  strict=0  | strict=1
    Before |  775496pps | 428614pps
    After  | 1109316pps | 742853pps
    Signed-off-by: default avatarXuan Zhuo <xuanzhuo@linux.alibaba.com>
    Message-Id: <20230810123057.43407-13-xuanzhuo@linux.alibaba.com>
    Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
    295525e2
virtio_net.c 119 KB