Zhang Chen <[email protected]> writes:
> The attached flag depends on struct IOThreadInfo's
> 'attached': 'bool'. It can show whether the iothread
> is attached to an actual device. Show in the qmp/hmp
> CMD with "attached": true/false.
>
> Signed-off-by: Zhang Chen <[email protected]>
> ---
> iothread.c | 1 +
> monitor/hmp-cmds.c | 2 ++
> qapi/misc.json | 6 ++++++
> 3 files changed, 9 insertions(+)
>
> diff --git a/iothread.c b/iothread.c
> index 38e38fb44d..fb4898e491 100644
> --- a/iothread.c
> +++ b/iothread.c
> @@ -358,6 +358,7 @@ static int query_one_iothread(Object *object, void
> *opaque)
> info = g_new0(IOThreadInfo, 1);
> info->id = iothread_get_id(iothread);
> info->thread_id = iothread->thread_id;
> + info->attached = iothread->attached;
> info->poll_max_ns = iothread->poll_max_ns;
> info->poll_grow = iothread->poll_grow;
> info->poll_shrink = iothread->poll_shrink;
> diff --git a/monitor/hmp-cmds.c b/monitor/hmp-cmds.c
> index 5a673cddb2..7463f34bf5 100644
> --- a/monitor/hmp-cmds.c
> +++ b/monitor/hmp-cmds.c
> @@ -202,6 +202,8 @@ void hmp_info_iothreads(Monitor *mon, const QDict *qdict)
> value = info->value;
> monitor_printf(mon, "%s:\n", value->id);
> monitor_printf(mon, " thread_id=%" PRId64 "\n", value->thread_id);
> + monitor_printf(mon, " attached=%s" "\n",
> + value->attached ? "true" : "false");
> monitor_printf(mon, " poll-max-ns=%" PRId64 "\n",
> value->poll_max_ns);
> monitor_printf(mon, " poll-grow=%" PRId64 "\n", value->poll_grow);
> monitor_printf(mon, " poll-shrink=%" PRId64 "\n",
> value->poll_shrink);
> diff --git a/qapi/misc.json b/qapi/misc.json
> index e87994c9d9..99ffd45ce5 100644
> --- a/qapi/misc.json
> +++ b/qapi/misc.json
> @@ -76,6 +76,9 @@
> #
> # @thread-id: ID of the underlying host thread
> #
> +# @attached: flag to show current iothread attach to device status
> +# (since 12.0)
We started to talk about improving the description in review of v1.
Let's continue there.
> +#
> # @poll-max-ns: maximum polling time in ns, 0 means polling is
> # disabled (since 2.9)
> #
> @@ -93,6 +96,7 @@
> { 'struct': 'IOThreadInfo',
> 'data': {'id': 'str',
> 'thread-id': 'int',
> + 'attached': 'bool',
> 'poll-max-ns': 'int',
> 'poll-grow': 'int',
> 'poll-shrink': 'int',
> @@ -118,6 +122,7 @@
> # {
> # "id":"iothread0",
> # "thread-id":3134,
> +# "attached":false",
Invalid JSON. Drop the last ".
> # 'poll-max-ns':32768,
> # "poll-grow":0,
> # "poll-shrink":0,
> @@ -126,6 +131,7 @@
> # {
> # "id":"iothread1",
> # "thread-id":3135,
> +# "attached":true",
Likewise.
> # 'poll-max-ns':32768,
> # "poll-grow":0,
> # "poll-shrink":0,