qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Alon Levy <alevy@redhat.com>
To: Gerd Hoffmann <kraxel@redhat.com>
Cc: elmarco@redhat.com, yhalperi@redhat.com, qemu-devel@nongnu.org,
	spice-devel@freedesktop.org
Subject: Re: [Qemu-devel] [RFC v4 9/9] qxl-render: call ppm_save on bh
Date: Wed, 22 Feb 2012 13:45:54 +0100	[thread overview]
Message-ID: <20120222124554.GF607@garlic.redhat.com> (raw)
In-Reply-To: <4F44D594.8000004@redhat.com>

On Wed, Feb 22, 2012 at 12:46:28PM +0100, Gerd Hoffmann wrote:
> On 02/21/12 22:39, 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.
> 
> I still think we should defer that and figure how to fix that properly,
> either using (internally) async monitor commands via qapi, or using an
> event.

I'm looking at QAPI. But in general I think it's better to have a
correct image then a timely image. Without this patch you get an old
image, unless you do what autotest does and request one every few
seconds, then you won't really notice the difference (it would be one
frame offset, kinda).

> 
> > +typedef struct QXLPPMSaveBHData {
> > +    PCIQXLDevice *qxl;
> > +    QXLCookie *cookie;
> > +} QXLPPMSaveBHData;
> 
> Is there a need for a separate struct?  I think you can just stick the
> filename into the QXLCookie struct, then write out screen shots in the
> update area bottom half, no?
> 
> cheers,
>   Gerd
> 

  parent reply	other threads:[~2012-02-22 12:46 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 [this message]
2012-02-22 18:59     ` Alon Levy
2012-02-21 22:17 ` [Qemu-devel] [Spice-devel] [RFC v4 0/9] qxl: fix hangs caused by qxl_render_update 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=20120222124554.GF607@garlic.redhat.com \
    --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 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).