All of lore.kernel.org
 help / color / mirror / Atom feed
From: Gerd Hoffmann <kraxel@redhat.com>
To: qemu-devel@nongnu.org, yhalperi@redhat.com
Subject: Re: [Qemu-devel] [PATCHv3] qxl: move to UNDEFINED on DESTROY_ALL_SURFACES{, _ASYNC}
Date: Wed, 29 Jun 2011 17:00:20 +0200	[thread overview]
Message-ID: <4E0B3E04.9060305@redhat.com> (raw)
In-Reply-To: <20110629142956.GA30873@bow.redhat.com>

On 06/29/11 16:29, Alon Levy wrote:
> On Wed, Jun 29, 2011 at 03:09:36PM +0200, Gerd Hoffmann wrote:
>> Hi,
>>
>>> +    case QXL_IO_DESTROY_ALL_SURFACES_ASYNC: +        d->mode =
>>> QXL_MODE_UNDEFINED;
>>
>> Should go to the async thread.
>
> doesn't it make more sense to do all state changes from the vcpu
> thread? async thread can run much later, if you have a
> QXL_IO_DESTROY_ALL_SURFACES_ASYNC followed by a
> QXL_IO_CREATE_PRIMARY_ASYNC where the driver did not wait for the
> completion of the ASYNC first, I would still like to support that,
> but it won't work if I move this to the async thread.

I think we should disallow doing any I/O ops while one is in progress 
(except maybe QXL_IO_LOG).  Most I/O commands are I/O commands because 
they either needed for device setup or must be synchronous anyway.

QXL_IO_CREATE_PRIMARY_ASYNC wasn't exactly clever designed I think. 
Would have been better to enter native mode with another I/O command, 
then send the create request for the primary through the rings like all 
other surface commands.  But given it is a rare event it isn't that a 
big issue either.

cheers,
   Gerd

  reply	other threads:[~2011-06-29 15:00 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-06-29 11:57 [Qemu-devel] [PATCHv3] qxl S3&S4 (suspend and hibernate) support Alon Levy
2011-06-29 11:57 ` [Qemu-devel] [PATCHv3] async io: suggested fixes Alon Levy
2011-06-29 11:57 ` [Qemu-devel] [PATCHv3] async thread fix - handle EAGAIN/EINTR, remove fprintf Alon Levy
2011-06-29 11:57 ` [Qemu-devel] [PATCHv3] qxl: use track_lock instead of wlock for guest_surfaces Alon Levy
2011-06-29 11:57 ` [Qemu-devel] [PATCHv3] qxl: add mode to debugprint on destroy primary Alon Levy
2011-06-29 11:57 ` [Qemu-devel] [PATCHv3] qxl: allow QXL_IO_LOG also in vga Alon Levy
2011-06-29 11:57 ` [Qemu-devel] [PATCHv3] qxl: abort on panic instead of exit Alon Levy
2011-06-29 12:44   ` Gerd Hoffmann
2011-06-29 14:24     ` Alon Levy
2011-06-29 14:34       ` Gerd Hoffmann
2011-06-29 11:57 ` [Qemu-devel] [PATCHv3] qxl-logger: add timestamp to command log Alon Levy
2011-06-29 11:57 ` [Qemu-devel] [PATCHv3] qxl: update and add debug prints Alon Levy
2011-06-29 13:01   ` Gerd Hoffmann
2011-06-29 14:24     ` Alon Levy
2011-06-29 14:36       ` Gerd Hoffmann
2011-06-29 11:57 ` [Qemu-devel] [PATCHv3] qxl: add dev id to guest prints Alon Levy
2011-06-29 11:57 ` [Qemu-devel] [PATCHv3] qxl: add io_port_to_string Alon Levy
2011-06-29 13:03   ` Gerd Hoffmann
2011-06-29 14:25     ` Alon Levy
2011-06-29 11:57 ` [Qemu-devel] [PATCHv3] qxl: update revision to QXL_REVISION_STABLE_V10 Alon Levy
2011-06-29 11:57 ` [Qemu-devel] [PATCHv3] qxl: add QXL_IO_FLUSH_{SURFACES, RELEASE} for guest S3&S4 support Alon Levy
2011-06-29 13:06   ` Gerd Hoffmann
2011-06-29 14:27     ` Alon Levy
2011-06-29 14:50       ` Gerd Hoffmann
2011-06-29 18:22         ` Alon Levy
2011-06-29 14:45     ` Alon Levy
2011-06-29 11:57 ` [Qemu-devel] [PATCHv3] qxl: move to UNDEFINED on DESTROY_ALL_SURFACES{, _ASYNC} Alon Levy
2011-06-29 13:09   ` Gerd Hoffmann
2011-06-29 14:29     ` Alon Levy
2011-06-29 15:00       ` Gerd Hoffmann [this message]
2011-06-29 18:28         ` Alon Levy
2011-06-30  7:16           ` Gerd Hoffmann
2011-06-29 11:57 ` [Qemu-devel] [PATCHv3] qxl: only disallow specific io's in vga mode Alon Levy
2011-06-29 11:57 ` [Qemu-devel] [PATCHv3] (alon-local) symlink bios out of tree Alon Levy
2011-06-29 13:11   ` Gerd Hoffmann
2011-06-29 14:31     ` Alon Levy
2011-06-29 15:01       ` Gerd Hoffmann

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=4E0B3E04.9060305@redhat.com \
    --to=kraxel@redhat.com \
    --cc=qemu-devel@nongnu.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.