[libvirt] [PATCH 2/2] qemuBuildMemoryBackendStr: Honour passed @pagesize
Peter Krempa
pkrempa at redhat.com
Fri Jun 26 06:26:14 UTC 2015
On Thu, Jun 25, 2015 at 18:13:03 +0200, Michal Privoznik wrote:
> So far the argument has not much meaning and was practically ignored.
> This is not good since when doing memory hotplug, the size of desired
> hugepage backing is passed in that argument. Taking closer look at the
> tests I'm fixing reveals the bug. For instance, while the following is
> in the test:
>
> <memory model='dimm'>
> <source>
> <nodemask>1-3</nodemask>
> <pagesize unit='KiB'>4096</pagesize>
> </source>
> <target>
> <size unit='KiB'>524287</size>
> <node>0</node>
> </target>
> <address type='dimm' slot='0' base='0x100000000'/>
> </memory>
>
> the generated commandline corresponding to this XML was:
>
> -object memory-backend-ram,id=memdimm0,size=536870912,\
> host-nodes=1-3,policy=bind
>
> Have you noticed? Yes, memory-backend-ram! Nothing can be further away
> from the right answer. The hugepage backing is requested in the XML
> and we happily ignore it. This is just not right. It's
> memory-backend-file which should have been used:
>
> -object memory-backend-file,id=memdimm0,prealloc=yes,\
> mem-path=/dev/hugepages4M/libvirt/qemu,size=536870912,\
> host-nodes=1-3,policy=bind
>
> The problem is, that @pagesize passed to qemuBuildMemoryBackendStr
> (where this part of commandline is built) was ignored. The hugepage to
> back memory was searched only and only by NUMA nodes pinning. This
> works only for regular guest NUMA nodes.
>
> Then, I'm changing the hugepages size in the test XMLs too. This is
> simply because in the test suite we create dummy mount points just for
> 2M and 1G hugepages. And in the test 4M was requested. I'm sticking to
> 2M, but 1G should just work too.
>
> Signed-off-by: Michal Privoznik <mprivozn at redhat.com>
> ---
> src/qemu/qemu_command.c | 28 ++++++++++++----------
> .../qemuxml2argv-hugepages-numa.args | 5 +++-
> .../qemuxml2argv-hugepages-numa.xml | 11 +++++++++
> .../qemuxml2argv-memory-hotplug-dimm-addr.args | 4 ++--
> .../qemuxml2argv-memory-hotplug-dimm-addr.xml | 2 +-
> .../qemuxml2argv-memory-hotplug-dimm.args | 4 ++--
> .../qemuxml2argv-memory-hotplug-dimm.xml | 2 +-
> tests/qemuxml2argvtest.c | 8 ++++---
> 8 files changed, 42 insertions(+), 22 deletions(-)
>
ACK,
Peter
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20150626/0bc878eb/attachment-0001.sig>
More information about the libvir-list
mailing list