On Tue, Aug 02, 2016 at 01:58:46PM +0200, David Hildenbrand wrote: [...] > So we have: > a) "query-cpu-model-expansion" - tell us what the "host" or another CPU > model looks like. Either falling back to a static model or > completely exposing all properties.
The query-cpu-model-expansion interface looks good to me. I just had a few comments about the interface documentation. > b) "query-cpu-model-comparison" - tell us how two CPU models compare, > indicating which properties were responsible for the decision. > c) "query-cpu-model-baseline" - create a new model out of two models, > taking a requested level of stability into account. I miss a clearer specifiction of what are the actual requirements and use cases of query-cpu-model-baseline. Is it related to runnability? If so, how exactly? Related to that (as mentioned in my reply to patch 25/29), I would like a clearer definintion of what "superset" and "subset" mean exactly, in query-cpu-model-comparison. Likewise, I would like to understand the requirements and use cases that make "superset" and "subset" useful. > > --------------------------------Libvirt usecase---------------------------- > > Testing for runability: > - Simply try to start QEMU with KVM, compat machine, CPU model > - Could be done using query-cpu-model-comparison in the future. > > Identifying host model, e.g. "virsh capabilities" > - query-cpu-model-expansion on "host" with "-M none --enable-kvm" > > <cpu mode='host-model'>: > - simply copy the identified host model AFAICS, this will work out of the box only if query-cpu-model-expansion {name: "host"} return a static CPU model name in return.model.name. > > <cpu mode='host-passthrough'>: > - "-cpu host" > > "virsh cpu-baseline": > - query-cpu-model-baseline on two models with "-M none" > > "virsh cpu-compare": > - query-cpu-model-comparison on two models with "-M none" > > There might be some cenarios where libvirt wants to convert another CPU > model to a static variant, this can be done using query-cpu-model-expansion > [...] -- Eduardo