virtualization.lists.linux-foundation.org archive mirror
 help / color / mirror / Atom feed
  • [parent not found: <20220629082541.118-6-xieyongji@bytedance.com>]
  • * Re: [PATCH 0/6] VDUSE: Support registering userspace memory as bounce buffer
           [not found] <20220629082541.118-1-xieyongji@bytedance.com>
           [not found] ` <20220629082541.118-7-xieyongji@bytedance.com>
           [not found] ` <20220629082541.118-6-xieyongji@bytedance.com>
    @ 2022-07-04  9:26 ` Liu Xiaodong
      2 siblings, 0 replies; 6+ messages in thread
    From: Liu Xiaodong @ 2022-07-04  9:26 UTC (permalink / raw)
      To: Xie Yongji
      Cc: mst, xiaodong.liu, linux-kernel, virtualization, maxime.coquelin,
    	stefanha
    
    On Wed, Jun 29, 2022 at 04:25:35PM +0800, Xie Yongji wrote:
    > Hi all,
    > 
    > This series introduces some new ioctls: VDUSE_IOTLB_GET_INFO,
    > VDUSE_IOTLB_REG_UMEM and VDUSE_IOTLB_DEREG_UMEM to support
    > registering and de-registering userspace memory for IOTLB
    > as bounce buffer in virtio-vdpa case.
    > 
    > The VDUSE_IOTLB_GET_INFO ioctl can help user to query IOLTB
    > information such as bounce buffer size. Then user can use
    > those information on VDUSE_IOTLB_REG_UMEM and
    > VDUSE_IOTLB_DEREG_UMEM ioctls to register and de-register
    > userspace memory for IOTLB.
    > 
    > During registering and de-registering, the DMA data in use
    > would be copied from kernel bounce pages to userspace bounce
    > pages and back.
    > 
    > With this feature, some existing application such as SPDK
    > and DPDK can leverage the datapath of VDUSE directly and
    > efficiently as discussed before [1]. They can register some
    > preallocated hugepages to VDUSE to avoid an extra memcpy
    > from bounce-buffer to hugepages.
    
    Hi, Yongji
    
    Very glad to see this enhancement in VDUSE. Thank you.
    It is really helpful and essential to SPDK.
    With this new feature, we can get VDUSE transferred data
    accessed directly by userspace physical backends, like RDMA
    and PCIe devices.
    
    In SPDK roadmap, it's one important work to export block
    services to local host, especially for container scenario.
    This patch could help SPDK do that with its userspace
    backend stacks while keeping high efficiency and performance.
    So the whole SPDK ecosystem can get benefited.
    
    Based on this enhancement, as discussed, I drafted a VDUSE
    prototype module in SPDK for initial evaluation:
    [TEST]vduse: prototype for initial draft
    https://review.spdk.io/gerrit/c/spdk/spdk/+/13534
    
    Running SPDK on single CPU core, configured with 2 P3700 NVMe,
    and exported block devices to local host kernel via different
    protocols. The randwrite IOPS through each protocol are:
    NBD 		  121K
    NVMf-tcp loopback 274K
    VDUSE 		  463K
    
    SPDK with RDMA backends should have a similar ratio.
    VDUSE has a great performance advantage for SPDK.
    We have kept investigating on this usage for years.
    Originally, some SPDK users used NBD. Then NVMf-tcp loopback
    is SPDK community accommended way. In future, VDUSE could be
    the preferred way.
    
    > The kernel and userspace codes could be found in github:
    > 
    > https://github.com/bytedance/linux/tree/vduse-umem
    > https://github.com/bytedance/qemu/tree/vduse-umem
    > 
    > To test it with qemu-storage-daemon:
    > 
    > $ qemu-storage-daemon \
    >     --chardev socket,id=charmonitor,path=/tmp/qmp.sock,server=on,wait=off \
    >     --monitor chardev=charmonitor \
    >     --blockdev driver=host_device,cache.direct=on,aio=native,filename=/dev/nullb0,node-name=disk0
    > \
    >     --export type=vduse-blk,id=vduse-test,name=vduse-test,node-name=disk0,writable=on
    > 
    > [1] https://lkml.org/lkml/2021/6/27/318
    > 
    > Please review, thanks!
    
    Waiting for its review process.
    
    Thanks
    Xiaodong
    _______________________________________________
    Virtualization mailing list
    Virtualization@lists.linux-foundation.org
    https://lists.linuxfoundation.org/mailman/listinfo/virtualization
    
    ^ permalink raw reply	[flat|nested] 6+ messages in thread

  • end of thread, other threads:[~2022-07-04  9:27 UTC | newest]
    
    Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
    -- links below jump to the message on this page --
         [not found] <20220629082541.118-1-xieyongji@bytedance.com>
         [not found] ` <20220629082541.118-7-xieyongji@bytedance.com>
    2022-06-29  8:33   ` [PATCH 6/6] vduse: Update api version to 1 Michael S. Tsirkin
         [not found]     ` <CACycT3sZXwunA_UOCriSv=f2VARMnPb1mNU2GAUd9BLCU-Hg8w@mail.gmail.com>
    2022-06-29  9:22       ` Michael S. Tsirkin
         [not found] ` <20220629082541.118-6-xieyongji@bytedance.com>
    2022-06-29  8:42   ` [PATCH 5/6] vduse: Support registering userspace memory for IOTLB Michael S. Tsirkin
         [not found]     ` <CACycT3sAcH-b40hORjSOQb67jZ0Fd-fxdzmZNwt=4iZdX6gLeA@mail.gmail.com>
    2022-06-29  9:54       ` Michael S. Tsirkin
         [not found]         ` <CACycT3vaNLYRid5SsT11LuVCaGXbBfV=q7c7SUp1+r9BcRpwkw@mail.gmail.com>
    2022-06-29 11:28           ` Michael S. Tsirkin
    2022-07-04  9:26 ` [PATCH 0/6] VDUSE: Support registering userspace memory as bounce buffer Liu Xiaodong
    

    This is a public inbox, see mirroring instructions
    for how to clone and mirror all data and code used for this inbox;
    as well as URLs for NNTP newsgroup(s).