]> git.proxmox.com Git - mirror_qemu.git/commit
vfio/migration: Make VFIO migration non-experimental
authorAvihai Horon <avihaih@nvidia.com>
Wed, 28 Jun 2023 07:31:12 +0000 (10:31 +0300)
committerCédric Le Goater <clg@redhat.com>
Fri, 30 Jun 2023 04:02:51 +0000 (06:02 +0200)
commit8bbcb64a71d84627b0171a205a5f3586eaa1e081
treed2e8f765531a1891152321c252ff706c041bfdf4
parent808642a2f6407157f8cfb48ba6c2d28efd038d62
vfio/migration: Make VFIO migration non-experimental

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: remove the x prefix from enable_migration property,
change it to ON_OFF_AUTO and let the default value be AUTO.

In addition, make the following adjustments:
1. When enable_migration is ON and migration is not supported, fail VFIO
   device realization.
2. When enable_migration is AUTO (i.e., not explicitly enabled), require
   device dirty tracking support. This is because device dirty tracking
   is currently the only method to do dirty page tracking, which is
   essential for migrating in a reasonable downtime. Setting
   enable_migration to ON will not require device dirty tracking.
3. Make migration error and blocker messages more elaborate.
4. Remove error prints in vfio_migration_query_flags().
5. Rename trace_vfio_migration_probe() to
   trace_vfio_migration_realize().

Signed-off-by: Avihai Horon <avihaih@nvidia.com>
Reviewed-by: Joao Martins <joao.m.martins@oracle.com>
Reviewed-by: Cédric Le Goater <clg@redhat.com>
Reviewed-by: Alex Williamson <alex.williamson@redhat.com>
Signed-off-by: Cédric Le Goater <clg@redhat.com>
hw/vfio/common.c
hw/vfio/migration.c
hw/vfio/pci.c
hw/vfio/trace-events
include/hw/vfio/vfio-common.h