qemu-block
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v4 3/4] qmp: Move dispatcher to a coroutine


From: Kevin Wolf
Subject: Re: [PATCH v4 3/4] qmp: Move dispatcher to a coroutine
Date: Wed, 19 Feb 2020 16:27:44 +0100
User-agent: Mutt/1.12.1 (2019-06-15)

Am 19.02.2020 um 15:21 hat Markus Armbruster geschrieben:
> I think we need to talk about AioContext in qapi-code-gen.txt.  PATCH 1
> now adds
> 
>   Member 'coroutine' tells the QMP dispatcher whether the command handler
>   is safe to be run in a coroutine.  It defaults to false.  If it is true,
>   the command handler is called from coroutine context and may yield while
>   waiting for an external event (such as I/O completion) in order to avoid
>   blocking the guest and other background operations.
>   
> What about "is called from a coroutine running in the main loop with
> @qemu_aio_context, and may yield"?
> 
> Likewise for the commit message of PATCH 3:
> 
>   This moves the QMP dispatcher to a coroutine and runs all QMP command
>   handlers that declare 'coroutine': true in coroutine context so they
>   can avoid blocking the main loop while doing I/O or waiting for other
>   events.
> 
> "calls all ... in a coroutine running in the main loop with
> @qemu_aio_context, so they can".
> 
> Speaking of PATCH 1:
> 
>   It is an error to specify both 'coroutine': true and 'allow-oob': true
>   for a command.  (We don't currently have a use case for both together and
>   without a use case, it's not entirely clear what the semantics should be.)
> 
> Let's lose the parenthesis around the last sentence.
> 
> If you agree with my proposed tweaks, and nothing else comes up, I can
> try to do them in my tree.

Works for me.

In the v5 thread, dropping patch 2 came up. I think it may not be needed
any more in the current version and 'make check' passes without it.

Kevin




reply via email to

[Prev in Thread] Current Thread [Next in Thread]