[libvirt] [PATCH] qemu: Allow memAccess for hugepages again
Michal Privoznik
mprivozn at redhat.com
Thu Jun 8 13:42:18 UTC 2017
On 06/06/2017 11:42 AM, Michal Privoznik wrote:
> https://bugzilla.redhat.com/show_bug.cgi?id=1458638
>
> Historically, we've always supported memAccess for domains backed
> by hugepages. However, somewhere along the way we've regressed
> and stopped allowing such configuration. Fix it.
>
> Signed-off-by: Michal Privoznik <mprivozn at redhat.com>
> ---
> src/qemu/qemu_command.c | 4 +-
> .../qemuxml2argv-hugepages-memaccess.args | 38 ++++++++++++++++++
> .../qemuxml2argv-hugepages-memaccess.xml | 45 ++++++++++++++++++++++
> tests/qemuxml2argvtest.c | 1 +
> 4 files changed, 87 insertions(+), 1 deletion(-)
> create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-hugepages-memaccess.args
> create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-hugepages-memaccess.xml
>
> diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
> index 015af1036..2a076301f 100644
> --- a/src/qemu/qemu_command.c
> +++ b/src/qemu/qemu_command.c
> @@ -3361,7 +3361,9 @@ qemuBuildMemoryBackendStr(virJSONValuePtr *backendProps,
> return -1;
>
> if (pagesize || mem->nvdimmPath ||
> - def->mem.source == VIR_DOMAIN_MEMORY_SOURCE_FILE) {
> + def->mem.source == VIR_DOMAIN_MEMORY_SOURCE_FILE ||
> + (memAccess == VIR_DOMAIN_MEMORY_ACCESS_SHARED &&
> + def->mem.nhugepages)) {
> *backendType = "memory-backend-file";
>
> if (mem->nvdimmPath) {
Self NACK. We need a better fix. Basically, whenever memAccess is
something else than default, we have to use memory-backend-file as
that's the only device that allows setting `share` attribute.
Michal
More information about the libvir-list
mailing list