From patchwork Wed Jun 27 14: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: 41665 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 345B91BF39; Wed, 27 Jun 2018 16:50:15 +0200 (CEST) Received: from mx1.redhat.com (mx3-rdu2.redhat.com [66.187.233.73]) by dpdk.org (Postfix) with ESMTP id 8CB941BF2C for ; Wed, 27 Jun 2018 16:50:13 +0200 (CEST) Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.rdu2.redhat.com [10.11.54.6]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id D44F94079F05; Wed, 27 Jun 2018 14:50:12 +0000 (UTC) Received: from localhost.localdomain (ovpn-112-39.ams2.redhat.com [10.36.112.39]) by smtp.corp.redhat.com (Postfix) with ESMTP id B8D4C20389E0; Wed, 27 Jun 2018 14:50:11 +0000 (UTC) From: Maxime Coquelin To: tiwei.bie@intel.com, zhihong.wang@intel.com, dev@dpdk.org Cc: Maxime Coquelin Date: Wed, 27 Jun 2018 16:49:52 +0200 Message-Id: <20180627144959.17277-1-maxime.coquelin@redhat.com> X-Scanned-By: MIMEDefang 2.78 on 10.11.54.6 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.7]); Wed, 27 Jun 2018 14:50:12 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.7]); Wed, 27 Jun 2018 14:50:12 +0000 (UTC) for IP:'10.11.54.6' DOMAIN:'int-mx06.intmail.prod.int.rdu2.redhat.com' HELO:'smtp.corp.redhat.com' FROM:'maxime.coquelin@redhat.com' RCPT:'' Subject: [dpdk-dev] [PATCH v3 0/7] vhost: generalize buffer vectors 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 is again preliminray work to ease packed ring layout integration. Main changes are using vector buffres also in the dequeue path, and perform IOVA to HVA translation at vectors fill time. I still have to run more benchmarks, but PVP benchmarks does not show performance changes. Good thing is that it saves ~140 further lines. Changes since v2: ================= - check vec_id doesn't overflow (Tiwei) - Fix perm parameters passed to fill_vec_buf (Tiwei) - Remove extra space in variable assignation (Tiwei) Maxime Coquelin (7): vhost: use shadow used ring in dequeue path vhost: make gpa to hpa failure an error vhost: use buffer vectors in dequeue path vhost: translate iovas at vectors fill time vhost: improve prefetching in dequeue path vhost: prefetch first descriptor in dequeue path vhost: improve prefetching in enqueue path lib/librte_vhost/vhost.h | 1 + lib/librte_vhost/virtio_net.c | 530 ++++++++++++++++-------------------------- 2 files changed, 199 insertions(+), 332 deletions(-)