[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 1/2] Revert "pc: memhp: force gaps between DIMM'
From: |
Igor Mammedov |
Subject: |
Re: [Qemu-devel] [PATCH 1/2] Revert "pc: memhp: force gaps between DIMM's GPA" |
Date: |
Thu, 29 Oct 2015 11:31:57 +0100 |
On Wed, 28 Oct 2015 18:57:00 +0200
"Michael S. Tsirkin" <address@hidden> 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 <address@hidden>
Reviewed-by: Igor Mammedov <address@hidden>
> ---
> 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);
> }
>