On Fri, Jan 31, 2020 at 12:02:05PM +0100, Paolo Bonzini wrote: > Il ven 31 gen 2020, 11:36 Peter Maydell <peter.mayd...@linaro.org> ha > scritto:
[...] > The advantage of putting them in the header is that you have them all in > one place (inline functions and structs must be in the header). In practice > that balances for me the disadvantage of having some comments far from the > code they document, which increases the risk of bitrot especially for > comments such as "called with lock X held". > > I definitely agree that the overview/introduction/conventions > > side of things is where we'd benefit most if somebody wanted > > to try to tackle that. We could roll > > https://wiki.qemu.org/Documentation/QOMConventions > > into that if we had a better place to put that info. > > > > I am travelling this weekend so I might try to do some kind of thread > summary and brain dump in the wiki. I'll leave to Kashyap to do the rST > conversion and patch submission. ;-) Thanks! Happy to be the 'scribe' ;-) I have a skeltal qemu-object-model.rst file sitting with some initial content based on various sources, including one of your presentations[*] from 2014. I'll wait for your new Wiki link to incorporate that content. (Minor aside: I'm not sure if this file should be in docs/interop/ dir, which IIRC, is for things that are 'external' interfaces. And I learn that QOM is used both internally in and as an external interface, e.g. whenever a device is being created, machine types, CPU config, etc.) - - - I've re-skimmed your scarily-titled "QOM exegesis and apocalypse" 2014 KVM Forum talk slides[*], where the "Why QOM?" slide says: All device creation, device configuration, backend creation and backed configuration done through a single interface Rigorous support for introspection both of runtime objects and type capabilities Me wonders how much of the above "Why" still holds true today. Although further slides give more clues on what worked and what didn't. I'll wait for fresher details from your upcoming Wiki :-) [*] http://www.linux-kvm.org/images/9/90/Kvmforum14-qom.pdf -- /kashyap