On Thu, Jun 2, 2022 at 2:58 AM Parav Pandit <parav at nvidia.com>
wrote:>
>
> > From: Jason Wang <jasowang at redhat.com>
> > Sent: Tuesday, May 31, 2022 10:42 PM
> >
> > Well, the ability to query the virtqueue state was proposed as another
> > feature (Eugenio, please correct me). This should be sufficient for
making
> > virtio-net to be live migrated.
> >
> The device is stopped, it won't answer to this special vq config done
here.
This depends on the definition of the stop. Any query to the device
state should be allowed otherwise it's meaningless for us.
> Programming all of these using cfg registers doesn't scale for on-chip
memory and for the speed.
Well, they are orthogonal and what I want to say is, we should first
define the semantics of stop and state of the virtqueue.
Such a facility could be accessed by either transport specific method
or admin virtqueue, it totally depends on the hardware architecture of
the vendor.
>
> Next would be to program hundreds of statistics of the 64 VQs through a
giant PCI config space register in some busy polling scheme.
We don't need giant config space, and this method has been implemented
by some vDPA vendors.
>
> I can clearly see how all these are inefficient for faster LM.
> We need an efficient AQ to proceed with at minimum.
I'm fine with admin virtqueue, but the stop and state are orthogonal
to that. And using admin virtqueue for stop/state will be more natural
if we use admin virtqueue as a transport.
Thanks
>
> >
https://lists.oasis-open.org/archives/virtio-comment/202103/msg00008.html
> >
> > > Once the device is stopped, its state cannot be queried further
as device
> > won't respond.
> > > It has limited use case.
> > > What we need is to stop non admin queue related portion of the
device.