From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 615FCC4332F for ; Wed, 3 Nov 2021 10:04:00 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 1745B6112D for ; Wed, 3 Nov 2021 10:04:00 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 1745B6112D Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=nongnu.org Received: from localhost ([::1]:38946 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1miD7f-00020D-39 for qemu-devel@archiver.kernel.org; Wed, 03 Nov 2021 06:03:59 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:35214) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1miD5g-0007vR-1B for qemu-devel@nongnu.org; Wed, 03 Nov 2021 06:01:57 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]:54644) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1miD5Z-00060D-Ef for qemu-devel@nongnu.org; Wed, 03 Nov 2021 06:01:55 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1635933708; 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: in-reply-to:in-reply-to:references:references; bh=ud9SjcWNWH6zG/0jluD3BZyRdqJLHQZV3VmXL4K65rI=; b=YFKwJUKOacngUU3y8fCJ+bJwzX/TbI25WpslKscWy7UlL80mNbPneUG4cpe4kysowRSt9g Eih+wCzGJzi0iymgMExgJ6pZzbgq29N4sBr6J63R7OleWUcRTrIvvMvDCoXYqOGPLrS+9K nZMJTo8Ibq0YBkXvN9WK/ylk8WOCSbk= 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-404-l7P4oEDgNWGSTPRXIvraNA-1; Wed, 03 Nov 2021 06:01:47 -0400 X-MC-Unique: l7P4oEDgNWGSTPRXIvraNA-1 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 mimecast-mx01.redhat.com (Postfix) with ESMTPS id 9D9191927801 for ; Wed, 3 Nov 2021 10:01:46 +0000 (UTC) Received: from eperezma.remote.csb (unknown [10.39.192.133]) by smtp.corp.redhat.com (Postfix) with ESMTP id 6081618A68; Wed, 3 Nov 2021 10:01:45 +0000 (UTC) From: =?UTF-8?q?Eugenio=20P=C3=A9rez?= To: qemu-devel@nongnu.org Subject: [PATCH v3 2/2] vhost: Fix last vq queue index of devices with no cvq Date: Wed, 3 Nov 2021 11:01:31 +0100 Message-Id: <20211103100131.1983272-3-eperezma@redhat.com> In-Reply-To: <20211103100131.1983272-1-eperezma@redhat.com> References: <20211103100131.1983272-1-eperezma@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=eperezma@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Received-SPF: pass client-ip=170.10.133.124; envelope-from=eperezma@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -34 X-Spam_score: -3.5 X-Spam_bar: --- X-Spam_report: (-3.5 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.702, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Jason Wang , "Michael S. Tsirkin" , Juan Quintela Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" The -1 assumes that last index counts all vhost device models as having two queues, but they count only the ones that models the data queues. Because of that, the right change in last_index is to actually add the cvq, not to remove the missing one. This is not a problem to vhost-net, but it is to vhost-vdpa, which device model trust to reach the last index to finish starting the device. Tested with vp_vdpa with host's vhost=on and vhost=off, with ctrl_vq=on and ctrl_vq=off. Fixes: 049eb15b5fc9 ("vhost: record the last virtqueue index for the virtio device") Signed-off-by: Eugenio Pérez --- hw/net/vhost_net.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hw/net/vhost_net.c b/hw/net/vhost_net.c index 081946dc93..fe2b8a2b83 100644 --- a/hw/net/vhost_net.c +++ b/hw/net/vhost_net.c @@ -329,8 +329,8 @@ int vhost_net_start(VirtIODevice *dev, NetClientState *ncs, int r, e, i, last_index = data_queue_pairs * 2; NetClientState *peer; - if (!cvq) { - last_index -= 1; + if (cvq) { + last_index += 1; } if (!k->set_guest_notifiers) { -- 2.27.0