qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v2 0/3] fix bug about balloon working incorrectl


From: Michael S. Tsirkin
Subject: Re: [Qemu-devel] [PATCH v2 0/3] fix bug about balloon working incorrectly when hotplug memeory
Date: Mon, 17 Nov 2014 14:40:22 +0200

On Mon, Nov 17, 2014 at 08:25:14PM +0800, zhanghailiang wrote:
> On 2014/11/17 18:53, zhanghailiang wrote:
> >On 2014/11/17 18:39, Michael S. Tsirkin wrote:
> >>On Mon, Nov 17, 2014 at 01:11:07PM +0800, zhanghailiang wrote:
> >>>Hi,
> >>>
> >>>Patch 1 and 2 mainly fix bug about balloon not working correctly when we do
> >>>hotplug memory. It takes 'ram_size' as VM's real RAM size which is wrong
> >>>after we hotplug memory.
> >>>
> >>>This bug exists since we begin to support hotplug memory, and it is better
> >>>to fix it.
> >>>
> >>>Patch 3 add some trace events, it helps debugging balloon. If it is 
> >>>unnecessary,
> >>>pls feel free to remove it.
> >>>
> >>>Thanks,
> >>>zhanghailiang
> >>
> >>What about other users of ram_size?
> >>Are they all incorrect?
> >>
> >
> >pc-dimm is only supported in x86 target now, and i am not quite sure if 
> >hotplug
> >memory will break migration. I'll look into it. Thanks.
> >
> 
> Hi Michael,
> 
> I have made a global search in qemu code, ram_size is used mostly for VM's
> startup initialization, I think it's all OK except virtio-balloon and
> function vmport_cmd_ram_size (I'm not sure about this place :( ).

Comment out ram_size in header, and see what breaks.


> But, Unfortunately, hotplug memory action breaks migration. :(
> I have made a simple test about this:
> 
> Source:
> # start VM
> # hotplug memory:
> object_add memory-backend-ram,id=ram1,size=1024M,host-nodes=0,policy=bind
> device_add pc-dimm,id=dimm1,memdev=ram1
> # migrate VM to Destination
> 
> Destination:
> # qemu-system-x86_64: Unknown ramblock "ram1", cannot accept migration
> qemu: warning: error while loading state for instance 0x0 of device 'ram'
> qemu-system-x86_64: load of migration failed: Invalid argument
> 
> *further test*:
> hot-add CPU also break migration and reports error in destination:
> 'Unknown savevm section or instance 'cpu_common' 4
> qemu-system-x86_64: load of migration failed: Invalid argument'
> 
> I think we should support migration after hotplug memory/CPU action,
> what's your opinion? ;)

You must configure identical hardware on source and
destination.
This means that after adding memory on source, you
must specify it (on command line) for destination.

> I will try to fix these two problems.
> 
> Thanks,
> zhanghailiang
> >>>v2:
> >>>- fix compiling break for other targets that don't support pc-dimm
> >>>
> >>>zhanghailiang (3):
> >>>   pc-dimm: add a function to calculate VM's current RAM size
> >>>   virtio-balloon: Fix balloon not working correctly when hotplug memory
> >>>   virtio-balloon: Add some trace events
> >>>
> >>>  hw/mem/pc-dimm.c                | 26 ++++++++++++++++++++++++++
> >>>  hw/virtio/virtio-balloon.c      | 21 +++++++++++++++------
> >>>  include/exec/cpu-common.h       |  1 +
> >>>  stubs/qmp_pc_dimm_device_list.c |  5 +++++
> >>>  trace-events                    |  4 ++++
> >>>  5 files changed, 51 insertions(+), 6 deletions(-)
> >>>
> >>>--
> >>>1.7.12.4
> >>>
> >>
> >>.
> >>
> >
> >
> >
> >
> >
> 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]