On Fri, Jan 9, 2026 at 11:11 AM Zhang Chen <[email protected]> wrote:
>
> On Thu, Jan 8, 2026 at 8:12 PM Markus Armbruster <[email protected]> wrote:
> >
> > Zhang Chen <[email protected]> writes:
> >
> > > The thread_status depends on struct IOThreadInfo's
> > > 'attached': 'bool'. Show in the qmp/hmp CMD with
> > > 'attached' or 'detached'.
> > >
> > > 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 33a88ce205..84b01737cf 100644
> > > --- a/monitor/hmp-cmds.c
> > > +++ b/monitor/hmp-cmds.c
> > > @@ -197,6 +197,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, "  thread_status=%s" "\n",
> > > +                       value->attached ? "attached" : "detached");
> > >          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 6153ed3d04..2eea920bd2 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 attached status
> >
> > What does "attached status" actually mean?
>
> This flag means weather the "-object iothread" already been used by a
> real device.
> In hotplug scenario, user can add multiple "-object iothread" and
> multiple devices (like virtio-blk).
> When user hotunplug the devices can keep the iothreads as a thread
> pool, following the new
> hotplug devices can attach to the released iothread.
>
> >
> > > +#            (since 10.3.0)
> >
> > (since 12.0)
>
> OK.
>
> >
> > > +#
> > >  # @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,
> > > +#                 'thread_status':"attached",
> >
> > I believe this is actually
> >
> >                      "attached": true
> >
> > and ...
>
> No, I changed it here for readability:
> > > +        monitor_printf(mon, "  thread_status=%s" "\n",
> > > +                       value->attached ? "attached" : "detached");
>
> But if you think ""attached": true" is more direct way, I can change
> it next version.

If no other comments, I will keep this part and update to version 2
for this series.

Thanks
Chen

>
> >
> > >  #                 'poll-max-ns':0,
> > >  #                 "poll-grow":0,
> > >  #                 "poll-shrink":0,
> > > @@ -126,6 +131,7 @@
> > >  #              {
> > >  #                 "id":"iothread1",
> > >  #                 "thread-id":3135,
> > > +#                 'thread_status':"detached",
> >
> >                      "attached": false
> >
> > Recommend to create example output by running a test instead of making
> > it up, because making it up likely screws it up :)
>
> Uh.... This output print is the real test in my machine, maybe you
> missed the previous description.
>
> Thanks
> Chen
>
> >
> > >  #                 'poll-max-ns':0,
> > >  #                 "poll-grow":0,
> > >  #                 "poll-shrink":0,
> >

Reply via email to