qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH for-2.7 3/4] virtio: add virtqueue_rewind()


From: Stefan Hajnoczi
Subject: Re: [Qemu-devel] [PATCH for-2.7 3/4] virtio: add virtqueue_rewind()
Date: Mon, 15 Aug 2016 13:34:09 +0100
User-agent: Mutt/1.6.2 (2016-07-01)

On Mon, Aug 15, 2016 at 10:36:25AM +0200, Cornelia Huck wrote:
> On Fri, 12 Aug 2016 16:32:57 +0100
> Stefan Hajnoczi <address@hidden> wrote:
> 
> > virtqueue_discard() requires a VirtQueueElement but virtio-balloon does
> > not migrate its in-use element.  Introduce a new function that is
> > similar to virtqueue_discard() but doesn't require a VirtQueueElement.
> > 
> > This will allow virtio-balloon to access element again after migration
> > with the usual proviso that the guest may have modified the vring since
> > last time.
> > 
> > Signed-off-by: Stefan Hajnoczi <address@hidden>
> > ---
> >  hw/virtio/virtio.c         | 22 ++++++++++++++++++++++
> >  include/hw/virtio/virtio.h |  1 +
> >  2 files changed, 23 insertions(+)
> > 
> > diff --git a/hw/virtio/virtio.c b/hw/virtio/virtio.c
> > index 00158b6..22727ba 100644
> > --- a/hw/virtio/virtio.c
> > +++ b/hw/virtio/virtio.c
> > @@ -272,6 +272,28 @@ void virtqueue_discard(VirtQueue *vq, const 
> > VirtQueueElement *elem,
> >      virtqueue_unmap_sg(vq, elem, len);
> >  }
> > 
> > +/* virtqueue_rewind:
> > + * @vq: The #VirtQueue
> > + * @num: Number of elements to push back
> > + *
> > + * Pretend that elements weren't popped from the virtqueue.  The next
> > + * virtqueue_pop() will refetch the oldest element.
> > + *
> > + * Use virtqueue_discard() instead if you have a VirtQueueElement.
> > + *
> > + * Returns: true on success, false if @num is greater than the number of 
> > in use
> > + * elements.
> 
> Does it make sense at all to rewind multiple elements at once? Or does
> it make more sense for the caller to rewind one-by-one until they know
> that there are no more elements that could be refetched?

I think Ladi's virtio-balloon stats fix using the vmchange callback is
preferrable.  I'll drop this and the next patch.

Stefan

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]