[v3,7/7] doc: add packed vectorized datapath
Checks
Commit Message
Document packed virtqueue vectorized datapath selection logic in virtio
net PMD. Add packed virtqueue vectorized datapath features to new ini
file.
Signed-off-by: Marvin Liu <yong.liu@intel.com>
new file mode 100644
@@ -0,0 +1,22 @@
+;
+; Supported features of the 'virtio_packed_vec' network poll mode driver.
+;
+; Refer to default.ini for the full list of available PMD features.
+;
+[Features]
+Speed capabilities = P
+Link status = Y
+Link status event = Y
+Rx interrupt = Y
+Queue start/stop = Y
+Promiscuous mode = Y
+Allmulticast mode = Y
+Unicast MAC filter = Y
+Multicast MAC filter = Y
+VLAN filter = Y
+Basic stats = Y
+Stats per queue = Y
+BSD nic_uio = Y
+Linux UIO = Y
+Linux VFIO = Y
+x86-64 = Y
similarity index 88%
rename from doc/guides/nics/features/virtio_vec.ini
rename to doc/guides/nics/features/virtio-split_vec.ini
@@ -1,5 +1,5 @@
;
-; Supported features of the 'virtio_vec' network poll mode driver.
+; Supported features of the 'virtio_split_vec' network poll mode driver.
;
; Refer to default.ini for the full list of available PMD features.
;
@@ -403,6 +403,11 @@ Below devargs are supported by the virtio-user vdev:
It is used to enable virtio device packed virtqueue feature.
(Default: 0 (disabled))
+#. ``packed_vec``:
+
+ It is used to enable virtio device packed virtqueue vectorized path.
+ (Default: 1 (enabled))
+
Virtio paths Selection and Usage
--------------------------------
@@ -454,6 +459,13 @@ according to below configuration:
both negotiated, this path will be selected.
#. Packed virtqueue in-order non-mergeable path: If in-order feature is negotiated and
Rx mergeable is not negotiated, this path will be selected.
+#. Packed virtqueue vectorized Rx path: If building and running environment support
+ AVX512 && in-order feature is negotiated && Rx mergeable is not negotiated &&
+ TCP_LRO Rx offloading is disabled && packed_vec option enabled,
+ this path will be selected.
+#. Packed virtqueue vectorized Tx path: If building and running environment support
+ AVX512 && in-order feature is negotiated && packed_vec option enabled,
+ this path will be selected.
Rx/Tx callbacks of each Virtio path
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -476,6 +488,8 @@ are shown in below table:
Packed virtqueue non-meregable path virtio_recv_pkts_packed virtio_xmit_pkts_packed
Packed virtqueue in-order mergeable path virtio_recv_mergeable_pkts_packed virtio_xmit_pkts_packed
Packed virtqueue in-order non-mergeable path virtio_recv_pkts_packed virtio_xmit_pkts_packed
+ Packed virtqueue vectorized Rx path virtio_recv_pkts_packed_vec virtio_xmit_pkts_packed
+ Packed virtqueue vectorized Tx path virtio_recv_pkts_packed virtio_xmit_pkts_packed_vec
============================================ ================================= ========================
Virtio paths Support Status from Release to Release
@@ -493,20 +507,22 @@ All virtio paths support status are shown in below table:
.. table:: Virtio Paths and Releases
- ============================================ ============= ============= =============
- Virtio paths 16.11 ~ 18.05 18.08 ~ 18.11 19.02 ~ 19.11
- ============================================ ============= ============= =============
- Split virtqueue mergeable path Y Y Y
- Split virtqueue non-mergeable path Y Y Y
- Split virtqueue vectorized Rx path Y Y Y
- Split virtqueue simple Tx path Y N N
- Split virtqueue in-order mergeable path Y Y
- Split virtqueue in-order non-mergeable path Y Y
- Packed virtqueue mergeable path Y
- Packed virtqueue non-mergeable path Y
- Packed virtqueue in-order mergeable path Y
- Packed virtqueue in-order non-mergeable path Y
- ============================================ ============= ============= =============
+ ============================================ ============= ============= ============= =======
+ Virtio paths 16.11 ~ 18.05 18.08 ~ 18.11 19.02 ~ 19.11 20.05 ~
+ ============================================ ============= ============= ============= =======
+ Split virtqueue mergeable path Y Y Y Y
+ Split virtqueue non-mergeable path Y Y Y Y
+ Split virtqueue vectorized Rx path Y Y Y Y
+ Split virtqueue simple Tx path Y N N N
+ Split virtqueue in-order mergeable path Y Y Y
+ Split virtqueue in-order non-mergeable path Y Y Y
+ Packed virtqueue mergeable path Y Y
+ Packed virtqueue non-mergeable path Y Y
+ Packed virtqueue in-order mergeable path Y Y
+ Packed virtqueue in-order non-mergeable path Y Y
+ Packed virtqueue vectorized Rx path Y
+ Packed virtqueue vectorized Tx path Y
+ ============================================ ============= ============= ============= =======
QEMU Support Status
~~~~~~~~~~~~~~~~~~~