Re: [PATCH v7 07/10] vfio: Extend the device migration protocol with PRE_COPY

Jason Gunthorpe
2022-03-03T23:50:01Z

On Thu, Mar 03, 2022 at 12:59:30PM -0700, Alex Williamson wrote:

> > > If it's an abuse, then let's not do it. It was never my
> > > impression or intention

So maybe abuse is the wrong word, but I don't want to mess up this
interface, which is intended to support real pre-copy devices, just
because devices that don't actually implement true precopy might do
silly things.

The vGPU case you imagine will still work and qemu will switch to
STOP_COPY with a huge trailer and be slow. That is unavoidable and I
think it is fine.

> > > Furthermore the acc driver was explicitly directed not to indicate any degree
> > > of trailing data size in dirty_bytes, so while trailing data may be small for acc,
> > > this interface is explicitly not intended to provide any indication of trailing
> > > data size. Thanks,

Yes, trailing data is not what this is for. This is only to help
decide when to switch from PRE_COPY to STOP_COPY. If the device can
execute STOP_COPY in the right time is a completely different
discussion/interface.

> > Just to clarify, so the suggestion here is not to use PRE_COPY for compatibility
> > check at all and have a different proper infrastructure for that later as Jason
> > suggested?
> >
> > If so, I will remove this patch from this series and go back to the old revision
> > where we only have STOP_COPY and do the compatibility check during the final
> > load data operation.
>
> Hi Shameer,
>
> I think NVIDIA has a company long weekend, so I'm not sure how quickly
> we'll hear a rebuttal from Jason, but at this point I'd rather not
> move

Yes, company long weekend.

> forward with using PRE_COPY exclusively for compatibility testing if
> that is seen as an abuse of the interface, regardless of the size of
> the remaining STOP_COPY data. It might be most expedient to respin
> without PRE_COPY and we'll revisit methods to perform early
> compatibility testing in the future. Thanks,

Shameerali has talked about wanting this compat check early from the
start, and done all the work to implement it. I think it is pretty
extreme to blow up his series over trailing_data.

To me acc is fine to use it this way until we get a better solution
for compatability. We all need this, but I expect it to be complicated
to define.

Jason