qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH 2/2] qxl: add QXL_IO_UPDATE_MEM for guest S3&S4


From: Gerd Hoffmann
Subject: Re: [Qemu-devel] [PATCH 2/2] qxl: add QXL_IO_UPDATE_MEM for guest S3&S4 support
Date: Wed, 29 Jun 2011 12:25:00 +0200
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.18) Gecko/20110617 Red Hat/3.1.11-2.el6_1 Thunderbird/3.1.11

On 06/29/11 11:21, Alon Levy wrote:
On Wed, Jun 29, 2011 at 11:01:11AM +0200, Gerd Hoffmann wrote:
   Hi,

I think it will receive them after migration, since the command ring
was stored.
Our confusion here is because you think there is still seemless migration. 
Unfortunately
it doesn't work right now, unless you plan to fix it the only form of migration 
right
now is switch-host, and for that those commands will be lost, the new 
connection will receive
images for each surface. If you treat the client as seemless you are completely 
right.

The spice server needs this too so it can render the surfaces
correctly before sending the surface images to the client (or send
the old surfaces and the commands on top of that).

That is one difference between qemu migration and S3 state: For qemu
migration it is no problem to have unprocessed commands in the
rings, they will simply be processed once the spice server state is
restored. When the guest driver restores the state when it comes
back from S3 it needs the command rings to do so, thats why they
must be flushed before entering S3 ...

You mean it needs the command rings to be empty before, since they are lost
during the reset, right?

One more reason. Wasn't aware there is a reset anyway, was thinking more about the command ordering. Without reset spice-server would first process the old commands (which may reference non-existing surfaces), then the new commands which re-recreate all state, which is simply the wrong order. With reset the old commands just get lost which causes rendering bugs.

Is it an option to have the driver just remove the commands from the ring (and resubmit after resume)? I suspect it isn't as there is no race-free way to do that, right?

cheers,
  Gerd




reply via email to

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