[libvirt] [PATCH] qemu: Don't use -mem-prealloc among with .prealloc=yes

John Ferlan jferlan at redhat.com
Tue Dec 11 17:59:21 UTC 2018



On 11/29/18 9:58 AM, Michal Privoznik wrote:
> On 11/5/18 3:49 PM, Michal Privoznik wrote:
>> https://bugzilla.redhat.com/show_bug.cgi?id=1624223
>>
>> There are two ways to request memory preallocation on cmd line:
>> -mem-prealloc and .prealloc attribute to memory-backend-file.
>> However, as it turns out it's not safe to use both at the same
>> time. Prefer -mem-prealloc as it is more backward compatible
>> compared to switching to "-numa node,memdev=  + -object
>> memory-backend-file".
>>
>> Signed-off-by: Michal Privoznik <mprivozn at redhat.com>
>> ---
>>  src/qemu/qemu_command.c                       | 37 +++++++++++++------
>>  src/qemu/qemu_command.h                       |  1 +
>>  src/qemu/qemu_domain.c                        |  2 +
>>  src/qemu/qemu_domain.h                        |  3 ++
>>  src/qemu/qemu_hotplug.c                       |  3 +-
>>  .../hugepages-numa-default-dimm.args          |  2 +-
>>  6 files changed, 35 insertions(+), 13 deletions(-)
> 
> Ping?
> 

Sorry, the faster I pedal the bicycle the further I get behind the train
:-).  Still is what you're asking "is the patch in it's current form OK"
- in general, I think so, although given what you've learned and
comments already provided - can you update and repost just for
completeness...

Tks

John


> After some discussion with QEMU devels, I found out that this might be
> harmful/suboptimal. Thing is, if -mem-prealloc is used then qemu will
> fully allocate the memory (this is done by actually touching every page
> that has been allocated). Then, if .prealloc=yes is specified,
> mbind(flags = MPOL_MF_STRICT | MPOL_MF_MOVE) is called which:
> 
> a) has to (possibly) move the memory to a different NUMA node,
> b) can have no effect when hugepages are in play (thus ignoring user
> request to place memory on desired NUMA nodes).
> 
> While I could live with a), I couldn't with b). The patch is still valid.
> 
> Michal
> 
> --
> libvir-list mailing list
> libvir-list at redhat.com
> https://www.redhat.com/mailman/listinfo/libvir-list
> 




More information about the libvir-list mailing list