[libvirt] [RFC] Support for CPUID masking v2

'Jiri Denemark' jdenemar at redhat.com
Mon Sep 14 06:53:13 UTC 2009


> > I'm not sure how to deal with named CPUs suggested by Dan. Either we need
> > to come up with global set of named CPUs and document what they mean or
> > let drivers specify their own named CPUs and advertise them through guest
> > capabilities:
> >     <guest>
> >         ...
> >         <cpu model="NAME">
> >             <feature>NAME</feature>
> >             ...
> >         </cpu>
> >     </guest>
> [IH] you also need to support removing a feature from the base cpu model,
> if it is disabled by bios, like the nx flag).

Indeed, the above XML snippet describes capabilities, that is what features
are turned on by each model name.

...
> > And finally, CPU may be configured in domain XML configuration:
> > 
> > <domain>
> >     ...
> >     <cpu model="NAME">
> >         <topology>
> >             <sockets>NUMBER_OF_SOCKETS</sockets>
> >             <cores>CORES_PER_SOCKET</cores>
> >             <threads>THREADS_PER_CORE</threads>
> >         </topology>
> > 
> >         <feature name="NAME" mode="set|check" value="on|off"/>
> >     </cpu>
> > </domain>
> > 
> > Mode 'check' checks physical CPU for the feature and refuses the domain to
> > start if it doesn't match. VCPU feature is set to the same value. Mode
> > 'set' just sets the VCPU feature.

While here, when configuring a domain, you would use something like

    <cpu model="whatever">
        <feature name="sse6" mode="set" value="off"/>
    </cpu>

to turn off 'sse6' feature which was turned on by selecting CPU model
'whatever'.

Jirka




More information about the libvir-list mailing list