• Jason Wang's avatar
    vhost_vdpa: support doorbell mapping via mmap · ddd89d0a
    Jason Wang authored
    Currently the doorbell is relayed via eventfd which may have
    significant overhead because of the cost of vmexits or syscall. This
    patch introduces mmap() based doorbell mapping which can eliminate the
    overhead caused by vmexit or syscall.
    
    To ease the userspace modeling of the doorbell layout (usually
    virtio-pci), this patch starts from a doorbell per page
    model. Vhost-vdpa only support the hardware doorbell that sit at the
    boundary of a page and does not share the page with other registers.
    
    Doorbell of each virtqueue must be mapped separately, pgoff is the
    index of the virtqueue. This allows userspace to map a subset of the
    doorbell which may be useful for the implementation of software
    assisted virtqueue (control vq) in the future.
    Signed-off-by: default avatarJason Wang <jasowang@redhat.com>
    Link: https://lore.kernel.org/r/20200529080303.15449-5-jasowang@redhat.comSigned-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
    ddd89d0a
vdpa.c 20.8 KB