[libvirt] [PATCH] PowerPC : Do not allow an empty model spec for 'host-model'

Ján Tomko jtomko at redhat.com
Fri Mar 20 11:42:29 UTC 2015


On Fri, Mar 20, 2015 at 03:25:45PM +0530, Prerna Saxena wrote:
> 
> On Friday 20 March 2015 01:51 PM, Ján Tomko wrote:
> > On Mon, Mar 16, 2015 at 04:56:49PM +0530, Prerna Saxena wrote:
> >> [PATCH] PowerPC : Do not allow an empty model spec for 'host-model'
> >>
> >> On PowerPC, a guest VM having CPU mode as 'host-model'
> >> represents a 'compat' mode VM. This cannot have a NULL
> >> CPU model.
> > I thought the compat= mode was only used when mode == HOST_MODEL
> > and a model is specified. And HOST_MODEL with no model behaves like on
> > x86_64 - copies the features from the host capabilities.
> >
> > Was this functionality broken by commit addce06 or did it never produce
> > useful results?
> >
> > Jan
> > --
> > libvir-list mailing list
> > libvir-list at redhat.com
> > https://www.redhat.com/mailman/listinfo/libvir-list
> Hi Jan,
> 
> This commit does not break anything. It addresses a few corner cases not completely addressed by commits addce06 & 5e4f49ab8aa2.
> PowerPC pseries KVM is a paravirtualized platform, wherein there are only 2 allowed vcpu configurations of running a guest :
> 1) Native mode, where the guest sees the same vcpu model as the host -- this is reflected in libvirt by "host-passthrough" mode;
> 2) Compat mode, where the physical processor itself runs in binary compatibility with an older cpu model. This is marked in libvirt by "host-model" mode, which takes on an additional argument -- the
> guest CPU model which needs to be run. This was introduced by commit  addce06.
> 

I see now that neither libvirt nor QEMU have feature flags for PPC.
But there are other machine types than pseries on PPC, some of them
might want host-model to generate a -cpu argument, not -cpu compat=.

> PowerKVM, being a paravirt platform, does not emulate a guest vcpu based on features copied from host. This behaviour is unlike x86 KVM. Hence , the host-model mode on PowerKVM needs to error out in
> case the model which needs to be run in binary compatibility is not specified by user.

Instead of erroring out, can it be filled with a sensible value?
E.g. on a POWER8 host we fill it out with <model>POWER8</model>.

> The reason for this commit was a bug seen even after 5e4f49ab8aa2. A null cpu model XML was causing an incorrect "best-fit" model (just like x86) to be passed to the VM after a save/restore. Hence the
> need for this check.

So even though the correct model was specified, cpuUpdate removes it
after restore? It would be nice to mention that in the commit message.

Jan
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20150320/304c30dd/attachment-0001.sig>


More information about the libvir-list mailing list