[v2,3/3] pc: Disable vmdesc submission for old machines
diff mbox

Message ID 1424696203-76895-4-git-send-email-agraf@suse.de
State New
Headers show

Commit Message

Alexander Graf Feb. 23, 2015, 12:56 p.m. UTC
Older PC machine types might by accident be backwards live migration compatible,
but with the new vmdesc self-describing blob in our live migration stream we
would break that compatibility.

Also users wouldn't expect massive behaviorial differences when updating to a
new version of QEMU while retaining their old machine type, especially not
potential breakage in tooling around live migration.

So disable vmdesc submission for old PC machine types.

Signed-off-by: Alexander Graf <agraf@suse.de>
---
 hw/i386/pc_piix.c | 1 +
 hw/i386/pc_q35.c  | 1 +
 2 files changed, 2 insertions(+)

Comments

Dr. David Alan Gilbert March 4, 2015, 11:53 a.m. UTC | #1
* Alexander Graf (agraf@suse.de) wrote:
> Older PC machine types might by accident be backwards live migration compatible,
> but with the new vmdesc self-describing blob in our live migration stream we
> would break that compatibility.
> 
> Also users wouldn't expect massive behaviorial differences when updating to a
> new version of QEMU while retaining their old machine type, especially not
> potential breakage in tooling around live migration.
> 
> So disable vmdesc submission for old PC machine types.
> 
> Signed-off-by: Alexander Graf <agraf@suse.de>

Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>

(I'm leaving 2/3 for someone more familiar with -machine)

Dave

> ---
>  hw/i386/pc_piix.c | 1 +
>  hw/i386/pc_q35.c  | 1 +
>  2 files changed, 2 insertions(+)
> 
> diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
> index 38b42b0..35bc377 100644
> --- a/hw/i386/pc_piix.c
> +++ b/hw/i386/pc_piix.c
> @@ -332,6 +332,7 @@ static void pc_compat_2_2(MachineState *machine)
>                                  CPUID_7_0_EBX_HLE | CPUID_7_0_EBX_RTM, 0);
>      x86_cpu_compat_set_features("Broadwell", FEAT_7_0_EBX,
>                                  CPUID_7_0_EBX_HLE | CPUID_7_0_EBX_RTM, 0);
> +    machine->suppress_vmdesc = true;
>  }
>  
>  static void pc_compat_2_1(MachineState *machine)
> diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c
> index 63027ee..1305eb0 100644
> --- a/hw/i386/pc_q35.c
> +++ b/hw/i386/pc_q35.c
> @@ -311,6 +311,7 @@ static void pc_compat_2_2(MachineState *machine)
>                                  CPUID_7_0_EBX_HLE | CPUID_7_0_EBX_RTM, 0);
>      x86_cpu_compat_set_features("Broadwell", FEAT_7_0_EBX,
>                                  CPUID_7_0_EBX_HLE | CPUID_7_0_EBX_RTM, 0);
> +    machine->suppress_vmdesc = true;
>  }
>  
>  static void pc_compat_2_1(MachineState *machine)
> -- 
> 1.7.12.4
> 
> 
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK

Patch
diff mbox

diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
index 38b42b0..35bc377 100644
--- a/hw/i386/pc_piix.c
+++ b/hw/i386/pc_piix.c
@@ -332,6 +332,7 @@  static void pc_compat_2_2(MachineState *machine)
                                 CPUID_7_0_EBX_HLE | CPUID_7_0_EBX_RTM, 0);
     x86_cpu_compat_set_features("Broadwell", FEAT_7_0_EBX,
                                 CPUID_7_0_EBX_HLE | CPUID_7_0_EBX_RTM, 0);
+    machine->suppress_vmdesc = true;
 }
 
 static void pc_compat_2_1(MachineState *machine)
diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c
index 63027ee..1305eb0 100644
--- a/hw/i386/pc_q35.c
+++ b/hw/i386/pc_q35.c
@@ -311,6 +311,7 @@  static void pc_compat_2_2(MachineState *machine)
                                 CPUID_7_0_EBX_HLE | CPUID_7_0_EBX_RTM, 0);
     x86_cpu_compat_set_features("Broadwell", FEAT_7_0_EBX,
                                 CPUID_7_0_EBX_HLE | CPUID_7_0_EBX_RTM, 0);
+    machine->suppress_vmdesc = true;
 }
 
 static void pc_compat_2_1(MachineState *machine)