[libvirt] [PATCH] qemuBuildCommandLine: Fall back to mem balloon if there's no hard_limit

Ján Tomko jtomko at redhat.com
Tue Aug 20 13:36:01 UTC 2013


On 08/20/2013 03:06 PM, Michal Privoznik wrote:
> If there's no hard_limit set and domain uses VFIO we still must lock the
> guest memory (prerequisite from qemu). Hence, we should compute the

> amount to be locked from max_baloon.

You forgot about the bookkeepers, didn't you?

> ---
>  src/qemu/qemu_command.c | 15 +++++++++++++--
>  1 file changed, 13 insertions(+), 2 deletions(-)
> 
> diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
> index c8f7df2..71c220f 100644
> --- a/src/qemu/qemu_command.c
> +++ b/src/qemu/qemu_command.c
> @@ -9219,8 +9219,19 @@ qemuBuildCommandLine(virConnectPtr conn,
>          goto error;
>      }
>  
> -    if (mlock)
> -        virCommandSetMaxMemLock(cmd, def->mem.hard_limit * 1024);
> +    if (mlock) {
> +        unsigned long long memKB;
> +
> +        /* VFIO requires all of the guest's memory to be
> +         * locked resident, plus some amount for IO
> +         * space. Alex Williamson suggested adding 1GiB for IO
> +         * space just to be safe (some finer tuning might be
> +         * nice, though).
> +         */
> +        memKB = def->mem.hard_limit ?
> +            def->mem.hard_limit : def->mem.max_balloon + 1024 * 1024;
> +        virCommandSetMaxMemLock(cmd, memKB * 1024);
> +    }
>  

16bcb3b "qemu: Drop qemuDomainMemoryLimit" also changed the MemLock limit in
qemuDomainAttachHostPciDevice, I think we need yet another patch :(

Jan




More information about the libvir-list mailing list