All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alon Levy <alevy@redhat.com>
To: qemu-devel@nongnu.org, kraxel@redhat.com,
	spice-devel@freedesktop.org, yhalperi@redhat.com,
	elmarco@redhat.com
Subject: Re: [Qemu-devel] [Spice-devel] [RFC v4 0/9] qxl: fix hangs caused by qxl_render_update
Date: Wed, 22 Feb 2012 00:17:46 +0200	[thread overview]
Message-ID: <20120221221746.GZ6476@garlic> (raw)
In-Reply-To: <1329860377-6284-1-git-send-email-alevy@redhat.com>

On Tue, Feb 21, 2012 at 11:39:28PM +0200, Alon Levy wrote:
> This is the second attempt to fix this issue, as a lesson from the last time it doesn't try to use an async monitor command. So with this patchset, in qxl mode, a screendump monitor command will complete before the file is written to disk. This is much better then a hang. To fix it does require asynchronous monitor command completion.
> 
> Changes from previous RFC (v4 to match my internal patches, it's actually the second):
Forgot:
 depend on spice-server >= 0.8.2

Last patch has an ugly hack in the ppm_save bh, that does flipping,
since I missed something somewhere.. Also the whole flipping assumes
that qxl always has negative stride and the displaysurface always has
positive stride, no checks anywhere..

>  - dropped the DisplayAllocator
>  - dropping flip (Gerd Hoffman suggestion)
>  - dropping needless call to console_select (from Gerd)
>  - use a bh for the bug fix itself, previously called dpy_update
>   and wrote to vga->ds.surface->data from spice server thread, a no no.
>  - last patch uses a bh for the ppm_save as well, same problem as one
>   in the previous round. I'm going to work on a solution to that as discussed
>   on the list (either a QAPI equivalent of the old async monitor or a new really
>   async command with completion event that libvirt/autotest/etc would have to
>   use), but didn't want to wait for that with the already prolonged wait from the last
>   RFC.
> 
> Please review,
> 
> Alon Levy (8):
>   sdl: remove NULL check, g_malloc0 can't fail
>   qxl: drop qxl_spice_update_area_async definition
>   qxl: screen_dump in vga: do a single ppm_save
>   qxl: require spice >= 0.8.2
>   qxl: remove flipped
>   qxl: introduce QXLCookie
>   qxl: make qxl_render_update async
>   qxl-render: call ppm_save on bh
> 
> Gerd Hoffman (1):
>   console: don't call console_select unnecessarily
> 
>  configure          |    2 +-
>  console.c          |    6 +-
>  hw/qxl-render.c    |  228 ++++++++++++++++++++++++++++++++++++++--------------
>  hw/qxl.c           |  189 ++++++++++++++++++++++++++++++-------------
>  hw/qxl.h           |   28 ++++---
>  ui/sdl.c           |    4 -
>  ui/spice-display.c |   34 +++++----
>  ui/spice-display.h |   22 +++++
>  8 files changed, 359 insertions(+), 154 deletions(-)
> 
> -- 
> 1.7.9.1
> 
> _______________________________________________
> Spice-devel mailing list
> Spice-devel@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/spice-devel

      parent reply	other threads:[~2012-02-21 22:17 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-02-21 21:39 [Qemu-devel] [RFC v4 0/9] qxl: fix hangs caused by qxl_render_update Alon Levy
2012-02-21 21:39 ` [Qemu-devel] [RFC v4 1/9] console: don't call console_select unnecessarily Alon Levy
2012-02-21 21:39 ` [Qemu-devel] [RFC v4 2/9] sdl: remove NULL check, g_malloc0 can't fail Alon Levy
2012-02-21 21:39 ` [Qemu-devel] [RFC v4 3/9] qxl: drop qxl_spice_update_area_async definition Alon Levy
2012-02-21 21:39 ` [Qemu-devel] [RFC v4 4/9] qxl: screen_dump in vga: do a single ppm_save Alon Levy
2012-02-22 11:10   ` Gerd Hoffmann
2012-02-22 12:26     ` Alon Levy
2012-02-22 13:58       ` Gerd Hoffmann
2012-02-22 14:25         ` [Qemu-devel] [Spice-devel] " Alon Levy
2012-02-22 14:37           ` Gerd Hoffmann
2012-02-22 15:27             ` Alon Levy
2012-02-21 21:39 ` [Qemu-devel] [RFC v4 5/9] qxl: require spice >= 0.8.2 Alon Levy
2012-02-22 11:11   ` Gerd Hoffmann
2012-02-21 21:39 ` [Qemu-devel] [RFC v4 6/9] qxl: remove flipped Alon Levy
2012-02-22 11:18   ` Gerd Hoffmann
2012-02-22 12:28     ` Alon Levy
2012-02-22 14:09       ` Gerd Hoffmann
2012-02-22 14:23         ` Alon Levy
2012-02-22 19:00         ` Alon Levy
2012-02-21 21:39 ` [Qemu-devel] [RFC v4 7/9] qxl: introduce QXLCookie Alon Levy
2012-02-22 11:23   ` Gerd Hoffmann
2012-02-21 21:39 ` [Qemu-devel] [RFC v4 8/9] qxl: make qxl_render_update async Alon Levy
2012-02-22 11:41   ` Gerd Hoffmann
2012-02-22 12:30     ` Alon Levy
2012-02-21 21:39 ` [Qemu-devel] [RFC v4 9/9] qxl-render: call ppm_save on bh Alon Levy
2012-02-22 11:46   ` Gerd Hoffmann
2012-02-22 12:34     ` Alon Levy
2012-02-22 12:45     ` Alon Levy
2012-02-22 18:59     ` Alon Levy
2012-02-21 22:17 ` Alon Levy [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20120221221746.GZ6476@garlic \
    --to=alevy@redhat.com \
    --cc=elmarco@redhat.com \
    --cc=kraxel@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=spice-devel@freedesktop.org \
    --cc=yhalperi@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.