[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v7 00/13] monitor: Optionally run handlers in coroutines
From: |
Kevin Wolf |
Subject: |
Re: [PATCH v7 00/13] monitor: Optionally run handlers in coroutines |
Date: |
Fri, 25 Sep 2020 19:15:41 +0200 |
Am 10.09.2020 um 15:24 hat Stefan Hajnoczi geschrieben:
> On Wed, Sep 09, 2020 at 05:11:36PM +0200, Kevin Wolf wrote:
> > Some QMP command handlers can block the main loop for a relatively long
> > time, for example because they perform some I/O. This is quite nasty.
> > Allowing such handlers to run in a coroutine where they can yield (and
> > therefore release the BQL) while waiting for an event such as I/O
> > completion solves the problem.
> >
> > This series adds the infrastructure to allow this and switches
> > block_resize to run in a coroutine as a first example.
> >
> > This is an alternative solution to Marc-André's "monitor: add
> > asynchronous command type" series.
>
> Please clarify the following in the QAPI documentation:
> * Is the QMP monitor suspended while the command is pending?
Suspended as in monitor_suspend()? No.
> * Are QMP events reported while the command is pending?
Hm, I don't know to be honest. But I think so.
Does it matter, though? I don't think events have a defined order
compared to command results, and the client can't respond to the event
anyway until the current command has completed.
Kevin
signature.asc
Description: PGP signature
- Re: [PATCH v7 12/13] block: Add bdrv_co_move_to_aio_context(), (continued)
[PATCH v7 13/13] block: Convert 'block_resize' to coroutine, Kevin Wolf, 2020/09/09
Re: [PATCH v7 00/13] monitor: Optionally run handlers in coroutines, no-reply, 2020/09/09
Re: [PATCH v7 00/13] monitor: Optionally run handlers in coroutines, Stefan Hajnoczi, 2020/09/10