qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [RFC 0/7] qxl: fix hangs caused by qxl_render_update
@ 2012-02-19 21:27 Alon Levy
  2012-02-19 21:28 ` [Qemu-devel] [RFC 1/7] sdl: remove NULL check, g_malloc0 can't fail Alon Levy
                   ` (6 more replies)
  0 siblings, 7 replies; 40+ messages in thread
From: Alon Levy @ 2012-02-19 21:27 UTC (permalink / raw)
  To: qemu-devel, kraxel, elmarco

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.

This is an RFC because of the last patch, that implements a DisplayAllocator trio (create,free,resize) for qxl. Without it there are two incorrect screendumps after each resolution change. With it there is no error, but it still seems it can be improved, in particular it does a redraw for every qxl_render_update because of wrong usage of the QEMU_ALLOCATED_FLAG that is required to get vga_draw_graphic to do the 24 to 32 bit conversion, to get correct display for VBE modes using 24 bit depth.

Please review,

Alon Levy (7):
  sdl: remove NULL check, g_malloc0 can't fail
  qxl: drop qxl_spice_update_area_async definition
  qxl: introduce QXLCookie
  qxl: make qxl_render_update async
  qxl-render: call ppm_save on callback
  qxl: use spice_qxl_update_area_dirty_async
  qxl: add allocator

 hw/qxl-render.c    |   98 +++++++++++++-----------
 hw/qxl.c           |  207 +++++++++++++++++++++++++++++++++++++++++++++-------
 hw/qxl.h           |   12 +--
 ui/sdl.c           |    4 -
 ui/spice-display.c |   27 ++++++-
 ui/spice-display.h |   15 ++++
 6 files changed, 276 insertions(+), 87 deletions(-)

-- 
1.7.9

^ permalink raw reply	[flat|nested] 40+ messages in thread

end of thread, other threads:[~2012-02-22 19:27 UTC | newest]

Thread overview: 40+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-02-19 21:27 [Qemu-devel] [RFC 0/7] qxl: fix hangs caused by qxl_render_update Alon Levy
2012-02-19 21:28 ` [Qemu-devel] [RFC 1/7] sdl: remove NULL check, g_malloc0 can't fail Alon Levy
2012-02-19 21:28 ` [Qemu-devel] [RFC 2/7] qxl: drop qxl_spice_update_area_async definition Alon Levy
2012-02-19 21:28 ` [Qemu-devel] [RFC 3/7] qxl: introduce QXLCookie Alon Levy
2012-02-20 10:56   ` Gerd Hoffmann
2012-02-20 12:31     ` Alon Levy
2012-02-20 12:39       ` Gerd Hoffmann
2012-02-19 21:28 ` [Qemu-devel] [RFC 4/7] qxl: make qxl_render_update async Alon Levy
2012-02-20 11:10   ` Gerd Hoffmann
2012-02-20 12:32     ` Alon Levy
2012-02-20 12:45       ` Gerd Hoffmann
2012-02-19 21:28 ` [Qemu-devel] [RFC 5/7] qxl-render: call ppm_save on callback Alon Levy
2012-02-20 11:32   ` Gerd Hoffmann
2012-02-20 12:36     ` Alon Levy
2012-02-20 12:49       ` Gerd Hoffmann
2012-02-20 21:29     ` Eric Blake
2012-02-21  8:19       ` Alon Levy
2012-02-21 16:15         ` Eric Blake
2012-02-21 17:40           ` Alon Levy
2012-02-22 13:17             ` Luiz Capitulino
2012-02-22 13:22               ` Alon Levy
2012-02-22 13:49                 ` Luiz Capitulino
2012-02-22 14:22                   ` Gerd Hoffmann
2012-02-22 14:29                     ` Alon Levy
2012-02-22 15:55                       ` Luiz Capitulino
2012-02-22 16:35                         ` Alon Levy
2012-02-22 19:27                           ` Luiz Capitulino
2012-02-22 14:28                   ` Alon Levy
2012-02-22 14:47                     ` Gerd Hoffmann
2012-02-22 15:26                       ` Alon Levy
2012-02-19 21:28 ` [Qemu-devel] [RFC 6/7] qxl: use spice_qxl_update_area_dirty_async Alon Levy
2012-02-19 21:28 ` [Qemu-devel] [RFC 7/7] qxl: add allocator Alon Levy
2012-02-20 11:41   ` Gerd Hoffmann
2012-02-20 12:38     ` Alon Levy
2012-02-20 13:18       ` Gerd Hoffmann
2012-02-20 17:36         ` Alon Levy
2012-02-21  7:57           ` Gerd Hoffmann
2012-02-21  8:26             ` Alon Levy
2012-02-21  9:20               ` Gerd Hoffmann
2012-02-21  9:59                 ` Alon Levy

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).