
On Mon, Jan 30, 2017 at 11:38:08AM +0000, Daniel P. Berrange wrote:
On Sat, Jan 28, 2017 at 03:03:16PM +0100, Michal Privoznik wrote:
On 13.12.2016 13:12, Jaroslav Safka wrote:
This patch add support for file memory backing on numa topology.
The specified access mode in memoryBacking can be overriden by specifying token memAccess in numa cell. --- src/qemu/qemu_command.c | 113 ++++++++++++++------- .../qemuxml2argv-fd-memory-no-numa-topology.args | 21 ++++ .../qemuxml2argv-fd-memory-no-numa-topology.xml | 27 +++++ .../qemuxml2argv-fd-memory-numa-topology.args | 24 +++++ .../qemuxml2argv-fd-memory-numa-topology.xml | 30 ++++++ .../qemuxml2argv-fd-memory-numa-topology2.args | 26 +++++ .../qemuxml2argv-fd-memory-numa-topology2.xml | 31 ++++++ .../qemuxml2argv-fd-memory-numa-topology3.args | 30 ++++++ .../qemuxml2argv-fd-memory-numa-topology3.xml | 32 ++++++ tests/qemuxml2argvtest.c | 12 ++- tests/qemuxml2xmltest.c | 1 - 11 files changed, 308 insertions(+), 39 deletions(-) create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-fd-memory-no-numa-topology.args create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-fd-memory-no-numa-topology.xml create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-fd-memory-numa-topology.args create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-fd-memory-numa-topology.xml create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-fd-memory-numa-topology2.args create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-fd-memory-numa-topology2.xml create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-fd-memory-numa-topology3.args create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-fd-memory-numa-topology3.xml
A lot of tests. Impressive.
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 7d186d2..a897ed5 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -3315,15 +3315,11 @@ qemuBuildMemoryBackendStr(unsigned long long size, if (!(props = virJSONValueNewObject())) return -1;
- if (pagesize) { - if (qemuGetDomainHupageMemPath(def, cfg, pagesize, &mem_path) < 0) - goto cleanup; - + if (def->mem.source == VIR_DOMAIN_MEMORY_SOURCE_FILE) { *backendType = "memory-backend-file";
if (virJSONValueObjectAdd(props, - "b:prealloc", true, - "s:mem-path", mem_path, + "s:mem-path", cfg->libDir,
Really? cfg->libDir should stay intact. Should QEMU need to create a file, something cfg->stateDir based is probably more suitable. Or even some /tmp/ based path. Or am I misunderstanding something?
You don't want multi-GB files created in /tmp, nor cfg->stateDir which is also on tmpfs
We should probably add a new option into qemu.conf which will configure the path where those files will be stored. It's not user friendly if you cannot change the default path. Pavel