[libvirt] [PATCH] docs: formatdomain: explain host-model/host-passthrough requirements

Paolo Bonzini posted 1 patch 4 years, 7 months ago
Test syntax-check passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/libvirt tags/patchew/20190802125415.15227-1-pbonzini@redhat.com
docs/formatdomain.html.in | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
[libvirt] [PATCH] docs: formatdomain: explain host-model/host-passthrough requirements
Posted by Paolo Bonzini 4 years, 7 months ago
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@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>
         </dl>
 
         Both <code>host-model</code> and <code>host-passthrough</code> modes
-- 
2.21.0

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [PATCH] docs: formatdomain: explain host-model/host-passthrough requirements
Posted by Jonathon Jongsma 4 years, 7 months ago
On Fri, 2019-08-02 at 14:54 +0200, Paolo Bonzini wrote:
> host-passthrough documentation menions that the source and 

Small nit: menions -> mentions

> 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@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>
>          </dl>
>  
>          Both <code>host-model</code> and <code>host-
> passthrough</code> modes

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [PATCH] docs: formatdomain: explain host-model/host-passthrough requirements
Posted by Jiri Denemark 4 years, 7 months ago
On Fri, Aug 02, 2019 at 14:54:15 +0200, Paolo Bonzini 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@redhat.com>
> ---
>  docs/formatdomain.html.in | 12 ++++++------
>  1 file changed, 6 insertions(+), 6 deletions(-)

Reviewed-by: Jiri Denemark <jdenemar@redhat.com>

and pushed, thanks.

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [PATCH] docs: formatdomain: explain host-model/host-passthrough requirements
Posted by Dr. David Alan Gilbert 4 years, 7 months ago
* Paolo Bonzini (pbonzini@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@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@redhat.com / Manchester, UK

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [PATCH] docs: formatdomain: explain host-model/host-passthrough requirements
Posted by Paolo Bonzini 4 years, 7 months ago
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@redhat.com> ha
scritto:

> * Paolo Bonzini (pbonzini@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@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@redhat.com / Manchester, UK
>
--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [PATCH] docs: formatdomain: explain host-model/host-passthrough requirements
Posted by Dr. David Alan Gilbert 4 years, 7 months ago
* Paolo Bonzini (pbonzini@redhat.com) wrote:
> 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.

Ah OK, yes.

Dave

> Paolo
> 
> Il mar 6 ago 2019, 18:22 Dr. David Alan Gilbert <dgilbert@redhat.com> ha
> scritto:
> 
> > * Paolo Bonzini (pbonzini@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@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@redhat.com / Manchester, UK
> >
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list