[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