pc: count in 1Gb hugepage alignment when sizing hotplug-memory container
commit085f8e88ba73b7ff80298b0085f6e615d3b5c45f
authorIgor Mammedov <imammedo@redhat.com>
Fri, 31 Oct 2014 16:38:42 +0000 (31 16:38 +0000)
committerMichael S. Tsirkin <mst@redhat.com>
Mon, 24 Nov 2014 18:57:10 +0000 (24 20:57 +0200)
tree79425a9f70b4e272a94ab2c8f8b2b038fee001c1
parentb03541fa7722d64a1c961a8467d778d7e086a933
pc: count in 1Gb hugepage alignment when sizing hotplug-memory container

if DIMMs with different size/alignment are interleaved
in creation order, it could lead to hotplug-memory
container fragmentation and following inability to use
all RAM upto maxmem.
For example:
    -m 4G,slots=3,maxmem=7G
    -object memory-backend-file,id=mem-1,size=256M,mem-path=/pagesize-2MB
    -device pc-dimm,id=mem1,memdev=mem-1
    -object memory-backend-file,id=mem-2,size=1G,mem-path=/pagesize-1GB
    -device pc-dimm,id=mem2,memdev=mem-2
    -object memory-backend-file,id=mem-3,size=256M,mem-path=/pagesize-2MB
    -device pc-dimm,id=mem3,memdev=mem-3

fragments hotplug-memory container and doesn't allow
to use 1GB hugepage backend to consume remainig 1Gb.

To ease managment factor count in max 1Gb alignment for
each memory slot when sizing hotplug-memory region so
that regadless of fragmentaion it would be possible to
add max aligned DIMM.

Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
hw/i386/pc.c