Unlike host-model, host-passthrough does not do any check, it just passes
"-cpu host" blindly. Therefore, lack of flags can and will result in
crashes---SIGSEGV if it happens in userspace, but worse if for example the
destination doesn't have an MSR that should be there according to the
kernel.
Paolo
Il mar 6 ago 2019, 18:22 Dr. David Alan Gilbert <dgilbert(a)redhat.com> ha
scritto:
* Paolo Bonzini (pbonzini(a)redhat.com) wrote:
> host-passthrough documentation menions that the source and destination
> hosts are not identical in both hardware and configuration.
Configuration
> actually includes microcode version and QEMU version, but this is not
> clear so make it explicit
>
> Signed-off-by: Paolo Bonzini <pbonzini(a)redhat.com>
> ---
> docs/formatdomain.html.in | 12 ++++++------
> 1 file changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/docs/formatdomain.html.in b/docs/formatdomain.html.in
> index f5c882141a..6d084d7c04 100644
> --- a/docs/formatdomain.html.in
> +++ b/docs/formatdomain.html.in
> @@ -1590,8 +1590,8 @@
> hand, the ABI provided to the guest is reproducible. During
> migration, complete CPU model definition is transferred to the
> destination host so the migrated guest will see exactly the
same CPU
> - model even if the destination host contains more capable CPUs
for
> - the running instance of the guest; but shutting down and
restarting
> + model for the running instance of the guest, even if the
destination
> + host contains more capable CPUs or newer kernel; but shutting
down and restarting
> the guest may present different hardware to the guest
according to
> the capabilities of the new host. Prior to libvirt 3.2.0 and
QEMU
> 2.9.0 detection of the host CPU model via QEMU is not
supported.
> @@ -1625,10 +1625,10 @@
> environment cannot be reproduced on different hardware. Thus,
if you
> hit any bugs, you are on your own. Further details of that
CPU can
> be changed using <code>feature</code> elements. Migration of
a guest
> - using host-passthrough is dangerous if the source and
destination
> - hosts are not identical in both hardware and configuration.
If such
> - a migration is attempted then the guest may hang or crash upon
> - resuming execution on the destination host.</dd>
> + using host-passthrough is dangerous if the source and
destination hosts
> + are not identical in both hardware, QEMU version, microcode
version
> + and configuration. If such a migration is attempted then the
guest may
> + hang or crash upon resuming execution on the destination
host.</dd>
If libvirt is driving qemu with 'exact' on the cpu option, under what
situation would it hang/crash on the destination?
All of the microcode changes I think have caused a flag to appear, and
thus it would be required on the destination.
Dave
> </dl>
>
> Both <code>host-model</code> and
<code>host-passthrough</code>
modes
> --
> 2.21.0
>
--
Dr. David Alan Gilbert / dgilbert(a)redhat.com / Manchester, UK