mbox series

[v3,0/2] one way barrier for split vring idx

Message ID 20200406152634.606-1-joyce.kong@arm.com (mailing list archive)
Headers
Series one way barrier for split vring idx |

Message

Joyce Kong April 6, 2020, 3:26 p.m. UTC
  This patch set replaces the two-way barriers with C11 one-way barriers
for split vring idx, when the frontend and backend are implemented
in software.

By doing PVP benchmarking, the test result showed the throughput increased
20% with the 0.001% of acceptable loss rate on Thunderx2 platform.[1]

By doing vhost-user + virtio-user case benchmarking, 4% performance gain
in the RFC2544 test of 0.001% of acceptable loss rate was measured on
Thunderx2 platform.[2]

[1]https://doc.dpdk.org/guides/howto/pvp_reference_benchmark.html
[2]https://doc.dpdk.org/dts/test_plans/pvp_multi_paths_performance_test_plan.html
   PVP test with virtio 1.0 normal path

v3:
Modify some style error.

v2:
Add test performance statistics.

Joyce Kong (2):
  virtio: one way barrier for split vring used idx
  virtio: one way barrier for split vring avail idx

 drivers/net/virtio/virtio_ethdev.c            |  9 ++-
 drivers/net/virtio/virtio_ring.h              |  2 +-
 drivers/net/virtio/virtio_rxtx.c              | 46 +++++++--------
 drivers/net/virtio/virtio_rxtx_simple_neon.c  |  5 +-
 drivers/net/virtio/virtio_rxtx_simple_sse.c   |  5 +-
 .../net/virtio/virtio_user/virtio_user_dev.c  |  8 ++-
 drivers/net/virtio/virtqueue.c                |  2 +-
 drivers/net/virtio/virtqueue.h                | 57 ++++++++++++++++---
 lib/librte_vhost/virtio_net.c                 | 19 +++----
 9 files changed, 94 insertions(+), 59 deletions(-)
  

Comments

Xiaolong Ye April 16, 2020, 9:08 a.m. UTC | #1
Hi, Joyce

Thanks for the patch.

On 04/06, Joyce Kong wrote:
>This patch set replaces the two-way barriers with C11 one-way barriers
>for split vring idx, when the frontend and backend are implemented
>in software.
>
>By doing PVP benchmarking, the test result showed the throughput increased
>20% with the 0.001% of acceptable loss rate on Thunderx2 platform.[1]
>
>By doing vhost-user + virtio-user case benchmarking, 4% performance gain
>in the RFC2544 test of 0.001% of acceptable loss rate was measured on
>Thunderx2 platform.[2]

One quick question is do you have the performance number on IA platform since 
the code touches the common part of the virtio PMD?

Thanks,
Xiaolong

>
>[1]https://doc.dpdk.org/guides/howto/pvp_reference_benchmark.html
>[2]https://doc.dpdk.org/dts/test_plans/pvp_multi_paths_performance_test_plan.html
>   PVP test with virtio 1.0 normal path
>
>v3:
>Modify some style error.
>
>v2:
>Add test performance statistics.
>
>Joyce Kong (2):
>  virtio: one way barrier for split vring used idx
>  virtio: one way barrier for split vring avail idx
>
> drivers/net/virtio/virtio_ethdev.c            |  9 ++-
> drivers/net/virtio/virtio_ring.h              |  2 +-
> drivers/net/virtio/virtio_rxtx.c              | 46 +++++++--------
> drivers/net/virtio/virtio_rxtx_simple_neon.c  |  5 +-
> drivers/net/virtio/virtio_rxtx_simple_sse.c   |  5 +-
> .../net/virtio/virtio_user/virtio_user_dev.c  |  8 ++-
> drivers/net/virtio/virtqueue.c                |  2 +-
> drivers/net/virtio/virtqueue.h                | 57 ++++++++++++++++---
> lib/librte_vhost/virtio_net.c                 | 19 +++----
> 9 files changed, 94 insertions(+), 59 deletions(-)
>
>-- 
>2.17.1
>