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@xxxxxxxxxx> > --- > 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
Attachment:
signature.asc
Description: Digital signature
-- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list