Re: [PATCH mlx5-next 2/7] vfio: Add an API to check migration state transition validity

From: Alex Williamson
Date: Tue Sep 28 2021 - 16:18:59 EST


On Tue, 28 Sep 2021 16:35:50 -0300
Jason Gunthorpe <jgg@xxxxxxxx> wrote:

> On Tue, Sep 28, 2021 at 01:19:58PM -0600, Alex Williamson wrote:
>
> > In defining the device state, we tried to steer away from defining it
> > in terms of the QEMU migration API, but rather as a set of controls
> > that could be used to support that API to leave us some degree of
> > independence that QEMU implementation might evolve.
>
> That is certainly a different perspective, it would have been
> better to not express this idea as a FSM in that case...
>
> So each state in mlx5vf_pci_set_device_state() should call the correct
> combination of (un)freeze, (un)quiesce and so on so each state
> reflects a defined operation of the device?

I'd expect so, for instance the implementation of entering the _STOP
state presumes a previous state that where the device is apparently
already quiesced. That doesn't support a direct _RUNNING -> _STOP
transition where I argued in the linked threads that those states
should be reachable from any other state. Thanks,

Alex