[PATCH v2 0/2] vfio/migration: Make VFIO migration non-experimental

Avihai Horon posted 2 patches 10 months, 3 weeks ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20230628073112.7958-1-avihaih@nvidia.com
Maintainers: Alex Williamson <alex.williamson@redhat.com>, "Cédric Le Goater" <clg@redhat.com>, Juan Quintela <quintela@redhat.com>, Peter Xu <peterx@redhat.com>, Leonardo Bras <leobras@redhat.com>
include/hw/vfio/vfio-common.h |  7 +--
migration/migration.h         |  1 +
hw/vfio/common.c              | 16 ++++++-
hw/vfio/migration.c           | 85 ++++++++++++++++++++++++-----------
hw/vfio/pci.c                 |  4 +-
migration/migration.c         |  1 +
migration/savevm.c            |  1 +
migration/target.c            | 17 ++++++-
hw/vfio/trace-events          |  2 +-
9 files changed, 97 insertions(+), 37 deletions(-)
[PATCH v2 0/2] vfio/migration: Make VFIO migration non-experimental
Posted by Avihai Horon 10 months, 3 weeks ago
Hello,

The major parts of VFIO migration are supported today in QEMU. This
includes basic VFIO migration, device dirty page tracking and precopy
support. Thus, at this point in time, it seems appropriate to make VFIO
migration non-experimental.

This short series (which is based on the precopy series [1]) does that
and also adds a few improvements:
- Patch #1 resets bytes_transferred counter properly.
- Patch #2 cleans up the VFIO migration realize flow and makes VFIO
  migration non-experimental.

Note that Zhenzhong's series [2] fixes additional bugs and further
cleans the VFIO migration realize flow.

Changes from v1 [3]:
* Dropped patch #1 as it's an optimization. (Cedric)
* Added Fixes tag to patch #2. (Cedric)
* Made VFIO device realization fail if migration is not supported and
  enable_migration is ON. (Cedric)
* Kept the error message of errno == ENOTTY case as it was in
  vfio_migration_query_flags(). (Cedric)
* Added a warn when enable_migration is ON and device dirty tracking is
  not supported. (Alex)
* Renamed trace_vfio_migration_probe() to
* trace_vfio_migration_realize().


Thanks.

[1]
https://lore.kernel.org/qemu-devel/20230621111201.29729-1-avihaih@nvidia.com/

[2]
https://lore.kernel.org/qemu-devel/20230621080204.420723-1-zhenzhong.duan@intel.com/

[3]
https://lore.kernel.org/qemu-devel/20230626082353.18535-1-avihaih@nvidia.com/

Avihai Horon (2):
  vfio/migration: Reset bytes_transferred properly
  vfio/migration: Make VFIO migration non-experimental

 include/hw/vfio/vfio-common.h |  7 +--
 migration/migration.h         |  1 +
 hw/vfio/common.c              | 16 ++++++-
 hw/vfio/migration.c           | 85 ++++++++++++++++++++++++-----------
 hw/vfio/pci.c                 |  4 +-
 migration/migration.c         |  1 +
 migration/savevm.c            |  1 +
 migration/target.c            | 17 ++++++-
 hw/vfio/trace-events          |  2 +-
 9 files changed, 97 insertions(+), 37 deletions(-)

-- 
2.26.3
Re: [PATCH v2 0/2] vfio/migration: Make VFIO migration non-experimental
Posted by Alex Williamson 10 months, 3 weeks ago
On Wed, 28 Jun 2023 10:31:10 +0300
Avihai Horon <avihaih@nvidia.com> wrote:

> Hello,
> 
> The major parts of VFIO migration are supported today in QEMU. This
> includes basic VFIO migration, device dirty page tracking and precopy
> support. Thus, at this point in time, it seems appropriate to make VFIO
> migration non-experimental.
> 
> This short series (which is based on the precopy series [1]) does that
> and also adds a few improvements:
> - Patch #1 resets bytes_transferred counter properly.
> - Patch #2 cleans up the VFIO migration realize flow and makes VFIO
>   migration non-experimental.
> 
> Note that Zhenzhong's series [2] fixes additional bugs and further
> cleans the VFIO migration realize flow.
> 
> Changes from v1 [3]:
> * Dropped patch #1 as it's an optimization. (Cedric)
> * Added Fixes tag to patch #2. (Cedric)
> * Made VFIO device realization fail if migration is not supported and
>   enable_migration is ON. (Cedric)
> * Kept the error message of errno == ENOTTY case as it was in
>   vfio_migration_query_flags(). (Cedric)
> * Added a warn when enable_migration is ON and device dirty tracking is
>   not supported. (Alex)
> * Renamed trace_vfio_migration_probe() to
> * trace_vfio_migration_realize().
> 
> 
> Thanks.
> 
> [1]
> https://lore.kernel.org/qemu-devel/20230621111201.29729-1-avihaih@nvidia.com/
> 
> [2]
> https://lore.kernel.org/qemu-devel/20230621080204.420723-1-zhenzhong.duan@intel.com/
> 
> [3]
> https://lore.kernel.org/qemu-devel/20230626082353.18535-1-avihaih@nvidia.com/
> 
> Avihai Horon (2):
>   vfio/migration: Reset bytes_transferred properly
>   vfio/migration: Make VFIO migration non-experimental
> 
>  include/hw/vfio/vfio-common.h |  7 +--
>  migration/migration.h         |  1 +
>  hw/vfio/common.c              | 16 ++++++-
>  hw/vfio/migration.c           | 85 ++++++++++++++++++++++++-----------
>  hw/vfio/pci.c                 |  4 +-
>  migration/migration.c         |  1 +
>  migration/savevm.c            |  1 +
>  migration/target.c            | 17 ++++++-
>  hw/vfio/trace-events          |  2 +-
>  9 files changed, 97 insertions(+), 37 deletions(-)
> 

Reviewed-by: Alex Williamson <alex.williamson@redhat.com>