qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCHv2] virtio: verify that all outstanding buffers a


From: Paolo Bonzini
Subject: Re: [Qemu-devel] [PATCHv2] virtio: verify that all outstanding buffers are flushed
Date: Wed, 12 Dec 2012 17:51:51 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/17.0 Thunderbird/17.0

Il 12/12/2012 17:37, Michael S. Tsirkin ha scritto:
> > You wrote "the only way to know head 1 is outstanding is because backend
> > has stored this info somewhere".  But the backend _is_ tracking it (by
> > serializing and then restoring the VirtQueueElement) and no leak happens
> > because virtqueue_fill/flush will put the head on the used ring sooner
> > or later.
> 
> If you did this before save vm inuse would be 0.

No, I won't.  I want a simple API that the device can call to keep inuse
up-to-date.  Perhaps a bit ugly compared to just saving inuse, but it
works.  Or are there other bits that need resyncing besides inuse?  Bits
that cannot be recovered from the existing migration data?

> You said that at the point where we save state,
> some entries are outstanding. It is too late to
> put head at that point.

I don't want to put head on the source.  I want to put it on the
destination, when the request is completed.  Same as it is done now,
with bugfixes of course.  Are there any problems doing so, except that
inuse will not be up-to-date (easily fixed)?

> > It's not common, but you cannot block migration because you have an I/O
> > error.  Solving the error may involve migrating the guests away from
> > that host.
> 
> No, you should complete with error.

Knowing that the request will fail, the admin will not be able to do
migration, even if that will solve the error transparently.

Paolo



reply via email to

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