Message ID | 20201221142321.51606-1-joyce.kong@arm.com (mailing list archive) |
---|---|
Headers |
Return-Path: <dev-bounces@dpdk.org> X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id ABA3CA09EF; Mon, 21 Dec 2020 15:23:51 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id A723CCACF; Mon, 21 Dec 2020 15:23:49 +0100 (CET) Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by dpdk.org (Postfix) with ESMTP id 850DCCAA9 for <dev@dpdk.org>; Mon, 21 Dec 2020 15:23:47 +0100 (CET) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id C8B981FB; Mon, 21 Dec 2020 06:23:45 -0800 (PST) Received: from net-arm-thunderx2-03.shanghai.arm.com (net-arm-thunderx2-03.shanghai.arm.com [10.169.208.206]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 9A1233F6CF; Mon, 21 Dec 2020 06:23:43 -0800 (PST) From: Joyce Kong <joyce.kong@arm.com> To: maxime.coquelin@redhat.com, chenbo.xia@intel.com, honnappa.nagarahalli@arm.com, ruifeng.wang@arm.com Cc: dev@dpdk.org, nd@arm.com Date: Mon, 21 Dec 2020 22:23:17 +0800 Message-Id: <20201221142321.51606-1-joyce.kong@arm.com> X-Mailer: git-send-email 2.29.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [dpdk-dev] [PATCH v1 0/4] replace smp barriers in virtio with C11 atomic X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions <dev.dpdk.org> List-Unsubscribe: <https://mails.dpdk.org/options/dev>, <mailto:dev-request@dpdk.org?subject=unsubscribe> List-Archive: <http://mails.dpdk.org/archives/dev/> List-Post: <mailto:dev@dpdk.org> List-Help: <mailto:dev-request@dpdk.org?subject=help> List-Subscribe: <https://mails.dpdk.org/listinfo/dev>, <mailto:dev-request@dpdk.org?subject=subscribe> Errors-To: dev-bounces@dpdk.org Sender: "dev" <dev-bounces@dpdk.org> |
Series |
replace smp barriers in virtio with C11 atomic
|
|
Message
Joyce Kong
Dec. 21, 2020, 2:23 p.m. UTC
This patchset is to replace rte smp barriers in virtio 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 patch set, under 0.001% acceptable loss with 2 cores on vhost side and 1 core on virtio side, PVP case(vhost-user + virtio-user) has 6.7% perf uplift for the split in_order path on ThunderX2 platform. [1] http://code.dpdk.org/dpdk/latest/source/doc/guides/rel_notes/deprecation.rst Joyce Kong (4): net/virtio: remove unnecessary rmb barrier net/virtio: replace smp barrier with IO barrier net/virtio: replace full barrier with relaxed barrier for Arm platform net/virtio: replace full barrier with thread fence drivers/net/virtio/virtio_ethdev.c | 10 ++++----- drivers/net/virtio/virtqueue.h | 35 +++++++++++++++--------------- 2 files changed, 22 insertions(+), 23 deletions(-)
Comments
On 12/21/20 3:23 PM, Joyce Kong wrote: > This patchset is to replace rte smp barriers in virtio 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 patch set, under 0.001% acceptable loss with 2 cores on vhost > side and 1 core on virtio side, PVP case(vhost-user + virtio-user) has > 6.7% perf uplift for the split in_order path on ThunderX2 platform. > > [1] http://code.dpdk.org/dpdk/latest/source/doc/guides/rel_notes/deprecation.rst > > Joyce Kong (4): > net/virtio: remove unnecessary rmb barrier > net/virtio: replace smp barrier with IO barrier > net/virtio: replace full barrier with relaxed barrier for Arm platform > net/virtio: replace full barrier with thread fence > > drivers/net/virtio/virtio_ethdev.c | 10 ++++----- > drivers/net/virtio/virtqueue.h | 35 +++++++++++++++--------------- > 2 files changed, 22 insertions(+), 23 deletions(-) > Series applied to dpdk-next-virtio/main. Thanks, Maxime