From patchwork Fri Jul 28 17:20:21 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Eugenio Perez Martin X-Patchwork-Id: 13332187 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 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 smtp.lore.kernel.org (Postfix) with ESMTPS id 639ACC001DE for ; Fri, 28 Jul 2023 17:28:12 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qPR8t-0001KY-SP; Fri, 28 Jul 2023 13:20:44 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qPR8r-0001Is-IM for qemu-devel@nongnu.org; Fri, 28 Jul 2023 13:20:41 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qPR8o-0008Cg-KD for qemu-devel@nongnu.org; Fri, 28 Jul 2023 13:20:40 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1690564837; 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=vWG/YKlWPRi3+Dcow7XWoyCQfxvF7yk6CAeClBHXYNI=; b=SSvzDa0XDpCbswm3EEhwRQyUOtnT7NL4U7vYXZ09mLhQ4eilqFTp8H8IaF/GdTcTqpHypk 89TjBuYCz1p6E+ohLUFLeu2BRSLJr/e2kt+t2Ke+Wb+vAdjsZ+9/sSEb+iYpXfD7NpJ02Q BBFHG550PmKHowSX1AdUYMZkdFQ629c= Received: from mimecast-mx02.redhat.com (66.187.233.73 [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-117-yMDoCYOpNuabY8NsunK-UQ-1; Fri, 28 Jul 2023 13:20:33 -0400 X-MC-Unique: yMDoCYOpNuabY8NsunK-UQ-1 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.rdu2.redhat.com [10.11.54.3]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 0FC793801BCD; Fri, 28 Jul 2023 17:20:33 +0000 (UTC) Received: from eperezma.remote.csb (unknown [10.39.193.99]) by smtp.corp.redhat.com (Postfix) with ESMTP id AD7921121330; Fri, 28 Jul 2023 17:20:30 +0000 (UTC) From: =?utf-8?q?Eugenio_P=C3=A9rez?= To: qemu-devel@nongnu.org Cc: Jason Wang , Gautam Dawar , si-wei.liu@oracle.com, Zhu Lingshan , Stefano Garzarella , Parav Pandit , Cindy Lu , "Michael S. Tsirkin" , Harpreet Singh Anand , Laurent Vivier , Shannon Nelson , Lei Yang , Dragos Tatulea Subject: [PATCH 0/7] Enable vdpa net migration with features depending on CVQ Date: Fri, 28 Jul 2023 19:20:21 +0200 Message-Id: <20230728172028.2074052-1-eperezma@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.3 Received-SPF: pass client-ip=170.10.129.124; envelope-from=eperezma@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 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: , Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org At this moment the migration of net features that depends on CVQ is not possible, as there is no reliable way to restore the device state like mac address, number of enabled queues, etc to the destination. This is mainly caused because the device must only read CVQ, and process all the commands before resuming the dataplane. This series lift that requirement, sending the VHOST_VDPA_SET_VRING_ENABLE ioctl for dataplane vqs only after the device has processed all commands. --- From FRC: * Enable vqs early in case CVQ cannot be shadowed. Eugenio PĂ©rez (7): vdpa: export vhost_vdpa_set_vring_ready vdpa: add should_enable op vdpa: use virtio_ops->should_enable at vhost_vdpa_set_vrings_ready vdpa: add stub vhost_vdpa_should_enable vdpa: delay enable of data vqs vdpa: enable cvq svq if data vq are shadowed vdpa: remove net cvq migration blocker include/hw/virtio/vhost-vdpa.h | 9 +++++ hw/virtio/vhost-vdpa.c | 33 ++++++++++++---- net/vhost-vdpa.c | 69 ++++++++++++++++++++++++++-------- hw/virtio/trace-events | 2 +- 4 files changed, 89 insertions(+), 24 deletions(-)