[libvirt] [PATCH] docs: formatdomain: Note the caveats for CPU policy option "force"

Kashyap Chamarthy kchamart at redhat.com
Fri Jun 22 13:54:29 UTC 2018


On Fri, Jun 22, 2018 at 02:19:52PM +0200, Jiri Denemark wrote:
> On Tue, Jun 12, 2018 at 10:58:46 +0200, Kashyap Chamarthy wrote:

[...]

> > diff --git a/docs/formatdomain.html.in b/docs/formatdomain.html.in
> > index 6912762f28..4d6c3892ee 100644
> > --- a/docs/formatdomain.html.in
> > +++ b/docs/formatdomain.html.in
> > @@ -1566,8 +1566,17 @@
> >  
> >          <dl>
> >            <dt><code>force</code></dt>
> > -          <dd>The virtual CPU will claim the feature is supported regardless
> > -            of it being supported by host CPU.</dd>
> 
> The original content was indented. Also I don't think you're supposed to
> add two <dd> elements after single <dt>.

Hmm, I made a test locally to see it renders as intented.  Because, I
wnated the second paragraph to be on a separate line.

> 
> > +          <dd>The virtual CPU will claim the feature is supported
> > +          regardless of it being supported by host CPU -- this is only
> > +          true for QEMU version older than 2.9.0.
> 
> I'd suggest
> 
>     Libvirt will ask the hypervisor to enable the feature regardless of
>     it being supported by host CPU. The hypervisor will likely ignore
>     this request if the feature is not supported by the host CPU or if
>     it cannot be emulated. In other words, it is useful for features
>     which do not exist in real hardware, such as 'virt-ssbd', or which
>     can be emulated, such as 'x2apic'.

Yes, your wording is much clearer.

> > I.e. when using the
> > +          CPU mode 'host-model', libvirt identifies which CPU features
> > +          to use by looking at host CPUID.  For that to take effect, it
> > +          is mandatory to use <code>force</code> to tell libvirt that a
> > +          said CPU feature must be used despite it not existing in the
> > +          host -- this applicable only for a very limited set of CPU
> > +          features, such as 'x2apic', virt-ssbd' (for AMD CPUs).</dd>
> > +          <dd>However, when using QEMU 2.9.0 and above, there should
> > +          never be any need to use <code>force</code>.</dd>
> 
> What was the motivation behind this change? I find it quite confusing
> that this is supposed to describe 'force' policy and suddenly you're
> talking about host-model CPU mode.

Hmm, re-reading, indeed the flow from the previous sentence to the "I.e.
when using the CPU mode 'host-model'" seems like a non-sequitur.

My intention was to add a note about in which scenarios specifying
'force' makes sense.  IIRC, I learnt from Dan Berrangé that if you are
using a QEMU version that is older than 2.9.0, then 'force' is required
for a guest that needs features that don't exist in the real CPU.  If
you are using QEMU >= 2.9.0, then 'force' is not required.

-- 
/kashyap




More information about the libvir-list mailing list