[virtio-dev] Re: [PATCH 0/5] virtio: introduce SUSPEND bit and vq state

Michael S. Tsirkin
2023-09-14T11:37:13Z

On Wed, Sep 06, 2023 at 04:16:32PM +0800, Zhu Lingshan wrote:
> This series introduces
> 1)a new SUSPEND bit in the device status
> Which is used to suspend the device, so that the device states
> and virtqueue states are stabilized.
>
> 2)virtqueue state and its accessor, to get and set last_avail_idx
> and last_used_idx of virtqueues.
>
> The main usecase of these new facilities is Live Migration.
>
> Future work: dirty page tracking and in-flight descriptors.
>
> This series addresses many comments from Jason, Stefan and Eugenio
> from RFC series.

after going over this in detail, it is like I worried: this
tries to do too much through a single register and
the ownership is muddied significantly.

I feel a separate capability for suspend/resume that would
be independent of device status would be preferable.

> Zhu Lingshan (5):
> virtio: introduce vq state as basic facility
> virtio: introduce SUSPEND bit in device status
> virtqueue: constraints for virtqueue state
> virtqueue: ignore resetting vqs when SUSPEND
> virtio-pci: implement VIRTIO_F_QUEUE_STATE
>
> content.tex | 118 ++++++++++++++++++++++++++++++++++++++++++++++
> transport-pci.tex | 18 +++++++
> 2 files changed, 136 insertions(+)
>
> --
> 2.35.3