qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Gerd Hoffmann <kraxel@redhat.com>
To: Alon Levy <alevy@redhat.com>
Cc: qemu-devel@nongnu.org, elmarco@redhat.com,
	Luiz Capitulino <lcapitulino@redhat.com>
Subject: Re: [Qemu-devel] [RFC 5/7] qxl-render: call ppm_save on callback
Date: Mon, 20 Feb 2012 12:32:44 +0100	[thread overview]
Message-ID: <4F422F5C.9060202@redhat.com> (raw)
In-Reply-To: <1329686886-6853-6-git-send-email-alevy@redhat.com>

On 02/19/12 22:28, Alon Levy wrote:
> This changes the behavior of the monitor command. After the previous
> patch, there is no longer an option of deadlock with virt-manager, but
> ppm_save is called too early, before the update has completed. With this
> patch it is called at the correct moment, but that means there is a race
> between the monitor command completing and the screendump file being saved.
> 
> The only solution is to use an asynchronous monitor command. For a
> previous round of this see:
>  http://lists.gnu.org/archive/html/qemu-devel/2011-10/msg02810.html
> 
> Since that's contentious, I'm suggesting we do something that is almost
> correct and doesn't hang, instead of correct and hangs. The screendump
> user can inotify on the directory and the file if need be. For casual
> monitor usage there is no difference.

Hmm, that is pretty lame.  There are users like autotest which expect
the screen dump being there when the monitor command is finished, that
change will break them.

Unfortunaly there is no easy way out.  I think the options are:

 (1) Keep existing behavior.  That means the screenshot might show old
     screen content.  Not very nice too.  Would work sort-of ok for
     autotest though as autotest does screenshots every second and thus
     the screen content wouldn't be older than a second.

 (2) Async monitor command.  Keeps interface and works nicely.  A bunch
     of QAPI bits tickled into master meanwhile, so we could look at
     this again.  Luiz?  What is the status here?

 (3) Something like this patch + additionally introduce a
     "your-screenshot-is-finished-now" qmp event.  Will break existing
     users too.  But at least they can be adapted without requiring
     some external, nonportable service like inotify ...

cheers,
  Gerd

  reply	other threads:[~2012-02-20 11:33 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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 [this message]
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

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=4F422F5C.9060202@redhat.com \
    --to=kraxel@redhat.com \
    --cc=alevy@redhat.com \
    --cc=elmarco@redhat.com \
    --cc=lcapitulino@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /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 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).