From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 54D85A3160 for ; Wed, 9 Oct 2019 13:54:48 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 1F1FD1C20D; Wed, 9 Oct 2019 13:54:47 +0200 (CEST) Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by dpdk.org (Postfix) with ESMTP id 83B2B1C11E; Wed, 9 Oct 2019 13:54:45 +0200 (CEST) Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id A4DF1315C00D; Wed, 9 Oct 2019 11:54:44 +0000 (UTC) Received: from amorenoz.users.ipa.redhat.com (ovpn-117-37.ams2.redhat.com [10.36.117.37]) by smtp.corp.redhat.com (Postfix) with ESMTP id D281A5D9CD; Wed, 9 Oct 2019 11:54:37 +0000 (UTC) From: Adrian Moreno To: dev@dpdk.org Cc: tiwei.bie@intel.com, zhihong.wang@intel.com, maxime.coquelin@redhat.com, Adrian Moreno , stable@dpdk.org Date: Wed, 9 Oct 2019 13:54:29 +0200 Message-Id: <20191009115432.14863-1-amorenoz@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.41]); Wed, 09 Oct 2019 11:54:44 +0000 (UTC) Subject: [dpdk-dev] [PATCH v6 0/3] vhost: add support for IOVA_VA mode 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" Currently, IOVAs are assumed to be GPA when the dirty page logging is performed. Add support for guest IOVA_VA mode by translating addresses to GPA before doing the dirty page logging. Also, the guest_pages tracking mechanism used for zero_copy will not work either if IOVA_VA is enabled. In fact, enabling dequeue_zero_copy and IOMMU is dangerous altogether because IOTLB invalidation of guest pages can happen while the buffers are being used. So, ensure this cannot happen by preventing both features to be activated simultaneously. Further information: https://bugs.dpdk.org/show_bug.cgi?id=337 Fixes: 69c90e98f483 ("vhost: enable IOMMU support") Cc: maxime.coquelin@redhat.com Cc: stable@dpdk.org --- v6 changes: Change log string to fix UB1604-32 build v5 changes: Rebase on top of dpdk-next-virtio v4 changes: Address review comments v3 changes: Address style warnings v2 changes: Also translate buffer addresses ---- Adrian Moreno (3): vhost: translate incoming log address to gpa vhost: convert buffer addresses to GPA for logging vhost: prevent zero copy mode if iommu is on lib/librte_vhost/rte_vhost.h | 2 +- lib/librte_vhost/socket.c | 8 ++++++ lib/librte_vhost/vdpa.c | 3 ++- lib/librte_vhost/vhost.c | 41 ++++++++++++++++++++++++++++ lib/librte_vhost/vhost.h | 51 +++++++++++++++++++++++++++++++++++ lib/librte_vhost/vhost_user.c | 42 ++++++++++++++++++++++++++++- lib/librte_vhost/virtio_net.c | 12 +++++---- 7 files changed, 151 insertions(+), 8 deletions(-) -- 2.21.0