[libvirt] [PATCH] qemu: Make sure shmem memory is shared
lhuang
lhuang at redhat.com
Thu Nov 10 08:57:10 UTC 2016
I have test this patch, and it works well.
After this patch, Libvirt can generate share=yes in ivshmem-plain memory
backend command line:
# ps aux|grep r7
...
-object
memory-backend-file,id=shmmem-shmem0,mem-path=/dev/shm/my_shmem1,size=4194304,share=yes
-device ivshmem-plain,id=shmem0,memdev=shmmem-shmem0,bus=pci.0,addr=0x7
...
BR,
Luyao
On 11/10/2016 03:32 PM, Martin Kletzander wrote:
> Even though using /dev/shm/asdf as the backend, we still need to make
> the mapping shared. The original patch forgot to add that parameter.
>
> Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1392031
>
> Signed-off-by: Martin Kletzander <mkletzan at redhat.com>
> ---
> src/qemu/qemu_command.c | 1 +
> tests/qemuxml2argvdata/qemuxml2argv-shmem-plain-doorbell.args | 6 +++---
> 2 files changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
> index caa80e74c26a..d3f99d34c67f 100644
> --- a/src/qemu/qemu_command.c
> +++ b/src/qemu/qemu_command.c
> @@ -8565,6 +8565,7 @@ qemuBuildShmemBackendMemProps(virDomainShmemDefPtr shmem)
> virJSONValueObjectCreate(&ret,
> "s:mem-path", mem_path,
> "U:size", shmem->size,
> + "b:share", true,
> NULL);
>
> VIR_FREE(mem_path);
> diff --git a/tests/qemuxml2argvdata/qemuxml2argv-shmem-plain-doorbell.args b/tests/qemuxml2argvdata/qemuxml2argv-shmem-plain-doorbell.args
> index 7abc7f8c4be5..688b7c7f63e2 100644
> --- a/tests/qemuxml2argvdata/qemuxml2argv-shmem-plain-doorbell.args
> +++ b/tests/qemuxml2argvdata/qemuxml2argv-shmem-plain-doorbell.args
> @@ -18,13 +18,13 @@ QEMU_AUDIO_DRV=none \
> -boot c \
> -usb \
> -object memory-backend-file,id=shmmem-shmem0,mem-path=/dev/shm/shmem0,\
> -size=4194304 \
> +size=4194304,share=yes \
> -device ivshmem-plain,id=shmem0,memdev=shmmem-shmem0,bus=pci.0,addr=0x3 \
> -object memory-backend-file,id=shmmem-shmem1,mem-path=/dev/shm/shmem1,\
> -size=134217728 \
> +size=134217728,share=yes \
> -device ivshmem-plain,id=shmem1,memdev=shmmem-shmem1,bus=pci.0,addr=0x5 \
> -object memory-backend-file,id=shmmem-shmem2,mem-path=/dev/shm/shmem2,\
> -size=268435456 \
> +size=268435456,share=yes \
> -device ivshmem-plain,id=shmem2,memdev=shmmem-shmem2,bus=pci.0,addr=0x4 \
> -device ivshmem-doorbell,id=shmem3,chardev=charshmem3,ioeventfd=on,bus=pci.0,\
> addr=0x6 \
More information about the libvir-list
mailing list