[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH RFC 0/8] cpus: make "-cpu cpux, features" global
Re: [Qemu-devel] [PATCH RFC 0/8] cpus: make "-cpu cpux, features" global properties
Fri, 3 Jun 2016 14:14:26 +0200
> On Thu, Jun 02, 2016 at 22:44:49 +0200, David Hildenbrand wrote:
> > > Current CLI option -cpu cpux,features serves as template
> > > for all created cpus of type: cpux. However QEMU parses
> > > "features" every time it creates a cpu instance and applies
> > > them to it while doing parsing.
> > >
> > > That doesn't work well with -device/device_add infrastructure
> > > as it has no idea about cpu specific hooks that's used for
> > > parsing "features".
> > > In order to make -device/device_add utilize "-cpu features"
> > > template convert it into a set of global properties, so that
> > > every new CPU created will have them applied automatically.
> > >
> > > That also allows to parse features only once, instread of
> > > doing it for every CPU instance created.
> > While I think this makes sense for most cases, we (s390x) are
> > currently working on a mechanism to compare and baseline cpu models via
> > a qmp interface, to not have to replicate CPU models in libvirt
> > every time we do some changes.
> BTW, we don't replicate any change to QEMU CPU models in libvirt. We
> merely add new CPU models that match the current QEMU definition.
> Existing CPU models are never changed. And while the CPU models are
> currently used to check compatibility with host CPU, we will stop doing
> that in the near future and our CPU models will mostly be used for
> detecting what the host CPU is.
thanks for that info!
unfortunately we will have to perform changes to the cpu models.
On z we have various cpu features that are confidential and only
added over time, although they are around for quite some time.
And we have features that are not implemented yet by KVM and will not
be implemented in the near future.
Therefore we will be adding features to our "flexible models"
while keeping migration safe variants with base features stable.
Some day in the future, we will also have all features around :)
Another problematic thing for us is, that we really have to rely
on a host cpu model detection using KVM. The features that
are visible in user space (similar to cpuid()) don't give any
guarantees to what we are able to virtualize.
- [Qemu-devel] [PATCH RFC 7/8] arm: virt: parse cpu_model only once, (continued)
- [Qemu-devel] [PATCH RFC 8/8] pc: parse cpu features only once, Igor Mammedov, 2016/06/01
- Re: [Qemu-devel] [PATCH RFC 0/8] cpus: make "-cpu cpux, features" global properties, Peter Maydell, 2016/06/01
- Re: [Qemu-devel] [PATCH RFC 0/8] cpus: make "-cpu cpux, features" global properties, David Hildenbrand, 2016/06/02
- Message not available
- Message not available
- Re: [Qemu-devel] [PATCH RFC 0/8] cpus: make "-cpu cpux, features" global properties, Eduardo Habkost, 2016/06/03
- Re: [Qemu-devel] [PATCH RFC 0/8] cpus: make "-cpu cpux, features" global properties, David Hildenbrand, 2016/06/06