[dpdk-dev] [PATCH v1 0/8] replace smp barriers in vhost with C11 atomic

Maxime Coquelin maxime.coquelin at redhat.com
Fri Jan 8 10:16:13 CET 2021



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



More information about the dev mailing list