• Jason Wang's avatar
    vhost-vdpa: support IOTLB batching hints · 25abc060
    Jason Wang authored
    This patches extend the vhost IOTLB API to accept batch updating hints
    form userspace. When userspace wants update the device IOTLB in a
    batch, it may do:
    
    1) Write vhost_iotlb_msg with VHOST_IOTLB_BATCH_BEGIN flag
    2) Perform a batch of IOTLB updating via VHOST_IOTLB_UPDATE/INVALIDATE
    3) Write vhost_iotlb_msg with VHOST_IOTLB_BATCH_END flag
    
    Vhost-vdpa may decide to batch the IOMMU/IOTLB updating in step 3 when
    vDPA device support set_map() ops. This is useful for the vDPA device
    that want to know all the mappings to tweak their own DMA translation
    logic.
    
    For vDPA device that doesn't require set_map(), no behavior changes.
    
    This capability is advertised via VHOST_BACKEND_F_IOTLB_BATCH capability.
    Signed-off-by: default avatarJason Wang <jasowang@redhat.com>
    Link: https://lore.kernel.org/r/20200804162048.22587-5-eli@mellanox.comSigned-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
    25abc060
vdpa.c 23.2 KB