diff mbox

[1/2] Revert "pc: memhp: force gaps between DIMM's GPA"

Message ID 1446051411-7363-1-git-send-email-mst@redhat.com
State New
Headers show

Commit Message

Michael S. Tsirkin Oct. 28, 2015, 4:57 p.m. UTC
This reverts commit aa8580cddf011e8cedcf87f7a0fdea7549fc4704.

As described in
http://article.gmane.org/gmane.comp.emulators.qemu/371432
that commit causes linux guests to crash on memory hot-unplug.

The original problem it's trying to solve has now
been addressed within virtio.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
---
 include/hw/i386/pc.h | 1 -
 hw/i386/pc.c         | 6 ++----
 hw/i386/pc_piix.c    | 1 -
 hw/i386/pc_q35.c     | 1 -
 4 files changed, 2 insertions(+), 7 deletions(-)

Comments

Igor Mammedov Oct. 29, 2015, 10:31 a.m. UTC | #1
On Wed, 28 Oct 2015 18:57:00 +0200
"Michael S. Tsirkin" <mst@redhat.com> wrote:

> This reverts commit aa8580cddf011e8cedcf87f7a0fdea7549fc4704.
> 
> As described in
> http://article.gmane.org/gmane.comp.emulators.qemu/371432
> that commit causes linux guests to crash on memory hot-unplug.
> 
> The original problem it's trying to solve has now
> been addressed within virtio.
> 
> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>

> ---
>  include/hw/i386/pc.h | 1 -
>  hw/i386/pc.c         | 6 ++----
>  hw/i386/pc_piix.c    | 1 -
>  hw/i386/pc_q35.c     | 1 -
>  4 files changed, 2 insertions(+), 7 deletions(-)
> 
> diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h
> index c5961d7..93c6dab 100644
> --- a/include/hw/i386/pc.h
> +++ b/include/hw/i386/pc.h
> @@ -60,7 +60,6 @@ struct PCMachineClass {
>  
>      /*< public >*/
>      bool broken_reserved_end;
> -    bool inter_dimm_gap;
>      HotplugHandler *(*get_hotplug_handler)(MachineState *machine,
>                                             DeviceState *dev);
>  };
> diff --git a/hw/i386/pc.c b/hw/i386/pc.c
> index 208f553..b1800fc 100644
> --- a/hw/i386/pc.c
> +++ b/hw/i386/pc.c
> @@ -1614,7 +1614,6 @@ static void pc_dimm_plug(HotplugHandler
> *hotplug_dev, HotplugHandlerClass *hhc;
>      Error *local_err = NULL;
>      PCMachineState *pcms = PC_MACHINE(hotplug_dev);
> -    PCMachineClass *pcmc = PC_MACHINE_GET_CLASS(pcms);
>      PCDIMMDevice *dimm = PC_DIMM(dev);
>      PCDIMMDeviceClass *ddc = PC_DIMM_GET_CLASS(dimm);
>      MemoryRegion *mr = ddc->get_memory_region(dimm);
> @@ -1630,8 +1629,8 @@ static void pc_dimm_plug(HotplugHandler
> *hotplug_dev, goto out;
>      }
>  
> -    pc_dimm_memory_plug(dev, &pcms->hotplug_memory, mr, align,
> -                        pcmc->inter_dimm_gap, &local_err);
> +    pc_dimm_memory_plug(dev, &pcms->hotplug_memory, mr, align, false,
> +                        &local_err);
>      if (local_err) {
>          goto out;
>      }
> @@ -1951,7 +1950,6 @@ static void pc_machine_class_init(ObjectClass
> *oc, void *data) PCMachineClass *pcmc = PC_MACHINE_CLASS(oc);
>      HotplugHandlerClass *hc = HOTPLUG_HANDLER_CLASS(oc);
>  
> -    pcmc->inter_dimm_gap = true;
>      pcmc->get_hotplug_handler = mc->get_hotplug_handler;
>      mc->get_hotplug_handler = pc_get_hotpug_handler;
>      mc->cpu_index_to_socket_id = pc_cpu_index_to_socket_id;
> diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
> index 0eacde1..153a445 100644
> --- a/hw/i386/pc_piix.c
> +++ b/hw/i386/pc_piix.c
> @@ -482,7 +482,6 @@ static void
> pc_i440fx_2_4_machine_options(MachineClass *m) m->alias = NULL;
>      m->is_default = 0;
>      pcmc->broken_reserved_end = true;
> -    pcmc->inter_dimm_gap = false;
>      SET_MACHINE_COMPAT(m, PC_COMPAT_2_4);
>  }
>  
> diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c
> index 3744abd..2f8f396 100644
> --- a/hw/i386/pc_q35.c
> +++ b/hw/i386/pc_q35.c
> @@ -385,7 +385,6 @@ static void
> pc_q35_2_4_machine_options(MachineClass *m)
> pc_q35_2_5_machine_options(m); m->alias = NULL;
>      pcmc->broken_reserved_end = true;
> -    pcmc->inter_dimm_gap = false;
>      SET_MACHINE_COMPAT(m, PC_COMPAT_2_4);
>  }
>
diff mbox

