On 12/21/20 4:50 PM, Joyce Kong wrote:
> This patchset is to replace rte smp barriers in vhost with C11 atomic
> built-ins.
>
> The rte_smp_*mb APIs provide full barrier functionality. However, many
> use cases do not require full barriers. To support such use cases, DPDK
> will adopt C11 barrier semantics and provide wrappers using C11 atomic
> built-ins.[1]
>
> With this patchset, PVP case(vhost-user + virtio-user) has 9.8% perf
> uplift for the split in_order path and no perf degradation for the
> packed in_order path under 0.001% acceptable loss on ThunderX2 platform.
>
> [1]
> http://code.dpdk.org/dpdk/latest/source/doc/guides/rel_notes/deprecation.rst
>
> Joyce Kong (8):
> examples/vhost: relax memory ordering when enqueue/dequeue
> examples/vhost_blk: replace smp with thread fence
> vhost: remove unnecessary smp barrier for desc flags
> vhost: remove unnecessary smp barrier for avail idx
> vhost: relax full barriers for desc flags
> vhost: relax full barriers for used idx
> vhost: replace smp with thread fence for packed vring
> vhost: replace smp with thread fence for control path
>
> examples/vhost/virtio_net.c | 12 ++++--------
> examples/vhost_blk/vhost_blk.c | 8 ++++----
> lib/librte_vhost/vdpa.c | 4 ++--
> lib/librte_vhost/vhost.c | 18 +++++++++---------
> lib/librte_vhost/vhost.h | 6 +++---
> lib/librte_vhost/vhost_user.c | 2 +-
> lib/librte_vhost/virtio_net.c | 26 +++++++++++---------------
> 7 files changed, 34 insertions(+), 42 deletions(-)
>
Series applied to dpdk-next-virtio/main.
Thanks,
Maxime