On Fri, Oct 23, 2026 at 05:42:48PM +0800, Zhang Chen wrote: > On Fri, Oct 23, 2026 at 4:16 AM Stefan Hajnoczi <[email protected]> wrote: > > > > Please update docs/devel/multiple-iothreads.rst. It still refers to > > iothread_get_aio_context() instead of the new API. > > > > Hi Stefan, > > Thanks for pointing this out. Would it be okay to include the documentation > update as a separate patch in the next revision like this? > > diff --git a/docs/devel/multiple-iothreads.rst > b/docs/devel/multiple-iothreads.rst > index a6eb046267..c184222d71 100644 > --- a/docs/devel/multiple-iothreads.rst > +++ b/docs/devel/multiple-iothreads.rst > @@ -88,11 +88,20 @@ argument, which is used to check for and prevent > re-entrancy problems. For > BHs associated with devices, the reentrancy-guard is contained in the > corresponding ``DeviceState`` and named ``mem_reentrancy_guard``. > > -The ``AioContext`` can be obtained from the ``IOThread`` using > -``iothread_get_aio_context()`` or for the main loop using > -``qemu_get_aio_context()``. Code that takes an ``AioContext`` argument > -works both in ``IOThread``\ s or the main loop, depending on which > ``AioContext`` > -instance the caller passes in. > +The ``AioContext`` can be obtained from an ``IOThread`` using > +``iothread_ref_and_get_aio_context(iothread, holder)``, or from the main loop > +using ``qemu_get_aio_context()``. Code accepting an ``AioContext`` works with > +either event loop. > + > +The holder-aware get registers a holder and takes an IOThread reference.
I suggest ``iothread_ref_and_get_aio_context()`` instead of "The holder-aware get" so it's clear which API you are referring to. > +After the caller has finished using the context, release the reference with > +``iothread_unref_and_put_aio_context()``, passing the same IOThread and an > +equivalent holder. Both calls require the BQL. No matching IOThread put is > +needed for the main loop's context. > + > +``iothread_unsafe_get_aio_context()`` neither registers a holder nor takes a > +reference. It is for legacy callers that ensure the IOThread's lifetime > +themselves; new code must use the holder-aware API. Yes, this looks good. Thanks! > > How to synchronize with an ``IOThread`` > --------------------------------------- > > > When you have a chance, I'd also appreciate your review of the remaining > patches that don't yet have Reviewed-by tags. I will take a look! Stefan
