qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH v2 1/2] console: add hw_screen_dump_async


From: Gerd Hoffmann
Subject: Re: [Qemu-devel] [PATCH v2 1/2] console: add hw_screen_dump_async
Date: Wed, 07 Mar 2012 07:57:57 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:10.0.1) Gecko/20120216 Thunderbird/10.0.1

  Hi,

>> qemu is hung at:
>>   main thread:
>>    #0 read
> 
> Is qxl doing a blocking read?  If so, that's a bug in qxl.

It used to do that, with the latest spice pull it is gone[1].  And this
fix is exactly what broke screendump.

Spice does lazy rendering on the server side to avoid burning cpu for
nothing, because in the common case there is nothing to render.  Thats
why there is no up-to-date displaysurface we can just write out when the
screendump command comes in.

What qxl screendump used to do is this:

   (1) ask spice server to render the screen
   (2) blocking read, waiting for spice spice server finish    <- BUG
   (3) write out screendump

What qxl screendump does now is:

   (1) ask spice server to render the screen
   (2) write out screendump from outdated displaysurface       <- BUG
   (3) spice server finished, callback comes in, arm BH
   (4) bottom half handler updates displaysurface

What we like to do instead is this:

   (1) ask spice server to render the screen
   (2) spice server finished, callback comes in, arm BH
   (3) bottom half handler updates displaysurface
       and writes the screendump
   (4) signal screendump monitor command is finished.

See our problem now?

cheers,
  Gerd

[1] With the exception of guest with old qxl drivers which is pretty
    much unfixable due to way the old guest <-> qxl interface is
    designed.



reply via email to

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