Patch

diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h
index c5961d7..93c6dab 100644
--- a/include/hw/i386/pc.h
+++ b/include/hw/i386/pc.h
@@ -60,7 +60,6 @@  struct PCMachineClass {
 
     /*< public >*/
     bool broken_reserved_end;
-    bool inter_dimm_gap;
     HotplugHandler *(*get_hotplug_handler)(MachineState *machine,
                                            DeviceState *dev);
 };
diff --git a/hw/i386/pc.c b/hw/i386/pc.c
index 208f553..b1800fc 100644
--- a/hw/i386/pc.c
+++ b/hw/i386/pc.c
@@ -1614,7 +1614,6 @@  static void pc_dimm_plug(HotplugHandler *hotplug_dev,
     HotplugHandlerClass *hhc;
     Error *local_err = NULL;
     PCMachineState *pcms = PC_MACHINE(hotplug_dev);
-    PCMachineClass *pcmc = PC_MACHINE_GET_CLASS(pcms);
     PCDIMMDevice *dimm = PC_DIMM(dev);
     PCDIMMDeviceClass *ddc = PC_DIMM_GET_CLASS(dimm);
     MemoryRegion *mr = ddc->get_memory_region(dimm);
@@ -1630,8 +1629,8 @@  static void pc_dimm_plug(HotplugHandler *hotplug_dev,
         goto out;
     }
 
-    pc_dimm_memory_plug(dev, &pcms->hotplug_memory, mr, align,
-                        pcmc->inter_dimm_gap, &local_err);
+    pc_dimm_memory_plug(dev, &pcms->hotplug_memory, mr, align, false,
+                        &local_err);
     if (local_err) {
         goto out;
     }
@@ -1951,7 +1950,6 @@  static void pc_machine_class_init(ObjectClass *oc, void *data)
     PCMachineClass *pcmc = PC_MACHINE_CLASS(oc);
     HotplugHandlerClass *hc = HOTPLUG_HANDLER_CLASS(oc);
 
-    pcmc->inter_dimm_gap = true;
     pcmc->get_hotplug_handler = mc->get_hotplug_handler;
     mc->get_hotplug_handler = pc_get_hotpug_handler;
     mc->cpu_index_to_socket_id = pc_cpu_index_to_socket_id;
diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
index 0eacde1..153a445 100644
--- a/hw/i386/pc_piix.c
+++ b/hw/i386/pc_piix.c
@@ -482,7 +482,6 @@  static void pc_i440fx_2_4_machine_options(MachineClass *m)
     m->alias = NULL;
     m->is_default = 0;
     pcmc->broken_reserved_end = true;
-    pcmc->inter_dimm_gap = false;
     SET_MACHINE_COMPAT(m, PC_COMPAT_2_4);
 }
 
diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c
index 3744abd..2f8f396 100644
--- a/hw/i386/pc_q35.c
+++ b/hw/i386/pc_q35.c
@@ -385,7 +385,6 @@  static void pc_q35_2_4_machine_options(MachineClass *m)
     pc_q35_2_5_machine_options(m);
     m->alias = NULL;
     pcmc->broken_reserved_end = true;
-    pcmc->inter_dimm_gap = false;
     SET_MACHINE_COMPAT(m, PC_COMPAT_2_4);
 }