From patchwork Tue Jan 3 10:51:04 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Boeuf, Sebastien" X-Patchwork-Id: 3488 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:4e01:0:0:0:0:0 with SMTP id p1csp4548233wrt; Tue, 3 Jan 2023 02:53:05 -0800 (PST) X-Google-Smtp-Source: AMrXdXvIdFp0vaEo0PNSXx0M9W0IndrCPNmYbVo22X4g9hJ4fzeYD5iNRpP765+bZQiT9gnuQezp X-Received: by 2002:a62:148f:0:b0:582:46a4:87f6 with SMTP id 137-20020a62148f000000b0058246a487f6mr9201589pfu.22.1672743185150; Tue, 03 Jan 2023 02:53:05 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1672743185; cv=none; d=google.com; s=arc-20160816; b=uz6VvYPx2U+cc4etI8krQfjWvWgol0HZE7Hfrg6+Nkj8Cr5xCFPIxw4GxEpPDhxmBh XRbaX95H0gcWjCYZMDuCZSQPWx6648fA3HdDBxM3ZIdDjY1PXQwzNDvvkdgrrOnaMAjW +nGwiCeZM2yos75Fsnv4BuynvEoEYs+mzJjc9+qCE9b5nlGzYSS3hq9GSL2DSk8378tW Z4Ob0loIZn/bBHE2Qc9egY3/yhYo48Lq5VD1HgNZns/chIF2D+T+YufbMKANLYFeQAo/ +LaBd50CuXubVIIYqwPH3voR55Fnso2azu67Hkfvcfl8eBFqk9iE9qArOO5Os9w1MYhJ YP+g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=Po5mA/pVlcaRxgId4g3xaZlUryDT8KhCqLtv1JdVHVg=; b=okE4NV+IJrP2wbSVdh8lWiZD7ANJ9cEIpOvctc+CA7hd/HcaFY8g5xbogvbwNOLfb6 TLm8zR78rj0W/tN+fP8VOAL1lqmqzatzAgQXdbpjK4NG+8tWWOaFmaH/Lhm8qq/gXPL1 eYAVdD77Kh2RAlxeKShTq2zxpeOeL05PythoS/aHv6rNuta3GMEDsFhBNPVujjWa3YOn PFnOt1R5a5csNo8Pe1Ks/PpPtdRvcym6WmN1DcRickTuk6FAJE4XRxKhoJcfrie9KHnu NsLgnF+6abLRZWfxabvg6Abh3XCrIc+FXperJopcCr55qmnQNXbB9QKLxb5s184s/PZj O63Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=WJsjIH2W; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id b22-20020a056a000cd600b005772295cb2csi16701458pfv.271.2023.01.03.02.52.53; Tue, 03 Jan 2023 02:53:05 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=WJsjIH2W; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237216AbjACKwC (ORCPT + 99 others); Tue, 3 Jan 2023 05:52:02 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39450 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233201AbjACKv3 (ORCPT ); Tue, 3 Jan 2023 05:51:29 -0500 Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2566C2EB for ; Tue, 3 Jan 2023 02:51:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1672743088; x=1704279088; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=wZIzAnD2Xss5kwfCgAar7pXr1H0VlnByMy323xYAXro=; b=WJsjIH2WiNpXNMCucqncfJd7WgkiJIJ6FdT8okx53lhfJbayz5aWMZW+ oVZ9Rxqyp3ZU4KTmES05IN508MX3Hj381+ApbMhALm5mNZgn3qbKd6S5x jssJr12lE70MsC1UrqL9111q2OvDXJzPigbSvnZ1A2j6fTwHGsl7WKv7J YCzDIZAUyFR71eBc4mPXvNkne8DHUOBGSMpLHfIcPadLifqVBENMw0LZT LpKyiRk3G9hhLTqrZ9eQ/TU9Rk6+uuZdNM7AkzMVM3CLiHWrRRaPPvVMu MCZpZTjxX3yLcaKDU22mooNsKTNW6EZ8/KA0D3FbWjdQaELlRw8Lvk9Zy w==; X-IronPort-AV: E=McAfee;i="6500,9779,10578"; a="301318421" X-IronPort-AV: E=Sophos;i="5.96,296,1665471600"; d="scan'208";a="301318421" Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Jan 2023 02:51:27 -0800 X-IronPort-AV: E=McAfee;i="6500,9779,10578"; a="604772632" X-IronPort-AV: E=Sophos;i="5.96,296,1665471600"; d="scan'208";a="604772632" Received: from isobansk-mobl1.ger.corp.intel.com (HELO sboeuf-mobl.home) ([10.252.24.246]) by orsmga003-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Jan 2023 02:51:25 -0800 From: sebastien.boeuf@intel.com To: linux-kernel@vger.kernel.org, virtualization@lists.linux-foundation.org Cc: mst@redhat.com, jasowang@redhat.com, eperezma@redhat.com, sebastien.boeuf@intel.com Subject: [PATCH v6 0/4] vdpa: Add resume operation Date: Tue, 3 Jan 2023 11:51:04 +0100 Message-Id: X-Mailer: git-send-email 2.37.2 MIME-Version: 1.0 X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,LOTS_OF_MONEY, RCVD_IN_DNSWL_MED,SPF_HELO_PASS,SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1753998358004978159?= X-GMAIL-MSGID: =?utf-8?q?1753998358004978159?= From: Sebastien Boeuf This series introduces a new operation for vdpa devices. It allows them to be resumed after they have been suspended. A new feature bit is introduced for devices to advertise their ability to be resumed after they have been suspended. This feature bit is different from the one advertising the ability to be suspended, meaning a device that can be suspended might not have the ability to be resumed. Even if it is already possible to restore a device that has been suspended, which is very convenient for live migrating virtual machines, there is a major drawback as the device must be fully reset. There is no way to resume a device that has been suspended without having to configure the device again and without having to recreate the IOMMU mappings. This new operation aims at filling this gap by allowing the device to resume processing the virtqueue descriptors without having to reset it. This is particularly useful for performing virtual machine offline migration, also called snapshot/restore, as it allows a virtual machine to resume to a running state after it was paused and a snapshot of the entire system was taken. Sebastien Boeuf (4): vdpa: Add resume operation vhost-vdpa: Introduce RESUME backend feature bit vhost-vdpa: uAPI to resume the device vdpa_sim: Implement resume vdpa op drivers/vdpa/vdpa_sim/vdpa_sim.c | 29 +++++++++++++++++++++++++++ drivers/vdpa/vdpa_sim/vdpa_sim.h | 1 + drivers/vhost/vdpa.c | 34 +++++++++++++++++++++++++++++++- include/linux/vdpa.h | 6 +++++- include/uapi/linux/vhost.h | 8 ++++++++ include/uapi/linux/vhost_types.h | 2 ++ 6 files changed, 78 insertions(+), 2 deletions(-)