• M
    qemu: Don't use -mem-prealloc among with .prealloc=yes · c658764d
    Michal Privoznik 提交于
    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 for a memory-backend-file.
    However, as it turns out it's not safe to use both at the same
    time. 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).
    
    Prefer -mem-prealloc as it is more backward compatible
    compared to switching to "-numa node,memdev=  + -object
    memory-backend-file".
    Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
    Reviewed-by: NJohn Ferlan <jferlan@redhat.com>
    c658764d
qemu_command.c 356.4 KB