From: Joyce Kong <joyce.kong@arm.com>
To: dev@dpdk.org
Cc: nd@arm.com, maxime.coquelin@redhat.com, yinan.wang@intel.com,
bruce.richardson@intel.com, tiwei.bie@intel.com,
zhihong.wang@intel.com, amorenoz@redhat.com,
xiao.w.wang@intel.com, yong.liu@intel.com, jfreimann@redhat.com,
honnappa.nagarahalli@arm.com, gavin.hu@arm.com
Subject: [dpdk-dev] [PATCH v4 0/2] virtio: one way barrier for packed vring flags
Date: Tue, 17 Sep 2019 13:28:24 +0800 [thread overview]
Message-ID: <1568698107-36668-1-git-send-email-joyce.kong@arm.com> (raw)
In-Reply-To: <1566893979-3290-1-git-send-email-joyce.kong@arm.com>
This patch set replaces the two-way barriers with C11 one-way barriers
for packed vring flags, when the frontend and backend are implemented
in software.
By doing vhost-user + virtio-user case benchmarking, 9% performance gain
in the RFC2544 test was measured on Thunderx2 platform.[1] And by doing
VM2VM case benchmarking, 11% perf gain was measured on Ampere platform.
[1]https://doc.dpdk.org/dts/test_plans/pvp_multi_paths_performance_test_plan.html
PVP test with virtio 1.1 mergeable path
v4:
Use rte_smp_rmb/wmb instead of __atomic_load/store_n on x86 as it reports a
better perf(~1.5%), which comes from the saved branch by the compiler. The
if and else branch are identical with the smp and cio barriers both defined
as compiler barriers on x86.
http://inbox.dpdk.org/dev/E0CBA5A1980F1F408E1F28F9991B5B1D50EFF246@SHSMSX104.ccr.corp.intel.com/
v3:
Wrap C11 one-way barriers and DMA barriers(rte_cio_*) together with an inline fuction.
v2:
Convert RFC to patch.
Joyce Kong (2):
virtio: one way barrier for packed vring desc avail flags
virtio: one way barrier for packed vring desc used flags
drivers/net/virtio/virtio_rxtx.c | 25 +++++++-----
drivers/net/virtio/virtio_user/virtio_user_dev.c | 10 +++--
drivers/net/virtio/virtqueue.h | 49 +++++++++++++++++++++++-
lib/librte_vhost/vhost.h | 2 +-
lib/librte_vhost/virtio_net.c | 16 ++++----
5 files changed, 79 insertions(+), 23 deletions(-)
--
2.7.4
next prev parent reply other threads:[~2019-09-17 5:29 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-08-27 8:19 [dpdk-dev] [RFC PATCH " Joyce Kong
2019-08-27 8:19 ` [dpdk-dev] [RFC PATCH 1/2] virtio: one way barrier for packed vring desc avail flags Joyce Kong
2019-08-27 8:19 ` [dpdk-dev] [RFC PATCH 2/2] virtio: one way barrier for packed vring desc used flags Joyce Kong
2019-09-06 11:34 ` [dpdk-dev] [PATCH v2 0/2] virtio: one way barrier for packed vring flags Joyce Kong
2019-09-06 11:34 ` [dpdk-dev] [PATCH v2 1/2] virtio: one way barrier for packed vring desc avail flags Joyce Kong
2019-09-06 16:01 ` Maxime Coquelin
2019-09-09 9:24 ` Joyce Kong (Arm Technology China)
2019-09-06 11:34 ` [dpdk-dev] [PATCH v2 2/2] virtio: one way barrier for packed vring desc used flags Joyce Kong
2019-09-09 9:14 ` [dpdk-dev] [PATCH v3 0/2] virtio: one way barrier for packed vring flags Joyce Kong
2019-09-09 9:14 ` [dpdk-dev] [PATCH v3 1/2] virtio: one way barrier for packed vring desc avail flags Joyce Kong
2019-09-09 10:10 ` Maxime Coquelin
2019-09-10 3:54 ` Wang, Yinan
2019-09-10 9:48 ` Gavin Hu (Arm Technology China)
2019-09-10 10:17 ` Maxime Coquelin
2019-09-11 2:39 ` Liu, Yong
2019-09-11 3:35 ` Gavin Hu (Arm Technology China)
2019-09-11 6:29 ` Liu, Yong
2019-09-11 8:32 ` Gavin Hu (Arm Technology China)
2019-09-11 10:02 ` Bruce Richardson
2019-09-12 8:21 ` Gavin Hu (Arm Technology China)
2019-09-09 9:14 ` [dpdk-dev] [PATCH v3 2/2] virtio: one way barrier for packed vring desc used flags Joyce Kong
2019-09-09 10:11 ` Maxime Coquelin
2019-09-17 5:28 ` Joyce Kong [this message]
2019-10-16 11:07 ` [dpdk-dev] [PATCH v4 0/2] virtio: one way barrier for packed vring flags Maxime Coquelin
2019-09-17 5:28 ` [dpdk-dev] [PATCH v4 1/2] virtio: one way barrier for packed vring desc avail flags Joyce Kong
2019-10-14 7:42 ` Maxime Coquelin
2019-09-17 5:28 ` [dpdk-dev] [PATCH v4 2/2] virtio: one way barrier for packed vring desc used flags Joyce Kong
2019-09-18 5:20 ` Wang, Yinan
2019-09-19 4:04 ` Gavin Hu (Arm Technology China)
2019-10-14 7:43 ` Maxime Coquelin
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=1568698107-36668-1-git-send-email-joyce.kong@arm.com \
--to=joyce.kong@arm.com \
--cc=amorenoz@redhat.com \
--cc=bruce.richardson@intel.com \
--cc=dev@dpdk.org \
--cc=gavin.hu@arm.com \
--cc=honnappa.nagarahalli@arm.com \
--cc=jfreimann@redhat.com \
--cc=maxime.coquelin@redhat.com \
--cc=nd@arm.com \
--cc=tiwei.bie@intel.com \
--cc=xiao.w.wang@intel.com \
--cc=yinan.wang@intel.com \
--cc=yong.liu@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).