On Mon, May 11, 2020 at 07:09:47PM +0300, Maxim Levitsky wrote: > diff --git a/include/hw/qdev-core.h b/include/hw/qdev-core.h > index d87d989e72..ef47cb2d9c 100644 > --- a/include/hw/qdev-core.h > +++ b/include/hw/qdev-core.h > @@ -3,6 +3,8 @@ > > #include "qemu/queue.h" > #include "qemu/bitmap.h" > +#include "qemu/rcu.h" > +#include "qemu/rcu_queue.h" > #include "qom/object.h" > #include "hw/hotplug.h" > #include "hw/resettable.h" > @@ -230,6 +232,7 @@ struct BusClass { > }; > > typedef struct BusChild { > + struct rcu_head rcu; > DeviceState *child; > int index; > QTAILQ_ENTRY(BusChild) sibling; Please add a doc comment to struct BusState saying the children field is an RCU QTAILQ and writers must hold the QEMU global mutex. Stefan