Received: by 2002:a05:6a10:17d3:0:0:0:0 with SMTP id hz19csp1612744pxb; Mon, 12 Apr 2021 02:20:15 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzUyWeDzxzVmUYZF9Z8MrV+oMNiRTYXpzzMEyZ4OYQ0Gv9VSkgTGq/1/TXn57vEYcKMRjAr X-Received: by 2002:a17:906:f8d7:: with SMTP id lh23mr1277494ejb.77.1618219215130; Mon, 12 Apr 2021 02:20:15 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1618219215; cv=none; d=google.com; s=arc-20160816; b=yVdr2NqpN2AQjFERMIbX6idbZbjamBOkLjY4dmyDX4RycdurBVCSVGiWGGj1P5OoMN KusMr5HNWUNsuWf0CaEvdNt14029bIZtXzNmvdvfPyV+7HtGSlvfE/VW2L28kuh/85nX 7qnkwgYc4Hr8KFD19ncrcMWWywmyC47sUTgAHakwvRHwfr81zPhzigk4lWzdmHtLjLln NgduvmE+0WQKEZ1TAPnXI/8ogQ5OiunyoK/+ylIrLliUD+JCvKGItX+QsFKE6GxYdCxW u1lLR9U9xHudGcl5t6RzYh0rvvbq4kxGmMwSd3YXq062Qo+DIYVXtlOF/F+wma19u7rJ TrEQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:message-id:date:subject:cc:to:from; bh=hsk903qvbuHpPewyI9zxA+1HNyZb8sX4J4HT84JgxNY=; b=Rm2slj7UQWNFjtqB/BpV4fWXAvjfmN82qobXX8GO6hVD3fYOpQVNestm0630wa7lwa UIo0+0pIGPwnl5aXB/9DsrUEPG4tXbdGgQaS2YbYCB04p36QH+vnHfnB7nn1AjLPLGmm zMxQlV4WgNUsvEcD7r7It4NGjqDFCbXPX5qXBYYJh/JoAsqTmfBsgd/4ZUX/4v/lyuh1 hINi2qnkklQmxdSe0JPxIEs988MuBjDy5UMK3ievsyPEQnBXLEF5olFp5/zCznuHpYAR Xj/ETkbB94kVXa1WqNf52rE92Rp9tBthMcI1cP7OlwfOIMsEKbiIjJcOsuJ2CFKzYAt2 9YKg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=huawei.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id jo13si3236134ejb.655.2021.04.12.02.19.52; Mon, 12 Apr 2021 02:20:15 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=huawei.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S241122AbhDLJLs (ORCPT + 99 others); Mon, 12 Apr 2021 05:11:48 -0400 Received: from szxga04-in.huawei.com ([45.249.212.190]:15664 "EHLO szxga04-in.huawei.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S238422AbhDLI4X (ORCPT ); Mon, 12 Apr 2021 04:56:23 -0400 Received: from DGGEMS414-HUB.china.huawei.com (unknown [172.30.72.60]) by szxga04-in.huawei.com (SkyGuard) with ESMTP id 4FJjF26ckdznZBj; Mon, 12 Apr 2021 16:53:10 +0800 (CST) Received: from huawei.com (10.67.165.24) by DGGEMS414-HUB.china.huawei.com (10.3.19.214) with Microsoft SMTP Server id 14.3.498.0; Mon, 12 Apr 2021 16:55:51 +0800 From: Longfang Liu To: CC: , , , Subject: [RFC PATCH v3 0/3] vfio/hisilicon: add acc live migration driver Date: Mon, 12 Apr 2021 16:53:13 +0800 Message-ID: <1618217596-13621-1-git-send-email-liulongfang@huawei.com> X-Mailer: git-send-email 2.8.1 MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [10.67.165.24] X-CFilter-Loop: Reflected Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The live migration solution relies on the vfio_device_migration_info protocol. The structure vfio_device_migration_info is placed at the 0th offset of the VFIO_REGION_SUBTYPE_MIGRATION region to get and set VFIO device related migration information. Field accesses from this structure are only supported at their native width and alignment. Otherwise, the result is undefined and vendor drivers should return an error. (1).The driver framework is based on vfio_pci_register_dev_region() of vfio-pci, and then a new live migration region is added, and the live migration is realized through the ops of this region. (2).In order to ensure the compatibility of the devices before and after the migration, the device compatibility information check will be performed in the Pre-copy stage. If the check fails, an error will be returned and the source VM will exit the migration function. (3).After the compatibility check is passed, it will enter the Stop-and-copy stage. At this time, all the live migration data will be copied, and then saved to the VF device of the destination, and then the VF device of the destination will be started and the VM of the source will be exited. Longfang Liu (3): vfio/hisilicon: add acc live migration driver vfio/hisilicon: register the driver to vfio vfio/hisilicom: add debugfs for driver drivers/vfio/pci/Kconfig | 9 + drivers/vfio/pci/Makefile | 3 +- drivers/vfio/pci/hisilicon/acc_vf_migration.c | 1357 +++++++++++++++++++++++++ drivers/vfio/pci/hisilicon/acc_vf_migration.h | 172 ++++ drivers/vfio/pci/vfio_pci.c | 11 + drivers/vfio/pci/vfio_pci_private.h | 10 + 6 files changed, 1561 insertions(+), 1 deletion(-) create mode 100644 drivers/vfio/pci/hisilicon/acc_vf_migration.c create mode 100644 drivers/vfio/pci/hisilicon/acc_vf_migration.h -- 2.8.1