From patchwork Wed Dec 5 09:49:52 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Maxime Coquelin X-Patchwork-Id: 48536 Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 20A501B163; Wed, 5 Dec 2018 10:50:28 +0100 (CET) Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by dpdk.org (Postfix) with ESMTP id 40AD71B160 for ; Wed, 5 Dec 2018 10:50:27 +0100 (CET) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 1CA25C049D4B; Wed, 5 Dec 2018 09:50:26 +0000 (UTC) Received: from localhost.localdomain (ovpn-112-38.ams2.redhat.com [10.36.112.38]) by smtp.corp.redhat.com (Postfix) with ESMTP id 3EC015D757; Wed, 5 Dec 2018 09:49:59 +0000 (UTC) From: Maxime Coquelin To: dev@dpdk.org, jfreimann@redhat.com, tiwei.bie@intel.com, zhihong.wang@intel.com, jasowang@redhat.com Cc: Maxime Coquelin Date: Wed, 5 Dec 2018 10:49:52 +0100 Message-Id: <20181205094957.1938-1-maxime.coquelin@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.31]); Wed, 05 Dec 2018 09:50:26 +0000 (UTC) Subject: [dpdk-dev] [PATCH 0/5] vhost: add missing barriers, remove useless volatiles X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" This series adds missing read barriers after reading avail index for split ring and desc flags for packed ring. Once that fixed, the casts to volatile are useless and so removed. Also, it turns out that some descriptors prefetching are either badly placed, or useless, last part of the series fixes that. With the series applied, I get between 0 and 4% gain depending on the benchmark (testpmd txonly/rxonly/io). Thanks to Jason for reporting the missing read barriers. Maxime Coquelin (5): vhost: enforce avail index and desc read ordering vhost: enforce desc flags and content read ordering vhost: prefetch descriptor after the read barrier vhost: remove useless prefetch for packed ring descriptor vhost: remove useless casts to volatile lib/librte_vhost/virtio_net.c | 32 ++++++++++++++++++++++++-------- 1 file changed, 24 insertions(+), 8 deletions(-)