Patch set 107078 v4

integrate dmadev in vhost

Submitter
Jiayu Hu
Applied on
dpdk (0dff3f26d6faad4e51f75e5245f0387ee9bb0c6d)
Date submitted
Feb. 9, 2022, 12:51 p.m.

Test Results Apply Error

Checking patch doc/guides/prog_guide/vhost_lib.rst...
error: while searching for:

  Called to get the notify area info of the queue.

Recommended IOVA mode in async datapath
---------------------------------------


error: patch failed: doc/guides/prog_guide/vhost_lib.rst:443
error: while searching for:
For PA mode, page by page mapping may exceed IOMMU's max capability,
better to use 1G guest hugepage.

For uio driver, any vfio related error message can be ignored.
error: patch failed: doc/guides/prog_guide/vhost_lib.rst:450
Checking patch examples/vhost/Makefile...
Checking patch examples/vhost/ioat.c...
Checking patch examples/vhost/ioat.h...
Checking patch examples/vhost/main.c...
Checking patch examples/vhost/main.h...
Checking patch examples/vhost/meson.build...
Checking patch lib/vhost/meson.build...
Checking patch lib/vhost/rte_vhost.h...
Checking patch lib/vhost/rte_vhost_async.h...
Checking patch lib/vhost/version.map...
Checking patch lib/vhost/vhost.c...
Checking patch lib/vhost/vhost.h...
Checking patch lib/vhost/virtio_net.c...
Applying patch doc/guides/prog_guide/vhost_lib.rst with 2 rejects...
Hunk #1 applied cleanly.
Hunk #2 applied cleanly.
Hunk #3 applied cleanly.
Hunk #4 applied cleanly.
Rejected hunk #5.
Rejected hunk #6.
Applied patch examples/vhost/Makefile cleanly.
Applied patch examples/vhost/ioat.c cleanly.
Applied patch examples/vhost/ioat.h cleanly.
Applied patch examples/vhost/main.c cleanly.
Applied patch examples/vhost/main.h cleanly.
Applied patch examples/vhost/meson.build cleanly.
Applied patch lib/vhost/meson.build cleanly.
Applied patch lib/vhost/rte_vhost.h cleanly.
Applied patch lib/vhost/rte_vhost_async.h cleanly.
Applied patch lib/vhost/version.map cleanly.
Applied patch lib/vhost/vhost.c cleanly.
Applied patch lib/vhost/vhost.h cleanly.
Applied patch lib/vhost/virtio_net.c cleanly.
diff a/doc/guides/prog_guide/vhost_lib.rst b/doc/guides/prog_guide/vhost_lib.rst	(rejected hunks)
@@ -443,6 +416,29 @@ Finally, a set of device ops is defined for device specific operations:
 
   Called to get the notify area info of the queue.
 
+Vhost asynchronous data path
+----------------------------
+
+Vhost asynchronous data path leverages DMA devices to offload memory
+copies from the CPU and it is implemented in an asynchronous way. It
+enables applications, like OVS, to save CPU cycles and hide memory copy
+overhead, thus achieving higher throughput.
+
+Vhost doesn't manage DMA devices and applications, like OVS, need to
+manage and configure DMA devices. Applications need to tell vhost what
+DMA devices to use in every data path function call. This design enables
+the flexibility for applications to dynamically use DMA channels in
+different function modules, not limited in vhost.
+
+In addition, vhost supports M:N mapping between vrings and DMA virtual
+channels. Specifically, one vring can use multiple different DMA channels
+and one DMA channel can be shared by multiple vrings at the same time.
+The reason of enabling one vring to use multiple DMA channels is that
+it's possible that more than one dataplane threads enqueue packets to
+the same vring with their own DMA virtual channels. Besides, the number
+of DMA devices is limited. For the purpose of scaling, it's necessary to
+support sharing DMA channels among vrings.
+
 Recommended IOVA mode in async datapath
 ---------------------------------------
 
@@ -450,4 +446,4 @@ When DMA devices are bound to vfio driver, VA mode is recommended.
 For PA mode, page by page mapping may exceed IOMMU's max capability,
 better to use 1G guest hugepage.
 
-For uio driver, any vfio related error message can be ignored.
\ No newline at end of file
+For uio driver, any vfio related error message can be ignored.