lkml.org 
[lkml]   [2021]   [Jan]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Subject[PATCH RFC v2 00/10] vdpa: add vdpa simulator for block device
    Date
    v1: https://lore.kernel.org/lkml/93f207c0-61e6-3696-f218-e7d7ea9a7c93@redhat.com/

    This series is the second part of the v1 linked above. The first part with
    refactoring of vdpa_sim has already been merged.

    The patches are based on Max Gurtovoy's work and extend the block simulator to
    have a ramdisk behaviour.

    As mentioned in the v1 there was 2 issues and I fixed them in this series:
    1. The identical mapping in the IOMMU used until now in vdpa_sim created issues
    when mapping different virtual pages with the same physical address.
    Fixed by patch "vdpa_sim: use iova module to allocate IOVA addresses"

    2. There was a race accessing the IOMMU between the vdpasim_blk_work() and the
    device driver that map/unmap DMA regions. Fixed by patch "vringh: add
    'iotlb_lock' to synchronize iotlb accesses"

    Since this series is still a RFC, I used the Xie's patch as is to allow
    vhost-vdpa to use block devices, but I'll rebase when he splits it into
    multiple patches.

    The series also includes small fixes for vdpa_sim that I discovered while
    implementing the block simulator.

    Thanks for your feedback,
    Stefano

    Max Gurtovoy (1):
    vdpa: add vdpa simulator for block device

    Stefano Garzarella (8):
    vdpa_sim: use iova module to allocate IOVA addresses
    vringh: add 'iotlb_lock' to synchronize iotlb accesses
    vringh: reset kiov 'consumed' field in __vringh_iov()
    vringh: implement vringh_kiov_advance()
    vringh: add vringh_kiov_length() helper
    vdpa_sim: cleanup kiovs in vdpasim_free()
    vdpa_sim_blk: implement ramdisk behaviour
    vdpa_sim_blk: handle VIRTIO_BLK_T_GET_ID

    Xie Yongji (1):
    vdpa: Remove the restriction that only supports virtio-net devices

    drivers/vdpa/vdpa_sim/vdpa_sim.h | 2 +
    include/linux/vringh.h | 19 +-
    drivers/vdpa/vdpa_sim/vdpa_sim.c | 118 +++++++----
    drivers/vdpa/vdpa_sim/vdpa_sim_blk.c | 288 +++++++++++++++++++++++++++
    drivers/vhost/vdpa.c | 28 +--
    drivers/vhost/vringh.c | 54 +++--
    drivers/vdpa/Kconfig | 8 +
    drivers/vdpa/vdpa_sim/Makefile | 1 +
    8 files changed, 433 insertions(+), 85 deletions(-)
    create mode 100644 drivers/vdpa/vdpa_sim/vdpa_sim_blk.c

    --
    2.29.2

    \
     
     \ /
      Last update: 2021-01-28 15:45    [W:4.279 / U:0.000 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site