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