Re: [PATCH V1 vfio 02/14] vfio: Extend the device migration protocol with PRE_COPY

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 01/12/2022 2:51, Jason Gunthorpe wrote:
On Wed, Nov 30, 2022 at 03:22:40PM -0700, Alex Williamson wrote:
On Thu, 24 Nov 2022 19:39:20 +0200
Yishai Hadas <yishaih@xxxxxxxxxx> wrote:
+/**
+ * VFIO_MIG_GET_PRECOPY_INFO - _IO(VFIO_TYPE, VFIO_BASE + 21)
+ *
+ * This ioctl is used on the migration data FD in the precopy phase of the
+ * migration data transfer. It returns an estimate of the current data sizes
+ * remaining to be transferred. It allows the user to judge when it is
+ * appropriate to leave PRE_COPY for STOP_COPY.
+ *
+ * This ioctl is valid only in PRE_COPY states and kernel driver should
+ * return -EINVAL from any other migration state.
+ *
+ * The vfio_precopy_info data structure returned by this ioctl provides
+ * estimates of data available from the device during the PRE_COPY states.
+ * This estimate is split into two categories, initial_bytes and
+ * dirty_bytes.
+ *
+ * The initial_bytes field indicates the amount of initial mandatory precopy
+ * data available from the device. This field should have a non-zero initial
+ * value and decrease as migration data is read from the device.
+ * It is a must to leave PRE_COPY for STOP_COPY only after this field reach
+ * zero.

Is this actually a requirement that's compatible with current QEMU
behavior?  It's my impression that a user can force the migration to
move to STOP_COPY at any point in time.  Thanks,
I think it is a typo

It should be explaining that leaving PRE_COPY early will make things
slower, but is not a functional problem.

Jason

Right

I''ll rephrase as part of V2 as of below.

The initial_bytes field indicates the amount of initial precopy
data available from the device. This field should have a non-zero initial
value and decrease as migration data is read from the device.
It is recommended to leave PRE_COPY for STOP_COPY only after this field
reaches zero. Leaving PRE_COPY earlier might make things slower.

Yishai




[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux