On Fri, Jun 27, 2014 at 10:53:10PM +0200, Michele Paolino wrote:
This patch enables the possibility to run a qemu virtual machine with
the
share option for the memory-backend-file. The xml description looks like:
<memdev type='file' share='on'>
<name>ram0</name>
<source mem-path='/hugetlbfs'/>
<capacity unit='MiB'>1024</capacity>
</memdev>
This work is based on the previous work of Chen Fan[1].
We are aware of the existing conflict with the previous numa patches[2].
We are sharing this because it is a dependency for some use cases of the
qemu vhost-user support(e.g. snabbswitch).
There is one important thing left out. What qemu uses as a memdev
should not be exposed as such (a device) in the XML, that way the
definition makes sense only for people aware of how qemu works, but
we are trying to keep the XML as hypervisor-independent as possible.
Of course only where applicable, many places must have
hypervisor-dependent structures, but I don't think memory device is
one of these exceptions. All the options that qemu aspose as memdev
options should be abstracted in the XML. For example3, we already
have an element in the XML that says "use hugepages as a backing for
memory" and that element should be used for that. I just skimmed the
patches a bit, but it looks like none of the series works with that
information or changes the behaviour based on that.
Martin
[1]
http://www.redhat.com/archives/libvir-list/2014-June/msg01195.html
[2]
http://www.redhat.com/archives/libvir-list/2014-June/msg00201.html
Michele Paolino (2):
Add share argument to memdev devices(type=file)
Documentation and test for the share argument in memdev device
docs/formatdomain.html.in | 7 +++++++
docs/schemas/domaincommon.rng | 3 +++
src/conf/domain_conf.c | 16 ++++++++++++++++
src/conf/domain_conf.h | 1 +
src/qemu/qemu_command.c | 3 +++
tests/qemuxml2argvdata/qemuxml2argv-cpu-numa4.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-cpu-numa4.xml | 2 +-
7 files changed, 32 insertions(+), 2 deletions(-)
--
1.9.3