Eduardo Habkost <ehabk...@redhat.com> writes: > This series adds 'abstract' and 'parent-types' fields to the > output of qom-list-types.
Peeking at PATCH 3, it looks like 'parent-types' is the transitive closure of the single direct parent type (TypeImpl member parent_type). Do we need information on interfaces as well? > For reference, below are the sizes of the output of > "qom-list-types abstract=true" on qemu-system-x86_64, before and > after applying the patches: > > * before: 11724 bytes > * with 'abstract' field: 20119 bytes > * with 'abstract' and 'parent-types': 44383 bytes Obvious ways to save space: * Make 'abstract' optional, default to false, present only when necessary (79 out of 456 times right now) * Pare down 'parent-types' to *direct* parent types. The indirect ones are redundant. A less obvious way: * 'parent-types' defines a relation with adjacency lists. If the relation is tree-shaped, we can send the tree instead, i.e. a tree of device names rather than list of (device name, adjacency list). New command unless we're willing to break qom-list-types. > I'm not sure if extending qom-list-types with this info is the > right way to go, or if we should keep qom-list-types as-is and > add a new "query-qom-type" QMP command to query info on one QOM > type at a time. Might lead to more traffic rather than less. Depends on what information the client needs to query.