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 D31ACA0613 for ; Fri, 27 Sep 2019 20:15:33 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 95F931BEF5; Fri, 27 Sep 2019 20:15:33 +0200 (CEST) Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by dpdk.org (Postfix) with ESMTP id 3A2A41BEDE; Fri, 27 Sep 2019 20:15:24 +0200 (CEST) Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id A5D0BC0578F8; Fri, 27 Sep 2019 18:15:23 +0000 (UTC) Received: from amorenoz.users.ipa.redhat.com (ovpn-116-96.ams2.redhat.com [10.36.116.96]) by smtp.corp.redhat.com (Postfix) with ESMTP id 2704C5C21A; Fri, 27 Sep 2019 18:15:21 +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: Fri, 27 Sep 2019 20:14:46 +0200 Message-Id: <20190927181446.14336-4-amorenoz@redhat.com> In-Reply-To: <20190927181446.14336-1-amorenoz@redhat.com> References: <20190927181446.14336-1-amorenoz@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.31]); Fri, 27 Sep 2019 18:15:23 +0000 (UTC) Subject: [dpdk-stable] [PATCH v2 3/3] vhost: prevent zero copy mode if iommu is on X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org Sender: "stable" The simltaneous use of dequeue_zero_copy and IOMMU is problematic. Not only because IOVA_VA mode is not supported but also because the potential invalidation of guest pages while the buffers are in use is not handled. Prevent these two features to be enabled simultaneosly. Fixes: 69c90e98f483 ("vhost: enable IOMMU support") Cc: maxime.coquelin@redhat.com Cc: stable@dpdk.org Signed-off-by: Adrian Moreno --- lib/librte_vhost/socket.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/lib/librte_vhost/socket.c b/lib/librte_vhost/socket.c index 274988c4d..63f73d2c9 100644 --- a/lib/librte_vhost/socket.c +++ b/lib/librte_vhost/socket.c @@ -871,6 +871,14 @@ rte_vhost_driver_register(const char *path, uint64_t flags) } vsocket->dequeue_zero_copy = flags & RTE_VHOST_USER_DEQUEUE_ZERO_COPY; + if(vsocket->dequeue_zero_copy && + (flags & RTE_VHOST_USER_IOMMU_SUPPORT)) { + RTE_LOG(ERR, VHOST_CONFIG, + "error: enabling dequeue zero copy and IOMMU features " + "simultaneously is not supported\n"); + goto out_mutex; + } + /* * Set the supported features correctly for the builtin vhost-user * net driver. -- 2.21.0