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 AB92AA00BE; Thu, 28 May 2020 10:30:48 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 797E41DB4D; Thu, 28 May 2020 10:30:47 +0200 (CEST) Received: from us-smtp-1.mimecast.com (us-smtp-delivery-1.mimecast.com [207.211.31.120]) by dpdk.org (Postfix) with ESMTP id 4901B1D9DC for ; Thu, 28 May 2020 10:30:45 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1590654644; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tskVYVSbP3RNXkpa6krIc3R8jgKXokH0C+orWdTHnK4=; b=ie6D/unFZ9o+58SxVc1eC7mgLu/T+qE06WVYup4ZcRn09R07D/qzY+t7vc8kvquOPizwBK RuegXHwBOnGWmDcg+5ZrBwgKZqgghwuXjkPAhUcsaYFPEL9HxYzvMtbXBCjdhgxtxOuAZD WyZySpNOHkBs6M1PuXF5QvQgPFHEOJ8= Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-161-g6jm9aDUMteq7NepNR4K2Q-1; Thu, 28 May 2020 04:30:43 -0400 X-MC-Unique: g6jm9aDUMteq7NepNR4K2Q-1 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 mimecast-mx01.redhat.com (Postfix) with ESMTPS id E423D18FE879; Thu, 28 May 2020 08:30:41 +0000 (UTC) Received: from localhost.localdomain (unknown [10.36.110.21]) by smtp.corp.redhat.com (Postfix) with ESMTP id E1AB55C1C8; Thu, 28 May 2020 08:30:33 +0000 (UTC) From: Maxime Coquelin To: dev@dpdk.org, xiaolong.ye@intel.com, amorenoz@redhat.com, david.marchand@redhat.com, thomas@monjalon.net Cc: Maxime Coquelin Date: Thu, 28 May 2020 10:30:31 +0200 Message-Id: <20200528083031.440282-1-maxime.coquelin@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 8bit Subject: [dpdk-dev] [PATCH] vhost: enable reply-ack systematically 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" As announced dunring v20.05 release cycle, this patch makes reply-ack protocol feature to be enabled unconditionally. This protocol feature makes the communication between the master and the slave more robust, avoiding for example possible undefined behaviour with VHOST_USER_SET_MEM_TABLE. Also, reply-ack support will be required for upcoming VHOST_USER_SET_STATUS request. Note that this protocol feature was disabled by default because Qemu version 2.7.0 to 2.9.0 had a bug causing a deadlock when reply-ack was negotiated and multiqueue enabled. These Qemu version are now very old and no more maintained, so we can resonnably consider we no more support them. Signed-off-by: Maxime Coquelin --- lib/librte_vhost/vhost_user.c | 9 --------- 1 file changed, 9 deletions(-) diff --git a/lib/librte_vhost/vhost_user.c b/lib/librte_vhost/vhost_user.c index 84bebad792..ea9cd107b9 100644 --- a/lib/librte_vhost/vhost_user.c +++ b/lib/librte_vhost/vhost_user.c @@ -2012,15 +2012,6 @@ vhost_user_get_protocol_features(struct virtio_net **pdev, rte_vhost_driver_get_features(dev->ifname, &features); rte_vhost_driver_get_protocol_features(dev->ifname, &protocol_features); - /* - * REPLY_ACK protocol feature is only mandatory for now - * for IOMMU feature. If IOMMU is explicitly disabled by the - * application, disable also REPLY_ACK feature for older buggy - * Qemu versions (from v2.7.0 to v2.9.0). - */ - if (!(features & (1ULL << VIRTIO_F_IOMMU_PLATFORM))) - protocol_features &= ~(1ULL << VHOST_USER_PROTOCOL_F_REPLY_ACK); - msg->payload.u64 = protocol_features; msg->size = sizeof(msg->payload.u64); msg->fd_num = 0; -- 2.26.2