DPDK patches and discussions
 help / color / mirror / Atom feed
From: Marvin Liu <yong.liu@intel.com>
To: maxime.coquelin@redhat.com, tiwei.bie@intel.com,
	zhihong.wang@intel.com, stephen@networkplumber.org,
	gavin.hu@arm.com
Cc: dev@dpdk.org, Marvin Liu <yong.liu@intel.com>
Subject: [dpdk-dev] [PATCH v6 00/13] vhost packed ring performance optimization
Date: Wed, 16 Oct 2019 00:07:26 +0800	[thread overview]
Message-ID: <20191015160739.51940-1-yong.liu@intel.com> (raw)
In-Reply-To: <20191015143014.1656-1-yong.liu@intel.com>

Packed ring has more compact ring format and thus can significantly
reduce the number of cache miss. It can lead to better performance.
This has been approved in virtio user driver, on normal E5 Xeon cpu
single core performance can raise 12%.

http://mails.dpdk.org/archives/dev/2018-April/095470.html

However vhost performance with packed ring performance was decreased.
Through analysis, mostly extra cost was from the calculating of each
descriptor flag which depended on ring wrap counter. Moreover, both
frontend and backend need to write same descriptors which will cause
cache contention. Especially when doing vhost enqueue function, virtio
refill packed ring function may write same cache line when vhost doing
enqueue function. This kind of extra cache cost will reduce the benefit
of reducing cache misses. 

For optimizing vhost packed ring performance, vhost enqueue and dequeue
function will be splitted into fast and normal path.

Several methods will be taken in fast path:
  Handle descriptors in one cache line by batch.
  Split loop function into more pieces and unroll them.
  Prerequisite check that whether I/O space can copy directly into mbuf
    space and vice versa. 
  Prerequisite check that whether descriptor mapping is successful.
  Distinguish vhost used ring update function by enqueue and dequeue
    function.
  Buffer dequeue used descriptors as many as possible.
  Update enqueue used descriptors by cache line.

After all these methods done, single core vhost PvP performance with 64B
packet on Xeon 8180 can boost 35%.

v6:
- Fix dequeue zcopy result check

v5:
- Remove disable sw prefetch as performance impact is small
- Change unroll pragma macro format
- Rename shadow counter elements names
- Clean dequeue update check condition
- Add inline functions replace of duplicated code
- Unify code style

v4:
- Support meson build
- Remove memory region cache for no clear performance gain and ABI break
- Not assume ring size is power of two

v3:
- Check available index overflow
- Remove dequeue remained descs number check
- Remove changes in split ring datapath
- Call memory write barriers once when updating used flags
- Rename some functions and macros
- Code style optimization

v2:
- Utilize compiler's pragma to unroll loop, distinguish clang/icc/gcc
- Buffered dequeue used desc number changed to (RING_SZ - PKT_BURST)
- Optimize dequeue used ring update when in_order negotiated


Marvin Liu (13):
  vhost: add packed ring indexes increasing function
  vhost: add packed ring single enqueue
  vhost: try to unroll for each loop
  vhost: add packed ring batch enqueue
  vhost: add packed ring single dequeue
  vhost: add packed ring batch dequeue
  vhost: flush enqueue updates by batch
  vhost: flush batched enqueue descs directly
  vhost: buffer packed ring dequeue updates
  vhost: optimize packed ring enqueue
  vhost: add packed ring zcopy batch and single dequeue
  vhost: optimize packed ring dequeue
  vhost: optimize packed ring dequeue when in-order

 lib/librte_vhost/Makefile     |  18 +
 lib/librte_vhost/meson.build  |   7 +
 lib/librte_vhost/vhost.h      |  57 +++
 lib/librte_vhost/virtio_net.c | 924 +++++++++++++++++++++++++++-------
 4 files changed, 812 insertions(+), 194 deletions(-)

-- 
2.17.1


  parent reply	other threads:[~2019-10-15  8:28 UTC|newest]

