Received: by 2002:a05:6a10:17d3:0:0:0:0 with SMTP id hz19csp2420900pxb; Tue, 13 Apr 2021 01:11:00 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzlUatduWOsCXWiwrXohsKtcFOYm83MxjO6dySKCqLlLLLdiXskxdJUg11UR2VgcwTJsnu9 X-Received: by 2002:a50:ec92:: with SMTP id e18mr24112221edr.246.1618301460770; Tue, 13 Apr 2021 01:11:00 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1618301460; cv=none; d=google.com; s=arc-20160816; b=nJKT6R1b4DAQHpvTxl1TEldQ2NSdJdZQAEvSOtmftzpf5ST/tq7A4c4Z5e0LQkzmos Yu6GoNAiAUn7Gj0RNJXXmVCrZ91fmQONWyozA+HIsBzS7kw65fXu7w4kgiWO73pk2MvU y/tzvwoMfyWz57eGoEb2KDLW3GZwomUJ5PTtnXV9hvCHtSHyZz5jfk6Dnysz7QaB6hZ4 cYJuZnNVa+5/8h3CuJ46RtThW+MNQ9YDTOujH0DjLIPyroUSa3GStZeZjawf7zYKH4Ju 1TFW6cxuB8Po9KkZQbNX02TB1d0hkmHtB36OXfMOOKpTE8g1y0UXtJtfMvhZDMkBLHs4 R0rA== 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=weDqAgoDuclt1ER5VGdnY8GZwTwU/XMERSZSKbTPfaU=; b=IW1z6uaeX3BXqvlCyJTaVvuXk4tCYO31KPIcjpH7tpZhByv44BQZiQo7f+R/aZDGPe rUjyH8Vf8jQaCLRYhltUsZJqOfUedXc5zAFfiFKFwRbl0jOfxgJidOX7SqFoWnGpuJfa 5DhC79Aq+KYd3R67LalaFpoPeLcvxHjghpz91ArloM29gCiWNjrfVpWeCo4yoTbKWDLF 23Y/WBScNJ/oKT19ulcdFn8VEBBd2wnnkJzUkwWSZWXY1KUUaX4WD9R+ICj1p8e/cRWK 1tv3IIGU++PZ6Mku/ZdEaR/8DGIxw8R5OqQh85WEzZZZaJunlOH25JXVc6stHqNoMnbH EXKQ== 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 h28si10169391edj.546.2021.04.13.01.10.37; Tue, 13 Apr 2021 01:11:00 -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 S1344428AbhDMDjk (ORCPT + 99 others); Mon, 12 Apr 2021 23:39:40 -0400 Received: from szxga07-in.huawei.com ([45.249.212.35]:17319 "EHLO szxga07-in.huawei.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229449AbhDMDjc (ORCPT ); Mon, 12 Apr 2021 23:39:32 -0400 Received: from DGGEMS405-HUB.china.huawei.com (unknown [172.30.72.58]) by szxga07-in.huawei.com (SkyGuard) with ESMTP id 4FKB9f4xkRzB01y; Tue, 13 Apr 2021 11:36:54 +0800 (CST) Received: from huawei.com (10.67.165.24) by DGGEMS405-HUB.china.huawei.com (10.3.19.205) with Microsoft SMTP Server id 14.3.498.0; Tue, 13 Apr 2021 11:39:01 +0800 From: Longfang Liu To: CC: , , , Subject: [RFC PATCH 0/3] vfio/hisilicon: add acc live migration driver Date: Tue, 13 Apr 2021 11:36:20 +0800 Message-ID: <1618284983-55581-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 | 8 + drivers/vfio/pci/Makefile | 1 + drivers/vfio/pci/hisilicon/acc_vf_migration.c | 1337 +++++++++++++++++++++++++ drivers/vfio/pci/hisilicon/acc_vf_migration.h | 170 ++++ drivers/vfio/pci/vfio_pci.c | 11 + drivers/vfio/pci/vfio_pci_private.h | 9 + 6 files changed, 1536 insertions(+) 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