qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH 3/3] balloon: don't use NVDIMM for ballooning


From: Igor Mammedov
Subject: Re: [Qemu-devel] [PATCH 3/3] balloon: don't use NVDIMM for ballooning
Date: Wed, 3 Feb 2016 17:23:17 +0100

On Wed, 03 Feb 2016 16:42:21 +0100
Markus Armbruster <address@hidden> wrote:

> Eric Blake <address@hidden> writes:
> 
> > On 01/27/2016 11:51 PM, Vladimir Sementsov-Ogievskiy wrote:  
> >> NVDIMM for now is planned to use as a backing store for DAX filesystem
> >> in the guest and thus this memory is excluded from guest memory
> >> management and LRUs.
> >> 
> >> In this case libvirt running QEMU along with configured balloon almost
> >> immediately inflates balloon and effectively kill the guest as
> >> qemu counts nvdimm as part of the ram.
> >> 
> >> Counting dimm devices as part of the ram for ballooning was started from
> >> commit 463756d03:
> >>  virtio-balloon: Fix balloon not working correctly when hotplug memory
> >> 
> >> Signed-off-by: Vladimir Sementsov-Ogievskiy <address@hidden>
> >> Signed-off-by: Denis V. Lunev <address@hidden>
> >> CC: Stefan Hajnoczi <address@hidden>
> >> CC: Xiao Guangrong <address@hidden>
> >> CC: "Michael S. Tsirkin" <address@hidden>
> >> CC: Igor Mammedov <address@hidden>
> >> CC: Eric Blake <address@hidden>
> >> CC: Markus Armbruster <address@hidden>
> >> ---  
> >  
> >> @@ -308,7 +309,9 @@ static ram_addr_t get_current_ram_size(void)
> >>          if (value) {
> >>              switch (value->type) {
> >>              case MEMORY_DEVICE_INFO_KIND_DIMM:
> >> -                size += value->u.dimm->size;
> >> +                if (strcmp(value->u.dimm->type, TYPE_NVDIMM)) {  
> >
> > If you fix 2/3 to use a QAPI enum, then this will be an integer compare
> > instead of a strcmp().  
> 
> Another option is to add a flag to the subtypes of TYPE_PC_DIMM, set it
> for the subtypes that should be counted here, and accumulate the sizes
> of devices where the flag is set.  Requires iterating directly over the
> devices here (like qmp_pc_dimm_device_list() does under the hood) rather
> than the MemoryDeviceInfoList returned by qmp_pc_dimm_device_list(),
I'd rather not add flag to TYPE_PC_DIMM state/class as its purely balloon
qemu/guest driver limit and not related to [pc-|nv]in general.
Lets whitelist balloon supported type here.




reply via email to

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