Thread overview: 199+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-09-05 16:14 [dpdk-dev] [PATCH v1 00/14] " Marvin Liu
2019-09-05 16:14 ` [dpdk-dev] [PATCH v1 01/14] vhost: add single packet enqueue function Marvin Liu
2019-09-19 16:36   ` [dpdk-dev] [PATCH v2 00/16] vhost packed ring performance optimization Marvin Liu
2019-09-19 16:36     ` [dpdk-dev] [PATCH v2 01/16] vhost: add single packet enqueue function Marvin Liu
2019-09-23  9:09       ` Gavin Hu (Arm Technology China)
2019-09-23  9:15         ` Liu, Yong
2019-09-25 17:13       ` [dpdk-dev] [PATCH v3 00/15] vhost packed ring performance optimization Marvin Liu
2019-09-25 17:13         ` [dpdk-dev] [PATCH v3 01/15] vhost: add single packet enqueue function Marvin Liu
2019-09-25 17:13         ` [dpdk-dev] [PATCH v3 02/15] vhost: unify unroll pragma parameter Marvin Liu
2019-09-26  5:41           ` Tiwei Bie
2019-09-25 17:13         ` [dpdk-dev] [PATCH v3 03/15] vhost: add batch enqueue function for packed ring Marvin Liu
2019-09-25 19:31           ` Mattias Rönnblom
2019-10-09  2:45             ` Liu, Yong
2019-09-25 17:13         ` [dpdk-dev] [PATCH v3 04/15] vhost: add single packet dequeue function Marvin Liu
2019-09-25 17:13         ` [dpdk-dev] [PATCH v3 05/15] vhost: add batch " Marvin Liu
2019-09-25 17:13         ` [dpdk-dev] [PATCH v3 06/15] vhost: flush vhost enqueue shadow ring by batch Marvin Liu
2019-09-25 17:13         ` [dpdk-dev] [PATCH v3 07/15] vhost: add flush function for batch enqueue Marvin Liu
2019-09-26  9:24           ` Gavin Hu (Arm Technology China)
2019-09-25 17:13         ` [dpdk-dev] [PATCH v3 08/15] vhost: buffer vhost dequeue shadow ring Marvin Liu
2019-09-25 17:13         ` [dpdk-dev] [PATCH v3 09/15] vhost: split enqueue and dequeue flush functions Marvin Liu
2019-09-25 17:13         ` [dpdk-dev] [PATCH v3 10/15] vhost: optimize enqueue function of packed ring Marvin Liu
2019-09-26  5:56           ` Tiwei Bie
2019-09-25 17:13         ` [dpdk-dev] [PATCH v3 11/15] vhost: add batch and single zero dequeue functions Marvin Liu
2019-09-25 17:13         ` [dpdk-dev] [PATCH v3 12/15] vhost: optimize dequeue function of packed ring Marvin Liu
2019-09-25 17:13         ` [dpdk-dev] [PATCH v3 13/15] vhost: cache address translation result Marvin Liu
2019-09-26  5:32           ` Tiwei Bie
2019-10-09  2:08             ` Liu, Yong
2019-09-25 17:13         ` [dpdk-dev] [PATCH v3 14/15] vhost: check whether disable software pre-fetch Marvin Liu
2019-09-25 17:13         ` [dpdk-dev] [PATCH v3 15/15] vhost: optimize packed ring dequeue when in-order Marvin Liu
2019-10-09 13:38         ` [dpdk-dev] [PATCH v4 00/14] vhost packed ring performance optimization Marvin Liu
2019-10-09 13:38           ` [dpdk-dev] [PATCH v4 01/14] vhost: add single packet enqueue function Marvin Liu
2019-10-11 12:34             ` Maxime Coquelin
2019-10-09 13:38           ` [dpdk-dev] [PATCH v4 02/14] vhost: unify unroll pragma parameter Marvin Liu
2019-10-11 12:48             ` Maxime Coquelin
2019-10-14  6:57               ` Liu, Yong
2019-10-09 13:38           ` [dpdk-dev] [PATCH v4 03/14] vhost: add batch enqueue function for packed ring Marvin Liu
2019-10-11 12:49             ` Maxime Coquelin
2019-10-11 14:22             ` Maxime Coquelin
2019-10-15  6:15               ` Liu, Yong
2019-10-09 13:38           ` [dpdk-dev] [PATCH v4 04/14] vhost: add single packet dequeue function Marvin Liu
2019-10-11 13:04             ` Maxime Coquelin
2019-10-09 13:38           ` [dpdk-dev] [PATCH v4 05/14] vhost: add batch " Marvin Liu
2019-10-09 13:38           ` [dpdk-dev] [PATCH v4 06/14] vhost: flush vhost enqueue shadow ring by batch Marvin Liu
2019-10-09 13:38           ` [dpdk-dev] [PATCH v4 07/14] vhost: add flush function for batch enqueue Marvin Liu
2019-10-09 13:38           ` [dpdk-dev] [PATCH v4 08/14] vhost: buffer vhost dequeue shadow ring Marvin Liu
2019-10-09 13:38           ` [dpdk-dev] [PATCH v4 09/14] vhost: split enqueue and dequeue flush functions Marvin Liu
2019-10-09 13:38           ` [dpdk-dev] [PATCH v4 10/14] vhost: optimize enqueue function of packed ring Marvin Liu
2019-10-09 13:38           ` [dpdk-dev] [PATCH v4 11/14] vhost: add batch and single zero dequeue functions Marvin Liu
2019-10-09 13:38           ` [dpdk-dev] [PATCH v4 12/14] vhost: optimize dequeue function of packed ring Marvin Liu
2019-10-09 13:38           ` [dpdk-dev] [PATCH v4 13/14] vhost: check whether disable software pre-fetch Marvin Liu
2019-10-11 14:12             ` Maxime Coquelin
2019-10-14  3:08               ` Liu, Yong
2019-10-09 13:38           ` [dpdk-dev] [PATCH v4 14/14] vhost: optimize packed ring dequeue when in-order Marvin Liu
2019-10-15 14:30           ` [dpdk-dev] [PATCH v5 00/13] vhost packed ring performance optimization Marvin Liu
2019-10-15 14:30             ` [dpdk-dev] [PATCH v5 01/13] vhost: add packed ring indexes increasing function Marvin Liu
2019-10-15 14:30             ` [dpdk-dev] [PATCH v5 02/13] vhost: add packed ring single enqueue Marvin Liu
2019-10-15 14:30             ` [dpdk-dev] [PATCH v5 03/13] vhost: try to unroll for each loop Marvin Liu
2019-10-15 14:30             ` [dpdk-dev] [PATCH v5 04/13] vhost: add packed ring batch enqueue Marvin Liu
2019-10-15 14:30             ` [dpdk-dev] [PATCH v5 05/13] vhost: add packed ring single dequeue Marvin Liu
2019-10-15 14:30             ` [dpdk-dev] [PATCH v5 06/13] vhost: add packed ring batch dequeue Marvin Liu
2019-10-15 14:30             ` [dpdk-dev] [PATCH v5 07/13] vhost: flush enqueue updates by batch Marvin Liu
2019-10-15 14:30             ` [dpdk-dev] [PATCH v5 08/13] vhost: flush batched enqueue descs flags directly Marvin Liu
2019-10-15 14:30             ` [dpdk-dev] [PATCH v5 09/13] vhost: buffer packed ring dequeue updates Marvin Liu
2019-10-15 14:30             ` [dpdk-dev] [PATCH v5 10/13] vhost: optimize packed ring enqueue Marvin Liu
2019-10-15 14:30             ` [dpdk-dev] [PATCH v5 11/13] vhost: add packed ring zcopy batch and single dequeue Marvin Liu
2019-10-15 14:30             ` [dpdk-dev] [PATCH v5 12/13] vhost: optimize packed ring dequeue Marvin Liu
2019-10-15 14:30             ` [dpdk-dev] [PATCH v5 13/13] vhost: optimize packed ring dequeue when in-order Marvin Liu
2019-10-15 16:07             ` Marvin Liu [this message]
2019-10-15 16:07               ` [dpdk-dev] [PATCH v6 01/13] vhost: add packed ring indexes increasing function Marvin Liu
2019-10-16 10:28                 ` Maxime Coquelin
2019-10-15 16:07               ` [dpdk-dev] [PATCH v6 02/13] vhost: add packed ring single enqueue Marvin Liu
2019-10-15 16:07               ` [dpdk-dev] [PATCH v6 03/13] vhost: try to unroll for each loop Marvin Liu
2019-10-16 10:30                 ` Maxime Coquelin
2019-10-15 16:07               ` [dpdk-dev] [PATCH v6 04/13] vhost: add packed ring batch enqueue Marvin Liu
2019-10-15 11:35                 ` Gavin Hu (Arm Technology China)
2019-10-15 12:45                   ` Liu, Yong
2019-10-15 16:07               ` [dpdk-dev] [PATCH v6 05/13] vhost: add packed ring single dequeue Marvin Liu
2019-10-15 16:07               ` [dpdk-dev] [PATCH v6 06/13] vhost: add packed ring batch dequeue Marvin Liu
2019-10-16 10:36                 ` Maxime Coquelin
2019-10-17  1:30                   ` Liu, Yong
2019-10-15 16:07               ` [dpdk-dev] [PATCH v6 07/13] vhost: flush enqueue updates by batch Marvin Liu
2019-10-16 11:05                 ` Maxime Coquelin
2019-10-15 16:07               ` [dpdk-dev] [PATCH v6 08/13] vhost: flush batched enqueue descs directly Marvin Liu
2019-10-16 11:06                 ` Maxime Coquelin
2019-10-15 16:07               ` [dpdk-dev] [PATCH v6 09/13] vhost: buffer packed ring dequeue updates Marvin Liu
2019-10-16 12:38                 ` Maxime Coquelin
2019-10-15 16:07               ` [dpdk-dev] [PATCH v6 10/13] vhost: optimize packed ring enqueue Marvin Liu
2019-10-16 12:41                 ` Maxime Coquelin
2019-10-15 16:07               ` [dpdk-dev] [PATCH v6 11/13] vhost: add packed ring zcopy batch and single dequeue Marvin Liu
2019-10-17  7:25                 ` Maxime Coquelin
2019-10-15 16:07               ` [dpdk-dev] [PATCH v6 12/13] vhost: optimize packed ring dequeue Marvin Liu
2019-10-17  7:28                 ` Maxime Coquelin
2019-10-15 16:07               ` [dpdk-dev] [PATCH v6 13/13] vhost: optimize packed ring dequeue when in-order Marvin Liu
2019-10-17  7:29                 ` Maxime Coquelin
2019-10-17  7:31               ` [dpdk-dev] [PATCH v6 00/13] vhost packed ring performance optimization Maxime Coquelin
2019-10-17  7:32                 ` Liu, Yong
2019-10-21 15:40               ` [dpdk-dev] [PATCH v7 " Marvin Liu
2019-10-21 15:40                 ` [dpdk-dev] [PATCH v7 01/13] vhost: add packed ring indexes increasing function Marvin Liu
2019-10-21 15:40                 ` [dpdk-dev] [PATCH v7 02/13] vhost: add packed ring single enqueue Marvin Liu
2019-10-21 15:40                 ` [dpdk-dev] [PATCH v7 03/13] vhost: try to unroll for each loop Marvin Liu
2019-10-21 15:40                 ` [dpdk-dev] [PATCH v7 04/13] vhost: add packed ring batch enqueue Marvin Liu
2019-10-21 15:40                 ` [dpdk-dev] [PATCH v7 05/13] vhost: add packed ring single dequeue Marvin Liu
2019-10-21  9:45                   ` Maxime Coquelin
2019-10-21 15:40                 ` [dpdk-dev] [PATCH v7 06/13] vhost: add packed ring batch dequeue Marvin Liu
2019-10-21  9:47                   ` Maxime Coquelin
2019-10-21 14:29                     ` Liu, Yong
2019-10-21 15:40                 ` [dpdk-dev] [PATCH v7 07/13] vhost: flush enqueue updates by cacheline Marvin Liu
2019-10-21 15:40                 ` [dpdk-dev] [PATCH v7 08/13] vhost: flush batched enqueue descs directly Marvin Liu
2019-10-21 15:40                 ` [dpdk-dev] [PATCH v7 09/13] vhost: buffer packed ring dequeue updates Marvin Liu
2019-10-21 15:40                 ` [dpdk-dev] [PATCH v7 10/13] vhost: optimize packed ring enqueue Marvin Liu
2019-10-21 15:40                 ` [dpdk-dev] [PATCH v7 11/13] vhost: add packed ring zcopy batch and single dequeue Marvin Liu
2019-10-21 15:40                 ` [dpdk-dev] [PATCH v7 12/13] vhost: optimize packed ring dequeue Marvin Liu
2019-10-21 15:40                 ` [dpdk-dev] [PATCH v7 13/13] vhost: optimize packed ring dequeue when in-order Marvin Liu
2019-10-21 22:08                 ` [dpdk-dev] [PATCH v8 00/13] vhost packed ring performance optimization Marvin Liu
2019-10-21 22:08                   ` [dpdk-dev] [PATCH v8 01/13] vhost: add packed ring indexes increasing function Marvin Liu
2019-10-21 22:08                   ` [dpdk-dev] [PATCH v8 02/13] vhost: add packed ring single enqueue Marvin Liu
2019-10-21 22:08                   ` [dpdk-dev] [PATCH v8 03/13] vhost: try to unroll for each loop Marvin Liu
2019-10-24  6:16                     ` Maxime Coquelin
2019-10-21 22:08                   ` [dpdk-dev] [PATCH v8 04/13] vhost: add packed ring batch enqueue Marvin Liu
2019-10-21 22:08                   ` [dpdk-dev] [PATCH v8 05/13] vhost: add packed ring single dequeue Marvin Liu
2019-10-21 22:08                   ` [dpdk-dev] [PATCH v8 06/13] vhost: add packed ring batch dequeue Marvin Liu
2019-10-24  6:27                     ` Maxime Coquelin
2019-10-21 22:08                   ` [dpdk-dev] [PATCH v8 07/13] vhost: flush enqueue updates by cacheline Marvin Liu
2019-10-24  6:29                     ` Maxime Coquelin
2019-10-21 22:08                   ` [dpdk-dev] [PATCH v8 08/13] vhost: flush batched enqueue descs directly Marvin Liu
2019-10-21 22:08                   ` [dpdk-dev] [PATCH v8 09/13] vhost: buffer packed ring dequeue updates Marvin Liu
2019-10-21 22:08                   ` [dpdk-dev] [PATCH v8 10/13] vhost: optimize packed ring enqueue Marvin Liu
2019-10-21 22:08                   ` [dpdk-dev] [PATCH v8 11/13] vhost: add packed ring zcopy batch and single dequeue Marvin Liu
2019-10-21 22:08                   ` [dpdk-dev] [PATCH v8 12/13] vhost: optimize packed ring dequeue Marvin Liu
2019-10-21 22:08                   ` [dpdk-dev] [PATCH v8 13/13] vhost: optimize packed ring dequeue when in-order Marvin Liu
2019-10-24  6:49                   ` [dpdk-dev] [PATCH v8 00/13] vhost packed ring performance optimization Maxime Coquelin
2019-10-24  7:18                     ` Liu, Yong
2019-10-24  8:24                       ` Maxime Coquelin
2019-10-24  8:29                         ` Liu, Yong
2019-10-24 16:08                   ` [dpdk-dev] [PATCH v9 " Marvin Liu
2019-10-24 10:18                     ` Maxime Coquelin
2019-10-24 16:08                     ` [dpdk-dev] [PATCH v9 01/13] vhost: add packed ring indexes increasing function Marvin Liu
2019-10-24 16:08                     ` [dpdk-dev] [PATCH v9 02/13] vhost: add packed ring single enqueue Marvin Liu
2019-10-24 16:08                     ` [dpdk-dev] [PATCH v9 03/13] vhost: try to unroll for each loop Marvin Liu
2019-10-24 16:08                     ` [dpdk-dev] [PATCH v9 04/13] vhost: add packed ring batch enqueue Marvin Liu
2019-10-24 16:08                     ` [dpdk-dev] [PATCH v9 05/13] vhost: add packed ring single dequeue Marvin Liu
2019-10-24 16:08                     ` [dpdk-dev] [PATCH v9 06/13] vhost: add packed ring batch dequeue Marvin Liu
2019-10-24 16:08                     ` [dpdk-dev] [PATCH v9 07/13] vhost: flush enqueue updates by cacheline Marvin Liu
2019-10-24 16:08                     ` [dpdk-dev] [PATCH v9 08/13] vhost: flush batched enqueue descs directly Marvin Liu
2019-10-24 16:08                     ` [dpdk-dev] [PATCH v9 09/13] vhost: buffer packed ring dequeue updates Marvin Liu
2019-10-24 16:08                     ` [dpdk-dev] [PATCH v9 10/13] vhost: optimize packed ring enqueue Marvin Liu
2019-10-24 16:08                     ` [dpdk-dev] [PATCH v9 11/13] vhost: add packed ring zcopy batch and single dequeue Marvin Liu
2019-10-24 16:08                     ` [dpdk-dev] [PATCH v9 12/13] vhost: optimize packed ring dequeue Marvin Liu
2019-10-24 16:08                     ` [dpdk-dev] [PATCH v9 13/13] vhost: optimize packed ring dequeue when in-order Marvin Liu
2019-09-19 16:36     ` [dpdk-dev] [PATCH v2 02/16] vhost: unify unroll pragma parameter Marvin Liu
2019-09-23  5:21       ` Tiwei Bie
2019-09-23 10:08       ` Gavin Hu (Arm Technology China)
2019-09-24  3:12         ` Liu, Yong
2019-09-19 16:36     ` [dpdk-dev] [PATCH v2 03/16] vhost: add burst enqueue function for packed ring Marvin Liu
2019-09-23  5:46       ` Tiwei Bie
2019-09-23 11:08       ` Gavin Hu (Arm Technology China)
2019-09-24  3:30         ` Liu, Yong
2019-09-25  9:29           ` Gavin Hu (Arm Technology China)
2019-09-25  9:36             ` Liu, Yong
2019-09-19 16:36     ` [dpdk-dev] [PATCH v2 04/16] vhost: add single packet dequeue function Marvin Liu
2019-09-19 16:36     ` [dpdk-dev] [PATCH v2 05/16] vhost: add burst " Marvin Liu
2019-09-19 16:36     ` [dpdk-dev] [PATCH v2 06/16] vhost: rename flush shadow used ring functions Marvin Liu
2019-09-23  6:05       ` Tiwei Bie
2019-09-19 16:36     ` [dpdk-dev] [PATCH v2 07/16] vhost: flush vhost enqueue shadow ring by burst Marvin Liu
2019-09-19 16:36     ` [dpdk-dev] [PATCH v2 08/16] vhost: add flush function for burst enqueue Marvin Liu
2019-09-25  3:37       ` Gavin Hu (Arm Technology China)
2019-09-25  5:37         ` Liu, Yong
2019-09-25  6:51           ` Liu, Yong
2019-09-25  7:15             ` Gavin Hu (Arm Technology China)
2019-09-19 16:36     ` [dpdk-dev] [PATCH v2 09/16] vhost: buffer vhost dequeue shadow ring Marvin Liu
2019-09-19 16:36     ` [dpdk-dev] [PATCH v2 10/16] vhost: split enqueue and dequeue flush functions Marvin Liu
2019-09-25  4:11       ` Gavin Hu (Arm Technology China)
2019-09-19 16:36     ` [dpdk-dev] [PATCH v2 11/16] vhost: optimize enqueue function of packed ring Marvin Liu
2019-09-19 16:36     ` [dpdk-dev] [PATCH v2 12/16] vhost: add burst and single zero dequeue functions Marvin Liu
2019-09-19 16:36     ` [dpdk-dev] [PATCH v2 13/16] vhost: optimize dequeue function of packed ring Marvin Liu
2019-09-19 16:36     ` [dpdk-dev] [PATCH v2 14/16] vhost: cache address translation result Marvin Liu
2019-09-19 16:36     ` [dpdk-dev] [PATCH v2 15/16] vhost: check whether disable software pre-fetch Marvin Liu
2019-09-19 16:36     ` [dpdk-dev] [PATCH v2 16/16] vhost: optimize packed ring dequeue when in-order Marvin Liu
2019-09-23  9:05     ` [dpdk-dev] [PATCH v2 00/16] vhost packed ring performance optimization Gavin Hu (Arm Technology China)
2019-09-23  9:29       ` Liu, Yong
2019-09-23 16:06   ` [dpdk-dev] [PATCH v1 01/14] vhost: add single packet enqueue function Stephen Hemminger
2019-09-05 16:14 ` [dpdk-dev] [PATCH v1 02/14] vhost: add burst enqueue function for packed ring Marvin Liu
     [not found]   ` <CGME20190905103107eucas1p2296feb0cc7be0538332dc698a72585bb@eucas1p2.samsung.com>
2019-09-05 10:31     ` Ilya Maximets
2019-09-06  1:42       ` Liu, Yong
2019-09-06  9:00         ` Liu, Yong
2019-09-06  9:11         ` Bruce Richardson
2019-09-06  9:23           ` Liu, Yong
2019-09-05 16:14 ` [dpdk-dev] [PATCH v1 03/14] vhost: add single packet dequeue function Marvin Liu
2019-09-05 16:14 ` [dpdk-dev] [PATCH v1 04/14] vhost: add burst " Marvin Liu
2019-09-05 16:14 ` [dpdk-dev] [PATCH v1 05/14] vhost: rename flush shadow used ring functions Marvin Liu
2019-09-05 16:14 ` [dpdk-dev] [PATCH v1 06/14] vhost: flush vhost enqueue shadow ring by burst Marvin Liu
2019-09-05 16:14 ` [dpdk-dev] [PATCH v1 07/14] vhost: add flush function for burst enqueue Marvin Liu
2019-09-05 16:14 ` [dpdk-dev] [PATCH v1 08/14] vhost: buffer vhost dequeue shadow ring Marvin Liu
2019-09-05 16:14 ` [dpdk-dev] [PATCH v1 09/14] vhost: split enqueue and dequeue flush functions Marvin Liu
2019-09-05 16:14 ` [dpdk-dev] [PATCH v1 10/14] vhost: optimize Rx function of packed ring Marvin Liu
2019-09-05 16:14 ` [dpdk-dev] [PATCH v1 11/14] vhost: add burst and single zero dequeue functions Marvin Liu
2019-09-05 16:14 ` [dpdk-dev] [PATCH v1 12/14] vhost: optimize Tx function of packed ring Marvin Liu
2019-09-05 16:14 ` [dpdk-dev] [PATCH v1 13/14] vhost: cache address translation result Marvin Liu
2019-09-05 16:14 ` [dpdk-dev] [PATCH v1 14/14] vhost: check whether disable software pre-fetch Marvin Liu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20191015160739.51940-1-yong.liu@intel.com \
    --to=yong.liu@intel.com \
    --cc=dev@dpdk.org \
    --cc=gavin.hu@arm.com \
    --cc=maxime.coquelin@redhat.com \
    --cc=stephen@networkplumber.org \
    --cc=tiwei.bie@intel.com \
    --cc=zhihong.wang@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).