|
From: | Gerd Hoffmann |
Subject: | Re: [Qemu-devel] [PATCH 2/2] qxl: add QXL_IO_UPDATE_MEM for guest S3&S4 support |
Date: | Mon, 20 Jun 2011 17:50:32 +0200 |
User-agent: | Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.17) Gecko/20110419 Red Hat/3.1.10-1.el6_0 Thunderbird/3.1.10 |
On 06/20/11 17:11, Alon Levy wrote:
On Mon, Jun 20, 2011 at 04:07:59PM +0200, Gerd Hoffmann wrote:What is the difference to one worker->stop() + worker->start() cycle?ok, stop+start won't disconnect any clients either. But does stop render all waiting commands? I'll have to look, I don't know if it does.It does. This is what qemu uses to flush all spice server state to device memory on migration. What is the reason for deleting all surfaces?Making sure all references are dropped to pci memory in devram.
Ah, because the spice server keeps a reference to the create command until the surface is destroyed, right?
There is is QXL_IO_DESTROY_ALL_SURFACES + worker->destroy_surfaces() ... The QXL_IO_UPDATE_MEM command does too much special stuff IMHO. I also think we don't need to extend the libspice-server API.We can add a I/O command which renders everything to device memory via stop+start. We can zap all surfaces with the existing command + worker call. We can add a I/O command to ask qxl to push the release queue head to the release ring.
Comments? cheers, Gerd
[Prev in Thread] | Current Thread | [Next in Thread] |