From patchwork Wed Aug 10 18:42:12 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Eugenio Perez Martin X-Patchwork-Id: 1665341 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=drrtPnaX; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) 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 bilbo.ozlabs.org (Postfix) with ESMTPS id 4M2zP374nRz9sGx for ; Thu, 11 Aug 2022 04:44:06 +1000 (AEST) Received: from localhost ([::1]:45304 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oLqgW-0002BL-Ak for incoming@patchwork.ozlabs.org; Wed, 10 Aug 2022 14:44:04 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:42396) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oLqfE-00027b-S5 for qemu-devel@nongnu.org; Wed, 10 Aug 2022 14:42:47 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]:39858) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oLqfB-0006gm-6H for qemu-devel@nongnu.org; Wed, 10 Aug 2022 14:42:43 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1660156949; 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=yWfhlBuUvUS3Otocmm0+8YxffnubSzN66Fjessag/k0=; b=drrtPnaXHSDuyrFCPHvqTcr5yfS0zozYw1y3hb7M2rpoGPt6mbw6F++6Dwf0kx8ztWPLJv KsfZNijdxHuFu4q9koxjc2X0xMxW3VRHi8JYZPLFn3axf6563yw144JCM5MWHICpTJGmef hEfOwB0F+Bxd/IkHMBkjdSeDvSkRtCY= Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-567-xvMb3Jn3NRe-1HQ6ocVsLg-1; Wed, 10 Aug 2022 14:42:26 -0400 X-MC-Unique: xvMb3Jn3NRe-1HQ6ocVsLg-1 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.rdu2.redhat.com [10.11.54.8]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 88AC218A6525; Wed, 10 Aug 2022 18:42:25 +0000 (UTC) Received: from eperezma.remote.csb (unknown [10.39.193.156]) by smtp.corp.redhat.com (Postfix) with ESMTP id C2983C15BA3; Wed, 10 Aug 2022 18:42:22 +0000 (UTC) From: =?utf-8?q?Eugenio_P=C3=A9rez?= To: qemu-devel@nongnu.org Cc: Paolo Bonzini , "Gonglei (Arei)" , Cindy Lu , Laurent Vivier , Stefan Hajnoczi , Parav Pandit , Zhu Lingshan , Gautam Dawar , Liuxiangdong , Jason Wang , Cornelia Huck , Eli Cohen , Stefano Garzarella , "Michael S. Tsirkin" , Harpreet Singh Anand Subject: [RFC 0/8] Dinamycally switch to vhost shadow virtqueues at vdpa net migration Date: Wed, 10 Aug 2022 20:42:12 +0200 Message-Id: <20220810184220.2362292-1-eperezma@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.85 on 10.11.54.8 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: -28 X-Spam_score: -2.9 X-Spam_bar: -- X-Spam_report: (-2.9 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.082, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, 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+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" It's possible to migrate vdpa net devices if they are shadowed from the start. But to always shadow the dataplane is effectively break its host passthrough, so its not convenient in vDPA scenarios. This series enables dynamically switching to shadow mode only at migration time. This allow full data virtqueues passthrough all the time qemu is not migrating. To do so it uses the VHOST_VDPA_SUSPEND ioctl, not merged in Linux at this time [1]. Because of that, first patch is not signed and present a header [NOTMERGE]. This series is also based on ASID one [2], not merged in qemu at the moment. Comments are welcome. [1] https://lkml.org/lkml/2022/8/10/732 [2] https://lists.nongnu.org/archive/html/qemu-devel/2022-08/msg01047.html Eugenio PĂ©rez (8): [NOTMERGE] Update linux headers vdpa: Extract get_backend_features from vhost_vdpa_get_as_num vhost: expose memory listener priority vdpa: Add log_enabled to VhostVDPAState vdpa: Add vdpa memory listener vdpa: Negotiate _F_SUSPEND feature vdpa: Add feature_log member to vhost_vdpa vdpa: Conditionally expose _F_LOG in vhost_net devices include/hw/virtio/vhost-vdpa.h | 1 + include/hw/virtio/vhost.h | 2 + include/standard-headers/linux/vhost_types.h | 3 + linux-headers/linux/vhost.h | 3 + hw/virtio/vhost-vdpa.c | 5 +- hw/virtio/vhost.c | 2 +- net/vhost-vdpa.c | 128 +++++++++++++++++-- 7 files changed, 132 insertions(+), 12 deletions(-)