qemu/hw/vfio
Avihai Horon f5e53633ba vfio/migration: Report only stop-copy size in vfio_state_pending_exact()
vfio_state_pending_exact() is used to update migration core how much
device data is left for the device migration. Currently, the sum of
pre-copy and stop-copy sizes of the VFIO device are reported.

The pre-copy size is obtained via the VFIO_MIG_GET_PRECOPY_INFO ioctl,
which returns the amount of device data available to be transferred
while the device is in the PRE_COPY states.

The stop-copy size is obtained via the VFIO_DEVICE_FEATURE_MIG_DATA_SIZE
ioctl, which returns the total amount of device data left to be
transferred in order to complete the device migration.

According to the above, current implementation is wrong -- it reports
extra overlapping data because pre-copy size is already contained in
stop-copy size. Fix it by reporting only stop-copy size.

Fixes: eda7362af9 ("vfio/migration: Add VFIO migration pre-copy support")
Signed-off-by: Avihai Horon <avihaih@nvidia.com>
Reviewed-by: Cédric Le Goater <clg@redhat.com>
(cherry picked from commit 3b5948f808)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
2024-11-08 13:02:57 +03:00
..
amd-xgbe.c
ap.c hw/vfio/ap: Fix missing ERRP_GUARD() for error_prepend() 2024-03-12 11:45:34 +01:00
calxeda-xgmac.c
ccw.c vfio: Introduce a helper function to initialize VFIODevice 2023-12-19 19:03:38 +01:00
common.c Migration pull request 2024-03-12 11:35:41 +00:00
container-base.c vfio/container: Introduce a VFIOIOMMU QOM interface 2024-01-05 21:25:20 +01:00
container.c * Add missing ERRP_GUARD() statements in functions that need it 2024-03-12 16:55:42 +00:00
cpr.c vfio: allow cpr-reboot migration if suspended 2024-03-08 22:10:13 +01:00
display.c hw/vfio: Constify VMState 2023-12-30 07:38:06 +11:00
helpers.c hw/vfio/helpers: Fix missing ERRP_GUARD() for error_prepend() 2024-03-12 11:45:34 +01:00
igd.c *: Add missing includes of qemu/error-report.h 2023-03-22 15:06:57 +00:00
iommufd.c vfio/iommufd: Fix memory leak 2024-03-19 11:56:37 +01:00
Kconfig hw/vfio: Move the IGD quirk code to a separate file 2020-02-06 11:55:42 -07:00
meson.build vfio: register container for cpr 2024-03-08 22:10:13 +01:00
migration.c vfio/migration: Report only stop-copy size in vfio_state_pending_exact() 2024-11-08 13:02:57 +03:00
pci-quirks.c hw/vfio/pci-quirks: Fix missing ERRP_GUARD() for error_prepend() 2024-03-12 11:45:45 +01:00
pci.c hw/vfio/pci: Fix missing ERRP_GUARD() for error_prepend() 2024-03-12 11:45:45 +01:00
pci.h vfio/pci: Introduce a vfio pci hot reset interface 2023-12-19 19:03:38 +01:00
platform.c hw/vfio/platform: Fix missing ERRP_GUARD() for error_prepend() 2024-03-12 11:45:45 +01:00
spapr.c vfio/spapr: Introduce a sPAPR VFIOIOMMU QOM interface 2024-01-05 21:25:20 +01:00
trace-events migration: MigrationEvent for notifiers 2024-02-28 11:31:28 +08:00
trace.h trace: switch position of headers to what Meson requires 2020-08-21 06:18:24 -04:00