Am 11.06.19 um 12:31 schrieb Paolo Bonzini: > On 11/06/19 10:56, Markus Armbruster wrote: >> Yes, this is how introspection (both QMP and QOM) is commonly used. >> Just keep in mind one difference: QMP is static, QOM is dynamic. >> >> QMP being static means it's defined at compile time. So is the value of >> query-qmp-schema. Same QEMU build, same value. This permits caching. >> >> QOM being dynamic means to introspect an object's properties, you have >> to create it. Worse, an object's properties may (in theory) change at >> any time. *Properties*, not just property *values*. In practice, I'd >> expect properties to change only at realize time. > > Right, and we should move more towards class-based properties so that > the dynamic nature of QOM is only used for the bare minimum needed (e.g. > memory regions).
I believe it was Paolo who once reminded me that all child<> properties are dynamic. And link<> properties for bus devices are also dynamic. I don't see a good way around that. Regards, Andreas -- SUSE Linux GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Felix Imendörffer, Mary Higgins, Sri Rasiah HRB 21284 (AG Nürnberg)