On 4/30/20 11:14 AM, Joyce Kong wrote: > This patchset 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 of 2c1q 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 > was measured on Thunderx2 platform by 2c1q RFC2544 test of 0.001% loss, > and 4.7% performance was improved on Dell platform by 1c1q RFC2544 test > of zero packet loss.[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 > > v5: > Fix the compling issue when 'CONFIG_RTE_LIBRTE_VIRTIO_DEBUG_DUMP=y' > is enabled. > > v4: > Remove some duplicated code comment. > > 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 | 7 +-- > drivers/net/virtio/virtio_ring.h | 2 +- > drivers/net/virtio/virtio_rxtx.c | 35 ++++------- > drivers/net/virtio/virtio_rxtx_simple_neon.c | 5 +- > drivers/net/virtio/virtio_rxtx_simple_sse.c | 4 +- > .../net/virtio/virtio_user/virtio_user_dev.c | 8 ++- > drivers/net/virtio/virtqueue.c | 2 +- > drivers/net/virtio/virtqueue.h | 58 ++++++++++++++++--- > lib/librte_vhost/virtio_net.c | 19 +++--- > 9 files changed, 81 insertions(+), 59 deletions(-) > Applied to dpdk-next-virtio/master. Thanks, Maxime