On Thu, Sep 21, 2017 at 01:14:04PM -0400, Laine Stump wrote:
On 09/19/2017 03:37 PM, Eduardo Habkost wrote:
> Cache mode=passthrough can result in a broken cache topology if
> the domain topology is not exactly the same as the host topology.
> Warn about that in the documentation.
>
> Bug report for reference:
>
https://bugzilla.redhat.com/show_bug.cgi?id=1184125
>
> Signed-off-by: Eduardo Habkost <ehabkost(a)redhat.com>
> ---
> docs/formatdomain.html.in | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/docs/formatdomain.html.in b/docs/formatdomain.html.in
> index 57ec2ff34..9c21892f3 100644
> --- a/docs/formatdomain.html.in
> +++ b/docs/formatdomain.html.in
> @@ -1478,7 +1478,9 @@
>
> <dt><code>passthrough</code></dt>
> <dd>The real CPU cache data reported by the host CPU will be
> - passed through to the virtual CPU.</dd>
> + passed through to the virtual CPU. Using this mode is not
> + recommended unless the domain CPU and NUMA topology is exactly
> + the same as the host CPU and NUMA topology.</dd>
To me this sounds like it should be forbidden by libvirt, rather than
just documented as "bad". (I haven't followed any previous discussion on
the topic though, so maybe I'm over-reacting).
mode=passthrough is a bad idea most times, and most people don't
really need it. But if libvirt already supports it, won't its
removal be a regression for people that are already relying on
it?
I will check later if we can make host-cache-info safer in QEMU,
by fixing up the socket/core/thread counts in CPUID instead of
copying it as-is from the host.
--
Eduardo